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
Transmission of information between two systems using FHIR messaging involves the exchange of a message payload that consists of several parts:
A Message Bundle: A Bundle Resource ("type"
: "message"
) is used to package together a collection of FHIR Resource instances that will be sent from one system to another. The Bundle SHALL have an entry
for each of the FHIR Resources required to convey information about the business event, starting with the MessageHeader which SHALL always be first.
A Message Header: A MessageHeader Resource with eventCoding identifying the trigger event and other message related metadata including an id
, source.endpoint
, destination.endpoint
and reason
is used to convey the purpose of the message and to support message routing.
The Focus of the Message: MessageHeader.focus SHALL point to the ServiceRequest, Task, Appointment or Communication Resource that is being acted upon.
The Event (MessageHeader.event
) and Focus of the Message (MessageHeader.focus
) determines the content and structure of the Bundle of information (FHIR Resources) exchanged between the eReC Source and the eReC Target.
As illustrated below, a message event that focuses on a ServiceRequest will include a Bundle of resoruces that, minimally, SHALL include:
MessageHeader.focus
ServiceRequest.subject
)MessageHeader.author
and ServiceRequest.requester
where each SHALL reference an Organization, Location, and/or PractitionerPractitionerRole
or HealthcareService
resource referenced in ServiceRequest.performer
ServiceRequest.supportingInfo
where needed (see below)
Message Bundles corresponding to different Focus resources are specified on the following pages:
The requirements summarized above are formally specified as constraints within Resource Profiles published in this IG. Implementers are strongly encouraged to become familiar with these formal specifications and to rely on them as the source of truth.
Messages with multiple resources in MessageHeader.focus will have additional requirements that are not represented in the requirements above.
A Point of Care system that participates in eReferral-eConsult workflows only in the role of Target System or Recipient System may lack the ability to store all information received in a ServiceRequest
in a structured format. To support transmission of status updates, appointments and communications from these systems, implementers MAY choose to:
ServiceRequest.identifier
(use
= official, system
and value
) received from the Source System, andServiceRequest.identifier
received to generate conformant MessageBundle - Task (CA:eReC), MessageBundle - Appointment (CA:eReC) and MessageBundle - Communication (CA:eReC) without including the ServiceRequest
and other resources referenced in the FHIR payload.To support this, the eReC Messaging requires that:
the eReC Requester and eReC Informer actors SHALL always send all Resources referenced within the message as Bundle
entries when sending any of the following transactions:
Send new service request [eReCm-1]
Notify update service request [eReCm-3]
Revoke service request [eReCm-5]
Notify new service record [eReCm-2]
Notify update service record [eReCm-11]
an eReC Performer sending messages:
MessageHeader.focus
in the message as a Bundle.entry
so it can be created or updated in the eReC Requester systemServiceRequest
using only a reference.identifier
as long as the use
, system
and value
elements are appropriately populated with the official ServiceRequest.identifier
receivedBundle.entry
As described in the Use Cases, a first step in the referral workflows is for a Requester HCP to search for and select an appropriate service and/or service provider to send the referral to from a Care Service Directory. This will result in either:
HealthcareService
), orPractitionerRole
).When transmitting the referral using eReC Messaging, the eReC Requester SHALL include the HealthcareService
or PractionerRole
in the FHIR payload as a ServiceRequest.performer
. Refer to MessageBundle - ServiceRequest (CA:eReC) for additional rules.
After receiving a message, an eReC Performer on the Target System (or Central System) will create a Task
(process-request) to track the status of the eReferral. Refer to MessageBundle - Task (CA:eReC) for additional rules.