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

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

Resource Profile: AIR Immunization

Official URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-immunization Version: 1.29.0-SNAPSHOT
Active as of 2026-10-12 Computable Name: AIRImmunization

This is the AIR Immunization Profile, to be used for immunisation records inbound to ImmSoT. It includes a number of constraints designed to enforce ImmSoT's lean data model approach.

Introduction

The Aotearoa Immunisation Register (AIR) holds a collection of "Immunisation Events", where each Immunisation Event represents a dose of vaccine that has been administered to a person (or in certain instances, a dose that has NOT been administered for a defined reason). An Immunisation Event is created for each dose given (or declined) according to recommendations published in the National Immunisation Schedule.

This AIRImmunization profile is the primary vehicle used by the AIR FHIR API to transmit information about Immunisation Events.

For more information about Scheduled Events in AIR, see the AIR Care Plan Profile and View Consumer Planned Events use case.

Usages:

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
Immunization C 0..* Immunization Immunization event information
Constraints: nz-status-reason-1, nz-status-reason-2, nz-site-1, nz-site-2, nz-route-1, nz-route-2, nz-performer-function-1, nz-performer-function-2, nz-reasonCode-1, nz-reasonCode-2, air-resched-1
Immunization.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
Immunization.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
Immunization.Slices for extension.extension:administeredProduct 0..1 CodeableConcept AIR Administered Product Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-administered-product
Binding: AIR Administered Product Code (required)
Immunization.Slices for extension.extension:Diluent 0..1 (Complex) Immunization Diluent
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent
Immunization.Slices for extension.extension:MobileSiteId 0..1 string Immunization Facility Mobile Site
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site
Immunization.Slices for extension.extension:AgeGiven 0..1 (Complex) AIR Age Given Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given
Immunization.Slices for extension.extension:relatedPersonExtension 0..* Reference(AIR Related Person Profile) AIR Related Person
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension
Immunization.Slices for extension.extension:serologyReportExtension 0..1 Reference(AIR Serology Report Profile) AIR Serology Report Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension
Immunization.Slices for extension.extension:rescheduleDateExtension 0..* date AIR Reschedule Date Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date
Immunization.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Immunization.status This element is a modifier element. This element is included in summaries. 1..1 code completed | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.
Immunization.statusReason 0..1 CodeableConcept Reason not done
Binding: AIR Status Reason Code (preferred)
Immunization.statusReason.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode This element is included in summaries. 1..1 CodeableConcept Vaccine product administered
Binding: AIR Vaccine Product (preferred)
Immunization.vaccineCode.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Immunization.vaccineCode.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Immunization.patient This element is included in summaries. 1..1 Reference(Patient) Who was immunized
Immunization.occurrence[x] This element is included in summaries. 1..1 dateTime Vaccine administration date
Immunization.location 0..1 Reference(AIR Location Profile) The location where the immunisation was administered.
Immunization.site 0..1 CodeableConcept The body site of the vaccine administration (SNOMED code).
Binding: AIR Body Site (preferred)
Immunization.site.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.route 0..1 CodeableConcept The route of administation of the vaccine.
Binding: AIR Route of Administration (preferred)
Immunization.route.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.reasonCode 0..* CodeableConcept Why immunization occurred
Binding: AIR Indication Code (preferred)
Immunization.protocolApplied 0..1 BackboneElement Protocol followed by the provider
Immunization.protocolApplied.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Immunization.protocolApplied.doseNumber[x] 1..1 positiveInt Dose number within series

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Immunization.status Base required Immunization Status Codes 📍4.0.1 FHIR Std.
Immunization.statusReason Base preferred AIR Status Reason Code 📦1.29.0-SNAPSHOT This IG
Immunization.vaccineCode Base preferred AIR Vaccine Product 📦1.29.0-SNAPSHOT This IG
Immunization.site Base preferred AIR Body Site 📦1.29.0-SNAPSHOT This IG
Immunization.route Base preferred AIR Route of Administration 📦1.29.0-SNAPSHOT This IG
Immunization.reasonCode Base preferred AIR Indication Code 📦1.29.0-SNAPSHOT This IG

Constraints

Id Grade Path(s) Description Expression
air-resched-1 error Immunization Only allow a reschedule date if status NOT DONE and statusReason related to rescheduling. extension.where(url = 'https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date').exists() implies status.value = 'not-done' and statusReason.coding.where(code = 'RESCHO' | 'RESREF' | 'RESTC').allTrue()
dom-2 error Immunization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Immunization 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 Immunization 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 Immunization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Immunization 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()
nz-performer-function-1 error Immunization If the performer function has a system, then it must have a code. performer.function.coding.system.exists() implies performer.function.coding.code.exists()
nz-performer-function-2 error Immunization If the performer function has a code, then it must have a system. performer.function.coding.code.exists() implies performer.function.coding.system.exists()
nz-reasonCode-1 error Immunization If the reasonCode aka indication has a system, then it must have a code. reasonCode.coding.system.exists() implies reasonCode.coding.code.exists()
nz-reasonCode-2 error Immunization If the reasonCode aka indication has a code, then it must have a system. reasonCode.coding.code.exists() implies reasonCode.coding.system.exists()
nz-route-1 error Immunization If the route of admin has a system, then it must have a code. route.coding.system.exists() implies route.coding.code.exists()
nz-route-2 error Immunization if the route of admin has a code, then it must have a system. route.coding.code.exists() implies route.coding.system.exists()
nz-site-1 error Immunization If the body site has a system, then it must have a code. site.coding.system.exists() implies site.coding.code.exists()
nz-site-2 error Immunization If the body site has a code, then it must have a system. site.coding.code.exists() implies site.coding.system.exists()
nz-status-reason-1 error Immunization If the status reason has a system, then it must have a code. statusReason.coding.system.exists() implies statusReason.coding.code.exists()
nz-status-reason-2 error Immunization If the status reason has a code, then it must have a system. statusReason.coding.code.exists() implies statusReason.coding.system.exists()

