FHIR中的Canonical URI是Business Identifier还是Logical Identifier?
FHIR canonical属性的分类定位
canonical不是非此即彼归为某一类,实际使用中它同时覆盖Business Identifier和Logical Identifier的能力,不同场景下侧重不同属性:
- 作为Business Identifier使用的场景
它的URL结构本身就承载了业务发布主体、业务域的归属信息,不需要额外查询资源元数据即可快速判断资源的业务来源、适用范围。比如不同厂商、不同行业标准组织发布的同类型自定义资源,仅通过canonical的域名前缀、路径规则就能完成业务维度的区分。 - 作为Logical Identifier使用的场景
它是完全不依赖资源存储位置的稳定标识,同一个canonical(带版本号时指向精确版本,不带版本号时指向最新稳定版),无论存储在哪个FHIR服务节点、哪个区域的存储集群,指向的都是逻辑层面完全相同的资源,跨系统交互时不需要适配不同节点的本地资源ID,直接用canonical即可完成资源定位。
举个实际示例,医保领域通用的就诊结构定义canonical为http://hl7.org.cn/fhir/StructureDefinition/medical-insurance-encounter,仅通过前缀就能判断它是HL7中国委员会发布的医保业务标准(Business Identifier属性);同时该标识不随部署节点变化,所有对接医保的FHIR系统中这个canonical都指向同一份结构定义(Logical Identifier属性)。
落地通用规则:如果使用场景是资源业务归属校验、业务权限管控,将canonical作为Business Identifier处理即可;如果使用场景是跨系统资源寻址、版本一致性校验,将canonical作为Logical Identifier处理即可。
内容的提问来源于stack exchange,提问作者Jason S.
相关产品推荐
相关产品推荐

