סינון חיפושים בתחום הבריאות

כשמבצעים שאילתות על נתונים של שירותי בריאות, אפשר להשתמש במסננים כדי לדייק את התשובות לחיפוש. בבקשת חיפוש, אפשר לספק מסננים כדי לאכוף קריטריונים שכוללים או מחריגים תשובות חיפוש מסוימות.

לדוגמה, כשמחפשים נתונים של מטופל אחד, גוף בקשת החיפוש צריך להכיל את ביטוי הסינון הבא שמציין את מזהה המטופל:

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

בדף הזה מוסבר איך מגדירים מסננים לחיפוש בתחום הבריאות.

לפני שמתחילים

לפני שמתחילים, צריך לבצע את הפעולות הבאות:

הגדרת מסננים

המסננים מצוינים בשדה filter בגוף הבקשה של השיטה servingConfigs.search.

הגדרת המסנן מתבצעת לפי תחביר ביטוי הסינון. בביטוי המסנן, המחרוזת יכולה להיות כל שדה שאפשר להוסיף לאינדקס מהתגובה לשאילתת החיפוש. לדוגמה, אם התשובה מכילה משאב Observation, אפשר להשתמש ב-patient_id שאליו מפנה משאב ה-Observation כמסנן מילולי.

בקטעים הבאים מוצגות כמה דוגמאות לאופן שבו אפשר ליצור מסננים.

הגדרת מסנן resource_datetime

בדוגמה הזו מוסבר איך לציין מסנן לחיפוש שכולל רק את המשאבים שבהם הערך של resource_datetime מאוחר יותר מהתאריך ומהשעה שצוינו.

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

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • DATA_STORE_ID: המזהה של מאגר הנתונים של חיפוש מבוסס סוכנים.
  • QUERY: שאילתת החיפוש.
  • PATIENT_ID: מזהה המשאב של המטופל שאת הנתונים שלו רוצים לחפש.
  • DATE_TIME_VALUE: הערך של השדה resource_datetime שמייצג תאריך ושעה בפורמט dateTime של FHIR. דוגמאות לערכים בשדה הזה:
    • כדי לציין תאריך ושעה עם אזור זמן שמופרדים באמצעות המפריד T: 2022-08-05T01:00:00+00:00
    • כדי לציין תאריך: 2022-08-05
    • כדי לציין חודש: 2022-08
    • כדי לציין שנה: 2022

הגדרת מסנן של סוג משאב

בדוגמה הבאה מוצג אופן הבנייה של מסנן שמשתמש באופרטור AND כדי לסנן קודם את כל משאבי ה-Composition, ואז לסנן את אלה שהתאריך שלהם מאוחר יותר מתאריך ושעה שצוינו.

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

הגדרת מסנן משאבי FHIR

אתם יכולים להשתמש במסנן כדי לבדוק אם משאב FHIR קיים במאגר הנתונים של חיפוש מבוסס סוכנים. לדוגמה, אפשר לחפש משאב DocumentReference עם המזהה 6112d1ac-c6bd-4755-d689-bfb71d59afc5 באמצעות המסנן הבא.

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