Cómo filtrar la búsqueda de servicios de salud

Cuando consultas datos de atención médica, puedes usar filtros para definir mejor las respuestas de la búsqueda. En una solicitud de búsqueda, puedes proporcionar filtros para aplicar criterios que incluyan o excluyan ciertas respuestas de búsqueda.

Por ejemplo, cuando buscas los datos de un solo paciente, el cuerpo de la solicitud de búsqueda debe contener la siguiente expresión de filtro que especifica el ID del paciente:

"filter": "patient_id: ANY(\"PATIENT_ID\")"

En esta página, se muestra cómo definir filtros para la búsqueda de atención médica.

Antes de comenzar

Antes de comenzar, haz lo siguiente:

Cómo definir filtros

Los filtros se especifican en el campo filter del cuerpo de la solicitud del método servingConfigs.search.

La definición del filtro sigue la sintaxis de la expresión de filtro. En la expresión de filtro, el literal puede ser cualquier campo indexable de la respuesta a la búsqueda. Por ejemplo, si la respuesta contiene un recurso de Observation, el patient_id al que hace referencia el recurso de Observation se puede usar como un literal de filtro.

En las siguientes secciones, se muestran algunos ejemplos de cómo construir filtros.

Cómo definir un filtro de resource_datetime

En este ejemplo, se muestra cómo especificar un filtro para una búsqueda que incluya solo aquellos recursos que tengan un valor de resource_datetime posterior al valor de fecha y hora especificado.

REST

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/us/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/default_search:search" \
    -d '{
"query": "QUERY",
"filter": "patient_id: ANY(\"PATIENT_ID\") AND resource_datetime > \"DATE_TIME_VALUE,
"contentSearchSpec":{"snippetSpec":{"returnSnippet":true}}
}'

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • DATA_STORE_ID: Es el ID del almacén de datos de Vertex AI Search.
  • QUERY: Es la búsqueda.
  • PATIENT_ID: Es el ID del recurso del paciente cuyos datos deseas buscar.
  • DATE_TIME_VALUE: Es el valor del campo resource_datetime que representa una fecha y hora en el formato dateTime de FHIR. Estos son algunos ejemplos de este campo:
    • Para especificar una fecha y hora con una zona horaria separada por un separador T: 2022-08-05T01:00:00+00:00
    • Para especificar una fecha, haz lo siguiente: 2022-08-05
    • Para especificar un mes, haz lo siguiente: 2022-08
    • Para especificar un año, haz lo siguiente: 2022

Define un filtro de tipo de recurso

En el siguiente ejemplo, se muestra cómo construir un filtro que usa un operador AND para filtrar primero todos los recursos de Composition y, luego, filtrar aquellos cuya fecha sea posterior a una fecha y hora especificadas.

"filter": "resource_type: ANY("Composition") AND Composition.date > "2022-08-05T01:00:00+00:00""

Cómo definir un filtro de recursos de FHIR

Puedes usar un filtro para verificar si un recurso de FHIR está presente en el almacén de datos de Vertex AI Search. Por ejemplo, puedes buscar un recurso DocumentReference que tenga el ID 6112d1ac-c6bd-4755-d689-bfb71d59afc5 con el siguiente filtro.

"filter": "DocumentReference.id: ANY(\"6112d1ac-c6bd-4755-d689-bfb71d59afc5\")"