FHIRUserLookup Profile

The profile walks you through a scenario when a Patient accesses a Payer's Member Portal to view his or her medical details (conducted observations, upcoming encounters, and so on) using his/her credentials to log in. This profile accepts the login value and returns FHIR ID and a list of FHIR resources that are used to display the Patient’s records. The login mapping is implemented using a crosswalk file (crosswalk_fhir_security.crsw) that comes with XES Module for FHIR installation and is located at {ECRootPath}\repository\User\Crosswalks\XESModuleForFHIR\FHIR-Security. For more information on crosswalks, see Crosswalk Overview.

The profile's single route has the following flow:

  • The route receives an HTTP POST with the Patient's login in the request body.
  • The route extracts the Patient's login from the JSON body.
  • The route performs a crosswalk lookup using the Patient's login as a key. The Crosswalk Lookup component returns the Patient's FHIR ID and a list of FHIR resources that should be exposed to the Patient (encounters, observations, allergies, and so on).
  • If the lookup is successful, the route builds a string with FHIR resources, such as "Encounters", "Observations", "Allergies".
  • Then, the route injects the FHIR ID and FHIR resources into a Velocity template to form a JSON like the following:

    {

    "fhirId": "470",

    "resources": [

    "Encounter", "MedicationStatement"

    ]

    }


  • Finally, the route returns the HTTP response with the JSON body to the Patient.