DSTU2 FHIR Release 3 (STU)

This page is part of the FHIR Specification (v1.0.2: DSTU (v3.0.2: STU 2). 3). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2 R3 R2

Infrastructure And Messaging Work Group Maturity Level : 3   Trial Use Compartments : Device , Practitioner

Detailed Descriptions for the elements in the MessageHeader resource.

Type code Is Modifier Comments This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error. Comments The id may be a non-resolvable URI for systems that do not use standard network-based addresses.
MessageHeader
Definition

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.

Control 1..1
Requirements

Many implementations are not prepared to use REST and need a messaging based infrastructure.

Summary true
MessageHeader.timestamp Definition The time that the message was sent. Control 1..1 Type instant Requirements Allows limited detection of out-of-order and delayed transmission. Also supports audit. Summary true MessageHeader.event
Definition

Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://hl7.org/fhir/message-events".

Control 1..1
Terminology Binding MessageEvent: the Event List in the messaging framework
Type Coding
Is Modifier true Requirements

Drives the behavior associated with this message.

Summary true
MessageHeader.response MessageHeader.destination
Definition

Information about The destination application which the message that this message is a response to. Only present if this message is a response. intended for.

Control 0..1 0..*
Is Modifier Requirements true

Indicates where message is to be sent for routing purposes. Allows verification of "am I the intended recipient".

Summary true
Comments

There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system.

MessageHeader.response.identifier MessageHeader.destination.name
Definition

The id of Human-readable name for the message that this message is a response to. target system.

Note This is a business identifer, not a resource identifier (see discussion ) Control 1..1 0..1
Type id string
Requirements

Allows receiver May be used for routing of response and/or to know what message is being responded to. support audit.

Summary true
MessageHeader.response.code MessageHeader.destination.target
Definition

Code that identifies Identifies the type of response to target end system in situations where the initial message - whether it was successful or not, and whether it should be resent or not. transmission is to an intermediary system.

Control 1..1 0..1
Binding Type ResponseType: The kind of response to a message Reference ( Required Device )
Requirements

Supports multi-hop routing.

Summary true
MessageHeader.destination.endpoint
Definition

Indicates where the message should be routed to.

Control true 1..1
Type uri
Requirements

Allows the sender of the acknowledge message Identifies where to know if route the request was successful or if action is needed. message.

Summary true
Comments

This is The id may be a generic response to the request message. Specific data non-resolvable URI for the response will be found in MessageHeader.data. systems that do not use standard network-based addresses.

MessageHeader.response.details MessageHeader.receiver
Definition

Full details of any issues found in the message. Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.

Control 0..1
Type Reference ( OperationOutcome Practitioner | Organization )
Requirements

Allows routing beyond just the sender of the message to determine what the specific issues are. application level.

Summary true
MessageHeader.source MessageHeader.sender
Definition

The source application from which this message originated. Identifies the sending system to allow the use of a trust relationship.

Control 1..1 0..1
Type Reference ( Practitioner | Organization )
Requirements

Allows replies, supports audit. routing beyond just the application level.

Summary true
Comments

Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone.

MessageHeader.source.name MessageHeader.timestamp
Definition

Human-readable name for The time that the source system. message was sent.

Control 0..1 1..1
Type string instant
Requirements

May be used to support Allows limited detection of out-of-order and delayed transmission. Also supports audit.

Summary true
MessageHeader.source.software MessageHeader.enterer
Definition

May include configuration The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other information useful enterers in debugging. extensions.

Control 0..1
Type string Reference ( Practitioner )
Requirements

Supports audit Need to know for audit/traceback requirements and possibly interface engine behavior. for authorization.

Summary true
Comments

Usually only for the request, but can be used in a response.

MessageHeader.source.version MessageHeader.author
Definition

Can convey versions The logical author of multiple systems in situations where a the message passes through multiple hands. Note This - the person or device that decided the described event should happen. When there is a business versionId, not a resource identifier (see discussion ) more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.

Control 0..1
Type string Reference ( Practitioner )
Requirements

Supports audit Need to know for audit/traceback requirements and possibly interface engine behavior. for authorization.

Summary true
Comments

Usually only for the request, but can be used in a response.

MessageHeader.source.contact MessageHeader.source
Definition

An e-mail, phone, website or other contact point to use to resolve issues with The source application from which this message communications. originated.

Control 0..1 Type ContactPoint 1..1
Requirements

Allows escalation of technical issues. replies, supports audit.

Summary true
MessageHeader.source.endpoint MessageHeader.source.name
Definition

Identifies Human-readable name for the routing target to send acknowledgements to. source system.

Control 1..1 0..1
Type uri string
Requirements

