如何在Epic中创建Observation LDA-W(R4)?相关技术疑问
针对Epic Observation.Create (LDA-W) (R4)中SequelTo扩展的问题解答
1. SequelTo扩展的定义
Epic的SequelTo扩展是FHIR资源的自定义扩展,核心作用是关联后续观测值与父观测值,标记当前观测属于同一临床事件(比如同一伤口的系列扫描)的后续记录,保证观测数据的连续性和关联性。在Observation资源里,它的extension.url固定为http://fhir.epic.com/StructureDefinition/extension-observation-sequelTo,值为对父Observation资源的引用(Reference类型)。
2. 如何获取父观测值
- 针对已有患者的后续扫描:
- 调用
Observation.search接口,通过患者ID、伤口扫描对应的编码(比如LOINC或Epic自定义代码)筛选历史观测记录,再按日期倒序排序,取最新的那条作为父观测,拿到它的id或fullUrl即可。 - 示例搜索请求(R4):
GET [Epic Sandbox FHIR Endpoint]/Observation?patient=[患者ID]&code=[伤口扫描编码]&_sort=-date
- 调用
- 针对新患者的首次观测:不存在父观测,处理方式看下面的第三点。
3. 新患者首次创建观测值的解决方案
Epic要求使用SequelTo,但新患者没有历史观测,这里有两种可行方案:
- 方案一:自引用SequelTo扩展
首次创建时,给SequelTo扩展设置一个临时UUID作为当前观测的引用,Epic在创建成功后会自动替换为实际资源ID。示例请求片段:{ "resourceType": "Observation", "extension": [ { "url": "http://fhir.epic.com/StructureDefinition/extension-observation-sequelTo", "valueReference": { "reference": "urn:uuid:123e4567-e89b-12d3-a456-426614174000" } } ], "status": "final", "code": { "coding": [ { "system": "[你的编码系统]", "code": "[伤口扫描对应的编码]" } ] }, "subject": { "reference": "Patient/[新患者ID]" }, "component": [ { "code": { "coding": [{ "system": "[编码系统]", "code": "左足跟" }] }, "valueQuantity": { "value": 12.3, "unit": "mm", "system": "http://unitsofmeasure.org" } }, /* 右足跟、骶骨的组件格式类似 */ ] } - 方案二:测试沙箱的宽松规则
部分Epic沙箱对首次观测允许省略SequelTo扩展,可以先尝试不带该扩展发送Create请求,如果报错再切换到自引用方案。也可以查看Epic沙箱的专属文档,或联系Epic开发者支持确认初始记录的处理逻辑。
内容的提问来源于stack exchange,提问作者Rahul Chavan
相关产品推荐
相关产品推荐

