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, ao pesquisar 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\")"
Nesta página, mostramos como definir filtros para a pesquisa de saúde.
Antes de começar
Antes de começar, faça o seguinte:
- Crie um app e um repositório de dados de pesquisa de saúde e importe dados FHIR R4. Para mais informações, consulte Criar um app de pesquisa de saúde e Criar um repositório de dados de pesquisa de saúde.
 - Confira a lista de recursos do FHIR R4 que a Vertex AI para Pesquisa aceita como campos indexáveis, pesquisáveis e recuperáveis. Para mais informações, consulte Referência do esquema de dados R4 do FHIR de saúde.
 - Entenda a sintaxe da expressão de filtro.
 
Definir filtros
Os filtros são especificados no campo filter no corpo da solicitação do método
servingConfigs.search.
A definição de filtro segue a sintaxe da expressão de 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 "Observation",
o patient_id referenciado por ele poderá 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 resource_datetime posterior à data e hora especificadas.
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 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 camporesource_datetimeque 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 
-  Para especificar uma data e hora com um fuso horário separado por um separador 
 
Definir um filtro de tipo de recurso
O exemplo a seguir mostra como criar um filtro que usa um operador AND
para primeiro filtrar todos os recursos de composição e depois aqueles cuja
data é posterior a uma data e hora especificadas.
"filter": "resource_type: ANY("Composition") AND Composition.date > "2022-08-05T01:00:00+00:00""Definir um filtro de recursos FHIR
É possível usar um filtro para verificar se um recurso FHIR está presente no repositório de dados da Vertex AI para Pesquisa. Por exemplo, é possível pesquisar um recurso
DocumentReference que tenha o ID
6112d1ac-c6bd-4755-d689-bfb71d59afc5 usando o filtro a seguir.
"filter": "DocumentReference.id: ANY(\"6112d1ac-c6bd-4755-d689-bfb71d59afc5\")"