FHIR Artifacts > FHIR Artifacts

FHIR Artifacts

This implementation guide defines conformance criteria for four different roles that a system participating in an eReferral/eConsult integrations 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
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
add-service-request ServiceRequest Bundle RMS Source Request that a new ServiceRequest be performed on the RMS Target Bundle: add-servicerequest
revoke-service-request ServiceRequest Bundle RMS Source Notify systems that a ServiceRequest has been terminated and request that the ServiceRequest and related information 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
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
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
Communication Bundle RMS Source or RMS Target Send a question or additional information (Communication) about a ServiceRequest Bundle: add-communication
send-communication-from-provider Task Bundle RMS Target Request for additional information about a ServiceRequest Bundle: add-rfi

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)
Bundle Profile Used to exchange a series of Resources (entries) to another system in FHIR Messaging. Messaging Support Bundle: add-servicerequest
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
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
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
Communication Profile Communications (questions or information) may be exchanged between the RMS Source and RMS Target. In Focus Communication: Service completion message
Patient Profile The subject of the referral request Entities Patient: Jane Doe
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
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
Organization Profile Identifies the recipient HCC (PractitionerRole.organization) in the MessageHeader. Can also appear in other PractitionerRole.organization references. Entities Organization: Primary Care Medical Clinics
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
AllergyIntolerance Profile Allergy information Supporting Information JSON
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
QuestionnaireResponse Profile A list of nested Questions and Answers items that complement the Service Request order details Supporting Information QuestionnaireResponse example
Questionnaire Profile A list of Questions and Answer options that complement a QuestionnaireResponse, and a ServiceRequest order Supporting Information JSON
HealthcareService Profile The HealthcareService resource is used to describe a healthcare service provided by an organization at a location. Supporting Information HealthcareService Example

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)
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
CopiedParticipants The extension is used to copy updates to the ServiceRequest in cases of forwarding referrals. ServiceRequest: ServiceRequest.extension
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
HCNVersionCode An assigned sequence code, uniquely identifying a Health Card issued (or potentially issued) to a Registered Person Patient: Patient.identifier.extension
PatientNeedsToBeSeen Extension is used to communicate the present location of the patient if it is different than the patient's home address. 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
Facet This extension is used to identify the taxonomy facet. HealthcareService: type.extension
PrimaryType The extension identifies the primary taxonomy term applied to healthcare service type (HealthcareService.type). HealthcareService: HealthcareService.type.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
Media This extension is used to capture photos, documents and files that relate to a HealthcareService. HealthcareService: HealthcareService.extension
UsageLicense This extension is used to describe the licensing conditions under which this HealthcareService (and related) resources may be used. HealthcareService: HealthcareService.extension

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.