This structure is derived from Immunization

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Immunization C 0..* Immunization Immunization event information
Constraints: nz-status-reason-1, nz-status-reason-2, nz-site-1, nz-site-2, nz-route-1, nz-route-2, nz-performer-function-1, nz-performer-function-2, nz-reasonCode-1, nz-reasonCode-2, air-resched-1
Immunization.meta
Immunization.meta.Slices for extension Content/Rules for all slices
Immunization.meta.Slices for extension.extension:DataQualityAssessment 0..1 (Complex) Data Quality Assessment
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-data-quality-assessment
Immunization.meta.Slices for extension.extension:PlannedEventMatch 0..* (Complex) Planned Event Match
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match
Immunization.meta.Slices for extension.extension:PlannedEventMatchQuality 0..* (Complex) Planned Event Match Quality
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match-quality
Immunization.meta.Slices for extension.extension:CreatedSourceSystem 0..1 string AIR Created Source System
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-source-system
Immunization.meta.Slices for extension.extension:CreatedBy 0..1 string AIR Created By User
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-by
Immunization.meta.Slices for extension.extension:ModifiedSourceSystem 0..1 string AIR Modified Source System
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-source-system
Immunization.meta.Slices for extension.extension:ModifiedBy 0..1 string AIR Modified By User
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-by
Immunization.meta.Slices for extension.extension:CreatedDate 0..1 instant The instant when this resource ID was first associated with content on this server
URL: http://hl7.org/fhir/StructureDefinition/firstCreated
Immunization.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
Immunization.Slices for extension.extension:administeredProduct 0..1 CodeableConcept AIR Administered Product Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-administered-product
Binding: AIR Administered Product Code (required)
Immunization.Slices for extension.extension:Diluent 0..1 (Complex) Immunization Diluent
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent
Immunization.Slices for extension.extension:MobileSiteId 0..1 string Immunization Facility Mobile Site
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site
Immunization.Slices for extension.extension:AgeGiven 0..1 (Complex) AIR Age Given Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given
Immunization.Slices for extension.extension:relatedPersonExtension 0..* Reference(AIR Related Person Profile) AIR Related Person
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension
Immunization.Slices for extension.extension:serologyReportExtension 0..1 Reference(AIR Serology Report Profile) AIR Serology Report Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension
Immunization.Slices for extension.extension:rescheduleDateExtension 0..* date AIR Reschedule Date Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date
Immunization.statusReason 0..1 CodeableConcept Reason not done
Binding: AIR Status Reason Code (preferred)
Immunization.statusReason.coding 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode.coding 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode.coding.system 1..1 uri Identity of the terminology system
Immunization.vaccineCode.coding.code 1..1 code Symbol in syntax defined by the system
Immunization.patient 1..1 Reference(Patient) Who was immunized
Immunization.encounter 0..0 Encounter immunization was part of
Immunization.occurrence[x] 1..1 dateTime Vaccine administration date
Immunization.primarySource 0..0 Indicates context the data was recorded in
Immunization.reportOrigin 0..0 Indicates the source of a secondarily reported record
Immunization.location 0..1 Reference(AIR Location Profile) The location where the immunisation was administered.
Immunization.manufacturer 0..0 Vaccine manufacturer
Immunization.site 0..1 CodeableConcept The body site of the vaccine administration (SNOMED code).
Binding: AIR Body Site (preferred)
Immunization.site.coding 1..1 Coding Code defined by a terminology system
Immunization.route 0..1 CodeableConcept The route of administation of the vaccine.
Binding: AIR Route of Administration (preferred)
Immunization.route.coding 1..1 Coding Code defined by a terminology system
Immunization.doseQuantity 0..0 Amount of vaccine administered
Immunization.performer
Immunization.performer.function 0..1 CodeableConcept What type of performance was done
Binding: AIR Performer Health Worker Function (extensible)
Immunization.performer.function.coding 1..1 Coding Code defined by a terminology system
Immunization.performer.actor 1..1 Reference(AIR Practitioner Profile) Individual or organization who was performing
Immunization.note 0..0 Additional immunization notes
Immunization.reasonCode 0..* CodeableConcept Why immunization occurred
Binding: AIR Indication Code (preferred)
Immunization.isSubpotent 0..0 Dose potency
Immunization.subpotentReason 0..0 Reason for being subpotent
Immunization.education 0..0 Educational material presented to patient
Immunization.programEligibility 0..0 Patient eligibility for a vaccination program
Immunization.fundingSource 0..0 Funding source for the vaccine
Immunization.reaction 0..0 Details of a reaction that follows immunization
Immunization.protocolApplied 0..1 BackboneElement Protocol followed by the provider
Immunization.protocolApplied.doseNumber[x] 1..1 positiveInt Dose number within series

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Immunization.statusReason Base preferred AIR Status Reason Code 📦1.29.0-SNAPSHOT This IG
Immunization.vaccineCode Base preferred AIR Vaccine Product 📦1.29.0-SNAPSHOT This IG
Immunization.site Base preferred AIR Body Site 📦1.29.0-SNAPSHOT This IG
Immunization.route Base preferred AIR Route of Administration 📦1.29.0-SNAPSHOT This IG
Immunization.performer.​function Base extensible AIR Performer Health Worker Function 📦1.29.0-SNAPSHOT This IG
Immunization.reasonCode Base preferred AIR Indication Code 📦1.29.0-SNAPSHOT This IG

