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:
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 |
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.extensionValue 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 |
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.