כברירת מחדל, כשמחפשים נתונים של שירותי בריאות, תוצאות החיפוש מוחזרות בסדר כרונולוגי הפוך. כשמחפשים בתוך סוגי משאבי FHIR הבאים שמכילים טקסט לא מובנה, אפשר לסדר את תוצאות החיפוש לפי הרלוונטיות שלהן לשאילתה:
- קומפוזיציה
- DiagnosticReport
- DocumentReference
מקרה לדוגמה
נניח שאתם מחפשים את מילת המפתח insulin עבור מטופל מסוים וסיננתם את התוצאות למקורות שמכילים טקסט לא מובנה. בין התוצאות האחרות, תקבלו את המסמכים הבאים:
- תוצאה 1: משאב DocumentReference, מתאריך 24 באפריל 2024, שמכיל הערות לגבי רמות ה-HbA1c של המטופל.
- תוצאה 2: משאב DiagnosticReport, מתאריך 11 בינואר 2024, שמכיל הערות לגבי "משטר האינסולין" שהמטופל צריך לפעול לפיו.
כברירת מחדל, התוצאה 1 מוצגת גבוה יותר בתוצאות כי היא מסמך חדש יותר, אבל כשממיינים לפי רלוונטיות, התוצאה 2 מוצגת גבוה יותר בתוצאות. הסיבה לכך היא שהתוצאה רלוונטית יותר לשאילתת החיפוש insulin.
איך מסדרים את תוצאות החיפוש של שירותי בריאות
כדי לסדר את תוצאות החיפוש לפי רלוונטיות, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף AI Applications במסוף Google Cloud .
בוחרים את אפליקציית החיפוש בתחום הבריאות שרוצים לשלוח אליה שאילתה.
בתפריט הניווט, לוחצים על תצוגה מקדימה.
בשדה Patient ID (מזהה המטופל), מזינים את המזהה של המטופל שרוצים לשלוח לגביו שאילתה. מזהי מטופלים הם תלויי אותיות רישיות.
מקישים על Enter או לוחצים על תצוגה מקדימה כדי לשלוח את מזהה המטופל.
בסרגל החיפוש חיפוש כאן, מזינים את השאילתה.
אם הפעלתם את ההשלמה האוטומטית, תראו רשימה של הצעות להשלמה אוטומטית מתחת לסרגל החיפוש בזמן ההקלדה.
מקישים על Enter כדי לשלוח את השאילתה.
- תוצאות החיפוש מוצגות בטבלאות עם מספור עמודים, שמסווגות לפי סוג המשאב שלהן ב-FHIR.
- כברירת מחדל, תוצאות החיפוש של כל סוגי משאבי ה-FHIR מוצגות בסדר כרונולוגי הפוך.
במשאבים Composition, DocumentReference ו-DiagnosticReport, לוחצים על המסנן Sort: Reverse Chronological ובוחרים באפשרות Relevance מהרשימה. התוצאות של המשאבים האלה מסודרות לפי רלוונטיות.
REST
כדי למיין את תוצאות החיפוש לפי רלוונטיות, צריך לשנות את הבקשה search באופן הבא:
- מוסיפים את השדה
filterלבקשה כדי להגביל את תוצאות החיפוש רק למשאבי FHIR שמכילים טקסט לא מובנה: Composition, DiagnosticReport ו-DocumentReference. - כדי לקבל תשובות לחיפוש שממוינות לפי הרלוונטיות שלהן, מוסיפים את השדה
orderByלבקשת החיפוש ומגדירים את הערך שלו ל-_RELEVANCE.
שולחים את בקשת החיפוש.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://us-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/us/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "query": "KEYWORD_QUERY", "filter": "patient_id: ANY(\"PATIENT_ID\") AND resource_type: ANY(\"Composition\", \"DiagnosticReport\", \"DocumentReference\")", "orderBy": "_RELEVANCE" }'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . APP_ID: המזהה של אפליקציית חיפוש מבוסס סוכנים שרוצים לשלוח אליה שאילתה.-
KEYWORD_QUERY: מילת המפתח שרוצים לחפש בנתונים הקליניים של המטופל, למשל diabetes (סוכרת) או a1c (המוגלובין מסוכר). -
PATIENT_ID: מזהה המשאב של המטופל שאת הנתונים שלו רוצים לחפש.
אתם אמורים לקבל תגובת JSON שמכילה תוצאות חיפוש מפורטות שמופיעות בסדר הרלוונטיות שלהן.
-