Aotearoa Immunisation Register (AIR) FHIR Implementation Guide (API-V2)
2.2.0-SNAPSHOT - ci-build New Zealand

Aotearoa Immunisation Register (AIR) FHIR Implementation Guide (API-V2) - Local Development build (v2.2.0-SNAPSHOT) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: AIR Message Header

Official URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-message-header Version: 2.2.0-SNAPSHOT
Draft as of 2026-10-12 Computable Name: AIRMessageHeader

This profile derived from MessageHeader implements extensions to message header required for Immunisation event messaging.

Usages:

  • This Profile is not used by any profiles in this Specification

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MessageHeader 0..* MessageHeader A resource that describes a message that is exchanged between systems
MessageHeader.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MessageHeader.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MessageHeader.Slices for extension.extension:ImmunisationNotificationAction 0..1 Coding Indicates to which parties the Immunisation Notification message should be sent
URL: http://hl7.org.nz/fhir/StructureDefinition/air-immunisation-notification-action
Binding: https://standards.digital.health.nz/ns/air-immunisation-notification-action-code (required)
MessageHeader.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MessageHeader.event[x] This element is included in summaries. 1..1 Code for the event this message represents or link to event definition
Binding: MessageEvent (example): One of the message events defined as part of this version of FHIR.
MessageHeader.event[x].eventCoding Coding
MessageHeader.event[x].eventUri uri
MessageHeader.source This element is included in summaries. 1..1 BackboneElement Message source application
MessageHeader.source.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MessageHeader.source.endpoint This element is included in summaries. 1..1 url Actual message source address or id

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MessageHeader.event[x] Base example MessageEvent 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MessageHeader If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MessageHeader If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MessageHeader If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error MessageHeader If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MessageHeader A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from MessageHeader

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MessageHeader 0..* MessageHeader A resource that describes a message that is exchanged between systems
MessageHeader.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MessageHeader.Slices for extension.extension:ImmunisationNotificationAction 0..1 Coding Indicates to which parties the Immunisation Notification message should be sent
URL: http://hl7.org.nz/fhir/StructureDefinition/air-immunisation-notification-action
Binding: https://standards.digital.health.nz/ns/air-immunisation-notification-action-code (required)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
MessageHeader 0..* MessageHeader A resource that describes a message that is exchanged between systems
MessageHeader.id This element is included in summaries. 0..1 id Logical id of this artifact
MessageHeader.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MessageHeader.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MessageHeader.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
MessageHeader.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
MessageHeader.contained 0..* Resource Contained, inline Resources
MessageHeader.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MessageHeader.Slices for extension.extension:ImmunisationNotificationAction 0..1 Coding Indicates to which parties the Immunisation Notification message should be sent
URL: http://hl7.org.nz/fhir/StructureDefinition/air-immunisation-notification-action
Binding: https://standards.digital.health.nz/ns/air-immunisation-notification-action-code (required)
MessageHeader.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MessageHeader.event[x] This element is included in summaries. 1..1 Code for the event this message represents or link to event definition
Binding: MessageEvent (example): One of the message events defined as part of this version of FHIR.
MessageHeader.event[x].eventCoding Coding
MessageHeader.event[x].eventUri uri
MessageHeader.destination This element is included in summaries. 0..* BackboneElement Message destination application(s)
MessageHeader.destination.id 0..1 string Unique id for inter-element referencing
MessageHeader.destination.extension 0..* Extension Additional content defined by implementations
MessageHeader.destination.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MessageHeader.destination.name This element is included in summaries. 0..1 string Name of system
MessageHeader.destination.target This element is included in summaries. 0..1 Reference(Device) Particular delivery destination within the destination
MessageHeader.destination.endpoint This element is included in summaries. 1..1 url Actual destination address or id
MessageHeader.destination.receiver This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole | Organization) Intended "real-world" recipient for the data
MessageHeader.sender This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole | Organization) Real world sender of the message
MessageHeader.enterer This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole) The source of the data entry
MessageHeader.author This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole) The source of the decision
MessageHeader.source This element is included in summaries. 1..1 BackboneElement Message source application
MessageHeader.source.id 0..1 string Unique id for inter-element referencing
MessageHeader.source.extension 0..* Extension Additional content defined by implementations
MessageHeader.source.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MessageHeader.source.name This element is included in summaries. 0..1 string Name of system
MessageHeader.source.software This element is included in summaries. 0..1 string Name of software running the system
MessageHeader.source.version This element is included in summaries. 0..1 string Version of software running
MessageHeader.source.contact This element is included in summaries. 0..1 ContactPoint Human contact for problems
MessageHeader.source.endpoint This element is included in summaries. 1..1 url Actual message source address or id
MessageHeader.responsible This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole | Organization) Final responsibility for event
MessageHeader.reason This element is included in summaries. 0..1 CodeableConcept Cause of event
Binding: ExampleMessageReasonCodes (example): Reason for event occurrence.
MessageHeader.response This element is included in summaries. 0..1 BackboneElement If this is a reply to prior message
MessageHeader.response.id 0..1 string Unique id for inter-element referencing
MessageHeader.response.extension 0..* Extension Additional content defined by implementations
MessageHeader.response.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MessageHeader.response.identifier This element is included in summaries. 1..1 id Id of original message
MessageHeader.response.code This element is included in summaries. 1..1 code ok | transient-error | fatal-error
Binding: ResponseType (required): The kind of response to a message.
MessageHeader.response.details This element is included in summaries. 0..1 Reference(OperationOutcome) Specific list of hints/warnings/errors
MessageHeader.focus This element is included in summaries. 0..* Reference(Resource) The actual content of the message
MessageHeader.definition This element is included in summaries. 0..1 canonical(MessageDefinition) Link to the definition for this message

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MessageHeader.language Base preferred Common Languages 📍4.0.1 FHIR Std.
MessageHeader.event[x] Base example MessageEvent 📍4.0.1 FHIR Std.
MessageHeader.reason Base example Example Message Reason Codes 📍4.0.1 FHIR Std.
MessageHeader.response.​code Base required ResponseType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MessageHeader If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MessageHeader If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MessageHeader If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error MessageHeader If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MessageHeader A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from MessageHeader

Summary

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MessageHeader 0..* MessageHeader A resource that describes a message that is exchanged between systems
MessageHeader.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MessageHeader.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MessageHeader.Slices for extension.extension:ImmunisationNotificationAction 0..1 Coding Indicates to which parties the Immunisation Notification message should be sent
URL: http://hl7.org.nz/fhir/StructureDefinition/air-immunisation-notification-action
Binding: https://standards.digital.health.nz/ns/air-immunisation-notification-action-code (required)
MessageHeader.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MessageHeader.event[x] This element is included in summaries. 1..1 Code for the event this message represents or link to event definition
Binding: MessageEvent (example): One of the message events defined as part of this version of FHIR.
MessageHeader.event[x].eventCoding Coding
MessageHeader.event[x].eventUri uri
MessageHeader.source This element is included in summaries. 1..1 BackboneElement Message source application
MessageHeader.source.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MessageHeader.source.endpoint This element is included in summaries. 1..1 url Actual message source address or id

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MessageHeader.event[x] Base example MessageEvent 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MessageHeader If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MessageHeader If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MessageHeader If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error MessageHeader If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MessageHeader A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from MessageHeader

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MessageHeader 0..* MessageHeader A resource that describes a message that is exchanged between systems
MessageHeader.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MessageHeader.Slices for extension.extension:ImmunisationNotificationAction 0..1 Coding Indicates to which parties the Immunisation Notification message should be sent
URL: http://hl7.org.nz/fhir/StructureDefinition/air-immunisation-notification-action
Binding: https://standards.digital.health.nz/ns/air-immunisation-notification-action-code (required)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
MessageHeader 0..* MessageHeader A resource that describes a message that is exchanged between systems
MessageHeader.id This element is included in summaries. 0..1 id Logical id of this artifact
MessageHeader.meta This element is included in summaries. 0..1 Meta Metadata about the resource
MessageHeader.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
MessageHeader.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
MessageHeader.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
MessageHeader.contained 0..* Resource Contained, inline Resources
MessageHeader.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
MessageHeader.Slices for extension.extension:ImmunisationNotificationAction 0..1 Coding Indicates to which parties the Immunisation Notification message should be sent
URL: http://hl7.org.nz/fhir/StructureDefinition/air-immunisation-notification-action
Binding: https://standards.digital.health.nz/ns/air-immunisation-notification-action-code (required)
MessageHeader.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
MessageHeader.event[x] This element is included in summaries. 1..1 Code for the event this message represents or link to event definition
Binding: MessageEvent (example): One of the message events defined as part of this version of FHIR.
MessageHeader.event[x].eventCoding Coding
MessageHeader.event[x].eventUri uri
MessageHeader.destination This element is included in summaries. 0..* BackboneElement Message destination application(s)
MessageHeader.destination.id 0..1 string Unique id for inter-element referencing
MessageHeader.destination.extension 0..* Extension Additional content defined by implementations
MessageHeader.destination.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MessageHeader.destination.name This element is included in summaries. 0..1 string Name of system
MessageHeader.destination.target This element is included in summaries. 0..1 Reference(Device) Particular delivery destination within the destination
MessageHeader.destination.endpoint This element is included in summaries. 1..1 url Actual destination address or id
MessageHeader.destination.receiver This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole | Organization) Intended "real-world" recipient for the data
MessageHeader.sender This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole | Organization) Real world sender of the message
MessageHeader.enterer This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole) The source of the data entry
MessageHeader.author This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole) The source of the decision
MessageHeader.source This element is included in summaries. 1..1 BackboneElement Message source application
MessageHeader.source.id 0..1 string Unique id for inter-element referencing
MessageHeader.source.extension 0..* Extension Additional content defined by implementations
MessageHeader.source.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MessageHeader.source.name This element is included in summaries. 0..1 string Name of system
MessageHeader.source.software This element is included in summaries. 0..1 string Name of software running the system
MessageHeader.source.version This element is included in summaries. 0..1 string Version of software running
MessageHeader.source.contact This element is included in summaries. 0..1 ContactPoint Human contact for problems
MessageHeader.source.endpoint This element is included in summaries. 1..1 url Actual message source address or id
MessageHeader.responsible This element is included in summaries. 0..1 Reference(Practitioner | PractitionerRole | Organization) Final responsibility for event
MessageHeader.reason This element is included in summaries. 0..1 CodeableConcept Cause of event
Binding: ExampleMessageReasonCodes (example): Reason for event occurrence.
MessageHeader.response This element is included in summaries. 0..1 BackboneElement If this is a reply to prior message
MessageHeader.response.id 0..1 string Unique id for inter-element referencing
MessageHeader.response.extension 0..* Extension Additional content defined by implementations
MessageHeader.response.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
MessageHeader.response.identifier This element is included in summaries. 1..1 id Id of original message
MessageHeader.response.code This element is included in summaries. 1..1 code ok | transient-error | fatal-error
Binding: ResponseType (required): The kind of response to a message.
MessageHeader.response.details This element is included in summaries. 0..1 Reference(OperationOutcome) Specific list of hints/warnings/errors
MessageHeader.focus This element is included in summaries. 0..* Reference(Resource) The actual content of the message
MessageHeader.definition This element is included in summaries. 0..1 canonical(MessageDefinition) Link to the definition for this message

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
MessageHeader.language Base preferred Common Languages 📍4.0.1 FHIR Std.
MessageHeader.event[x] Base example MessageEvent 📍4.0.1 FHIR Std.
MessageHeader.reason Base example Example Message Reason Codes 📍4.0.1 FHIR Std.
MessageHeader.response.​code Base required ResponseType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error MessageHeader If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error MessageHeader If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error MessageHeader If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error MessageHeader If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice MessageHeader A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from MessageHeader

Summary

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron