

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Parámetros de búsqueda FHIR R4 para HealthLake
<a name="reference-fhir-search-parameters"></a>

Utilice la [https://hl7.org/fhir/R4/http.html#search](https://hl7.org/fhir/R4/http.html#search)interacción del FHIR para buscar un conjunto de recursos del FHIR en un banco de HealthLake datos en función de algunos criterios de filtrado. La `search` interacción se puede realizar mediante una solicitud `GET` o`POST`. Para las búsquedas que incluyan información de identificación personal (PII) o información de salud protegida (PHI), se recomienda utilizar `POST` solicitudes, ya que la PII y la PHI se agregan como parte del cuerpo de la solicitud y se cifran durante el tránsito.

**nota**  
La `search` interacción entre el FHIR que se describe en este capítulo se basa en el estándar R4 del HL7 FHIR para el intercambio de datos de atención médica. Como es una representación de un servicio de la HL7 FHIR, no se ofrece a través de y. AWS CLI AWS SDKs Para obtener más información, consulte la documentación de [https://hl7.org/fhir/R4/http.html#search](https://hl7.org/fhir/R4/http.html#search)la API **R4 RESTful del FHIR**.  
También puede consultar almacenes HealthLake de datos con SQL mediante Amazon Athena. Para obtener más información, consulte Integración.

HealthLake admite el siguiente subconjunto de parámetros de búsqueda del FHIR R4. Para obtener más información, consulte [Parámetros de búsqueda FHIR R4 para HealthLake](#reference-fhir-search-parameters).

## Tipos de parámetros de búsqueda compatibles
<a name="search-parameter-types"></a>

En la siguiente tabla se muestran los tipos de parámetros de búsqueda admitidos en HealthLake.


**Tipos de parámetros de búsqueda compatibles**  

| Parámetro de búsqueda  | Description (Descripción) | 
| --- | --- | 
| \$1id | ID del recurso (no es una URL completa) | 
| \$1Última actualización | Fecha de la última actualización. El servidor tiene discreción en cuanto a la precisión de los límites. | 
| \$1tag | Busca por etiqueta de recurso. | 
| \$1perfil | Busca todos los recursos etiquetados con un perfil. | 
| \$1seguridad | Busque en las etiquetas de seguridad aplicadas a este recurso. | 
| \$1fuente | Busque de dónde proviene el recurso. | 
| \$1texto | Busque en la narrativa del recurso. | 
| createdAt | Busque en la extensión personalizada CreatedAt. | 

**nota**  
Los siguientes parámetros de búsqueda solo se admiten en los almacenes de datos creados después del 9 de diciembre de 2023: \$1security, \$1source, \$1text, CreatedAt.

En la siguiente tabla se muestran ejemplos de cómo modificar las cadenas de consulta en función de los tipos de datos especificados para un tipo de recurso determinado. Para mayor claridad, los caracteres especiales de la columna de ejemplos no se han codificado. Para que la consulta se realice correctamente, asegúrese de que la cadena de consulta se haya codificado correctamente.


**Ejemplos de parámetros de búsqueda**  

| Tipos de parámetros de búsqueda | Details  | Ejemplos | 
| --- | --- | --- | 
|  Número  | Busca un valor numérico en un recurso específico. Se observan cifras significativas. El número de dígitos significativos es específico por valor de parámetro de búsqueda, excluyendo los ceros iniciales. Se permiten prefijos de comparación. |  `[parameter]=100` `[parameter]=1e2` `[parameter]=lt100`  | 
|  Fecha/ DateTime  |  Busca una fecha u hora específica. El formato esperado es`yyyy-mm-ddThh:mm:ss[Z\|(+\|-)hh:mm]`, pero puede variar. Acepta los siguientes tipos de datos: `date``dateTime`,`instant`,`Period`, y`Timing`. Para obtener más información sobre el uso de estos tipos de datos en las búsquedas, consulta la [fecha](https://www.hl7.org/fhir/search.html#date) en la documentación de la ** RESTful API R4 del FHIR**. Se permiten los prefijos de comparación.  |  `[parameter]=eq2013-01-14` `[parameter]=gt2013-01-14T10:00` `[parameter]=ne2013-01-14`  | 
|  Cadena  |  Busca una secuencia de caracteres distinguiendo mayúsculas de minúsculas. Admite ambos `HumanName` `Address` tipos. Para obtener más información, consulte la entrada del [tipo de HumanName datos](https://www.hl7.org/fhir/datatypes.html#HumanName) y las entradas del [tipo de `Address` datos](https://www.hl7.org/fhir/datatypes.html#Address) en la documentación del **FHIR R4**. Se admite la búsqueda avanzada mediante `:text` modificadores.  |  `[base]/Patient?given=eve` `[base]/Patient?given:contains=eve`  | 
|  Token  |  Busca una close-to-exact coincidencia con una cadena de caracteres, a menudo comparada con un par de valores de códigos médicos. La distinción entre mayúsculas y minúsculas está vinculada al sistema de código utilizado al crear una consulta. Las consultas basadas en subsuposiciones pueden ayudar a reducir los problemas relacionados con la distinción entre mayúsculas y minúsculas. Para mayor claridad, no se ha codificado. `\|`  |  `[parameter]=[system]\|[code]`: Aquí `[system]` se refiere a un sistema de codificación y `[code]` se refiere al valor de código que se encuentra dentro de ese sistema específico. `[parameter]=[code]`: En este caso, la entrada coincidirá con un código o un sistema. `[parameter]=\|[code]`: En este caso, la entrada coincidirá con un código y la propiedad del sistema no tiene ningún identificador.  | 
|  Compuesto  |  Busca varios parámetros dentro de un único tipo de recurso mediante los modificadores `$` y la `,` operación. Se permiten los prefijos de comparación.  |  `/Patient?language=FR,NL&language=EN` `Observation?component-code-value-quantity=http://loinc.org\|8480-6$lt60` `[base]/Group?characteristic-value=gender$mixed`  | 
|  Cantidad  |  Busca un número, un sistema y un código como valores. Se requiere un número, pero el sistema y el código son opcionales. Basado en el tipo de datos de cantidad. Para obtener más información, consulta la sección [Cantidad](https://www.hl7.org/fhir/datatypes.html#Quantity) en la documentación del **FHIR R4**. Utiliza la siguiente sintaxis asumida `[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`  | 
|  Referencia  |  Busca referencias a otros recursos.  |  `[base]/Observation?subject=Patient/23` `test`  | 
|  URI  |  Busca una cadena de caracteres que identifique de forma inequívoca un recurso concreto.  |  `[base]/ValueSet?url=http://acme.org/fhir/ValueSet/123`  | 
|  Especial  |  Búsquedas basadas en extensiones de PNL médicas integradas.  | 

## Parámetros de búsqueda avanzada compatibles con HealthLake
<a name="search-parameters-advanced"></a>

HealthLake admite los siguientes parámetros de búsqueda avanzada.


| Name | Descripción | Ejemplo | Funcionalidad | 
| --- | --- | --- | --- | 
| \$1include | Se utiliza para solicitar que se devuelvan recursos adicionales en una solicitud de búsqueda. Devuelve los recursos a los que hace referencia la instancia de recurso de destino. | Encounter?\$1include=Encounter:subject |   | 
| \$1revinclude | Se utiliza para solicitar que se devuelvan recursos adicionales en una solicitud de búsqueda. Devuelve los recursos que hacen referencia a la instancia de recurso principal. | Patient?\$1id=patient-identifier&\$1revinclude=Encounter:patient |   | 
| \$1summary | El resumen se puede utilizar para solicitar un subconjunto del recurso. | Patient?\$1summary=text | Se admiten los siguientes parámetros de resumen:\$1summary=true,, \$1summary=false\$1summary=text,\$1summary=data. | 
| \$1elements | Solicite que se devuelva un conjunto específico de elementos como parte de un recurso en los resultados de la búsqueda. | Patient?\$1elements=identifier,active,link |   | 
| \$1total | Devuelve el número de recursos que coinciden con los parámetros de búsqueda.  | Patient?\$1total=accurate | Support\$1total=accurate,\$1total=none. | 
| \$1sort | Indique el orden de clasificación de los resultados de búsqueda devueltos mediante una lista separada por comas. El - prefijo se puede usar para cualquier regla de clasificación de la lista separada por comas para indicar un orden descendente.  | Observation?\$1sort=status,-date | Support ordenar por campos con tiposNumber, String, Quantity, Token, URI, Reference. La clasificación por solo Date se admite en los almacenes de datos creados después del 9 de diciembre de 2023. Support hasta 5 reglas de clasificación. | 
| \$1count | Controle cuántos recursos se devuelven por página del paquete de búsqueda. | Patient?\$1count=100 | El tamaño máximo de página es 100. | 
| chaining | Elementos de búsqueda de los recursos referenciados. .Dirige la búsqueda encadenada al elemento dentro del recurso referenciado. | DiagnosticReport?subject:Patient.name=peter |   | 
| reverse chaining (\$1has) | Busque un recurso en función de los elementos de los recursos que hacen referencia a él.  | Patient?\$1has:Observation:patient:code=1234-5 |   | 

`_include`

Si se utiliza `_include` en una consulta de búsqueda, también se pueden obtener recursos adicionales específicos del FHIR. Se usa `_include` para incluir recursos que están enlazados hacia adelante. 

**Example — Para localizar `_include` a los pacientes o al grupo de pacientes a los que se les ha diagnosticado tos**  
Debería buscar en el tipo de `Condition` recurso especificando el código de diagnóstico de la tos y, a continuación, `_include` especificando que también desea que se devuelva ese diagnóstico. `subject` En el tipo `Condition` de recurso, `subject` se refiere al tipo de recurso del paciente o al tipo de recurso del grupo.  
Para mayor claridad, los caracteres especiales del ejemplo no se han codificado. Para que la consulta se realice correctamente, asegúrese de que la cadena de consulta se haya codificado correctamente.  

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

`_include:iterate`Modificador

El `_include:iterate` modificador permite la inclusión recursiva de los recursos referenciados en dos niveles. Por ejemplo:

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

devolverá el ServiceRequest, está asociado PractitionerRole (mediante la referencia del solicitante) y, a continuación, incluirá de forma recursiva al profesional al que hace referencia. PractitionerRole Este modificador está disponible para todos los tipos de recursos en. HealthLake

`_include=*`Modificador

El `_include=*` modificador es un comodín que incluye automáticamente todos los recursos a los que hacen referencia directamente los resultados de la búsqueda. Por ejemplo:

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

devolverá la coincidencia ServiceRequest junto con todos los recursos a los que haga referencia (como pacientes, profesionales, muestras, etc.) sin necesidad de especificar cada ruta de referencia de forma individual. Este modificador está disponible para todos los tipos de recursos en HealthLake.

`_revinclude`

Si se utiliza `_revinclude` en una consulta de búsqueda, también se pueden devolver recursos adicionales del FHIR especificados. `_revinclude`Utilícelo para incluir recursos que estén enlazados hacia atrás.

**Example — `_revinclude` Para incluir tipos de recursos relacionados con el encuentro y la observación vinculados a un paciente específico**  
Para realizar esta búsqueda, primero debe definir a la persona `Patient` especificando su identificador en el parámetro `_id` de búsqueda. Luego, especificaría recursos adicionales del FHIR utilizando la estructura `Encounter:patient` y`Observation:patient`.  
Para mayor claridad, los caracteres especiales del ejemplo no se han codificado. Para que la consulta se realice correctamente, asegúrese de que la cadena de consulta se haya codificado correctamente.  

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

`_summary`

El uso `_summary` en una consulta de búsqueda permite al usuario solicitar un subconjunto del recurso FHIR. Puede contener uno de los siguientes valores:. `true, text, data, false` Cualquier otro valor se considerará inválido. Los recursos devueltos se marcarán con una `'SUBSETTED'` meta.tag para indicar que los recursos están incompletos. 
+ `true`: Devuelve todos los elementos admitidos que estén marcados como «resumen» en la definición básica de los recursos.
+ `text`: Devuelve solo los elementos «texto», «identificador» y «meta» y solo los elementos obligatorios de nivel superior.
+ `data`: Devuelve todas las partes excepto el elemento «texto».
+ `false`: Devuelve todas las partes de los recursos

En una sola solicitud de búsqueda, `_summary=text` no se puede combinar con `_include` los parámetros `_revinclude` de búsqueda. 

**Example — Obtenga el elemento «texto» de los recursos para pacientes en un almacén de datos.**  

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

`_elements`

El uso `_elements` en una consulta de búsqueda permite solicitar elementos de recursos específicos del FHIR. Los recursos devueltos se marcarán con una `'SUBSETTED'` etiqueta meta para indicar que los recursos están incompletos. 

El `_elements` parámetro consiste en una lista de nombres de elementos base separados por comas, como los elementos definidos en el nivel raíz del recurso. Solo se devolverán los elementos que estén en la lista. Si los valores de los `_elements` parámetros contienen elementos no válidos, el servidor los ignorará y devolverá los elementos obligatorios y los elementos válidos. 

`_elements`no se aplicará a los recursos incluidos (recursos devueltos cuyo modo de búsqueda es`include`).

En una sola solicitud de búsqueda, `_elements` no se puede combinar con los parámetros `_summary` de búsqueda. 

**Example — Obtenga los elementos «identificadores», «activos» y «enlaces» de los recursos para pacientes en su almacén de HealthLake datos.**  

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

`_total`

Si se utiliza `_total` en una consulta de búsqueda, se devolverá el número de recursos que coinciden con los parámetros de búsqueda solicitados. HealthLake devolverá el número total de recursos coincidentes (recursos devueltos cuyo modo de búsqueda es`match`) en la respuesta `Bundle.total` de búsqueda. 

`_total`admite los valores `accurate` de los `none` parámetros. `_total=estimate`no es compatible. Cualquier otro valor se considerará inválido. `_total`no se aplica a los recursos incluidos (recursos devueltos cuyo modo de búsqueda es`include`). 

**Example — Obtenga el número total de recursos para pacientes en un almacén de datos:**  

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

`_sort`

Al `_sort` utilizarlos en la consulta de búsqueda, se ordenan los resultados en un orden específico. Los resultados se ordenan según la lista de reglas de clasificación separadas por comas en orden de prioridad. Las reglas de clasificación deben ser parámetros de búsqueda válidos. Los demás valores se considerarán inválidos. 

En una sola solicitud de búsqueda, puede utilizar hasta 5 parámetros de búsqueda de clasificación. Si lo desea, puede utilizar un `-` prefijo para indicar el orden descendente. El servidor ordenará en orden ascendente de forma predeterminada. 

Los tipos de parámetros de búsqueda de clasificación admitidos son:`Number, String, Date, Quantity, Token, URI, Reference`. Si un parámetro de búsqueda hace referencia a un elemento que está anidado, este parámetro de búsqueda no se admite para la ordenación. Por ejemplo, busque por «nombre» del tipo de recurso Paciente hace referencia a Patient.El elemento NAME con el tipo de HumanName datos se considera anidado. Por lo tanto, no se permite ordenar los recursos de los pacientes por «nombre».

**Example — Coloque los recursos para pacientes en un almacén de datos y ordénelos por fecha de nacimiento en orden ascendente:**  

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

`_count`

El parámetro `_count` se define como una instrucción al servidor sobre cuántos recursos deben devolverse en una sola página.

El tamaño máximo de página es 100. Los valores superiores a 100 no son válidos. `_count=0`no se admite.

**Example — Busque el recurso para pacientes y establezca el tamaño de la página de búsqueda en 25:**  

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

`Chaining and Reverse Chaining(_has)`

El encadenamiento y el encadenamiento inverso en el FHIR proporcionan una forma más eficiente y compacta de obtener datos interconectados, lo que reduce la necesidad de realizar múltiples consultas independientes y hace que la recuperación de datos sea más cómoda para los desarrolladores y los usuarios.

Si algún nivel de recursión arroja más de 100 resultados, HealthLake devolverá 4xx para evitar que el almacén de datos se sobrecargue y provoque múltiples paginaciones.

**Example — Encadenar: obtiene todo DiagnosticReport lo que hace referencia a un paciente cuyo nombre es peter.**  

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

**Example — Encadenamiento inverso: obtenga los recursos para pacientes, donde al menos una observación hace referencia al recurso para pacientes, donde la observación tiene el código 1234 y donde la observación hace referencia al recurso para pacientes en el parámetro de búsqueda de pacientes.**  
  

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

## Modificadores de búsqueda compatibles
<a name="search-parameter-modifiers"></a>

Los modificadores de búsqueda se utilizan con campos basados en cadenas. Todos los modificadores de búsqueda HealthLake utilizan una lógica booleana. Por ejemplo, puede especificar `:contains` que un campo de cadena más grande incluya una cadena pequeña para que se incluya en los resultados de la búsqueda.


**Modificadores de búsqueda compatibles**  

| Modificador de búsqueda | Tipo | 
| --- | --- | 
| :falta | Todos los parámetros excepto Composite | 
| :exacto | Cadena | 
| :contiene | Cadena | 
| :no | Token | 
| :texto | Token | 
| :identificador | Referencia | 
| :abajo | URI | 

## Comparadores de búsqueda compatibles
<a name="search-comparators"></a>

Puede utilizar los comparadores de búsqueda para controlar la naturaleza de la coincidencia en una búsqueda. Puede utilizar los comparadores al buscar en los campos de número, fecha y cantidad. En la siguiente tabla se enumeran los comparadores de búsqueda y sus definiciones compatibles con. HealthLake


**Comparadores de búsqueda compatibles**  

|  Comparador de búsquedas  |  Description (Descripción)  | 
| --- | --- | 
| eq | El valor del parámetro en el recurso es igual al valor proporcionado. | 
| ne | El valor del parámetro en el recurso no es igual al valor proporcionado. | 
| gt | El valor del parámetro en el recurso es mayor que el valor proporcionado. | 
| lt | El valor del parámetro en el recurso es inferior al valor proporcionado. | 
| Edad | El valor del parámetro del recurso es mayor o igual al valor proporcionado. | 
| le | El valor del parámetro en el recurso es menor o igual al valor proporcionado. | 
| sa | El valor del parámetro del recurso comienza después del valor proporcionado. | 
| eb | El valor del parámetro en el recurso termina antes del valor proporcionado. | 

## Los parámetros de búsqueda del FHIR no son compatibles con HealthLake
<a name="search-parameters-unsupported"></a>

HealthLake admite todos los parámetros de búsqueda del FHIR, a excepción de los que se muestran en la siguiente tabla. Para obtener una lista completa de los parámetros de búsqueda del FHIR, consulte el registro de parámetros de [búsqueda del FHIR](https://hl7.org/fhir/R4/searchparameter-registry.html). 


**Parámetros de búsqueda no compatibles**  

|  |  | 
| --- |--- |
| Composición del paquete | Ubicación: cerca | 
| Identificador de paquete | C onsent-source-reference | 
| Paquete: mensaje | Paciente contratado | 
| Tipo de paquete | Contenido del recurso | 
| Marca de tiempo del paquete | Consulta de recursos | 