Constraints

Id Grade Path(s) Description Expression
air-resched-1 error Immunization Only allow a reschedule date if status NOT DONE and statusReason related to rescheduling. extension.where(url = 'https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date').exists() implies status.value = 'not-done' and statusReason.coding.where(code = 'RESCHO' | 'RESREF' | 'RESTC').allTrue()
nz-performer-function-1 error Immunization If the performer function has a system, then it must have a code. performer.function.coding.system.exists() implies performer.function.coding.code.exists()
nz-performer-function-2 error Immunization If the performer function has a code, then it must have a system. performer.function.coding.code.exists() implies performer.function.coding.system.exists()
nz-reasonCode-1 error Immunization If the reasonCode aka indication has a system, then it must have a code. reasonCode.coding.system.exists() implies reasonCode.coding.code.exists()
nz-reasonCode-2 error Immunization If the reasonCode aka indication has a code, then it must have a system. reasonCode.coding.code.exists() implies reasonCode.coding.system.exists()
nz-route-1 error Immunization If the route of admin has a system, then it must have a code. route.coding.system.exists() implies route.coding.code.exists()
nz-route-2 error Immunization if the route of admin has a code, then it must have a system. route.coding.code.exists() implies route.coding.system.exists()
nz-site-1 error Immunization If the body site has a system, then it must have a code. site.coding.system.exists() implies site.coding.code.exists()
nz-site-2 error Immunization If the body site has a code, then it must have a system. site.coding.code.exists() implies site.coding.system.exists()
nz-status-reason-1 error Immunization If the status reason has a system, then it must have a code. statusReason.coding.system.exists() implies statusReason.coding.code.exists()
nz-status-reason-2 error Immunization If the status reason has a code, then it must have a system. statusReason.coding.code.exists() implies statusReason.coding.system.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Immunization C 0..* Immunization Immunization event information
Constraints: nz-status-reason-1, nz-status-reason-2, nz-site-1, nz-site-2, nz-route-1, nz-route-2, nz-performer-function-1, nz-performer-function-2, nz-reasonCode-1, nz-reasonCode-2, air-resched-1
Immunization.id This element is included in summaries. 0..1 id Logical id of this artifact
Immunization.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Immunization.meta.id 0..1 string Unique id for inter-element referencing
Immunization.meta.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.meta.Slices for extension.extension:DataQualityAssessment 0..1 (Complex) Data Quality Assessment
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-data-quality-assessment
Immunization.meta.Slices for extension.extension:PlannedEventMatch 0..* (Complex) Planned Event Match
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match
Immunization.meta.Slices for extension.extension:PlannedEventMatchQuality 0..* (Complex) Planned Event Match Quality
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match-quality
Immunization.meta.Slices for extension.extension:CreatedSourceSystem 0..1 string AIR Created Source System
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-source-system
Immunization.meta.Slices for extension.extension:CreatedBy 0..1 string AIR Created By User
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-by
Immunization.meta.Slices for extension.extension:ModifiedSourceSystem 0..1 string AIR Modified Source System
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-source-system
Immunization.meta.Slices for extension.extension:ModifiedBy 0..1 string AIR Modified By User
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-by
Immunization.meta.Slices for extension.extension:CreatedDate 0..1 instant The instant when this resource ID was first associated with content on this server
URL: http://hl7.org/fhir/StructureDefinition/firstCreated
Immunization.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Immunization.meta.lastUpdated This element is included in summaries. 0..1 instant When the resource version last changed
Immunization.meta.source This element is included in summaries. 0..1 uri Identifies where the resource comes from
Immunization.meta.profile This element is included in summaries. 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
Immunization.meta.security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Immunization.meta.tag This element is included in summaries. 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Immunization.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
Immunization.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Immunization.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
Immunization.contained 0..* Resource Contained, inline Resources
Immunization.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
Immunization.Slices for extension.extension:administeredProduct 0..1 CodeableConcept AIR Administered Product Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-administered-product
Binding: AIR Administered Product Code (required)
Immunization.Slices for extension.extension:Diluent 0..1 (Complex) Immunization Diluent
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent
Immunization.Slices for extension.extension:MobileSiteId 0..1 string Immunization Facility Mobile Site
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site
Immunization.Slices for extension.extension:AgeGiven 0..1 (Complex) AIR Age Given Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given
Immunization.Slices for extension.extension:relatedPersonExtension 0..* Reference(AIR Related Person Profile) AIR Related Person
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension
Immunization.Slices for extension.extension:serologyReportExtension 0..1 Reference(AIR Serology Report Profile) AIR Serology Report Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension
Immunization.Slices for extension.extension:rescheduleDateExtension 0..* date AIR Reschedule Date Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date
Immunization.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Immunization.identifier 0..* Identifier Business identifier
Immunization.status This element is a modifier element. This element is included in summaries. 1..1 code completed | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.
Immunization.statusReason 0..1 CodeableConcept Reason not done
Binding: AIR Status Reason Code (preferred)
Immunization.statusReason.id 0..1 string Unique id for inter-element referencing
Immunization.statusReason.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.statusReason.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.statusReason.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.vaccineCode This element is included in summaries. 1..1 CodeableConcept Vaccine product administered
Binding: AIR Vaccine Product (preferred)
Immunization.vaccineCode.id 0..1 string Unique id for inter-element referencing
Immunization.vaccineCode.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.vaccineCode.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode.coding.id 0..1 string Unique id for inter-element referencing
Immunization.vaccineCode.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.vaccineCode.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Immunization.vaccineCode.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Immunization.vaccineCode.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Immunization.vaccineCode.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Immunization.vaccineCode.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Immunization.vaccineCode.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.patient This element is included in summaries. 1..1 Reference(Patient) Who was immunized
Immunization.occurrence[x] This element is included in summaries. 1..1 dateTime Vaccine administration date
Immunization.recorded 0..1 dateTime When the immunization was first captured in the subject's record
Immunization.location 0..1 Reference(AIR Location Profile) The location where the immunisation was administered.
Immunization.lotNumber 0..1 string Vaccine lot number
Immunization.expirationDate 0..1 date Vaccine expiration date
Immunization.site 0..1 CodeableConcept The body site of the vaccine administration (SNOMED code).
Binding: AIR Body Site (preferred)
Immunization.site.id 0..1 string Unique id for inter-element referencing
Immunization.site.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.site.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.site.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.route 0..1 CodeableConcept The route of administation of the vaccine.
Binding: AIR Route of Administration (preferred)
Immunization.route.id 0..1 string Unique id for inter-element referencing
Immunization.route.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.route.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.route.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.performer This element is included in summaries. 0..* BackboneElement Who performed event
Immunization.performer.id 0..1 string Unique id for inter-element referencing
Immunization.performer.extension 0..* Extension Additional content defined by implementations
Immunization.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Immunization.performer.function This element is included in summaries. 0..1 CodeableConcept What type of performance was done
Binding: AIR Performer Health Worker Function (extensible)
Immunization.performer.function.id 0..1 string Unique id for inter-element referencing
Immunization.performer.function.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.performer.function.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.performer.function.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.performer.actor This element is included in summaries. 1..1 Reference(AIR Practitioner Profile) Individual or organization who was performing
Immunization.reasonCode 0..* CodeableConcept Why immunization occurred
Binding: AIR Indication Code (preferred)
Immunization.reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) Why immunization occurred
Immunization.protocolApplied 0..1 BackboneElement Protocol followed by the provider
Immunization.protocolApplied.id 0..1 string Unique id for inter-element referencing
Immunization.protocolApplied.extension 0..* Extension Additional content defined by implementations
Immunization.protocolApplied.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Immunization.protocolApplied.series 0..1 string Name of vaccine series
Immunization.protocolApplied.authority 0..1 Reference(Organization) Who is responsible for publishing the recommendations
Immunization.protocolApplied.targetDisease 0..* CodeableConcept Vaccine preventatable disease being targetted
Binding: ImmunizationTargetDiseaseCodes (example): The vaccine preventable disease the dose is being administered for.
Immunization.protocolApplied.doseNumber[x] 1..1 positiveInt Dose number within series
Immunization.protocolApplied.seriesDoses[x] 0..1 Recommended number of doses for immunity
Immunization.protocolApplied.seriesDoses[x].seriesDosesPositiveInt positiveInt
Immunization.protocolApplied.seriesDoses[x].seriesDosesString string

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Immunization.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Immunization.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Immunization.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Immunization.status Base required Immunization Status Codes 📍4.0.1 FHIR Std.
Immunization.statusReason Base preferred AIR Status Reason Code 📦1.29.0-SNAPSHOT This IG
Immunization.vaccineCode Base preferred AIR Vaccine Product 📦1.29.0-SNAPSHOT This IG
Immunization.site Base preferred AIR Body Site 📦1.29.0-SNAPSHOT This IG
Immunization.route Base preferred AIR Route of Administration 📦1.29.0-SNAPSHOT This IG
Immunization.performer.​function Base extensible AIR Performer Health Worker Function 📦1.29.0-SNAPSHOT This IG
Immunization.reasonCode Base preferred AIR Indication Code 📦1.29.0-SNAPSHOT This IG
Immunization.protocolApplied.​targetDisease Base example Immunization Target Disease Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
air-resched-1 error Immunization Only allow a reschedule date if status NOT DONE and statusReason related to rescheduling. extension.where(url = 'https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date').exists() implies status.value = 'not-done' and statusReason.coding.where(code = 'RESCHO' | 'RESREF' | 'RESTC').allTrue()
dom-2 error Immunization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Immunization 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 Immunization 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 Immunization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Immunization 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()
nz-performer-function-1 error Immunization If the performer function has a system, then it must have a code. performer.function.coding.system.exists() implies performer.function.coding.code.exists()
nz-performer-function-2 error Immunization If the performer function has a code, then it must have a system. performer.function.coding.code.exists() implies performer.function.coding.system.exists()
nz-reasonCode-1 error Immunization If the reasonCode aka indication has a system, then it must have a code. reasonCode.coding.system.exists() implies reasonCode.coding.code.exists()
nz-reasonCode-2 error Immunization If the reasonCode aka indication has a code, then it must have a system. reasonCode.coding.code.exists() implies reasonCode.coding.system.exists()
nz-route-1 error Immunization If the route of admin has a system, then it must have a code. route.coding.system.exists() implies route.coding.code.exists()
nz-route-2 error Immunization if the route of admin has a code, then it must have a system. route.coding.code.exists() implies route.coding.system.exists()
nz-site-1 error Immunization If the body site has a system, then it must have a code. site.coding.system.exists() implies site.coding.code.exists()
nz-site-2 error Immunization If the body site has a code, then it must have a system. site.coding.code.exists() implies site.coding.system.exists()
nz-status-reason-1 error Immunization If the status reason has a system, then it must have a code. statusReason.coding.system.exists() implies statusReason.coding.code.exists()
nz-status-reason-2 error Immunization If the status reason has a code, then it must have a system. statusReason.coding.code.exists() implies statusReason.coding.system.exists()

