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 impor critérios que para incluir ou excluir determinadas respostas da pesquisa.
Por exemplo, quando você está pesquisando os dados de um único paciente, a solicitação de pesquisa O corpo 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:
- Crie um app de pesquisa de saúde e um repositório de dados de pesquisa de saúde e importe dados do 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 FHIR R4 compatíveis com a Vertex AI para Pesquisa como campos indexáveis, pesquisáveis e recuperáveis. Para mais informações, consulte a referência do esquema de dados FHIR R4 do Healthcare.
- 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 do filtro segue a sintaxe da expressão de filtro.
Na expressão de filtro, o literal pode ser qualquer campo indexável do
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 sobre como criar filtros.
Definir um filtro resource_datetime
Este exemplo mostra como especificar um filtro para uma pesquisa que inclui apenas
os recursos que têm um valor de resource_datetime
posterior à data especificada;
e o valor de tempo.
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 de recurso do paciente com os dados que você quer pesquisar.DATE_TIME_VALUE
: o valor do camporesource_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
- 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 AND
.
para filtrar todos os recursos de composição e depois os que têm
é 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 recurso 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 abaixo.
"filter": "DocumentReference.id: ANY(\"6112d1ac-c6bd-4755-d689-bfb71d59afc5\")"