问题描述
如何收集患者拥有资源 CarePlan 状态为 active 的资源遭遇的所有记录?
在这个场景中,我们涉及 3 个资源,Pacient、CarePlan 和 Encounter。
因此,在对服务器的请求中,目标是仅获取遭遇数据,禁止从其他资源获取任何其他数据。
解决方法
简短的回答 - 您不能 - 至少不能使用标准搜索参数。但是,如果您可以接受随患者的遭遇一起取回患者资源,您可以这样做:
[base]/Patient?_has:CarePlan:patient:status=active&_revinclude=CarePlan:patient
这将翻阅患者,对于至少有一个活动 CarePlan 的每位患者,将返回患者和所有相关的遭遇。
请注意,“所有遭遇”通常不会那么理想 - 有些患者可能有数百或数千可以追溯到几十年前。因此,您最好将其作为两步查询运行 - 首先查找患者 ID,然后查找这些患者的遭遇 - 进一步过滤以仅包含实际感兴趣的遭遇。