如何通过Encounter、Location资源识别并查询特定ICU患者就诊记录?
解决方案:精准识别特定ICU就诊患者并支持时间段搜索
我之前也碰到过类似的需求,分享几个实用的思路帮你解决这个问题:
利用
Location资源的精准编码明确ICU类型
不要只依赖Encounter.serviceType的宽泛分类,重点关注Encounter.location关联的Location资源。你可以通过Location.type字段使用标准化医学编码精确定位ICU类型,比如:- PICU:SNOMED-CT编码
288565007(Pediatric intensive care unit) - NICU:SNOMED-CT编码
288564001(Neonatal intensive care unit) - CICU:SNOMED-CT编码
264362003(Cardiac intensive care unit)
合规的FHIR服务器基本都支持这类标准化编码,能直接区分ICU的具体类型。
- PICU:SNOMED-CT编码
通过
Encounter.period获取出入院日期并支持时间段搜索
其实Encounter资源本身就自带period字段,它的start和end值分别对应患者的入院、出院日期。你可以直接基于这个字段做时间段筛选,同时结合Location.type的编码锁定特定ICU,完美满足按ICU+时间段搜索的需求。示例FHIR查询语句
给你一个具体的查询示例,用来搜索2023年全年在PICU就诊的患者:Encounter?location:Location.type=http://snomed.info/sct|288565007&period=ge2023-01-01&period=le2023-12-31返回的Encounter资源里,你可以直接提取
period.start(入院日期)、period.end(出院日期),以及关联的患者信息。现有数据不支持的补救方案
如果当前医院的FHIR服务器里Location.type没有这么精细的编码,建议联系服务器管理员推动完善Location资源的类型标注——标准化编码是精准检索的基础。另外也可以结合Encounter.class(比如IMP表示住院)缩小搜索范围,再配合serviceType做初步筛选,最后通过临床记录补充验证。
内容的提问来源于stack exchange,提问作者user1810875
相关产品推荐
相关产品推荐

