Spine-Request-MessageHeader-2-0
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 |
Type | DomainResource |
Comments |
Many implementations are not prepared to use REST and need a messaging based infrastructure. |
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. |
Comments | |
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-type". |
Control | 1..1 |
Binding |
One of the message events defined as part of the MessageEvent value set The codes SHALL be taken from http://fhir.nhs.net/ValueSet/message-event-2-0 |
Type | Coding |
Is Modifier | True |
Requirements |
Drives the behavior associated with this message. |
Comments | |
MessageHeader.event.system | |
Definition |
The identification of the code system that defines the meaning of the symbol in the code. |
Control | 1..1 |
Type | Uri |
Requirements |
Need to be unambiguous about the source of the definition of the symbol. |
Comments |
The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously. |
Fixed Value | http://fhir.nhs.net/ValueSet/message-event-2-0 |
MessageHeader.event.code | |
Definition |
A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). |
Control | 1..1 |
Type | Code |
Requirements |
Need to refer to a particular code in the system. |
Comments | |
Example | urn:nhs:names:services:clinicals-sync:FGMQuery_2_0 |
MessageHeader.event.display | |
Definition |
A representation of the meaning of the code in the system, following the rules of the system. |
Control | 0..1 |
Type | String |
Requirements |
Need to be able to carry a human-readable meaning of the code for readers that do not know the system. |
Comments | |
MessageHeader.source | |
Definition |
The source application from which this message originated. |
Control | 1..1 |
Type | BackboneElement |
Requirements |
Allows replies, supports audit. |
Comments | |
MessageHeader.source.modifierExtension | |
Definition |
May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. |
Control | 0..* |
Type | Extension |
Is Modifier | True |
Aliases | extensions, user content, modifiers |
Comments |
There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
MessageHeader.source.name | |
Definition |
Human-readable name for the source system. |
Control | 0..1 |
Type | String |
Requirements |
May be used to support audit. |
Comments | |
MessageHeader.source.software | |
Definition |
May include configuration or other information useful in debugging. |
Control | 0..1 |
Type | String |
Requirements |
Supports audit and possibly interface engine behavior. |
Comments | |
MessageHeader.source.contact | |
Definition |
An e-mail, phone, website or other contact point to use to resolve issues with message communications. |
Control | 0..1 |
Type | ContactPoint |
Requirements |
Allows escalation of technical issues. |
Comments | |
MessageHeader.source.contact.system | |
Definition |
Telecommunications form for contact point - what communications system is required to make use of the contact. |
Control | 1..1 ? |
Binding |
Telecommunications form for contact point The codes SHALL be taken from http://hl7.org/fhir/valueset-contact-point-system |
Type | Code |
Comments | |
MessageHeader.source.contact.value | |
Definition |
The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address). |
Control | 0..1 |
Type | String |
Requirements |
Need to support legacy numbers that are not in a tightly controlled format. |
Comments |
Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. |
MessageHeader.source.contact.use | |
Definition |
Identifies the purpose for the contact point. |
Control | 0..1 |
Binding |
Use of contact point The codes SHALL be taken from http://hl7.org/fhir/ValueSet/contact-point-use |
Type | Code |
Is Modifier | True |
Requirements |
Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose. |
Comments |
This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one. Applications can assume that a contact is current unless it explicitly says that it is temporary or old. |
MessageHeader.source.contact.period | |
Definition |
Time period when the contact point was/is in use. |
Control | 0..1 |
Type | Period |
Comments | |
MessageHeader.source.contact.period.start | |
Definition |
The start of the period. The boundary is inclusive. |
Control | 0..1 ? |
Type | DateTime |
Comments |
If the low element is missing, the meaning is that the low boundary is not known. |
MessageHeader.source.contact.period.end | |
Definition |
The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time. |
Control | 0..1 ? |
Type | DateTime |
Comments |
The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03. |
MessageHeader.source.endpoint | |
Definition |
Identifies the routing target to send acknowledgements to. |
Control | 1..1 |
Type | Uri |
Requirements |
Identifies where to send responses, may influence security permissions. |
Comments |
The id may be a non-resolvable URI for systems that do not use standard network-based addresses. |
Example | urn:nhs:addressing:asid:047192794544 |
MessageHeader.destination | |
Definition |
The destination application which the message is intended for. |
Control | 1..1 |
Type | BackboneElement |
Requirements |
Indicates where message is to be sent to for routing purposes. Allows verification of "am I the intended recipient". |
Comments |
there SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system. |
MessageHeader.destination.modifierExtension | |
Definition |
May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. |
Control | 0..* |
Type | Extension |
Is Modifier | True |
Aliases | extensions, user content, modifiers |
Comments |
There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
MessageHeader.destination.name | |
Definition |
Human-readable name for the target system. |
Control | 0..1 |
Type | String |
Requirements |
May be used for routing of response and/or to support audit. |
Comments | |
MessageHeader.destination.endpoint | |
Definition |
Indicates where the message should be routed to. |
Control | 1..1 |
Type | Uri |
Requirements |
Identifies where to route the message. |
Comments |
The id may be a non-resolvable URI for systems that do not use standard network-based addresses. |
Example | urn:nhs:addressing:asid:990101234567 |
MessageHeader.author | |
Definition |
The logical author of the message - the person or device that decided the described event should happen. Where there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions. |
Control | 1..1 |
Requirements |
Need to know for audit/traceback requirements and possibly for authorization. |
Comments |
Usually only for the request, but can be used in a response. |
MessageHeader.author.reference | |
Definition |
A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Control | 1..1 ? |
Type | String |
Comments |
Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the url conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. |
MessageHeader.data | |
Definition |
The actual data of the message - a reference to the root/focus class of the event. |
Control | 0..* |
Type | Resource |
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. |
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. |
MessageHeader.data.reference | |
Definition |
A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Control | 0..1 ? |
Type | String |
Comments |
Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the url conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. |