【发布时间】:2021-01-04 11:35:16
【问题描述】:
我们有一个关于引用另一个资源的查询。假设场景,
ResourceA
|- contains
|- ResourceB
|- ResourceC
并且 ResourceB 引用了 ResourceC。
在上述情况下,ResourceA 是否必须包含对资源 B 和 C 的直接引用?或者 A 引用 B 就足够了,因为已经有对 C 的讨厌引用(A->B->C)?
我们对 FHIR 规范的解释是后者(即传递引用就足够了),阅读下面来自 https://www.hl7.org/fhir/references.html#contained 的声明
一个包含的资源应该只包含在一个资源中,如果有的话 在该资源中(可能是另一个包含的资源)有 参考一下。
但是,在同一文档下还有另一条注释让我们感到困惑,主要是因为该示例仅演示了来自 current() 的引用。
实现说明:包含的资源仍然是参考而不是 而不是直接内联到作为参考的元素中 (例如上面的“保管人”)以确保采用单一方法解决 可以使用资源引用。虽然看起来直接收容 更简单,仍然需要支持内部引用 其中包含的相同资源被多次引用。在里面 最后,它所能实现的只是在 句法。对于使用 XPath 处理资源的用户,以下 XPath 片段解析内部引用:
ancestor::f:[not(parent::f:)]/f:contained/*[@id=substring-after(current()/ f:reference/@value, '#')]
请您帮忙澄清一下。谢谢。
【问题讨论】:
标签: hl7-fhir