This structure is derived from Immunization

Summary

Mandatory: 3 elements(4 nested mandatory elements)
Prohibited: 12 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Immunization C 0..* Immunization Immunization event information
Constraints: nz-status-reason-1, nz-status-reason-2, nz-site-1, nz-site-2, nz-route-1, nz-route-2, nz-performer-function-1, nz-performer-function-2, nz-reasonCode-1, nz-reasonCode-2, air-resched-1
Immunization.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
Immunization.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
Immunization.Slices for extension.extension:administeredProduct 0..1 CodeableConcept AIR Administered Product Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-administered-product
Binding: AIR Administered Product Code (required)
Immunization.Slices for extension.extension:Diluent 0..1 (Complex) Immunization Diluent
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent
Immunization.Slices for extension.extension:MobileSiteId 0..1 string Immunization Facility Mobile Site
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site
Immunization.Slices for extension.extension:AgeGiven 0..1 (Complex) AIR Age Given Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given
Immunization.Slices for extension.extension:relatedPersonExtension 0..* Reference(AIR Related Person Profile) AIR Related Person
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension
Immunization.Slices for extension.extension:serologyReportExtension 0..1 Reference(AIR Serology Report Profile) AIR Serology Report Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension
Immunization.Slices for extension.extension:rescheduleDateExtension 0..* date AIR Reschedule Date Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date
Immunization.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Immunization.status This element is a modifier element. This element is included in summaries. 1..1 code completed | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.
Immunization.statusReason 0..1 CodeableConcept Reason not done
Binding: AIR Status Reason Code (preferred)
Immunization.statusReason.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode This element is included in summaries. 1..1 CodeableConcept Vaccine product administered
Binding: AIR Vaccine Product (preferred)
Immunization.vaccineCode.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Immunization.vaccineCode.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Immunization.patient This element is included in summaries. 1..1 Reference(Patient) Who was immunized
Immunization.occurrence[x] This element is included in summaries. 1..1 dateTime Vaccine administration date
Immunization.location 0..1 Reference(AIR Location Profile) The location where the immunisation was administered.
Immunization.site 0..1 CodeableConcept The body site of the vaccine administration (SNOMED code).
Binding: AIR Body Site (preferred)
Immunization.site.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.route 0..1 CodeableConcept The route of administation of the vaccine.
Binding: AIR Route of Administration (preferred)
Immunization.route.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.reasonCode 0..* CodeableConcept Why immunization occurred
Binding: AIR Indication Code (preferred)
Immunization.protocolApplied 0..1 BackboneElement Protocol followed by the provider
Immunization.protocolApplied.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Immunization.protocolApplied.doseNumber[x] 1..1 positiveInt Dose number within series

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Immunization.status Base required Immunization Status Codes 📍4.0.1 FHIR Std.
Immunization.statusReason Base preferred AIR Status Reason Code 📦1.29.0-SNAPSHOT This IG
Immunization.vaccineCode Base preferred AIR Vaccine Product 📦1.29.0-SNAPSHOT This IG
Immunization.site Base preferred AIR Body Site 📦1.29.0-SNAPSHOT This IG
Immunization.route Base preferred AIR Route of Administration 📦1.29.0-SNAPSHOT This IG
Immunization.reasonCode Base preferred AIR Indication Code 📦1.29.0-SNAPSHOT This IG

