Current Context

From Hiasobi - FHIR
Jump to: navigation, search

Current application context can be queried using well known Observation resource identifiers.

Current PractitionerRole Identifier

Will return a resource <id> valueString value when a user is currently logged into the clinical system.

This can be used to obtain practitioner role details via <fhir-host>/PractitionerRole/<id>

Note: FHIR STU3 service now had globally (rather than locally) unique identifiers

Read

GET <fhir-host>/Observation/CTX-PRACTITIONERROLE

for JSON format add ?_format=json

Example

<Observation xmlns="http://hl7.org/fhir">
    <id value="CTX-PRACTITIONERROLE" />
    <meta>
        <lastUpdated value="2017-12-07T14:54:42.49+11:00" />
    </meta>
    <text>
        <status value="generated" />
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p> Context: PRACTITIONERROLE - CEBD70498A0C2465B2808432371E6571.1-1</p>
        </div>
    </text>
    <status value="final" />
    <code>
        <coding>
            <system value="http://oridashi.com.au/system/code/context" />
            <code value="PRACTITIONERROLE" />
            <display value="Provider Context" />
        </coding>
    </code>
    <effectiveDateTime value="2017-12-07T14:54:42.4906904+11:00" />
    <valueString value="CEBD70498A0C2465B2808432371E6571.1-1" />
</Observation>

Direct DLL Call

When hosing your own FHIR service using the FHIR-SERVER.dll you may call the library interface directly to obtain logged in practitioner role context:

 Oridashi.Fhir.Host.FhirHost host = new Oridashi.Fhir.Host.FhirHost();

 // start-up the host 

 Oridashi.Fhir.Host.Dstu3.FhirServer server = host.AutoHost;

 string practitionerId = server.ContextPractitionerRole;

Current Provider Identifier

Will return a resource <id> valueString value when a user is currently logged into the clinical system.

This can be used to obtain practitioner details via <fhir-host>/Practitioner/<id>

Note: FHIR STU3 service now had globally (rather than locally) unique identifiers

Read

GET <fhir-host>/Observation/CTX-PROVIDER

Example

<Observation xmlns="http://hl7.org/fhir">
    <id value="CTX-PROVIDER" />
    <meta>
        <lastUpdated value="2017-12-07T14:54:42.49+11:00" />
    </meta>
    <text>
        <status value="generated" />
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p> Context: PROVIDER - CEBD70498A0C2465B2808432371E6571.1</p>
        </div>
    </text>
    <status value="final" />
    <code>
        <coding>
            <system value="http://oridashi.com.au/system/code/context" />
            <code value="PROVIDER" />
            <display value="Provider Context" />
        </coding>
    </code>
    <effectiveDateTime value="2017-12-07T14:54:42.4906904+11:00" />
    <valueString value="CEBD70498A0C2465B2808432371E6571.1" />
</Observation>

Direct DLL Call

When hosing your own FHIR service using the FHIR-SERVER.dll you may call the library interface directly to obtain logged in practitioner context:

 Oridashi.Fhir.Host.FhirHost host = new Oridashi.Fhir.Host.FhirHost();

 // start-up the host 

 Oridashi.Fhir.Host.Dstu3.FhirServer server = host.AutoHost;

 string practitionerId = server.ContextPractitioner;

Current Patient Identifier

Will return a resource <id> valueString value when a user is currently logged into the clinical system and a patient record is open and in focus. NOTE: mulitple patients can be open in the clinical system at one time this call indicates the patient record that in the active (current focus) window on screen.

This can be used to obtain current patient details via <fhir-host>/Patient/<id>

Note: FHIR STU3 service now had globally (rather than locally) unique identifiers

Read

GET <fhir-host>/Observation/CTX-PATIENT

for JSON format add ?_format=json

Example

