默认情况下,当您搜索医疗保健数据时,搜索结果会按时间倒序返回。 当您搜索包含非结构化文本的以下 FHIR 资源类型时,可以根据搜索结果与查询的相关性对其进行排序:
- 乐曲
- DiagnosticReport
- DocumentReference
示例场景
假设您正在为特定患者搜索关键字 insulin
,并且已将结果过滤为包含非结构化文本的资源。除其他结果外,您还会收到以下文档:
- 结果 1:一个 DocumentReference 资源,日期为 2024 年 4 月 24 日,其中包含有关患者“HbA1c”水平的备注。
- 结果 2:一份日期为 2024 年 1 月 11 日的 DiagnosticReport 资源,其中包含有关患者必须遵循的“胰岛素方案”的备注。
默认情况下,结果 1 会显示在结果中更靠上的位置,因为它是一份较新的文档,但当您按相关性排序时,结果 2 会显示在结果中更靠上的位置。这是因为该网页与搜索查询 insulin
的相关性更高。
对医疗保健搜索结果进行排序
如需按相关性对搜索结果进行排序,请完成以下步骤:
控制台
在 Google Cloud 控制台中,前往 AI Applications 页面。
选择要查询的医疗保健搜索应用。
在导航菜单中,点击预览。
在患者 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/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 响应,其中包含按相关性顺序列出的细分搜索结果。