This page is part of the Specialty Medication Enrollment (v0.1.0: STU1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions
Pharmacies and other stakeholders (referred to as “requester” below) sometimes need information that isn’t available through systematic querying of the prescriber’s EHR (using the RESTful searches or Specialty Rx Query messages as described in the Systematic Query Workflows section).
For example, the requester may need to:
This implementation guide describes a method to support these situations by enabling the prescriber or staff to provide information through a SMART application launched from the EHR–prompted by a request from the pharmacy or other requester.
A requester may host a SMART application that the prescriber or staff can launch from the EHR to view and respond to questions. Below is a scenario illustrating this approach for (a) communicating the need for information to the EHR and (b) enabling an EHR user to launch the application and complete the task.
ready
. The EHR returns a 201 CREATED
response.for
element of the Task resourceTask.identifier
value in the appContext
launch parameter… which the SMART app uses to pull up the right patient/medication questionsstatus
to in-progress
status
to monitor its progress. E.g., GET [base]/Task/1135804
completed
. The EHR updates the status and returns a 200 OK
response
Note: If an event occurs within the Data Source system that prevents the Task from being performed, it SHOULD indicate that the request will not completed by updating Task.status to failed
and, optionally, indicating why in Task.statusReason
.
The Task resource contains the following information needed to reference related information in the EHR and launch the SMART application:
Task.identifier
- This is a unique identifier representing the context of this task within the SMART application (e.g., the specific set of questions that need to be answered). It is to be conveyed during launch of the referenced SMART application in the appContext
parameter and used by that application to direct the user to information and functions necessary to complete this task
Task.code
- A code that characterizes the requested user action
complete-app-questionnaire
(display
: “Complete Questionnaire in SMART App”)Task.description
- Human-readable description of the task to be performed by the user. This description SHALL include the user-recognizable name of the SMART application to launch to perform the task, and SHALL state the action to be performed in the app once it’s been launched.
Task.for
- A reference to the patient
Task.requester
- The organization submitting the Task
Task.owner
- The prescriber
Task.reasonReference
- The prescription to which the task pertains. A human-readable description is included in Task.display
, and specific identification is conveyed through either…
Task.reasonReference.reference
- A reference to a MedicationRequest resource, orTask.reasonReference.identifier
- The prescription identifier set by the prescribing system. (Referred to as the Placer Order Number in HL7 v2 and Prescriber Order Number in NCPDP SCRIPT)Task.input
- The location of the SMART app to be launched. Task.input.type
contains the code, smart-app-launch
and Task.input.valueUrl
contains the actual endpoint URL to launch the SMART app.See this example of a populated Task.
The appContext
parameter is sent to the SMART app as part of the OAuth 2.0 access token response, alongside other SMART launch parameters when the SMART app is launched. The appContext
contains the value received in the Task.identifier
value.
Example:
"appContext": "05d06540dd00d"
SMART App Launch Implementation Guide
A requester may potentially partner with an intermediary or other party to host the SMART application and perform the above process on its behalf.