FHIR Artifacts > Structure Definition: MessageHeader Profile
Structure Definition: MessageHeader Profile
Canonical URL:http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-MessageHeader
Simplifier project page:
Derived from: MessageHeader (R4)
Formal Views of Profile Content
Description of Profiles, Differentials, Snapshots and how the different presentations work
Differential View
Hybrid View
Snapshot View
Table View
JSON View
Usage
A MessageHeader resource with a unique id
and appropriate eventCoding
, source.endpoint
, destination.endpoint
and focus
SHALL be the first entry in each message Bundle.
The MessageHeader is used to convey the purpose of the message (i.e.: eventCoding
), to direct the receiver toward the information acted upon (i.e.: focus
) and to support message routing.
Notes
.id
- used to uniquely identify a message
- populate this element with a UUID each time a message is created
- note: a FHIR message contains two identifiers that are unique within the message stream, rules:
- a
MessageHeader.id
(this element) SHALL be assigned when the message is created - a
Bundle.id
SHALL be assigned each time the message is sent
- a
.meta.profile
- used to declare conformance to this profile
- populate with the fixed value:
http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-MessageHeader|1.0.0
.extension:RoutingOptions
- used to communicate referral source type information to support referral processes with automated referral processing rules
- for "add-servicerequest" messsages, this element SHALL be populated with the same value as
ServiceRequest.extension:RoutingOptions
if present - see business rules for more informaiton
.extension:ReferralIdentifier
- used in cases where multiple connected referrals are made simultaneously (i.e. a requisition)
- in these cases:
- multiple ServiceRequests SHALL be referenced in
MessageHeader.focus
- each of the ServiceRequests in
MessageHeader.focus
SHALL have the same identifier inServiceRequest.requisition
- the identifier used in
ServiceRequest.requisition
SHALL also be used to populate this element
- multiple ServiceRequests SHALL be referenced in
- Note that additional business rules apply to requisitions
.eventCoding
- used to convey the business event that triggered the message
- SHALL be populated with a
code
from MessageEventCode and codingsystem
.destination.endpoint
- used to enable message routing through an intermediary
- SHALL be populated with either:
- a literal URL that identifies the addresses to which the message should be delivered, or
- a logical URI (i.e. non-dereferenceable) known to the intermediary.
.author
- identifies the person who initiated the event
- SHALL be populated with a reference to a PractitionerRole resource included as a message
Bundle.entry
.source.endpoint
- used to enable message routing of responses through an intermediary
- SHALL be populated with either:
- a literal URL that identifies the addresses to which the message should be delivered, or
- a logical URI (i.e. non-dereferenceable) known to the intermediary.
.response
- indicates that a message is a response to a request message (with status)
- if used:
.response.identifier
SHALL be populated with theMessageHeader.id
of the message to which this message is a response.response.code
SHALL be populated with a valid ResponseType.response.details
MAY be provided in a referenced OperationOutcome included in the Bundle
.focus
- identifies the information acted upon when the message was triggered
- SHALL include a reference to a ServiceRequest, Task, Appointment, Communication that:
- appropriately corresponds to the
eventCoding.code
(see: Constructing Messages) - is included as a message
Bundle.entry
- appropriately corresponds to the
- a MessageHeader MAY include multiple instances of
focus
to communicate some events (see: Use of FHIR Messaging)