在EPIC FHIR上搜索患者



我正试图弄清楚患者在EPIC FHIR上搜索的工作原理。在沙箱上测试所有内容:https://fhir.epic.com/Documentation?docId=testpatients.

文件:

从2019年5月开始,患者。搜索请求需要以下最小数据集之一>默认匹配并返回患者记录:

  • 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$火柴具体来说,提供给Patient.search的标准是使用(近似(OR逻辑而不是AND逻辑组合的。在幕后,它实际上更多的是加权分数,但最终,你提供的标准越多,你可能得到的结果就越多。如果您习惯于REST API查询参数的正常工作方式,这通常是违反直觉的。但从技术上讲,它是规范合法的,因为FHIR有一个关于服务器能够在它认为合适的时候返回其他适当结果的宣传。

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

但是,如果服务器认为其他搜索结果相关,则有权返回这些结果。

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

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

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

最新更新