Suche in Gesundheitsdaten filtern

Wenn Sie Gesundheitsdaten abfragen, können Sie Filter verwenden, um Ihre Suchantworten zu verfeinern. In einer Suchanfrage können Sie Filter angeben, um Kriterien zu erzwingen, die bestimmte Suchantworten ein- oder ausschließen.

Wenn Sie beispielsweise in den Daten eines einzelnen Patienten suchen, muss der Anfragetext der Suche den folgenden Filterausdruck enthalten, der die Patienten-ID angibt:

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

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

Hinweis

Führen Sie zuerst folgende Schritte aus:

Filter definieren

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

Die Filterdefinition folgt der Syntax von Filterausdrücken. Im Filterausdruck kann das Literal ein beliebiges indexierbares 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 Erstellung von Filtern.

resource_datetime-Filter definieren

In diesem Beispiel wird gezeigt, wie Sie einen Filter für eine Suche angeben, die nur Ressourcen enthält, deren Wert für resource_datetime 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: die ID Ihres Google Cloud Projekts in.
  • DATA_STORE_ID: die ID des Agent Search-Datenspeichers.
  • QUERY: die Suchanfrage.
  • PATIENT_ID: die Ressourcen-ID des Patienten, dessen Daten Sie durchsuchen möchten.
  • DATE_TIME_VALUE: der Wert des resource_datetime Felds, der ein Datum und eine Uhrzeit im FHIR-dateTime-Format darstellt. Beispiele für dieses Feld:
    • Datum und Uhrzeit mit Zeitzone, getrennt durch ein T: 2022-08-05T01:00:00+00:00
    • Datum: 2022-08-05
    • Monat: 2022-08
    • Jahr: 2022

Ressourcentypfilter definieren

Im folgenden Beispiel wird gezeigt, wie Sie einen Filter erstellen, der mit einem AND-Operator zuerst alle Kompositionsressourcen filtert und dann diejenigen, 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

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

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