

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á.

# Parâmetros de pesquisa FHIR R4 para HealthLake
<a name="reference-fhir-search-parameters"></a>

Use a [https://hl7.org/fhir/R4/http.html#search](https://hl7.org/fhir/R4/http.html#search)interação FHIR para pesquisar um conjunto de recursos FHIR em um armazenamento de HealthLake dados com base em alguns critérios de filtro. A `search` interação pode ser realizada usando uma `POST` solicitação `GET` ou. Para pesquisas que envolvam informações de identificação pessoal (PII) ou informações de saúde protegidas (PHI), é recomendável usar `POST` solicitações, pois PII e PHI são adicionadas como parte do corpo da solicitação e criptografadas em trânsito.

**nota**  
A `search` interação FHIR descrita neste capítulo é construída em conformidade com o padrão HL7 FHIR R4 para troca de dados de assistência médica. Por ser uma representação de um serviço HL7 FHIR, não é oferecido por meio AWS CLI de e. AWS SDKs Para obter mais informações, consulte a [https://hl7.org/fhir/R4/http.html#search](https://hl7.org/fhir/R4/http.html#search)documentação da API **FHIR R4 RESTful **.  
Você também pode consultar HealthLake datastores com SQL usando o Amazon Athena. Para obter mais informações, consulte Integrando.

HealthLake suporta o seguinte subconjunto de parâmetros de pesquisa do FHIR R4. Para obter mais informações, consulte [Parâmetros de pesquisa FHIR R4 para HealthLake](#reference-fhir-search-parameters).

## Tipos de parâmetros de pesquisa compatíveis
<a name="search-parameter-types"></a>

A tabela a seguir mostra os tipos de parâmetros de pesquisa suportados em HealthLake.


**Tipos de parâmetros de pesquisa compatíveis**  

| Parâmetro de pesquisa  | Description | 
| --- | --- | 
| \$1id | ID do recurso (não é um URL completo) | 
| \$1Última atualização | Data da última atualização. O servidor tem poder discricionário quanto à precisão do limite. | 
| \$1tag | Pesquise por uma tag de recurso. | 
| \$1perfil | Pesquise todos os recursos marcados com um perfil. | 
| \$1segurança | Pesquise as etiquetas de segurança aplicadas a esse recurso. | 
| \$1fonte | Pesquise de onde vem o recurso. | 
| \$1texto | Pesquise a narrativa do recurso. | 
| createdAt | Pesquise na extensão personalizada CreatedAt. | 

**nota**  
Os seguintes parâmetros de pesquisa são compatíveis somente com datastores criados após 09 de dezembro de 2023: \$1security, \$1source, \$1text, createdAt.

A tabela a seguir mostra exemplos de como modificar cadeias de caracteres de consulta com base nos tipos de dados especificados para um determinado tipo de recurso. Para maior clareza, os caracteres especiais na coluna de exemplos não foram codificados. Para fazer uma consulta bem-sucedida, certifique-se de que a string de consulta tenha sido codificada corretamente.


**Exemplos de parâmetros de pesquisa**  

| Tipos de parâmetros de pesquisa | Detalhes  | Exemplos | 
| --- | --- | --- | 
|  Número  | Pesquisa um valor numérico em um recurso especificado. Números significativos são observados. O número de dígitos significativos é específico por valor do parâmetro de pesquisa, excluindo zeros à esquerda. Prefixos de comparação são permitidos. |  `[parameter]=100` `[parameter]=1e2` `[parameter]=lt100`  | 
|  Data/ DateTime  |  Pesquisa uma data ou hora específica. O formato esperado é`yyyy-mm-ddThh:mm:ss[Z\|(+\|-)hh:mm]`, mas pode variar. Aceita os seguintes tipos de dados: `date` `dateTime``instant`,`Period`,, `Timing` e. Para obter mais detalhes sobre o uso desses tipos de dados em pesquisas, consulte a [data](https://www.hl7.org/fhir/search.html#date) na documentação da **API FHIR R4 RESTful **. Prefixos de comparação são permitidos.  |  `[parameter]=eq2013-01-14` `[parameter]=gt2013-01-14T10:00` `[parameter]=ne2013-01-14`  | 
|  String  |  Pesquisa uma sequência de caracteres com distinção entre maiúsculas e minúsculas. Suporta ambos `HumanName` os `Address` tipos. Para obter mais detalhes, consulte a entrada do [tipo de HumanName dados](https://www.hl7.org/fhir/datatypes.html#HumanName) e as entradas do [tipo de `Address` dados](https://www.hl7.org/fhir/datatypes.html#Address) na documentação do **FHIR R4**. A pesquisa avançada é suportada usando `:text` modificadores.  |  `[base]/Patient?given=eve` `[base]/Patient?given:contains=eve`  | 
|  Token  |  Pesquisa uma close-to-exact correspondência com uma sequência de caracteres, geralmente comparada a um par de valores de código médico. A distinção entre maiúsculas e minúsculas está vinculada ao sistema de código usado ao criar uma consulta. As consultas baseadas em subsunção podem ajudar a reduzir problemas relacionados à distinção entre maiúsculas e minúsculas. Para maior clareza, não `\|` foi codificado.  |  `[parameter]=[system]\|[code]`: Aqui `[system]` se refere a um sistema de codificação e `[code]` se refere ao valor do código encontrado nesse sistema específico. `[parameter]=[code]`: Aqui, sua entrada corresponderá a um código ou a um sistema. `[parameter]=\|[code]`: aqui, sua entrada corresponderá a um código e a propriedade do sistema não terá identificador.  | 
|  Composto  |  Pesquisa vários parâmetros em um único tipo de recurso, usando os modificadores `$` e a `,` operação. Prefixos de comparação são permitidos.  |  `/Patient?language=FR,NL&language=EN` `Observation?component-code-value-quantity=http://loinc.org\|8480-6$lt60` `[base]/Group?characteristic-value=gender$mixed`  | 
|  Quantidade  |  Pesquisa um número, sistema e código como valores. É necessário um número, mas o sistema e o código são opcionais. Com base no tipo de dados de quantidade. Para obter mais detalhes, consulte [Quantidade](https://www.hl7.org/fhir/datatypes.html#Quantity) na documentação do **FHIR R4**. Usa a seguinte sintaxe presumida `[parameter]=[prefix][number]\|[system]\|[code]`  |  `[base]/Observation?value-quantity=5.4\|http://unitsofmeasure.org\|mg` `[base]/Observation?value-quantity=5.4\|http://unitsofmeasure.org\|mg` `[base]/Observation?value-quantity=5.4\|http://unitsofmeasure.org\|mg` `[base]/Observation?value-quantity=le5.4\|http://unitsofmeasure.org\|mg`  | 
|  Referência  |  Pesquisa referências a outros recursos.  |  `[base]/Observation?subject=Patient/23` `test`  | 
|  URI  |  Pesquisa uma sequência de caracteres que identifica inequivocamente um recurso específico.  |  `[base]/ValueSet?url=http://acme.org/fhir/ValueSet/123`  | 
|  Especial  |  Pesquisas baseadas em extensões médicas integradas de PNL.  | 

## Parâmetros de pesquisa avançada suportados por HealthLake
<a name="search-parameters-advanced"></a>

HealthLake suporta os seguintes parâmetros de pesquisa avançada.


| Name (Nome) | Descrição | Exemplo | Recurso | 
| --- | --- | --- | --- | 
| \$1include | Usado para solicitar que recursos adicionais sejam retornados em uma solicitação de pesquisa. Ele retorna recursos que são referenciados pela instância do recurso de destino. | Encounter?\$1include=Encounter:subject |   | 
| \$1revinclude | Usado para solicitar que recursos adicionais sejam retornados em uma solicitação de pesquisa. Ele retorna recursos que fazem referência à instância do recurso primário. | Patient?\$1id=patient-identifier&\$1revinclude=Encounter:patient |   | 
| \$1summary | O resumo pode ser usado para solicitar um subconjunto do recurso. | Patient?\$1summary=text | Os seguintes parâmetros de resumo são suportados:\$1summary=true,\$1summary=false,\$1summary=text,\$1summary=data. | 
| \$1elements | Solicite que um conjunto específico de elementos seja retornado como parte de um recurso nos resultados da pesquisa. | Patient?\$1elements=identifier,active,link |   | 
| \$1total | Retorna o número de recursos que correspondem aos parâmetros de pesquisa.  | Patient?\$1total=accurate | Support\$1total=accurate,\$1total=none. | 
| \$1sort | Indique a ordem de classificação dos resultados da pesquisa retornados usando uma lista separada por vírgulas. O - prefixo pode ser usado para qualquer regra de classificação na lista separada por vírgulas para indicar a ordem decrescente.  | Observation?\$1sort=status,-date | Support classificar por campos com tiposNumber, String, Quantity, Token, URI, Reference. A classificação por só Date é compatível com armazenamentos de dados criados após 09 de dezembro de 2023. Support até 5 regras de classificação. | 
| \$1count | Controle quantos recursos são retornados por página do pacote de pesquisa. | Patient?\$1count=100 | O tamanho máximo da página é 100. | 
| chaining | Elementos de pesquisa dos recursos referenciados. O . direciona a pesquisa em cadeia para o elemento dentro do recurso referenciado. | DiagnosticReport?subject:Patient.name=peter |   | 
| reverse chaining (\$1has) | Pesquise um recurso com base nos elementos dos recursos que se referem a ele.  | Patient?\$1has:Observation:patient:code=1234-5 |   | 

`_include`

O uso `_include` em uma consulta de pesquisa permite que recursos adicionais do FHIR especificados também sejam retornados. Use `_include` para incluir recursos que estão vinculados diretamente. 

**Example — Para usar `_include` para encontrar os pacientes ou o grupo de pacientes que foram diagnosticados com tosse**  
Você pesquisaria o tipo de `Condition` recurso especificando o código de diagnóstico para tosse e, em seguida, `_include` especificaria que deseja que o `subject` diagnóstico também seja retornado. No tipo de `Condition` recurso, `subject` refere-se ao tipo de recurso do paciente ou ao tipo de recurso do grupo.  
Para maior clareza, os caracteres especiais no exemplo não foram codificados. Para fazer uma consulta bem-sucedida, certifique-se de que a sequência de caracteres de consulta tenha sido codificada corretamente.  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/
Condition?code=49727002&_include=Condition:subject
```

`_include:iterate`Modificador

O `_include:iterate` modificador permite a inclusão recursiva de recursos referenciados em dois níveis. Por exemplo,

```
GET /ServiceRequest?identifier=025C0931195&_include=ServiceRequest:requester&_include:iterate=PractitionerRole:practitioner
```

retornará o ServiceRequest, está associado PractitionerRole (por meio da referência do solicitante) e, em seguida, incluirá recursivamente o praticante referenciado por ela. PractitionerRole Esse modificador está disponível para todos os tipos de recursos em HealthLake.

`_include=*`Modificador

O `_include=*` modificador é um curinga que inclui automaticamente todos os recursos diretamente referenciados pelos resultados da pesquisa. Por exemplo,

```
GET /ServiceRequest?specimen.accession=12345&_include=*
```

retornará a correspondência ServiceRequest junto com todos os recursos referenciados (como paciente, médico, amostra etc.) sem precisar especificar cada caminho de referência individualmente. Esse modificador está disponível para todos os tipos de recursos em HealthLake.

`_revinclude`

O uso `_revinclude` em uma consulta de pesquisa permite que recursos adicionais do FHIR especificados também sejam retornados. Use `_revinclude` para incluir recursos vinculados de trás para frente.

**Example — Usar `_revinclude` para incluir tipos de recursos relacionados de Encontro e Observação vinculados a um paciente específico**  
Para fazer essa pesquisa, você primeiro definiria o indivíduo `Patient` especificando seu identificador no parâmetro de `_id` pesquisa. Em seguida, você especificaria recursos adicionais do FHIR usando a estrutura e. `Encounter:patient` `Observation:patient`  
Para maior clareza, os caracteres especiais no exemplo não foram codificados. Para fazer uma consulta bem-sucedida, certifique-se de que a sequência de caracteres de consulta tenha sido codificada corretamente.  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/
Patient?_id=patient-identifier&_revinclude=Encounter:patient&_revinclude=Observation:patient
```

`_summary`

O uso `_summary` em uma consulta de pesquisa permite que o usuário solicite um subconjunto do recurso FHIR. Ele pode conter um dos seguintes valores:`true, text, data, false`. Quaisquer outros valores serão tratados como inválidos. Os recursos retornados serão marcados com `'SUBSETTED'` meta.tag, para indicar que os recursos estão incompletos. 
+ `true`: retorne todos os elementos suportados que estão marcados como 'resumo' na definição básica do (s) recurso (s).
+ `text`: retorne somente os elementos 'text', 'id', 'meta' e somente os elementos obrigatórios de nível superior.
+ `data`: Retorne todas as partes, exceto o elemento 'texto'.
+ `false`: Retorne todas as partes do (s) recurso (s)

Em uma única solicitação de pesquisa, `_summary=text` não pode ser combinado com `_include` ou com parâmetros de `_revinclude` pesquisa. 

**Example — Obtenha o elemento “texto” dos recursos do paciente em um armazenamento de dados.**  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_summary=text
```

`_elements`

O uso `_elements` em uma consulta de pesquisa permite que elementos de recursos específicos do FHIR sejam solicitados. Os recursos retornados serão marcados com `'SUBSETTED'` meta.tag, para indicar que os recursos estão incompletos. 

O `_elements` parâmetro consiste em uma lista separada por vírgulas de nomes de elementos básicos, como elementos definidos no nível raiz do recurso. Somente os elementos listados devem ser retornados. Se os valores dos `_elements` parâmetros contiverem elementos inválidos, o servidor os ignorará e retornará elementos obrigatórios e válidos. 

`_elements`não será aplicável aos recursos incluídos (recursos retornados cujo modo de pesquisa é`include`).

Em uma única solicitação de pesquisa, `_elements` não pode ser combinado com os parâmetros `_summary` de pesquisa. 

**Example — Obtenha elementos “identificadores”, “ativos” e “vinculados” dos recursos do paciente em seu armazenamento de HealthLake dados.**  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_elements=identifier,active,link
```

`_total`

O uso `_total` em uma consulta de pesquisa retornará o número de recursos que correspondem aos parâmetros de pesquisa solicitados. HealthLake retornará o número total de recursos correspondentes (recursos retornados cujo modo de pesquisa é`match`) na resposta `Bundle.total` da pesquisa. 

`_total`suporta os `accurate` valores dos `none` parâmetros. `_total=estimate`não é suportado. Quaisquer outros valores serão tratados como inválidos. `_total`não é aplicável aos recursos incluídos (recursos retornados cujo modo de pesquisa é`include`). 

**Example — Obtenha o número total de recursos do paciente em um armazenamento de dados:**  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_total=accurate
```

`_sort`

O uso `_sort` na consulta de pesquisa organiza os resultados em uma ordem específica. Os resultados são ordenados com base na lista separada por vírgulas das regras de classificação em ordem de prioridade. As regras de classificação devem ser parâmetros de pesquisa válidos. Quaisquer outros valores serão tratados como inválidos. 

Em uma única solicitação de pesquisa, você pode usar até 5 parâmetros de pesquisa de classificação. Opcionalmente, você pode usar um `-` prefixo para indicar a ordem decrescente. O servidor classificará em ordem crescente por padrão. 

Os tipos de parâmetros de pesquisa de classificação suportados são:`Number, String, Date, Quantity, Token, URI, Reference`. Se um parâmetro de pesquisa se referir a um elemento aninhado, esse parâmetro de pesquisa não terá suporte para classificação. Por exemplo, a pesquisa por “nome” do tipo de recurso Paciente se refere ao paciente. O elemento Nome com o tipo de HumanName dados é considerado aninhado. Portanto, não há suporte para classificar os recursos do paciente por 'nome'.

**Example — Obtenha os recursos do paciente em um armazenamento de dados e classifique-os por data de nascimento em ordem crescente:**  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_sort=birthdate
```

`_count`

O parâmetro `_count` é definido como uma instrução para o servidor sobre quantos recursos devem ser retornados em uma única página.

O tamanho máximo da página é 100. Qualquer valor maior que 100 é inválido. `_count=0`não é suportado.

**Example — Pesquise o recurso do paciente e defina o tamanho da página de pesquisa para 25:**  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_count=25
```

`Chaining and Reverse Chaining(_has)`

O encadeamento e o encadeamento reverso no FHIR fornecem uma maneira mais eficiente e compacta de obter dados interconectados, reduzindo a necessidade de várias consultas separadas e tornando a recuperação de dados mais conveniente para desenvolvedores e usuários.

Se algum nível de recursão retornar mais de 100 resultados, HealthLake retornará 4xx para proteger o armazenamento de dados de ser sobrecarregado e causar várias paginações.

**Example — Encadeamento - Obtém tudo DiagnosticReport o que se refere a um paciente em que o nome do paciente é peter.**  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/DiagnosticReport?subject:Patient.name=peter
```

**Example — Encadeamento reverso - Obtenha recursos do paciente, em que o recurso do paciente é referido por pelo menos uma observação em que a observação tem um código de 1234 e onde a observação se refere ao recurso do paciente no parâmetro de pesquisa do paciente.**  
  

```
GET https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/Patient?_has:Observation:patient:code=1234
```

## Modificadores de pesquisa compatíveis
<a name="search-parameter-modifiers"></a>

Os modificadores de pesquisa são usados com campos baseados em strings. Todos os modificadores de pesquisa em HealthLake uso usam lógica baseada em booleanos. Por exemplo, você pode `:contains` especificar que um campo de string maior inclua uma string pequena para que seja incluído nos resultados da pesquisa.


**Modificadores de pesquisa compatíveis**  

| Modificador de pesquisa | Tipo | 
| --- | --- | 
| :ausente | Todos os parâmetros, exceto Composite | 
| :exato | String | 
| :contém | String | 
| :não | Token | 
| :texto | Token | 
| :identificador | Referência | 
| :abaixo | URI | 

## Comparadores de pesquisa compatíveis
<a name="search-comparators"></a>

Você pode usar comparadores de pesquisa para controlar a natureza da correspondência em uma pesquisa. Você pode usar comparadores ao pesquisar nos campos de número, data e quantidade. A tabela a seguir lista os comparadores de pesquisa e suas definições que são suportadas pelo HealthLake.


**Comparadores de pesquisa compatíveis**  

|  Comparador de pesquisa  |  Description  | 
| --- | --- | 
| eq | O valor do parâmetro no recurso é igual ao valor fornecido. | 
| ne | O valor do parâmetro no recurso não é igual ao valor fornecido. | 
| gt | O valor do parâmetro no recurso é maior que o valor fornecido. | 
| lt | O valor do parâmetro no recurso é menor que o valor fornecido. | 
| idade | O valor do parâmetro no recurso é maior ou igual ao valor fornecido. | 
| le | O valor do parâmetro no recurso é menor ou igual ao valor fornecido. | 
| mar | O valor do parâmetro no recurso começa após o valor fornecido. | 
| eb | O valor do parâmetro no recurso termina antes do valor fornecido. | 

## Parâmetros de pesquisa FHIR não suportados pelo HealthLake
<a name="search-parameters-unsupported"></a>

HealthLake suporta todos os parâmetros de pesquisa do FHIR, com exceção dos listados na tabela a seguir. Para obter uma lista completa dos parâmetros de pesquisa do FHIR, consulte o registro de parâmetros de pesquisa do [FHIR](https://hl7.org/fhir/R4/searchparameter-registry.html). 


**Parâmetros de pesquisa não suportados**  

|  |  | 
| --- |--- |
| Composição do pacote | Localização próxima | 
| Identificador de pacote | C onsent-source-reference | 
| Mensagem do pacote | Paciente contratado | 
| Tipo de pacote | Conteúdo do recurso | 
| Carimbo de data/hora do pacote | Consulta de recursos | 