Simplifier.net校验FHIR contained资源抛异常,该资源是否格式合规?
结论
你提供的FHIR R4资源属于格式完全合规的资源,Simplifier的报错属于工具自身校验逻辑的缺陷,不代表资源本身不符合标准。
合规依据说明
- 你引用的FHIR R4官方规则完全正确:当被包含(contained)的内部资源需要引用承载它的父容器资源时,引用值直接填写
#是标准写法,完全符合规范要求。 - 你采用的反向引用实现方案也符合FHIR的设计逻辑:由于Encounter资源本身没有可以直接关联Task的标准字段,将Task放在Encounter的contained节点内,再通过Task.encounter字段反向引用父级Encounter的做法,是该场景下的标准实现方式。
- 不同工具的校验差异不代表资源违规:Confluence与Gazelle的校验结果和官方规则一致,Simplifier抛出异常是因为其校验引擎没有覆盖「contained资源引用父容器用#」的特殊规则,属于工具本身的问题,和你的资源无关。
可选兼容方案
如果需要适配Simplifier的校验规则,可以将Task.encounter.reference的取值改为#B3E42476-A8FE-4848-9F2B-F3F9126E88C6,也就是显式引用父Encounter的id,这种写法同样符合FHIR规范,可以兼容绝大多数校验工具。
内容的提问来源于stack exchange,提问作者Jaime
相关产品推荐
相关产品推荐

