Pan-Canadian eReferral-eConsult (CA:eReC)
DFT - The specification is currently in development and subject to change. For a full list of available versions, see the Directory of published versions
The following business rules highlight some key business processes in this implementation guide. More technical details on some of these items and others can be found in the Messaging as well as throughout the Resource Profiles
This guide utilizes Use Case Actors and Technical Actors to describe how electronic referrals and consults are transacted between parties. Real-world systems like and EMR, HIS, or Referral Management Systems may be grouped under actor roles such as Requester, Source System, Target System, and/or Performer based on their current configuration.
If further business rules responsibilities are identified that are applicable under the context of the real-world system (e.g., applicable solely to referral management systems) these will be called out in the guide.
There are additional types of systems, that are not currently defined actors, that may be involved in eReferral and eConsult workflows (e.g., 3rd Party Systems).
While this document focuses on the interaction between Source Systems, Target Systems and POS systems, other 3rd party systems (such as patient portal or data registries) may interact with the eReferral workflow in this implementation guide as well. Some potential interactions could include:
The 3rd party system would have to be registered with the Source System or Target System, with appropriate scopes, authorization and authentication mechanisms in place to ensure that appropriate systems can access the API or receive messages with appropriate controls.
More details about actors can be found on the Messaging page.
One characteristic that implementers often find unintuitive about FHIR is that the same data is often duplicated/repeated among multiple resources, rather than be normalized. For example, the Patient is referenced from ServiceRequest and Task and Appointment resources, which may all be included in the same bundle. This is because FHIR is designed as a data exchange format and not a data storage format. When designing exchange formats, you almost always end up choosing robustness and stability (i.e., redundant data) over efficiency.
When there are redundant fields that represent duplicate/repetitive data, it is expected that the data would be the same. This specification does not specify where priority is when redundant data fields differ, it is recommended to reject the payload in its entirety. Some examples where data is expected to match include (but are not limited to):
The initial focus of this implementation guide is on the workflow of eReferral, rather than clinical data associated with eReferrals (e.g., Medication/ Allergies, Observation resources). Clinical resources are planned to be profiled in future releases of the eReferral implementation guide. In the interim, if there is a need for implementers to profile specific clinical resources the expectation is that they collaborate with the FHIR Implementers community and contribute the profiles to this implementation guide for broad use.
In the meantime, there are four options for handling data elements that are not mapped to an existing or newly developed profile:
Additional information about attaching supporting information to FHIR payloads can be found on the L1: Attaching Supporting Information page.
If a project requires net new resources, it should confirm with the governance body that these cannot be supported within the existing pan-Canadian eReferral-eConsult iGuide and then develop additional profile(s) to supplement this implementation guide. They should work with the governance body to add the new requirements into the pan-Canadian eReferral-eConsult iGuide if there is a general applicability to the eReferral ecosystem.
The "source of truth" is dependent on the implementation scenario. For example when a referral is created, the 'source of truth' would be the Source system whereas in a scenario where an appointment is booked the 'source of truth' would be the Target system. For more specific source of truth information in Point to Point models, please refer to the Point to Point model page.
The Referral Management System is intended to support exchange of data between the source and the target. It’s a bidirectional flow of data from one system to the other. This does not refer to which health information custodian or an agent acting on behalf of the health information custodian has the (most) accurate information.
Any correction and updates to the original referral would be submitted as an update to that referral and the original referral will not be altered or over-written in any way.
Determining the single "Source of Truth" regarding a referral and its status is not straightforward. Consider the following:
Source Systems must be trusted by Target System to receive referral updates from the Target System.
For a Source System to receive an update about referral it has submitted to a Target System, the Source System must be pre-authorized and authenticated via some type of trust mechanism with the Target System.
Future versions of this guide may expand the guidance on authorization/authentication further.
In the rare cases when a patient no longer wishes to be referred and removes previously granted consent for the referral to be transmitted or viewed by the target user, the status of the referral reflects that it is revoked. Revoke can be initiated from the Source System.
This implementation guide does not currently include a mechanism/requirements for exchanging consent resources. It is the responsibility of the Source Systems and Target Systems to manage their consents appropriately until/unless further requirements for conveying consent information are defined.
This implementation guide does not currently include a mechanism for deep provenance handling. It is the responsibility of the Source Systems and Target Systems to manage their related provenance appropriately until/unless further requirements for conveying provenance information are defined.
From the perspective of a Requester, the status of a ServiceRequest is tracked using ServiceRequest.status element. It's the responsibility of the Source System (requester) to change the status of a ServiceRequest as deemed appropriate. For example, the Target System could inform the Source System via a Task that the referral has been completed and the Source System would change the ServiceRequest.status to 'completed'.
Status updates by the Source System are communicated to the Target System using ServiceRequest Bundle Events.
To track the overall status of the ServiceRequest processing, the Source System uses the process-request Task.status (draft | requested | received | accepted | etc.). Referral targets may also have their own custom statuses as defined by their internal process flow (e.g., waiting for manager approval), which can be communicated via Task.businessStatus.text, or use one of the common values in the extensible codeset published with this implementation guide.
Updates by the Target System are communicated to the Source System using the Task Bundle Events.
For referral processes that generate more referrals (e.g., central intake, assessment centres, service navigation, etc.), the new "child" referrals will have a connected "parent" referral.
In these cases, multiple messages will often be needed to:
To avoid unnecessary complexity when exchanging eReferrals and related information using eReC Messaging, a few design constraints exist or are proposed:
.replaces
element..basedOn
element.MessageHeader.focus
element in FHIR messages SHALL contain references to the ServiceRequest(s), Task, Appointment or Communication that was added or changed as a result of the business event that triggered the message.
MessageHeader.focus
and .basedOn
the appropriate child ServiceRequest.Related Content:
Sometimes the person who authorizes a referral can be different from the person who submits it (e.g., a hospital physician authorizes a referral that is submitted by a discharge planner). In this scenario: the referral authorizer is captured by ServiceRequest.requester, and may also be mapped onto MessageHeader.author when submitting the referral. The referral submitter is captured by MessageHeader.sender, which upon message receipt is then mapped by the receiving system onto Task.requester.
For subsequent messages in the referral lifecycle (e.g., adding an appointment, updating the status, etc..), the MessageHeader.author will continue to be used to indicate the authorizer, and MessageHeader.sender will indicate who sent it.
In the case where authorizer and submitter are the same, only MessageHeader.author is needed (MessageHeader.sender can be omitted).
Some Jurisdictions have specific guidance/product business rules that require the use of the ServiceRequestDelegate extension in certain workflows.
To explicitly indicate a patient self-referral, set the ServiceRequest.requester to be the same as the ServiceRequest.subject.
Every referral must specify a target service via ServiceRequest.performer, pointing to either a HealthcareService1 or PractitionerRole. This is typically shared as a reference to an externally hosted URL, which uniquely identifies this service. The meaning of this URL should be known by the Target System, as a service that it can process an eReferral for.
In addition, ServiceRequest.code can be used to further define a specific procedure under a service. For example:
A service directory would also be required to specify what codes are available for a given HealthcareService1 or PractitionerRole.
More details can be found under Use of HealthcareService vs PractitionerRole in eReC Messages.
Guidance related to managing eConsult Business Events has been moved to an independent page to assist with easier navigation of content that is specific to use case(s) that not some implementers may not incorporate into their workflows. Implementers participating in eConsult Use Cases should refer to eConsult Business Events for more details on eConsult business context and rules.
1Note: The Ontario eServices v0.12.1 Guide describes a variety of business rules that apply to implementers of HealthcareService within a Service Directory. The current version of this guide focuses on the exchange of the referral payload through the Messaging. Future releases may expand the guidance related to hosting and calling endpoints for HealthcareService information (either as a section in this guide or through a separate guide). In the meantime, implementers in need of further guidance on the HealthcareService characteristics and design practices should refer to the HealthcareService Directories Section under the Business Rules page of the Ontario eServices v0.12.1 Guide.