Quando consulta dados de cuidados de saúde, pode usar filtros para refinar as respostas da pesquisa. Num pedido de pesquisa, pode fornecer filtros para aplicar critérios que incluam ou excluam determinadas respostas de pesquisa.
Por exemplo, quando pesquisa os dados de um único paciente, o corpo do pedido de pesquisa tem de conter a seguinte expressão de filtro que especifica o ID do paciente:
"filter": "patient_id: ANY(\"PATIENT_ID\")"
Esta página mostra-lhe como definir filtros para a pesquisa de cuidados de saúde.
Antes de começar
Antes de começar, faça o seguinte:
- Crie uma app de pesquisa de cuidados de saúde e um arquivo de dados de pesquisa de cuidados de saúde, e importe dados FHIR R4. Para mais informações, consulte os artigos Crie uma app de pesquisa de cuidados de saúde e Crie um arquivo de dados de pesquisa de cuidados de saúde.
- Reveja a lista de recursos FHIR R4 que a Vertex AI Search suporta como campos indexáveis, pesquisáveis e recuperáveis. Para mais informações, consulte a referência do esquema de dados FHIR R4 de cuidados de saúde.
- Compreenda a sintaxe das expressões de filtro.
Defina filtros
Os filtros são especificados no campo filter
no corpo do pedido do método servingConfigs.search
.
A definição do 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
que o recurso Observation referencia pode ser usado como um literal de filtro.
As secções seguintes mostram alguns exemplos de como criar filtros.
Defina um filtro resource_datetime
Este exemplo mostra como especificar um filtro para uma pesquisa que inclua apenas os recursos que tenham um valor resource_datetime
posterior ao valor de data e 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}} }'
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto Google Cloud .DATA_STORE_ID
: o ID do arquivo de dados do Vertex AI Search.QUERY
: a consulta de pesquisa.PATIENT_ID
: o ID do recurso do paciente cujos dados quer pesquisar.DATE_TIME_VALUE
: o valor do camporesource_datetime
que representa uma data e uma hora no formato dateTime do FHIR. Seguem-se alguns exemplos deste campo:- Para especificar uma data e uma 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 uma hora com um fuso horário separado por um separador
Defina um filtro de tipo de recurso
O exemplo seguinte mostra como criar um filtro que usa um operador AND
para filtrar primeiro todos os recursos Composition e, em seguida, filtrar aqueles cuja data seja posterior a uma data e hora especificadas.
"filter": "resource_type: ANY("Composition") AND Composition.date > "2022-08-05T01:00:00+00:00""
Defina um filtro de recursos FHIR
Pode usar um filtro para verificar se um recurso FHIR está presente no repositório de dados do Vertex AI Search. Por exemplo, pode pesquisar um recurso DocumentReference que tenha o ID 6112d1ac-c6bd-4755-d689-bfb71d59afc5
através do seguinte filtro.
"filter": "DocumentReference.id: ANY(\"6112d1ac-c6bd-4755-d689-bfb71d59afc5\")"