繁体   English   中英

在 EPIC FHIR 上搜索患者

[英]search Patient on EPIC FHIR

我试图弄清楚在 EPIC FHIR 上搜索的患者是如何工作的。 在此处的沙盒上测试所有内容: https://fhir.epic.com/Documentation?docId=testpatients

文档:

从 2019 年 5 月开始,Patient.Search 请求默认需要以下最小数据集之一才能匹配并返回患者记录:

  • FHIR ID
  • {IDType}|{ID}
  • SSN 标识符
  • 名字、姓氏和出生日期
  • 名字、姓氏、法定性别和电话号码/电子邮件

这工作正常(返回一名患者):

/api/FHIR/R4/Patient?family=Lin&given=Derrick&birthdate=1973-06-03

但这也返回了相同的记录(家庭中的额外角色,错误的性别):

/api/FHIR/R4/Patient?family=Lina&given=Derrick&birthdate=1973-06-03&gender=female

这也是返回一个记录(家庭中的额外字符,没有名字):

/api/FHIR/R4/Patient?family=Lina&birthdate=1973-06-03

不确定我做错了什么,还是预期的行为?

这里有很多历史记录,但 Epic 当前的 Patient.search 行为更像 Patient.$match。 具体来说,提供给 Patient.search 的标准使用(近似)OR 逻辑而不是 AND 逻辑进行组合。 在幕后,它实际上更多的是加权分数,但最终,您提供的标准越多,您可能获得的结果就越多。 如果您习惯于 REST API 查询参数的正常工作方式,这通常是违反直觉的。 但从技术上讲,它是规范合法的,因为 FHIR 在其中有一个关于服务器能够返回它认为合适的其他适当结果的宣传。

https://build.fhir.org/search.html#Introduction

但是,如果服务器认为它们是相关的,则它有权返回额外的搜索结果。

我们现在没有任何具体的更新,但很快(tm)可能会有变化。

我很惊讶最后一个返回任何结果,但关于前两个搜索,这在 Epic 中是完全可能的,甚至是预期的。 Epic 在后台具有特殊的逻辑,可以根据某些条件评估您传入的参数值,例如名称是否完全匹配、名称是否相似、出生日期是否完全匹配等。因此,通常不仅完全匹配,而且Patient.Search API 将返回类似的匹配项。 标准的权重可由 Epic 客户自定义,因此有些可能比其他的具有更严格的逻辑。

我建议始终根据您的输入参数验证返回的结果,以验证您正在使用完全匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM