排序醫療照護搜尋結果

根據預設,搜尋醫療照護資料時,搜尋結果會依時間倒序排列。搜尋含有非結構化文字的下列 FHIR 資源類型時,您可以根據搜尋結果與查詢的相關性排序:

  • 作曲
  • DiagnosticReport
  • DocumentReference

範例情境

假設您要搜尋特定病患的關鍵字 insulin,並將結果篩選為包含非結構化文字的資源。您會收到下列文件等結果:

  • 結果 1:2024 年 4 月 24 日的 DocumentReference 資源,內含病患「HbA1c」指數的相關附註。
  • 結果 2:2024 年 1 月 11 日的 DiagnosticReport 資源,內含病患必須遵守的「胰島素治療方案」相關附註。

根據預設,結果 1 會顯示在較高的位置,因為這是較新的文件,但如果依關聯性排序,結果 2 會顯示在較高的位置。因為這與搜尋查詢 insulin 更為相關。

排序醫療照護搜尋結果

如要依相關性排序搜尋結果,請完成下列步驟:

控制台

  1. 前往 Google Cloud 控制台的「AI Applications」頁面。

    AI 應用程式

  2. 選取要查詢的健康搜尋應用程式。

  3. 在導覽選單中,按一下「預覽」

  4. 在「Patient ID」(病患 ID) 欄位中,輸入要查詢資料的病患 ID。病患 ID 須區分大小寫。

  5. 按下 Enter 鍵或點選「預覽」,即可提交病患 ID。

  6. 在「在這裡搜尋」搜尋列中輸入查詢。

    如果已啟用自動完成功能,輸入內容時,搜尋列下方會顯示自動完成建議清單。

  7. 按下 Enter 鍵提交查詢。

    • 搜尋結果會顯示在分頁表格中,並依據 FHIR 資源類型分類。
    • 根據預設,系統會以逆時序顯示所有 FHIR 資源類型的搜尋結果。
  8. 如要查看 Composition、DocumentReference 和 DiagnosticReport 資源,請按一下「Sort: Reverse Chronological」(排序:依時間倒序) 篩選器,然後從清單中選取「Relevance」(相關性)。然後依據關聯性排序這些資源的結果。

REST

如要依關聯性排序搜尋結果,請按照下列方式修改search要求:

  • 在要求中加入 filter 欄位,將搜尋結果限制為只包含含有非結構化文字的 FHIR 資源:Composition、DiagnosticReport 和 DocumentReference。
  • 在搜尋要求中加入 orderBy 欄位,並將值設為 _RELEVANCE,即可取得依相關性排序的搜尋回應。
  1. 傳送搜尋要求。

    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 回應,其中包含依相關性排序的詳細搜尋結果。