FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

2.15 Resource MessageHeader - Content

Infrastructure And Messaging icon Work GroupMaturity Level: 4 Trial UseSecurity Category: Not Classified Compartments: Device, Practitioner

The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.

The MessageHeader resource is defined in order to support Messaging using FHIR resources. The principal usage of the MessageHeader resource is when messages are exchanged. However, as a resource that can be used with the RESTful framework, the MessageHeader resource has the normal resource end-point ([base-url]/MessageHeader), which is used to manage a set of static messages resources. This could be used to make an archive of past messages available. Creating or updating Message resources in this fashion does not represent the actual occurrence of any event, nor can it trigger any logic associated with the actual event. It is just for managing a set of message resources.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader TU DomainResource A resource that describes a message that is exchanged between systems

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... event[x] Σ 1..1 The real world event that triggered this messsage
Binding: MessageEvent (Example)
.... eventCoding Coding
.... eventUri uri
.... eventCanonical canonical(EventDefinition | SubscriptionTopic)
... destination Σ 0..* BackboneElement Message destination application(s)

.... endpoint[x] Σ 0..1 Actual destination address or Endpoint resource
..... endpointUrl url
..... endpointReference Reference(Endpoint)
.... name Σ 0..1 string Name of system
.... receiver Σ 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Intended "real-world" recipient for the data
... source Σ 1..1 BackboneElement Message source application
.... endpoint[x] Σ 0..1 Actual source address or Endpoint resource
..... endpointUrl url
..... endpointReference Reference(Endpoint)
.... name Σ 0..1 string Name of system
.... software Σ 0..1 string Name of software running the system
.... version Σ 0..1 string Version of software running
.... contact Σ 0..1 ContactPoint Human contact for problems
.... sender Σ 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole) Real world sender of the message
... response Σ 0..1 BackboneElement If this is a reply to prior message
.... identifier Σ 1..1 Identifier Bundle.identifier of original message
.... code Σ 1..1 code ok | transient-error | fatal-error
Binding: Response Type (Required)
.... details Σ 0..1 Reference(OperationOutcome) Specific list of hints/warnings/errors
... focus Σ 0..* Reference(Any) The actual content of the message

... definition Σ 0..1 canonical(MessageDefinition) Link to the definition for this message

doco Documentation for this format icon

See the Extensions for this resource

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
MessageHeader.event[x] Example
MessageHeader.reason ExampleMessageReasonCodes Example

Example Message Reasons. These are the set of codes that might be used an updating an encounter using admin-update.

MessageHeader.response.code ResponseType Required

The kind of response to a message.

  • There is no persistent identifier on MessageHeader that identifies the specific triggering event for the message - any such identity must be determined from the payload of the message.
  • The actual content of the focus resource is specified for each message event (see the list on the messaging page). Any resources referenced in the focus element are always included in the bundle
  • If MessageHeader.source.endpoint and MessageHeader.destination.endpoint, are literal URLs, then they SHOULD identify the addresses to which messages can be delivered. If they are logical URIs (i.e. non-dereferenceable), message delivery intermediaries must know how to deliver the message to the destination application.
  • The time of the event will be found in the focus resource. The time of the message will be found in Bundle.timestamp
  • The sender and receiver are not the actual technical systems - these are the human or organizations that make use of the technical systems
  • A receiver is not obligated to reject messages which do not explicitly identify it as receiver (e.g. a tracker will get messages that are destined for some other system)
  • The value set MessageEvent is populated by the authors of the resources declaring the events

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
code token ok | transient-error | fatal-error MessageHeader.response.code
destination string Name of system MessageHeader.destination.name
event token Code for the event this message represents or link to event definition MessageHeader.event.ofType(Coding) | MessageHeader.event.ofType(canonical)
focus reference The actual content of the message MessageHeader.focus
(Any)
receiver reference Intended "real-world" recipient for the data MessageHeader.destination.receiver
(Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson)
response-id token Id of original message MessageHeader.response.identifier
sender reference Real world sender of the message MessageHeader.source.sender
(Practitioner, Organization, Device, Patient, PractitionerRole)
source string Name of system MessageHeader.source.name