如何查询含Specimen资源引用的Observation及通用关联资源查询方法
查询包含特定资源引用的FHIR资源(以Observation关联Specimen为例)
一、获取所有包含Specimen引用的Observation记录
要筛选出带有Specimen资源引用的Observation,直接利用FHIR的搜索参数特性即可:
- 基础查询语句:
Observation?specimen:exists=true
该语句会返回所有specimen字段不为空的Observation资源,也就是包含Specimen引用的记录。 - 如果需要指定关联某一具体Specimen实例,可传入该Specimen的ID:
Observation?specimen=Specimen/[目标Specimen的ID]
二、通用:查询包含特定资源引用的任意资源
对于任意FHIR资源,只要它存在指向目标资源的引用字段,都可以用类似逻辑查询:
- 先确认目标资源对应的引用字段名:比如Patient的
generalPractitioner字段引用Practitioner,MedicationRequest的subject字段引用Patient等(可通过FHIR资源定义文档确认字段名)。 - 使用
:exists=true参数判断该引用字段是否有值:
示例:- 查找所有关联了Practitioner的Patient:
Patient?generalPractitioner:exists=true - 查找所有关联了Patient的MedicationRequest:
MedicationRequest?subject:exists=true
- 查找所有关联了Practitioner的Patient:
- 如果要指定关联某一具体目标资源实例,直接传入目标资源的完整引用路径:
示例:查找所有关联了Patient/123的MedicationRequest:MedicationRequest?subject=Patient/123
补充说明
- 部分资源的引用字段为数组类型(比如Group的
member字段),:exists=true参数同样适用,只要数组中有至少一个元素就会被匹配。 - 支持链式搜索进一步缩小范围,比如查找关联了属于Patient/456的Specimen的Observation:
Observation?specimen:Patient=Patient/456
内容的提问来源于stack exchange,提问作者sidhant jain
相关产品推荐
相关产品推荐

