

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Pesquisando recursos do FHIR com POST
<a name="searching-fhir-resources-post"></a>

Você pode usar a [https://hl7.org/fhir/R4/search.html](https://hl7.org/fhir/R4/search.html)interação do FHIR com `POST` solicitações para pesquisar um armazenamento de HealthLake dados. Ao usar`POST`, HealthLake oferece suporte a parâmetros de pesquisa no URL ou no corpo da solicitação, mas você não pode usar os dois em uma única solicitação.

**Importante**  
Para pesquisas que envolvem informações de identificação pessoal (PII) ou informações de saúde protegidas (PHI), as melhores práticas de segurança exigem o uso de `POST` solicitações, pois PII e PHI são adicionadas como parte do corpo da solicitação e criptografadas em trânsito.

O procedimento a seguir é seguido por exemplos usando a `search` interação do FHIR R4 com `POST` para pesquisar um HealthLake armazenamento de dados. Os exemplos mostram como especificar parâmetros de pesquisa no corpo da solicitação JSON.

**Para pesquisar um armazenamento HealthLake de dados com `POST`**  


1. Colecione HealthLake `region` e `datastoreId` valorize. Para obter mais informações, consulte [Obter propriedades do datastore](managing-data-stores-describe.md).

1. Determine o tipo de recurso FHIR para pesquisar e coletar o valor associado`id`. Para obter mais informações, consulte [Resource types](reference-fhir-resource-types.md). 

1. Crie uma URL para a solicitação usando os valores coletados para HealthLake `region` `datastoreId` e. Inclua também o `Resource` tipo e `_search` a interação do FHIR. Para ver todo o caminho do URL no exemplo a seguir, role até o botão **Copiar**.

   ```
   POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Resource/_search
   ```

1. Crie um corpo JSON para a solicitação, especificando os dados FHIR a serem pesquisados. Para fins deste procedimento, você buscará `Observation` recursos para descobrir pacientes que nunca fumaram. Para especificar o status do código médico`Never smoker`, defina `value-concept=266919005` no corpo da solicitação JSON. Salve o arquivo como `search-observation.json`.

   ```
   value-concept=266919005
   ```

1. Envie a solicitação . A `search` interação FHIR usa a `GET` solicitação com [AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) ou SMART na autorização FHIR.
**nota**  
Ao fazer uma `POST` solicitação com parâmetros de pesquisa no corpo da solicitação, use `Content-Type: application/x-www-form-urlencoded` como parte do cabeçalho.

   O `curl` exemplo a seguir faz uma solicitação de pesquisa baseada em POST sobre o tipo `Observation` de recurso. A solicitação usa o parâmetro de [https://hl7.org/fhir/R4/observation.html#search](https://hl7.org/fhir/R4/observation.html#search)pesquisa para procurar o código médico `266919005` que indica o valor`Never smoker`. Para ver o exemplo inteiro, role até o botão **Copiar**.

------
#### [ SigV4 ]

   Autorização SigV4

   ```
   curl --request POST \
     'https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Observation/_search' \						
     --aws-sigv4 'aws:amz:region:healthlake' \
     --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
     --header "x-amz-security-token:$AWS_SESSION_TOKEN" \
     --header "Content-Type: application/x-www-form-urlencoded"							
     --header "Accept: application/json"
     --data @search-observation.json
   ```

------
#### [ SMART on FHIR ]

   SMART no exemplo de autorização FHIR para o tipo de [https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html](https://docs.aws.amazon.com/healthlake/latest/APIReference/API_IdentityProviderConfiguration.html)dados.

   ```
   {
       "AuthorizationStrategy": "SMART_ON_FHIR",
       "FineGrainedAuthorizationEnabled": true,
       "IdpLambdaArn": "arn:aws:lambda:your-region:your-account-id:function:your-lambda-name",
       "Metadata": "{\"issuer\":\"https://ehr.example.com\", \"jwks_uri\":\"https://ehr.example.com/.well-known/jwks.json\",\"authorization_endpoint\":\"https://ehr.example.com/auth/authorize\",\"token_endpoint\":\"https://ehr.token.com/auth/token\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"foo\"],\"grant_types_supported\":[\"client_credential\",\"foo\"],\"registration_endpoint\":\"https://ehr.example.com/auth/register\",\"scopes_supported\":[\"openId\",\"profile\",\"launch\"],\"response_types_supported\":[\"code\"],\"management_endpoint\":\"https://ehr.example.com/user/manage\",\"introspection_endpoint\":\"https://ehr.example.com/user/introspect\",\"revocation_endpoint\":\"https://ehr.example.com/user/revoke\",\"code_challenge_methods_supported\":[\"S256\"],\"capabilities\":[\"launch-ehr\",\"sso-openid-connect\",\"client-public\",\"permission-v2\"]}"
   }
   ```

   O chamador pode atribuir permissões na autorização lambda. Para obter mais informações, consulte [OAuth escopos 2.0](reference-smart-on-fhir-oauth-scopes.md).

------

## Exemplos: pesquisar com POST
<a name="searching-fhir-resources-post-examples"></a>

As guias a seguir fornecem exemplos para pesquisar tipos específicos de recursos do FHIR com. `POST` Os exemplos mostram como especificar uma solicitação no URLs.

**nota**  
O HealthLake console suporta somente a autorização SigV4. A autorização SMART on FHIR é suportada por meio de e. AWS CLI AWS SDKs  
HealthLake suporta um subconjunto de parâmetros de pesquisa FHIR R4. Para obter mais informações, consulte [Parâmetros de pesquisa](reference-fhir-search-parameters.md).

------
#### [ Patient (age) ]

Embora a idade não seja um tipo de recurso definido no FHIR, ela é capturada como um elemento no tipo de [https://hl7.org/fhir/R4/patient.html](https://hl7.org/fhir/R4/patient.html)recurso. Use o exemplo a seguir para fazer uma solicitação de pesquisa `POST` baseada no tipo de `Patient` recurso. O exemplo de pesquisa a seguir usa o `eq` [comparador](reference-fhir-search-parameters.md#search-comparators) de pesquisa para pesquisar indivíduos nascidos em 1997.

```
POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient/_search
```

Para especificar o ano de 1997 na pesquisa, adicione o seguinte elemento ao corpo da solicitação.

```
birthdate=eq1997
```

------
#### [ Condition ]

Use o seguinte para fazer uma `POST` solicitação sobre o tipo de `Condition` recurso. Essa pesquisa encontra locais em seu armazenamento HealthLake de dados que contêm o código médico`72892002`.

Você precisa especificar uma URL e um corpo da solicitação. Aqui está um exemplo de URL de solicitação.

```
POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Condition/_search
```

Para especificar o código médico que você deseja pesquisar, adicione o seguinte elemento JSON ao corpo da solicitação.

```
code=72892002
```

------
#### [ DocumentReference ]

Para ver os resultados HealthLake do processamento integrado de linguagem natural (NLP) ao fazer uma `POST` solicitação sobre o tipo de `DocumentReference` recurso, formate uma solicitação da seguinte forma.

```
POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/DocumentReference/_search
```

Para especificar os parâmetros `DocumentReference` de pesquisa a serem referenciados, consulte[Tipos de parâmetros de pesquisa](reference-fhir-search-parameters.md#search-parameter-types). A sequência de caracteres de consulta a seguir usa vários parâmetros de pesquisa para pesquisar as operações da API Amazon Comprehend Medical usadas para gerar os resultados integrados de PNL.

```
_lastUpdated=le2021-12-19&infer-icd10cm-entity-text-concept-score;=streptococcal|0.6&infer-rxnorm-entity-text-concept-score=Amoxicillin|0.8
```

------
#### [ Location ]

Use o exemplo a seguir para fazer uma `POST` solicitação sobre o tipo de `Location` recurso. A pesquisa encontra locais em seu armazenamento de HealthLake dados que contêm o nome da cidade Boston como parte do endereço.

Você deve especificar uma URL e um corpo da solicitação. Aqui está um exemplo de URL de solicitação.

```
POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Location/_search
```

Para especificar `Boston` na pesquisa, adicione o seguinte elemento ao corpo da solicitação:

```
address=Boston
```

------
#### [ Observation ]

Use o exemplo a seguir para fazer uma solicitação de pesquisa `POST` baseada no tipo de `Observation` recurso. A pesquisa usa o parâmetro de `value-concept` pesquisa para procurar o código médico, `266919005` isso indica`Never smoker`.

```
POST https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Observation/_search
```

Para especificar o status`Never smoker`, defina `value-concept=266919005` no corpo do JSON.

```
value-concept=266919005
```

------