Filtrar a pesquisa de serviços de saúde

Ao consultar dados de saúde, você pode usar filtros para refinar as respostas da pesquisa. Em uma solicitação de pesquisa, é possível fornecer filtros para aplicar critérios que incluem ou excluem determinadas respostas de pesquisa.

Por exemplo, quando você pesquisa os dados de um único paciente, o corpo da solicitação de pesquisa precisa conter a seguinte expressão de filtro que especifica o ID do paciente:

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

Esta página mostra como definir filtros para a pesquisa de saúde.

Antes de começar

Antes de começar, faça o seguinte:

Definir filtros

Os filtros são especificados no campo filter no corpo da solicitação do método servingConfigs.search.

A definição do filtro segue a sintaxe da expressão do filtro. Na expressão de filtro, o literal pode ser qualquer campo indexável da resposta à consulta de pesquisa. Por exemplo, se a resposta contiver um recurso de observação, o patient_id que o recurso de observação referencia pode ser usado como um literal de filtro.

As seções a seguir mostram alguns exemplos de como criar filtros.

Definir um filtro resource_datetime

Este exemplo mostra como especificar um filtro para uma pesquisa que inclui apenas os recursos com um valor de resource_datetime mais recente do que a data e o valor de hora especificados.

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}}
}'

Substitua:

  • PROJECT_ID: o ID do seu projeto do Google Cloud.
  • DATA_STORE_ID: o ID do repositório de dados da Vertex AI para Pesquisa.
  • QUERY: a consulta de pesquisa.
  • PATIENT_ID: o ID do recurso do paciente cujos dados você quer pesquisar.
  • DATE_TIME_VALUE: o valor do campo resource_datetime que representa uma data e hora no formato dateTime do FHIR. Confira alguns exemplos desse campo:
    • Para especificar uma data e hora com um fuso horário separado por um separador T: 2022-08-05T01:00:00+00:00
    • Para especificar uma data: 2022-08-05
    • Para especificar um mês: 2022-08
    • Para especificar um ano: 2022

Definir um filtro de tipo de recurso

O exemplo a seguir mostra como criar um filtro que usa um operador AND para filtrar primeiro todos os recursos de composição e depois filtrar aqueles que têm uma data posterior à data e hora especificadas.

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

Definir um filtro de recurso FHIR

É possível usar um filtro para verificar se um recurso FHIR está presente no repositório de dados da Pesquisa da Vertex AI. Por exemplo, é possível pesquisar um recurso DocumentReference com o ID 6112d1ac-c6bd-4755-d689-bfb71d59afc5 usando o filtro abaixo.

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