默认情况下,当您搜索医疗保健数据时,系统会按倒序时间顺序返回搜索结果。在搜索包含非结构化文本的以下 FHIR 资源类型时,您可以按搜索结果与查询的相关性对其进行排序:
- 组合
- DiagnosticReport
- DocumentReference
示例场景
假设您要搜索给定患者的关键字 insulin
,并已将结果过滤为包含非结构化文本的资源。除其他结果外,您还会收到以下文档:
- 结果 1:日期为 2024 年 4 月 24 日的 DocumentReference 资源,其中包含有关患者“HbA1c”水平的备注。
- 结果 2:日期为 2024 年 1 月 11 日的 DiagnosticReport 资源,其中包含有关患者必须遵循的“胰岛素治疗方案”的备注。
默认情况下,结果 1 会显示在搜索结果中的更高位置,因为它是更新的文档,但如果您按相关性对结果进行排序,结果 2 会显示在搜索结果中的更高位置。这是因为该商品与搜索查询 insulin
更相关。
对医疗保健搜索结果进行排序
如需按相关性对搜索结果进行排序,请完成以下步骤:
控制台
在 Google Cloud 控制台中,前往 Agent Builder 页面。
选择要查询的医疗保健搜索应用。
在导航菜单中,点击预览。
在患者 ID 字段中,输入您要查询数据的患者的 ID。患者 ID 区分大小写。
按 Enter 键或点击预览以提交患者 ID。
在在此处搜索搜索栏中,输入您的查询。
如果您启用了自动补全功能,则在输入时,搜索栏下方会显示自动补全建议列表。
按 Enter 键提交查询。
- 搜索结果会显示在分页表格中,这些表格会根据 FHIR 资源类型进行分类。
- 默认情况下,所有 FHIR 资源类型的搜索结果均按时间倒序显示。
对于 Composition、DocumentReference 和 DiagnosticReport 资源,请点击排序:按时间倒序过滤条件,然后从列表中选择相关性。然后,系统会按相关性对这些资源的结果进行排序。
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/v1alpha/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 响应,其中包含按相关性排序的明细搜索结果。