捆绑包内部参考:相对 URL “[type]/[id]” 当资源具有 fullUrl "urn:uuid:[id]" 时,而不是 "http://blah/blih/[type]/[id]"

Bundle-internal reference: relative URL "[type]/[id]" when resource has fullUrl "urn:uuid:[id]", not "http://blah/blih/[type]/[id]"

我在 first example of project eRezeptAbgabedaten @ simplifier.net.

中发现的 reference/URL 星座有问题

引用的内部资源有一个类型为 uuid (urn:uuid:11ba8a7b-79f6-4b7a-8a29-0524c9e0ba41) 的 fullUrl,但它通过相对 URL Organization/11ba8a7b-79f6-4b7a-8a29-0524c9e0ba41 在包中的其他地方被引用。包含引用的条目也有一个 uuid 类型的 fullUrl

<Bundle xmlns="http://hl7.org/fhir">
  ...
  <entry>
    <fullUrl value="urn:uuid:ac1e9724-f5ee-448b-a594-74259fd8a926" />
    <resource>
      <Composition>
        ...
        <author>
          <reference value="Organization/11ba8a7b-79f6-4b7a-8a29-0524c9e0ba41" />
        </author>
        ...
     </Composition>
  </entry>
  <entry>
    <fullUrl value="urn:uuid:11ba8a7b-79f6-4b7a-8a29-0524c9e0ba41" />
    <resource>
      <Organization>
        <id value="11ba8a7b-79f6-4b7a-8a29-0524c9e0ba41" />
        ...
      </Organization>
    </resource>
  </entry>
</Bundle>

在文档中我找不到任何类似 'for a relative URL like [type]/[id], look for an entry of type [type] with id [id] in the bundle before any other resolution attempts' 的规则(或者相反,'build a table of pseudo URLs [type]/[id] for all entries in the bundle and try to match relative URLs against this table before looking elsewhere') .

特别是 2.36.4.1 Resolving references in Bundles 的说明似乎没有给这样的解释留下空间:

How to resolve a reference in a Bundle:

If the reference is not an absolute reference, convert it to an absolute URL:
    if the reference has the format [type]/[id], and
    if the fullUrl for the bundle entry containing the resource is a RESTful one (see the RESTful URL regex)
        extract the [root] from the fullUrl, and append the reference (type/id) to it
        then try to resolve within the bundle as for a RESTful URL reference.
        If no resolution is possible, then the reference has no defined meaning within this specification
    else no resolution is possible and the reference has no defined meaning within this specification
else
    Look for an entry with a fullUrl that matches the URI in the reference
    if no match is found, and the URI is a URL that can be resolved (e.g. if an http: URL), try accessing it directly)

Note, in addition, that a reference may be by identifier, and if it is, and there is no URL, it may be resolved by scanning the ids in the bundle.

有谁知道在哪里可以找到 'synthesising' [type]/[id] pseudo URL 用于查找捆绑包的规则?

过去关于当完整 URL 是 UUID 时是否允许 'relative' 引用的规则有些模糊。因此,有些系统确实支持这一点。我们在 R5 中澄清这是不允许的(并重构解析规则以使其更加清晰)。

简而言之 - 您可能会在 R4 或更早版本中找到它(尽管它不是 preferred/encouraged),但在 R5 及更高版本中将不允许使用它。