Constraints

Id Grade Path(s) Description Expression
air-resched-1 error Immunization Only allow a reschedule date if status NOT DONE and statusReason related to rescheduling. extension.where(url = 'https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date').exists() implies status.value = 'not-done' and statusReason.coding.where(code = 'RESCHO' | 'RESREF' | 'RESTC').allTrue()
dom-2 error Immunization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Immunization 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 Immunization 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 Immunization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Immunization 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()
nz-performer-function-1 error Immunization If the performer function has a system, then it must have a code. performer.function.coding.system.exists() implies performer.function.coding.code.exists()
nz-performer-function-2 error Immunization If the performer function has a code, then it must have a system. performer.function.coding.code.exists() implies performer.function.coding.system.exists()
nz-reasonCode-1 error Immunization If the reasonCode aka indication has a system, then it must have a code. reasonCode.coding.system.exists() implies reasonCode.coding.code.exists()
nz-reasonCode-2 error Immunization If the reasonCode aka indication has a code, then it must have a system. reasonCode.coding.code.exists() implies reasonCode.coding.system.exists()
nz-route-1 error Immunization If the route of admin has a system, then it must have a code. route.coding.system.exists() implies route.coding.code.exists()
nz-route-2 error Immunization if the route of admin has a code, then it must have a system. route.coding.code.exists() implies route.coding.system.exists()
nz-site-1 error Immunization If the body site has a system, then it must have a code. site.coding.system.exists() implies site.coding.code.exists()
nz-site-2 error Immunization If the body site has a code, then it must have a system. site.coding.code.exists() implies site.coding.system.exists()
nz-status-reason-1 error Immunization If the status reason has a system, then it must have a code. statusReason.coding.system.exists() implies statusReason.coding.code.exists()
nz-status-reason-2 error Immunization If the status reason has a code, then it must have a system. statusReason.coding.code.exists() implies statusReason.coding.system.exists()

Differential View

