Filtrare la ricerca nel settore sanitario

Quando esegui query sui dati sanitari, puoi utilizzare i filtri per perfezionare le risposte di ricerca. In una richiesta di ricerca, puoi fornire filtri per applicare criteri che includono o escludono determinate risposte di ricerca.

Ad esempio, quando esegui una ricerca nei dati di un singolo paziente, il corpo della richiesta di ricerca deve contenere la seguente espressione di filtro che specifica l'ID paziente:

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

Questa pagina mostra come definire i filtri per la ricerca sanitaria.

Prima di iniziare

Prima di iniziare, segui questi passaggi:

Definire i filtri

I filtri vengono specificati nel campo filter nel corpo della richiesta del metodo servingConfigs.search.

La definizione del filtro segue la sintassi delle espressioni di filtro. Nell'espressione del filtro, il valore letterale può essere qualsiasi campo indicizzato della risposta alla query di ricerca. Ad esempio, se la risposta contiene una risorsa Observation, il patient_id a cui fa riferimento la risorsa Observation può essere utilizzato come valore letterale del filtro.

Le sezioni seguenti mostrano alcuni esempi di come creare filtri.

Definisci un filtro resource_datetime

Questo esempio mostra come specificare un filtro per una ricerca che includa solo le risorse con un valore resource_datetime successivo alla data e all'ora specificate.

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud.
  • DATA_STORE_ID: l'ID dello datastore di Vertex AI Search.
  • QUERY: la query di ricerca.
  • PATIENT_ID: l'ID risorsa del paziente di cui vuoi cercare i dati.
  • DATE_TIME_VALUE: il valore del campo resource_datetime che rappresenta una data e un'ora nel formato dateTime di FHIR. Ecco alcuni esempi di questo campo:
    • Per specificare una data e un'ora con un fuso orario separato da un separatore T: 2022-08-05T01:00:00+00:00
    • Per specificare una data: 2022-08-05
    • Per specificare un mese: 2022-08
    • Per specificare un anno: 2022

Definisci un filtro per tipo di risorsa

L'esempio seguente mostra come creare un filtro che utilizza un operatore AND per filtrare prima tutte le risorse di composizione e poi quelle la cui data è successiva a una data e a un'ora specificate.

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

Definire un filtro delle risorse FHIR

Puoi utilizzare un filtro per verificare se una risorsa FHIR è presente nel datastore di Vertex AI Search. Ad esempio, puoi cercare una risorsa DocumentReference con l'ID6112d1ac-c6bd-4755-d689-bfb71d59afc5 utilizzando il seguente filtro.

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