Identifies where May be used to send responses, may influence security permissions. support audit.

Summary true
MessageHeader.destination MessageHeader.source.software
Definition

The destination application which the message is intended for. May include configuration or other information useful in debugging.

Control 0..* 0..1
Requirements Type Indicates where message is to be sent for routing purposes. Allows verification of "am I the intended recipient". string
Summary Requirements true

Supports audit and possibly interface engine behavior.

Comments Summary There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system. true
MessageHeader.destination.name MessageHeader.source.version
Definition

Human-readable name for the target system. Can convey versions of multiple systems in situations where a message passes through multiple hands.

Note This is a business versionId, not a resource version id (see discussion )
Control 0..1
Type string
Requirements

May be used for routing of response and/or to support audit. Supports audit and possibly interface engine behavior.

Summary true
MessageHeader.destination.target MessageHeader.source.contact
Definition

Identifies the target end system in situations where the initial message transmission is An e-mail, phone, website or other contact point to an intermediary system. use to resolve issues with message communications.

Control 0..1
Type Reference ( Device ContactPoint )
Requirements

Supports multi-hop routing. Allows escalation of technical issues.

Summary true
MessageHeader.destination.endpoint MessageHeader.source.endpoint
Definition

Indicates where Identifies the message should be routed routing target to send acknowledgements to.

Control 1..1
Type uri
Requirements

Identifies where to route the message. send responses, may influence security permissions.

Summary true
Comments

The id may be a non-resolvable URI for systems that do not use standard network-based addresses.

MessageHeader.enterer MessageHeader.responsible
Definition

The person or device organization that performed accepts overall responsibility for the contents of the data entry leading to this message. Where there The implication is more than one candidate, pick that the most proximal to message event happened under the message. Can provide other enterers in extensions. policies of the responsible party.

Control 0..1
Type Reference ( Practitioner | Organization )
Requirements

Need to know for audit/traceback requirements and possibly for authorization.

Summary true
Comments

Usually only for the request, but can be used in a response.

MessageHeader.author MessageHeader.reason
Definition

The logical author Coded indication of the message cause for the event - indicates a reason for the person or device that decided occurrence of the described event should happen. Where there that is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions. a focus of this message.

Control 0..1
Type Terminology Binding Reference Example Message Reason Codes ( Practitioner Example )
Type CodeableConcept
Requirements

Need to know for audit/traceback requirements be able to track why resources are being changed and possibly for report in the audit log/history of the resource. May affect authorization.

Summary true
MessageHeader.response
Comments Definition

Usually only for Information about the request, but can be used in message that this message is a response to. Only present if this message is a response.

Control 0..1
Summary true
MessageHeader.receiver MessageHeader.response.identifier
Definition

Allows data conveyed by a The MessageHeader.id of the message to be addressed to a particular person or department when routing to which this message is a specific application isn't sufficient. response.

Note This is a business identifer, not a resource identifier (see discussion )
Control 0..1 1..1
Type Reference ( Practitioner | Organization id )
Requirements

Allows routing beyond just the application level. receiver to know what message is being responded to.

Summary true
MessageHeader.responsible MessageHeader.response.code
Definition

The person or organization Code that accepts overall responsibility for identifies the contents type of the message. The implication is that response to the message event happened under the policies of the responsible party. - whether it was successful or not, and whether it should be resent or not.

Control 0..1 1..1
Type Terminology Binding Reference ResponseType ( Practitioner | Organization Required )
Type code
Requirements

Need Allows the sender of the acknowledge message to know for audit/traceback requirements and possibly for authorization. if the request was successful or if action is needed.

Summary true
Comments

Usually only This is a generic response to the request message. Specific data for the request, but can response will be used found in a response. MessageHeader.focus.

MessageHeader.reason MessageHeader.response.details
Definition

Coded indication of the cause for the event - indicates a reason for the occurrence Full details of any issues found in the event that is a focus of this message.

Control 0..1
Binding Example Message Reason Codes: Reason for event occurrence ( Example ) Type CodeableConcept Reference ( OperationOutcome )
Requirements

Need to be able to track why resources are being changed and report in Allows the audit log/history sender of the resource. May affect authorization. message to determine what the specific issues are.

Summary true
Comments

This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error.

MessageHeader.data MessageHeader.focus
Definition

The actual data of the message - a reference to the root/focus class of the event.

Control 0..*
Type Reference ( Any )
Requirements

Every message event is about actual data, a single resource, that is identified in the definition of the event, and perhaps some or all linked resources.

Summary true
Comments

The data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The resources it references should be contained in the bundle but are not also listed here. Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets.