Resolution algorithm unclear - 2018-May Core Norm Infrastructure #255

XMLWordPrintableJSON

    • Type: Change Request
    • Resolution: Persuasive
    • Priority: Medium
    • FHIR Core (FHIR)
    • STU3
    • FHIR Infrastructure
    • Bundle
    • Hide

      Rewrite the algorithm to

      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 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. Note also that transactions may contain conditional identifiers that must be resolved by the server before processing the matches.

      Develop a test case bundle that contains all the variations so that bundle resolvers may use it as a test case

      Show
      Rewrite the algorithm to 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 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. Note also that transactions may contain conditional identifiers that must be resolved by the server before processing the matches. Develop a test case bundle that contains all the variations so that bundle resolvers may use it as a test case
    • Christiaan Knaap / Jeff Danford: 12-0-0
    • Clarification
    • Non-substantive
    • STU3

      Existing Wording: If the fullUrl starts with urn:uuid: or urn:oid:, then append the id to the base URL and try to resolve within the bundle as for a RESTful URL reference.

      Comment:

      Not sure what this is talking about. What "baseUrl"? Bundles don't have base URLs anymore and it's not clear what 'id' it's referring to.

      Summary:

      Resolution algorithm unclear

            Assignee:
            Unassigned
            Reporter:
            Lloyd McKenzie
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: