Uploaded image for project: 'FHIR Specification Feedback'
  1. FHIR Specification Feedback
  2. FHIR-35801

fhirContext should be a dictionary, not an array

    XMLWordPrintableJSON

Details

    • Icon: Change Request Change Request
    • Resolution: Persuasive with Modification
    • Icon: Medium Medium
    • SMART on FHIR (FHIR)
    • current
    • FHIR Infrastructure
    • App Launch: Scopes and Launch Context
    • Hide

      As a technical correction to SMARTv2: Redefine fhirContext to be an array of TypedReferences, each with a role and reference.

      {   "access_token": ...,   "fhirContext": [\{"role": "$roleUri", "reference": "Location/123"}

      ]
      }

      • roles are arbitrary URIs. We may provide a value set of these in some future release.
      • relative role URIs are reserved for definition by SMART App Launch
      • SMART App Launch may define more granular role URIs including relative URIs or absolute URIs in the hl7.org namespace
      • The "role" property is OPTIONAL; it MAY be omitted and SHALL NOT be the empty string. The absence of a role property is semantically equivalent to a role of "launch", and they indicate to a client that the app launch was performed in the context of the referenced resource. More granular role URIs can be used in use-case-specific ways
      • Note that role need not be unique; multiple references may have the same role
      Show
      As a technical correction to SMARTv2: Redefine fhirContext to be an  array of TypedReferences , each with a role and reference. {   "access_token": ...,   "fhirContext": [\{"role": "$roleUri", "reference": "Location/123"} ] } roles are arbitrary URIs. We may provide a value set of these in some future release. relative role URIs are reserved for definition by SMART App Launch SMART App Launch may define more granular role URIs including relative URIs or absolute URIs in the hl7.org namespace The "role" property is OPTIONAL; it MAY be omitted and SHALL NOT be the empty string. The absence of a role property is semantically equivalent to a role of "launch", and they indicate to a client that the app launch was performed in the context of the referenced resource. More granular role URIs can be used in use-case-specific ways Note that role need not be unique; multiple references may have the same role
    • Vassil Peytchev / Bas van den Heuvel: 12-1-3
    • Enhancement
    • Non-compatible

    Description

      fhirContext is defined as array.  It should be a dictionary.

       

      For example, there may be several different Location resources in context:

      1. The patient's encounter department
      2. The patient's current assigned bed
      3. The patient's current location (via a real-time tracking tag, e.g. in the cafeteria)
      4. The user's login department

       

      If you just provide a list of Locations in fhirContext, the client app has no way of determining which location is which, other than trying to guess based information in the actual resources.

       

      A dictionary would let you discretely descirbe what the meaning of each provided resource reference is.  For example:

       

      user_login_department: Location/123

      patient_encounter_department: Location/4546

      patient_bad: Location/3463

      patient_current_location: Location/43636

       

       

      Attachments

        Activity

          People

            jmandel Josh Mandel
            cooper.thompson Cooper Thompson
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: