FHIR Artifacts > FHIR Artifacts

FHIR Artifacts

This implementation guide defines conformance criteria, capability statements, message definitions, structure definitions, extensions, value sets and code systems that a system participating in an eReferral/eConsult integration may perform.

Behaviour: Capability Statements

Systems conforming to this implementation guide are expected to declare conformance to one or more of the following capability statements.

Capability Statement Description Artifact
(JSON)
RMSSource A software application that participates in Direct Messaging as an RMS Source JSON
RMSTarget A software application that participates in Direct Messaging as an RMS Target JSON
SMARTApp A software application (typically an RMS) that can be launched in context from a SMART Server in a SMART Integration JSON
SMARTServer A software application that can launch a SMART Client in context in a SMART Integration JSON
RESTfulClient A software application acting as a client system that performs RESTful Operations JSON
RESTfulServer A software application acting as a server system that performs RESTful Operations JSON

Note that a single software application can and often will have all of the capabilities above.

Behaviour: Message Definitions

MessageDefinitions are referended within CapabilityStatements within this IG to define the conformance requirements for different systems.

Note: Links to MessageDefinitions are currently provided on pages with an overview of the bundle.

Event Payload Source Description Example Instance
(JSON)
add-service-request ServiceRequest Bundle RMS Source Request that a new ServiceRequest be performed on the RMS Target Bundle: add-servicerequest

Bundle-add-servicerequest-eConsult
revoke-service-request ServiceRequest Bundle RMS Source Request that a ServiceRequest be terminated and all information related to that ServiceRequest on the RMS Source be removed. Bundle: terminate-servicerequest
notify-add-service-request ServiceRequest Bundle RMS Source Notify systems other than the RMS Target that a new ServiceRequest has been created Bundle: notify-add-servicerequest

Bundle-notify-add-service-request-eConsult
notify-update-service-request ServiceRequest Bundle RMS Source Notify systems that a ServiceRequest or its status has been updated Bundle: notify-update-servicerequest
notify-data-correction ServiceRequest Bundle RMS Target Notify systems that the RMS Target has corrected information in a ServiceRequest or related resource Bundle: notify-data-correction
notify-add-process-request Task Bundle RMS Target Notify systems that a Process Request Task has been created to perform a ServiceRequest Bundle: notify-add-process-request

Bundle-notify-add-process-request-eConsult
notify-update-process-request Task Bundle RMS Target Notify systems that a Process Request Task, its status or related information has changed Bundle: notify-update-process-request
notify-add-appointment Appointment Bundle RMS Target Notify systems that an appointment has been created in response to a ServiceRequest Bundle: notify-add-appointment
send-communication-from-requester Communication Bundle RMS Source Send a question or additional information (Communication) about a ServiceRequest Bundle: add-communication
send-communication-from-provider Communication Bundle RMS Target Send a question or additional information (Communication) about a ServiceRequest Bundle: add-communication

The diagram below depicts the above mentioned message event codes:

StateMachineArtifacts

The eReferral Analytics Repository related events can be found here - Repository Events

Structures: Resource Profiles

These define constraints on FHIR resources used within messages and/or RESTful interactions defined in this implementation guide.

Resource Type Description Usage1 Example Instance (JSON)
AllergyIntolerance Profile Allergy information Supporting Information JSON
Appointment Profile The Appointment is used to provide information about a planned meeting that may be in the future/past In Focus Appointment: Phone assessment for home care services
Bundle Profile* Used to exchange a series of Resources (entries) to another system in FHIR Messaging. Messaging Support Bundle: add-servicerequest
Communication Profile Communications (questions or information) may be exchanged between the RMS Source and RMS Target. In Focus Communication: Service completion message
Condition Profile Diagnosis information Supporting Information Condition: Chronic Progressive Paraparesis
Consent Profile Any consent information collected at source Supporting Information Consent example
DocumentReference Profile* Any additional PDF forms/documents that have to be included as documents. Supporting Information DocumentReference example
FamilyMemberHistory Profile This resource records significant health conditions for a particular individual related to the subject. This information can be known to different levels of accuracy. Sometimes the exact condition ('asthma') is known, and sometimes it is less precise ('some sort of cancer'). Equally, sometimes the person can be identified ('my aunt Agatha') and sometimes all that is known is that the person was an uncle. Supporting Information Family history for father of Daisy Smith
HealthcareService Profile The HealthcareService resource is used to describe a healthcare service provided by an organization at a location. Supporting Information HealthcareService Example
Location Profile* Location includes both incidental locations (a place which is used for healthcare without prior designation or authorization) and dedicated, formally appointed locations. Entities Location: Yonge Street Medical Office
MedicationStatement Profile A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. Supporting Information Medication statement for Donald Duck
MessageHeader Profile The first entry in the Bundle is used to specify the trigger event, the focus of the message and provides information for message routing. Messaging Support MessageHeader: add-servicerequest
OperationOutcome Profile* Used to communicate error, warning and information messages that provide detailed information about the outcome of an attempted system operation. Messaging Support OperationOutcome example
Organization Profile* Identifies the recipient healthcare provider organization (PractitionerRole.organization) in the MessageHeader. Can also appear in other PractitionerRole.organization references. Entities Organization: Primary Care Medical Clinics
Patient Profile* The subject of the referral request Entities Patient: Jane Doe
Practitioner Profile* Provides the requester or service provider identity (PractitionerRole.practitioner). Also, in case the author is not the requester the author reference in the MessageHeader may refer to a second Practitioner resource. Entities Practitioner: Dr Jack Jones
PractitionerRole Profile* Defines the requester or targeted service provider. Should reference one Practitioner or one Organization resource. Also referenced in other resources. Entities PractitionerRole: Dr Jack Jones
Procedure Profile An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy. Supporting Information Assessment of passive range of motion
Questionnaire Profile A list of Questions and Answer options that complement a QuestionnaireResponse, and a ServiceRequest order Supporting Information JSON
QuestionnaireResponse Profile A list of nested Questions and Answers items that complement the Service Request order details Supporting Information QuestionnaireResponse example
ServiceRequest Profile* The eReferral Request (ServiceRequest) itself is the focus of most messages being sent from a RMS Source to RMS Target. In Focus ServiceRequest: Home care services
Task Profile A Task is used to track work done In Focus Task: Process Request
*STABILITY RISK: These FHIR profiles are undergoing Ontario Health harmonization and may be adjusted as part of this process.

1Each FHIR Profile listed here plays a unique role in the exchange of information:

  • Messaging Support - FHIR Messaging uses bundles of Resources with MessageHeaders to exchange information between systems.
  • In Focus Resources - The focus of a message varies between events and reflects the key Resource being acted upon. These resources will contain references to other Resources representing the entities (people and organizations) participating in the request as well as supporting information.
  • Entities - Resources representing the entities (people and organizations) participating in the request.
  • Supporting Information - Resources used to provide supporting information for the request.

Structures: Extensions

These define extensions to FHIR resources created for use within the Resource Profiles defined in this guide.

Extension Description Related Profile(s) & Value Set(s)
AccessInstructions The extension describes how a person gets started with this HealthcareService HealthcareService: HealthcareService.extension
Communication Barrier The extension is required to identify if the patient speaks/understands an offical language (english/french), or if she/he does not an interpretor is required. Patient: Patient.communication.extension
Value Set: CommunicationBarrier
CopiedParticipants The extension is used to copy updates to the ServiceRequest in cases of forwarding referrals. ServiceRequest: ServiceRequest.extension
Value Set: ResourceType
DARC The extension is required to identify the dates affecting a patient's readiness to consult. ServiceRequest: ServiceRequest.extension
DART The extension is required to identify the dates affecting a patient's readiness to treat. ServiceRequest: ServiceRequest.extension
DeliveryMethod The extension describe how the service is delivered to the client. Usually there is only one deliveryMethod, but in some case there are multiple (e.g., On “site” counseling with a “video-call” option.) HealthcareService: HealthcareService.extension
Facet This extension is used to identify the taxonomy facet. HealthcareService: type.extension
Value Set: Facet
HCNVersionCode An assigned sequence code, uniquely identifying a Health Card issued (or potentially issued) to a Registered Person Patient: Patient.identifier.extension
IsPrimary The extension identifies the primary taxonomy term applied to healthcare service type (HealthcareService.type). HealthcareService: HealthcareService.type.extension
Media This extension is used to capture photos, documents and files that relate to a HealthcareService. HealthcareService: HealthcareService.extension
PatientNeedsToBeSeen A boolean value (True or False) indicating if a patient needs to be seen, when a Performer (Specialist) responds to a consult request suggesting an eReferral. Task: Task.extension
PatientPresentLocation Extension is used to communicate the present location of the patient if it is different than the patient's home address. ServiceRequest: ServiceRequest.extension
PerformerIdentifier This extension allows additional identifiers to be included under ServiceRequest.performer. ServiceRequest: ServiceRequest.performer.extension
RoutingOptions This is an extension required for Referral Source Type identification. Only one referral routing object expected. MessageHeader: MessageHeader.extension
ServiceRequest: ServiceRequest.extension
ReferralIdentifier For requisitions this extension is used to convey the ServiceRequest.requisition identifier in the message header. MessageHeader: MessageHeader.extension
ReasonForNoHCN This extension is used to convey the reason for not providing the patient's health card number as a business identifier. Patient: Patient.identifier.extension
ServiceProviderPreference* Indicates preferences related to provider and service location ServiceRequest: ServiceRequest.extension
Value Set:PreferenceTypeCode
ServiceRequestDelegate* Identifies the person or provider that is a delegate for a service request ServiceRequest: ServiceRequest.requester.extension
UsageLicense This extension is used to describe the licensing conditions under which this HealthcareService (and related) resources may be used. HealthcareService: HealthcareService.extension
*STABILITY RISK: These extensions have been proposed as additions to the Pan-Canadian eReferral-eConsult (CA:eReC) iGuide and may be adjusted based on pan-Canadian feedback.

Terminology: Value Sets

Various coded values which are used to describe clinical concepts within health records as well as codes used within messages to meet the structural requirements of interfaces. See Terminology for information about terminology used in this IG.