This structure is derived from Immunization

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Immunization C 0..* Immunization Immunization event information
Constraints: nz-status-reason-1, nz-status-reason-2, nz-site-1, nz-site-2, nz-route-1, nz-route-2, nz-performer-function-1, nz-performer-function-2, nz-reasonCode-1, nz-reasonCode-2, air-resched-1
Immunization.meta
Immunization.meta.Slices for extension Content/Rules for all slices
Immunization.meta.Slices for extension.extension:DataQualityAssessment 0..1 (Complex) Data Quality Assessment
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-data-quality-assessment
Immunization.meta.Slices for extension.extension:PlannedEventMatch 0..* (Complex) Planned Event Match
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match
Immunization.meta.Slices for extension.extension:PlannedEventMatchQuality 0..* (Complex) Planned Event Match Quality
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match-quality
Immunization.meta.Slices for extension.extension:CreatedSourceSystem 0..1 string AIR Created Source System
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-source-system
Immunization.meta.Slices for extension.extension:CreatedBy 0..1 string AIR Created By User
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-by
Immunization.meta.Slices for extension.extension:ModifiedSourceSystem 0..1 string AIR Modified Source System
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-source-system
Immunization.meta.Slices for extension.extension:ModifiedBy 0..1 string AIR Modified By User
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-by
Immunization.meta.Slices for extension.extension:CreatedDate 0..1 instant The instant when this resource ID was first associated with content on this server
URL: http://hl7.org/fhir/StructureDefinition/firstCreated
Immunization.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
Immunization.Slices for extension.extension:administeredProduct 0..1 CodeableConcept AIR Administered Product Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-administered-product
Binding: AIR Administered Product Code (required)
Immunization.Slices for extension.extension:Diluent 0..1 (Complex) Immunization Diluent
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent
Immunization.Slices for extension.extension:MobileSiteId 0..1 string Immunization Facility Mobile Site
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site
Immunization.Slices for extension.extension:AgeGiven 0..1 (Complex) AIR Age Given Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given
Immunization.Slices for extension.extension:relatedPersonExtension 0..* Reference(AIR Related Person Profile) AIR Related Person
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension
Immunization.Slices for extension.extension:serologyReportExtension 0..1 Reference(AIR Serology Report Profile) AIR Serology Report Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension
Immunization.Slices for extension.extension:rescheduleDateExtension 0..* date AIR Reschedule Date Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date
Immunization.statusReason 0..1 CodeableConcept Reason not done
Binding: AIR Status Reason Code (preferred)
Immunization.statusReason.coding 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode 1..1 CodeableConcept Vaccine product administered
Binding: AIR Vaccine Product (preferred)
Immunization.vaccineCode.coding 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode.coding.system 1..1 uri Identity of the terminology system
Immunization.vaccineCode.coding.code 1..1 code Symbol in syntax defined by the system
Immunization.patient 1..1 Reference(Patient) Who was immunized
Immunization.encounter 0..0 Encounter immunization was part of
Immunization.occurrence[x] 1..1 dateTime Vaccine administration date
Immunization.primarySource 0..0 Indicates context the data was recorded in
Immunization.reportOrigin 0..0 Indicates the source of a secondarily reported record
Immunization.location 0..1 Reference(AIR Location Profile) The location where the immunisation was administered.
Immunization.manufacturer 0..0 Vaccine manufacturer
Immunization.site 0..1 CodeableConcept The body site of the vaccine administration (SNOMED code).
Binding: AIR Body Site (preferred)
Immunization.site.coding 1..1 Coding Code defined by a terminology system
Immunization.route 0..1 CodeableConcept The route of administation of the vaccine.
Binding: AIR Route of Administration (preferred)
Immunization.route.coding 1..1 Coding Code defined by a terminology system
Immunization.doseQuantity 0..0 Amount of vaccine administered
Immunization.performer
Immunization.performer.function 0..1 CodeableConcept What type of performance was done
Binding: AIR Performer Health Worker Function (extensible)
Immunization.performer.function.coding 1..1 Coding Code defined by a terminology system
Immunization.performer.actor 1..1 Reference(AIR Practitioner Profile) Individual or organization who was performing
Immunization.note 0..0 Additional immunization notes
Immunization.reasonCode 0..* CodeableConcept Why immunization occurred
Binding: AIR Indication Code (preferred)
Immunization.isSubpotent 0..0 Dose potency
Immunization.subpotentReason 0..0 Reason for being subpotent
Immunization.education 0..0 Educational material presented to patient
Immunization.programEligibility 0..0 Patient eligibility for a vaccination program
Immunization.fundingSource 0..0 Funding source for the vaccine
Immunization.reaction 0..0 Details of a reaction that follows immunization
Immunization.protocolApplied 0..1 BackboneElement Protocol followed by the provider
Immunization.protocolApplied.doseNumber[x] 1..1 positiveInt Dose number within series

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Immunization.statusReason Base preferred AIR Status Reason Code 📦1.29.0-SNAPSHOT This IG
Immunization.vaccineCode Base preferred AIR Vaccine Product 📦1.29.0-SNAPSHOT This IG
Immunization.site Base preferred AIR Body Site 📦1.29.0-SNAPSHOT This IG
Immunization.route Base preferred AIR Route of Administration 📦1.29.0-SNAPSHOT This IG
Immunization.performer.​function Base extensible AIR Performer Health Worker Function 📦1.29.0-SNAPSHOT This IG
Immunization.reasonCode Base preferred AIR Indication Code 📦1.29.0-SNAPSHOT This IG

Constraints

