Suche in Gesundheitsdaten filtern

Wenn Sie Gesundheitsdaten abfragen, können Sie die Suchergebnisse mithilfe von Filtern verfeinern. In einer Suchanfrage können Sie Filter angeben, um Kriterien durchzusetzen, die bestimmte Suchantworten ein- oder ausschließen.

Wenn Sie beispielsweise nach den Daten eines einzelnen Patienten suchen, muss der Suchanfragekörper den folgenden Filterausdruck enthalten, in dem die Patienten-ID angegeben ist:

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

Auf dieser Seite erfahren Sie, wie Sie Filter für die Suche im Gesundheitswesen definieren.

Hinweise

Führen Sie zuerst folgende Schritte aus:

Filter definieren

Filter werden im Feld filter im Anfragetext der Methode servingConfigs.search angegeben.

Die Filterdefinition folgt der Syntax für Filterausdrücke. Im Filterausdruck kann das Literal jedes indexierbare Feld aus der Antwort auf die Suchanfrage sein. Wenn die Antwort beispielsweise eine Beobachtungsressource enthält, kann die patient_id, auf die die Beobachtungsressource verweist, als Filterliteral verwendet werden.

In den folgenden Abschnitten finden Sie einige Beispiele für die Filtererstellung.

resource_datetime-Filter definieren

In diesem Beispiel wird gezeigt, wie Sie einen Filter für eine Suche angeben, der nur Ressourcen mit einem resource_datetime-Wert enthält, der nach dem angegebenen Datum und der angegebenen Uhrzeit liegt.

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

Ersetzen Sie Folgendes:

  • PROJECT_ID ist die ID Ihres Google Cloud-Projekts.
  • DATA_STORE_ID: die ID des Vertex AI Search-Datenspeichers.
  • QUERY: die Suchanfrage.
  • PATIENT_ID: die Ressourcen-ID des Patienten, dessen Daten Sie suchen möchten.
  • DATE_TIME_VALUE: Der Wert des Felds resource_datetime, das ein Datum und eine Uhrzeit im FHIR-Format dateTime darstellt. Beispiele für dieses Feld:
    • So geben Sie ein Datum und eine Uhrzeit mit einer Zeitzone an, die durch ein T-Trennzeichen getrennt sind: 2022-08-05T01:00:00+00:00
    • So geben Sie ein Datum an: 2022-08-05
    • So geben Sie einen Monat an: 2022-08
    • So geben Sie ein Jahr an: 2022

Ressourcentypfilter definieren

Im folgenden Beispiel wird gezeigt, wie ein Filter mit einem AND-Operator erstellt wird, um zuerst alle Kompositionsressourcen und dann diejenigen zu filtern, deren Datum nach einem bestimmten Datum und einer bestimmten Uhrzeit liegt.

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

FHIR-Ressourcenfilter definieren

Sie können mit einem Filter prüfen, ob sich eine FHIR-Ressource im Vertex AI Search-Datenspeicher befindet. Mit dem folgenden Filter können Sie beispielsweise nach einer DocumentReference-Ressource mit der ID 6112d1ac-c6bd-4755-d689-bfb71d59afc5 suchen.

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