根據預設,搜尋醫療照護資料時,搜尋結果會依時間倒序排列。搜尋含有非結構化文字的下列 FHIR 資源類型時,您可以根據搜尋結果與查詢的相關性排序:
- 作曲
- DiagnosticReport
- DocumentReference
範例情境
假設您要搜尋特定病患的關鍵字 insulin
,並將結果篩選為包含非結構化文字的資源。您會收到下列文件等結果:
- 結果 1:2024 年 4 月 24 日的 DocumentReference 資源,內含病患「HbA1c」指數的相關附註。
- 結果 2:2024 年 1 月 11 日的 DiagnosticReport 資源,內含病患必須遵守的「胰島素治療方案」相關附註。
根據預設,結果 1 會顯示在較高的位置,因為這是較新的文件,但如果依關聯性排序,結果 2 會顯示在較高的位置。因為這與搜尋查詢 insulin
更為相關。
排序醫療照護搜尋結果
如要依相關性排序搜尋結果,請完成下列步驟:
控制台
前往 Google Cloud 控制台的「AI Applications」頁面。
選取要查詢的健康搜尋應用程式。
在導覽選單中,按一下「預覽」。
在「Patient ID」(病患 ID) 欄位中,輸入要查詢資料的病患 ID。病患 ID 須區分大小寫。
按下 Enter 鍵或點選「預覽」,即可提交病患 ID。
在「在這裡搜尋」搜尋列中輸入查詢。
如果已啟用自動完成功能,輸入內容時,搜尋列下方會顯示自動完成建議清單。
按下 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 專案 ID。APP_ID
:要查詢的 Vertex AI Search 應用程式 ID。KEYWORD_QUERY
:您想在經過篩選的病患臨床資料中搜尋的關鍵字,例如「糖尿病」或「糖化血色素」。PATIENT_ID
:要搜尋資料的病患資源 ID。
您應該會收到 JSON 回應,其中包含依相關性排序的詳細搜尋結果。