Id Grade Path(s) Description Expression
air-resched-1 error Immunization Only allow a reschedule date if status NOT DONE and statusReason related to rescheduling. extension.where(url = 'https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date').exists() implies status.value = 'not-done' and statusReason.coding.where(code = 'RESCHO' | 'RESREF' | 'RESTC').allTrue()
nz-performer-function-1 error Immunization If the performer function has a system, then it must have a code. performer.function.coding.system.exists() implies performer.function.coding.code.exists()
nz-performer-function-2 error Immunization If the performer function has a code, then it must have a system. performer.function.coding.code.exists() implies performer.function.coding.system.exists()
nz-reasonCode-1 error Immunization If the reasonCode aka indication has a system, then it must have a code. reasonCode.coding.system.exists() implies reasonCode.coding.code.exists()
nz-reasonCode-2 error Immunization If the reasonCode aka indication has a code, then it must have a system. reasonCode.coding.code.exists() implies reasonCode.coding.system.exists()
nz-route-1 error Immunization If the route of admin has a system, then it must have a code. route.coding.system.exists() implies route.coding.code.exists()
nz-route-2 error Immunization if the route of admin has a code, then it must have a system. route.coding.code.exists() implies route.coding.system.exists()
nz-site-1 error Immunization If the body site has a system, then it must have a code. site.coding.system.exists() implies site.coding.code.exists()
nz-site-2 error Immunization If the body site has a code, then it must have a system. site.coding.code.exists() implies site.coding.system.exists()
nz-status-reason-1 error Immunization If the status reason has a system, then it must have a code. statusReason.coding.system.exists() implies statusReason.coding.code.exists()
nz-status-reason-2 error Immunization If the status reason has a code, then it must have a system. statusReason.coding.code.exists() implies statusReason.coding.system.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Immunization C 0..* Immunization Immunization event information
Constraints: nz-status-reason-1, nz-status-reason-2, nz-site-1, nz-site-2, nz-route-1, nz-route-2, nz-performer-function-1, nz-performer-function-2, nz-reasonCode-1, nz-reasonCode-2, air-resched-1
Immunization.id This element is included in summaries. 0..1 id Logical id of this artifact
Immunization.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Immunization.meta.id 0..1 string Unique id for inter-element referencing
Immunization.meta.Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.meta.Slices for extension.extension:DataQualityAssessment 0..1 (Complex) Data Quality Assessment
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-data-quality-assessment
Immunization.meta.Slices for extension.extension:PlannedEventMatch 0..* (Complex) Planned Event Match
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match
Immunization.meta.Slices for extension.extension:PlannedEventMatchQuality 0..* (Complex) Planned Event Match Quality
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match-quality
Immunization.meta.Slices for extension.extension:CreatedSourceSystem 0..1 string AIR Created Source System
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-source-system
Immunization.meta.Slices for extension.extension:CreatedBy 0..1 string AIR Created By User
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-by
Immunization.meta.Slices for extension.extension:ModifiedSourceSystem 0..1 string AIR Modified Source System
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-source-system
Immunization.meta.Slices for extension.extension:ModifiedBy 0..1 string AIR Modified By User
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-by
Immunization.meta.Slices for extension.extension:CreatedDate 0..1 instant The instant when this resource ID was first associated with content on this server
URL: http://hl7.org/fhir/StructureDefinition/firstCreated
Immunization.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Immunization.meta.lastUpdated This element is included in summaries. 0..1 instant When the resource version last changed
Immunization.meta.source This element is included in summaries. 0..1 uri Identifies where the resource comes from
Immunization.meta.profile This element is included in summaries. 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
Immunization.meta.security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Immunization.meta.tag This element is included in summaries. 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Immunization.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
Immunization.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Immunization.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
Immunization.contained 0..* Resource Contained, inline Resources
Immunization.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
Immunization.Slices for extension.extension:administeredProduct 0..1 CodeableConcept AIR Administered Product Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-administered-product
Binding: AIR Administered Product Code (required)
Immunization.Slices for extension.extension:Diluent 0..1 (Complex) Immunization Diluent
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent
Immunization.Slices for extension.extension:MobileSiteId 0..1 string Immunization Facility Mobile Site
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site
Immunization.Slices for extension.extension:AgeGiven 0..1 (Complex) AIR Age Given Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given
Immunization.Slices for extension.extension:relatedPersonExtension 0..* Reference(AIR Related Person Profile) AIR Related Person
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension
Immunization.Slices for extension.extension:serologyReportExtension 0..1 Reference(AIR Serology Report Profile) AIR Serology Report Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension
Immunization.Slices for extension.extension:rescheduleDateExtension 0..* date AIR Reschedule Date Extension
URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date
Immunization.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Immunization.identifier 0..* Identifier Business identifier
Immunization.status This element is a modifier element. This element is included in summaries. 1..1 code completed | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.
Immunization.statusReason 0..1 CodeableConcept Reason not done
Binding: AIR Status Reason Code (preferred)
Immunization.statusReason.id 0..1 string Unique id for inter-element referencing
Immunization.statusReason.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.statusReason.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.statusReason.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.vaccineCode This element is included in summaries. 1..1 CodeableConcept Vaccine product administered
Binding: AIR Vaccine Product (preferred)
Immunization.vaccineCode.id 0..1 string Unique id for inter-element referencing
Immunization.vaccineCode.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.vaccineCode.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.vaccineCode.coding.id 0..1 string Unique id for inter-element referencing
Immunization.vaccineCode.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.vaccineCode.coding.system This element is included in summaries. 1..1 uri Identity of the terminology system
Immunization.vaccineCode.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Immunization.vaccineCode.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Immunization.vaccineCode.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Immunization.vaccineCode.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Immunization.vaccineCode.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.patient This element is included in summaries. 1..1 Reference(Patient) Who was immunized
Immunization.occurrence[x] This element is included in summaries. 1..1 dateTime Vaccine administration date
Immunization.recorded 0..1 dateTime When the immunization was first captured in the subject's record
Immunization.location 0..1 Reference(AIR Location Profile) The location where the immunisation was administered.
Immunization.lotNumber 0..1 string Vaccine lot number
Immunization.expirationDate 0..1 date Vaccine expiration date
Immunization.site 0..1 CodeableConcept The body site of the vaccine administration (SNOMED code).
Binding: AIR Body Site (preferred)
Immunization.site.id 0..1 string Unique id for inter-element referencing
Immunization.site.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.site.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.site.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.route 0..1 CodeableConcept The route of administation of the vaccine.
Binding: AIR Route of Administration (preferred)
Immunization.route.id 0..1 string Unique id for inter-element referencing
Immunization.route.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.route.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.route.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.performer This element is included in summaries. 0..* BackboneElement Who performed event
Immunization.performer.id 0..1 string Unique id for inter-element referencing
Immunization.performer.extension 0..* Extension Additional content defined by implementations
Immunization.performer.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Immunization.performer.function This element is included in summaries. 0..1 CodeableConcept What type of performance was done
Binding: AIR Performer Health Worker Function (extensible)
Immunization.performer.function.id 0..1 string Unique id for inter-element referencing
Immunization.performer.function.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Immunization.performer.function.coding This element is included in summaries. 1..1 Coding Code defined by a terminology system
Immunization.performer.function.text This element is included in summaries. 0..1 string Plain text representation of the concept
Immunization.performer.actor This element is included in summaries. 1..1 Reference(AIR Practitioner Profile) Individual or organization who was performing
Immunization.reasonCode 0..* CodeableConcept Why immunization occurred
Binding: AIR Indication Code (preferred)
Immunization.reasonReference 0..* Reference(Condition | Observation | DiagnosticReport) Why immunization occurred
Immunization.protocolApplied 0..1 BackboneElement Protocol followed by the provider
Immunization.protocolApplied.id 0..1 string Unique id for inter-element referencing
Immunization.protocolApplied.extension 0..* Extension Additional content defined by implementations
Immunization.protocolApplied.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Immunization.protocolApplied.series 0..1 string Name of vaccine series
Immunization.protocolApplied.authority 0..1 Reference(Organization) Who is responsible for publishing the recommendations
Immunization.protocolApplied.targetDisease 0..* CodeableConcept Vaccine preventatable disease being targetted
Binding: ImmunizationTargetDiseaseCodes (example): The vaccine preventable disease the dose is being administered for.
Immunization.protocolApplied.doseNumber[x] 1..1 positiveInt Dose number within series
Immunization.protocolApplied.seriesDoses[x] 0..1 Recommended number of doses for immunity
Immunization.protocolApplied.seriesDoses[x].seriesDosesPositiveInt positiveInt
Immunization.protocolApplied.seriesDoses[x].seriesDosesString string

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Immunization.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Immunization.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Immunization.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Immunization.status Base required Immunization Status Codes 📍4.0.1 FHIR Std.
Immunization.statusReason Base preferred AIR Status Reason Code 📦1.29.0-SNAPSHOT This IG
Immunization.vaccineCode Base preferred AIR Vaccine Product 📦1.29.0-SNAPSHOT This IG
Immunization.site Base preferred AIR Body Site 📦1.29.0-SNAPSHOT This IG
Immunization.route Base preferred AIR Route of Administration 📦1.29.0-SNAPSHOT This IG
Immunization.performer.​function Base extensible AIR Performer Health Worker Function 📦1.29.0-SNAPSHOT This IG
Immunization.reasonCode Base preferred AIR Indication Code 📦1.29.0-SNAPSHOT This IG
Immunization.protocolApplied.​targetDisease Base example Immunization Target Disease Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
air-resched-1 error Immunization Only allow a reschedule date if status NOT DONE and statusReason related to rescheduling. extension.where(url = 'https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date').exists() implies status.value = 'not-done' and statusReason.coding.where(code = 'RESCHO' | 'RESREF' | 'RESTC').allTrue()
dom-2 error Immunization If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Immunization 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 Immunization 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 Immunization If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Immunization 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()
nz-performer-function-1 error Immunization If the performer function has a system, then it must have a code. performer.function.coding.system.exists() implies performer.function.coding.code.exists()
nz-performer-function-2 error Immunization If the performer function has a code, then it must have a system. performer.function.coding.code.exists() implies performer.function.coding.system.exists()
nz-reasonCode-1 error Immunization If the reasonCode aka indication has a system, then it must have a code. reasonCode.coding.system.exists() implies reasonCode.coding.code.exists()
nz-reasonCode-2 error Immunization If the reasonCode aka indication has a code, then it must have a system. reasonCode.coding.code.exists() implies reasonCode.coding.system.exists()
nz-route-1 error Immunization If the route of admin has a system, then it must have a code. route.coding.system.exists() implies route.coding.code.exists()
nz-route-2 error Immunization if the route of admin has a code, then it must have a system. route.coding.code.exists() implies route.coding.system.exists()
nz-site-1 error Immunization If the body site has a system, then it must have a code. site.coding.system.exists() implies site.coding.code.exists()
nz-site-2 error Immunization If the body site has a code, then it must have a system. site.coding.code.exists() implies site.coding.system.exists()
nz-status-reason-1 error Immunization If the status reason has a system, then it must have a code. statusReason.coding.system.exists() implies statusReason.coding.code.exists()
nz-status-reason-2 error Immunization If the status reason has a code, then it must have a system. statusReason.coding.code.exists() implies statusReason.coding.system.exists()

This structure is derived from Immunization

Summary

Mandatory: 3 elements(4 nested mandatory elements)
Prohibited: 12 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron