eReferral Implementation Guide
0.1.0 - ci-build
eReferral Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
The primary purpose of the LK eReferral (Electronic Referral) Implementation Guide is to specify the interfaces used to step through the eReferral workflows.
There are three actors: Requester, Performer and Intermediary.
The Requester initiates the referral request, may book an appointment, is notified of changes and receives notification when the referral activities are completed.
The Performer reviews the request and accepts (or rejects), may book an appointment, fulfills the request and triggers the completed event marking the end of the workflow.
The Intermediary orchestrates the workflows and also interacts with the FHIR repository.
These actors work together to step through referral workflows. The FHIR repository is the central data store that keeps all versions of the Resource instances as they change through the workflow.
Consideration 🔎 The Intermediary functions may be allocated to the Requester and Performer. For example the Requester may create a referral and submit to the FHIR repository, and then send a notification message directly to the Performer. This architecture requires each Requester system be capable of sending messages to every Performer system. This is not desirable as it will be time consuming and troublesome to maintain. Using an Intermediary requires only that the Intermediary system be able to connect and send messages to other Requester or Performer systems.
The referral process can be considered a series of Events which trigger complementary FHIR Messages. Events to submit a referral, events to accept a referral and so on, complete, cancel, etc.
For the Sri Lanka eReferral system Communication (and CommunicationRequest) and EndPoints are out of scope at this time.
The referral process data model will be represented by FHIR Resources as follows and shown in the diagram below.
This diagram also matches the Facility FHIR Resource structure — the relationships between HealthcareService, Organization and Location remain the same.
FHIR Messages are composed of a Bundle of type message with the first entry being a MessageHeader. All the standard rules for [FHIR Messages}(https://hl7.org/fhir/R4/messaging.html) apply.
Three Bundle profiles are used: one to create or update the referral request LKReferralCreateOrUpdate, another to send notifications LKReferralNotify and lastly one for simple acknowlegment of messages recieved LKReferralAck echoing back resources as they are stored.
The LKReferralAck profile is not constrained beyon a header and OperationOutcome. Actor systems SHOULD populate the acknowledgment Bundle if any referral Resources have changed, this includes changes such as assigning an id to a newly created Resource.
Notifications (LKReferralNotify) SHALL always contain the most recent versions of the referral Resources.
| Event | Impact | Bundle Profile (Message Definition) | Response Event | Response Bundle Profile | Comments | Message Header Focus |
|---|---|---|---|---|---|---|
| create-referral | consequence | LKReferralCreateOrUpdate (CreateReferralDefinition) | acknowledge | LKReferralAck | This message requests the Performer to accept the referral and begin processes to complete. This may include an Appointment. The Task can be submitted by the Requester or created by the Intermediary. | ServiceRequest |
| accept-referral | notification | LKReferralNotify (AcceptReferralDefinition) | acknowledge | LKReferralAck | This message informs the Requester that the request has been accepted by the Performer. | Task and may be Appointment |
| update-referral | consequence | LKReferralCreateOrUpdate (UpdateReferralDefinition) | acknowledge | LKReferralAck | This message informs the Performer or Requester that updates have been made to the request. | ServiceRequest or Appointment or Task |
| reject-referral | notification | LKReferralNotify (RejectReferralDefinition) | acknowledge | LKReferralAck | This message is sent back to the Requester if the Performer refuses the initial referral request. | Task |
| complete-referral | notification | LKReferralNotify (CompleteReferralDefinition) | acknowledge | LKReferralAck | This message is sent when the Performer has completed and should contain information (i.e. FHIR Resources) regarding the outcomes of the appointment. | Task and ServiceRequest |
| cancel-referral | consequence | LKReferralNotify (CancelReferralDefinition) | acknowledge | LKReferralAck | This message is sent when the Requester or Performer is canceling the request. | Task and ServiceRequest |
This section discusses some future enhancements to Electronic Referrals that have not be specified, but should be considered.
The Requester may be represented by a PractitionerRole or an Organziation. The referral workflows described in this guide require that the Requester be able to recieve FHIR Messages. A ServiceRequest will identify the requester as a Reference to a PractitionerRole or Organization. To automate end point discovery the PractitionerRole and Organization should have the endpoint element populated as part of the Requester registration process.
Each Performer must have an end point that receives FHIR Messages and acts to respond in some manner, depending on the state of the referral.
A self-service Performer Registration process is ideal and is closely related to the Facility Registry interaction to create a Facility. This process does not have to be self service, an initial implementation may only include registration via other means where the Intermediary administrators configure the eReferral Resources.
An example workflow follows:
//Step 1// A Performer submits information regarding the types of Services it offers, where they are offered and who fulfills the Services. This step closely matches the step to create a Facility and Providers in their respective Registries. E.g. The HealthcareService, the Location, the Organization and PractitionerRoles are created (or existing Resources found) and associations made. These FHIR Resources should be created or updated in the Facility or Provider Registry. Security, governance and roles are not discussed here, but should follow workflows to create Providers and Facilities.
//Step 2// Create EndPoint FHIR Resource that contains information regarding where and how to send all referral Messages. Then reference the EndPoint from at least one of HealthcareService, PractitionerRole or Location.
Now the Facility and Provider Registries have Services, Locations and PractitionerRoles that define where to send referral requests. The Intermediary only has to query the Registries for the Resource and retrieve the EndPoint.
FHIR defines a Subscription framework that is able to notify an actor when events occur. This is ideally a self registration as the actor subscribes to a topic and receives notifications that the event has occurred. The notifications may contain all the Resources associated with the referral (pushed to the actor) or just FHIR References (the actor must pull the Resource instance from the Repository). As the FHIR Message model described in this guide offers equivalent functionality to notify and deliver FHIR Resources, the Subscription option has not be pursued. The Subscription framework is ideal for self registration and management of notifications which alleviates some administrative burden on the Intermediary, which is a distinct advantage over FHIR Messages.
A Electronic Referral System would benefit from a directory of referral Services, that is, the ability to search for referral Performers by Service. This is equivalent to searching the Facility Registry for Facilities that offer a particular Service and is currently accepting referrals.