<Observation xmlns="http://hl7.org/fhir">
    <id value="CTX-PATIENT" />
    <meta>
        <lastUpdated value="2017-12-07T14:55:05.463+11:00" />
    </meta>
    <text>
        <status value="generated" />
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p> Context: PATIENT - CEBD70498A0C2465B2808432371E6571.5</p>
        </div>
    </text>
    <status value="final" />
    <code>
        <coding>
            <system value="http://oridashi.com.au/system/code/context" />
            <code value="PATIENT" />
            <display value="Patient Context" />
        </coding>
    </code>
    <effectiveDateTime value="2017-12-07T14:55:05.4636076+11:00" />
    <valueString value="CEBD70498A0C2465B2808432371E6571.5" />
</Observation>

Direct DLL Call

When hosing your own FHIR service using the FHIR-SERVER.dll you may call the library interface directly to obtain active/in focus patient context:

 Oridashi.Fhir.Host.FhirHost host = new Oridashi.Fhir.Host.FhirHost();

 // start-up the host 

 Oridashi.Fhir.Host.Dstu3.FhirServer server = host.AutoHost;

  string patientId = server.ContextPatient;

Current Organisation Identifier

Will return a resource <id> valueString value if a user is currently logged into the clinical system.

This can be used to obtain organization/clinic details via <fhir-host>/Organization/<id>

Note: FHIR STU3 service now had globally (rather than locally) unique identifiers

Read

GET <fhir-host>/Observation/CTX-ORGANISATION

Example

<Observation xmlns="http://hl7.org/fhir">
    <id value="CTX-ORGANISATION" />
    <meta>
        <lastUpdated value="2017-12-07T14:56:07.318+11:00" />
    </meta>
    <text>
        <status value="generated" />
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p> Context: ORGANISATION - CEBD70498A0C2465B2808432371E6571.1</p>
        </div>
    </text>
    <status value="final" />
    <code>
        <coding>
            <system value="http://oridashi.com.au/system/code/context" />
            <code value="ORGANISATION" />
            <display value="Organisation Context" />
        </coding>
    </code>
    <effectiveDateTime value="2017-12-07T14:56:07.3189622+11:00" />
    <valueString value="CEBD70498A0C2465B2808432371E6571.1" />
</Observation>

Direct DLL Call

When hosing your own FHIR service using the FHIR-SERVER.dll you may call the library interface directly to obtain current organization/clinic context:

   Oridashi.Fhir.Host.FhirHost host = new Oridashi.Fhir.Host.FhirHost();

   // start-up the host 

   Oridashi.Fhir.Host.Dstu3.FhirServer server = host.AutoHost;

   string organizationId = server.ContextOrganization;

Current Application Context

Will return a valueString value if a user is currently logged into the clinical system, represents the currently active view on screen.

Read

GET <fhir-host>/Observation/CTX-APPLICATION

Example

<Observation xmlns="http://hl7.org/fhir">
    <id value="CTX-APPLICATION" />
    <meta>
        <lastUpdated value="2017-12-07T14:57:04.685+11:00" />
    </meta>
    <text>
        <status value="generated" />
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p> Context: APPLICATION - MEDICATION.LIST</p>
        </div>
    </text>
    <status value="final" />
    <code>
        <coding>
            <system value="http://oridashi.com.au/system/code/context" />
            <code value="APPLICATION" />
            <display value="Application Context" />
        </coding>
    </code>
    <effectiveDateTime value="2017-12-07T14:57:04.6857468+11:00" />
    <valueString value="MEDICATION.LIST" />
</Observation>

Value Set

  • MEDICATION.LIST - current medications list
  • MEDICALHISTORY.LIST - past medical history list
  • IMMUNISATION.LIST - immunisations list
  • INVESTIGATION.LIST - investigations list
  • OTHER.LIST - unspecified list
  • PRESCRIBING - prescribing medications entry
  • MEDICALHISTORY.ENTRY - condition/procedure entry
  • PATHOLOGY.ORDER - ordering pathology entry
  • IMAGING.ORDER - ordering imaging entry
  • 'LOGIN - login prompt
  • UNKNOWN - another window unclassified (app is running)