Aotearoa Immunisation Register (AIR) FHIR Implementation Guide
2.7.0 - ci-build
New Zealand
Aotearoa Immunisation Register (AIR) FHIR Implementation Guide - Local Development build (v2.7.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-immunization | Version: 2.7.0 | |||
| Active as of 2026-07-20 | 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.
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). As an example, an Immunisation Event is created for each jab given to a child according to the recommendations published in the National Immunisation Schedule (see this chart https://www.health.govt.nz/our-work/immunisation-handbook-2020/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 this page: Scheduled Events
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
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 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
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) | |
![]() ![]() ![]() |
0..1 | (Complex) | Immunization Diluent URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent | |
![]() ![]() ![]() |
0..1 | string | Immunization Facility Mobile Site URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site | |
![]() ![]() ![]() |
0..1 | (Complex) | AIR Age Given Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given | |
![]() ![]() ![]() |
0..* | Reference(AIR Related Person Profile) | AIR Related Person URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension | |
![]() ![]() ![]() |
0..1 | Reference(AIR Serology Report Profile) | AIR Serology Report Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension | |
![]() ![]() ![]() |
0..* | date | AIR Reschedule Date Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization. |
![]() ![]() |
0..1 | CodeableConcept | Reason not done Binding: AIR Status Reason Code (preferred) | |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() |
Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: AIR Vaccine Product (preferred) |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system |
![]() ![]() |
Σ | 1..1 | Reference(Patient) | Who was immunized |
![]() ![]() |
Σ | 1..1 | dateTime | Vaccine administration date |
![]() ![]() |
0..1 | Reference(AIR Location Profile) | The location where the immunisation was administered. | |
![]() ![]() |
0..1 | CodeableConcept | The body site of the vaccine administration (SNOMED code). Binding: AIR Body Site (preferred) | |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() |
0..1 | CodeableConcept | The route of administation of the vaccine. Binding: AIR Route of Administration (preferred) | |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() |
0..* | CodeableConcept | Why immunization occurred Binding: AIR Indication Code (preferred) | |
![]() ![]() |
0..1 | BackboneElement | Protocol followed by the provider | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | Dose number within series | |
Documentation for this format | ||||
| 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 | 📦2.7.0 | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.7.0 | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.7.0 | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.7.0 | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.7.0 | This IG |
| 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
| Path | Status | Usage | ValueSet | Version | Source |
| Immunization.statusReason | Base | preferred | AIR Status Reason Code | 📦2.7.0 | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.7.0 | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.7.0 | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.7.0 | This IG |
| Immunization.performer.function | Base | extensible | AIR Performer Health Worker Function | 📦2.7.0 | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.7.0 | This IG |
| 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()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..1 | (Complex) | Data Quality Assessment URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-data-quality-assessment | |||||
![]() ![]() ![]() ![]() |
0..* | (Complex) | Planned Event Match URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match | |||||
![]() ![]() ![]() ![]() |
0..* | (Complex) | Planned Event Match Quality URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match-quality | |||||
![]() ![]() ![]() ![]() |
0..1 | string | AIR Created Source System URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-source-system | |||||
![]() ![]() ![]() ![]() |
0..1 | string | AIR Created By User URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-by | |||||
![]() ![]() ![]() ![]() |
0..1 | string | AIR Modified Source System URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-source-system | |||||
![]() ![]() ![]() ![]() |
0..1 | string | AIR Modified By User URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-by | |||||
![]() ![]() ![]() ![]() |
0..1 | instant | The instant when this resource ID was first associated with content on this server URL: http://hl7.org/fhir/StructureDefinition/firstCreated | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 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". | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
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) | |||||
![]() ![]() ![]() |
0..1 | (Complex) | Immunization Diluent URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent | |||||
![]() ![]() ![]() |
0..1 | string | Immunization Facility Mobile Site URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site | |||||
![]() ![]() ![]() |
0..1 | (Complex) | AIR Age Given Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given | |||||
![]() ![]() ![]() |
0..* | Reference(AIR Related Person Profile) | AIR Related Person URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension | |||||
![]() ![]() ![]() |
0..1 | Reference(AIR Serology Report Profile) | AIR Serology Report Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension | |||||
![]() ![]() ![]() |
0..* | date | AIR Reschedule Date Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
0..* | Identifier | Business identifier | |||||
![]() ![]() |
?!Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization. | ||||
![]() ![]() |
0..1 | CodeableConcept | Reason not done Binding: AIR Status Reason Code (preferred) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: AIR Vaccine Product (preferred) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 1..1 | Reference(Patient) | Who was immunized | ||||
![]() ![]() |
Σ | 1..1 | dateTime | Vaccine administration date | ||||
![]() ![]() |
0..1 | dateTime | When the immunization was first captured in the subject's record | |||||
![]() ![]() |
0..1 | Reference(AIR Location Profile) | The location where the immunisation was administered. | |||||
![]() ![]() |
0..1 | string | Vaccine lot number | |||||
![]() ![]() |
0..1 | date | Vaccine expiration date | |||||
![]() ![]() |
0..1 | CodeableConcept | The body site of the vaccine administration (SNOMED code). Binding: AIR Body Site (preferred) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
0..1 | CodeableConcept | The route of administation of the vaccine. Binding: AIR Route of Administration (preferred) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Who performed event | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | What type of performance was done Binding: AIR Performer Health Worker Function (extensible) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(AIR Practitioner Profile) | Individual or organization who was performing | ||||
![]() ![]() |
0..* | CodeableConcept | Why immunization occurred Binding: AIR Indication Code (preferred) | |||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred | |||||
![]() ![]() |
0..1 | BackboneElement | Protocol followed by the provider | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | string | Name of vaccine series | |||||
![]() ![]() ![]() |
0..1 | Reference(Organization) | Who is responsible for publishing the recommendations | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: ImmunizationTargetDiseaseCodes (example): The vaccine preventable disease the dose is being administered for. | |||||
![]() ![]() ![]() |
1..1 | string | Dose number within series | |||||
![]() ![]() ![]() |
0..1 | Recommended number of doses for immunity | ||||||
![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() |
string | |||||||
Documentation for this format | ||||||||
| 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 | 📦2.7.0 | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.7.0 | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.7.0 | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.7.0 | This IG |
| Immunization.performer.function | Base | extensible | AIR Performer Health Worker Function | 📦2.7.0 | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.7.0 | This IG |
| Immunization.protocolApplied.targetDisease | Base | example | Immunization Target Disease Codes | 📍4.0.1 | FHIR Std. |
| 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
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 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
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) | |
![]() ![]() ![]() |
0..1 | (Complex) | Immunization Diluent URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent | |
![]() ![]() ![]() |
0..1 | string | Immunization Facility Mobile Site URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site | |
![]() ![]() ![]() |
0..1 | (Complex) | AIR Age Given Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given | |
![]() ![]() ![]() |
0..* | Reference(AIR Related Person Profile) | AIR Related Person URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension | |
![]() ![]() ![]() |
0..1 | Reference(AIR Serology Report Profile) | AIR Serology Report Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension | |
![]() ![]() ![]() |
0..* | date | AIR Reschedule Date Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization. |
![]() ![]() |
0..1 | CodeableConcept | Reason not done Binding: AIR Status Reason Code (preferred) | |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() |
Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: AIR Vaccine Product (preferred) |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system |
![]() ![]() |
Σ | 1..1 | Reference(Patient) | Who was immunized |
![]() ![]() |
Σ | 1..1 | dateTime | Vaccine administration date |
![]() ![]() |
0..1 | Reference(AIR Location Profile) | The location where the immunisation was administered. | |
![]() ![]() |
0..1 | CodeableConcept | The body site of the vaccine administration (SNOMED code). Binding: AIR Body Site (preferred) | |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() |
0..1 | CodeableConcept | The route of administation of the vaccine. Binding: AIR Route of Administration (preferred) | |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() |
0..* | CodeableConcept | Why immunization occurred Binding: AIR Indication Code (preferred) | |
![]() ![]() |
0..1 | BackboneElement | Protocol followed by the provider | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | Dose number within series | |
Documentation for this format | ||||
| 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 | 📦2.7.0 | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.7.0 | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.7.0 | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.7.0 | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.7.0 | This IG |
| 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
| Path | Status | Usage | ValueSet | Version | Source |
| Immunization.statusReason | Base | preferred | AIR Status Reason Code | 📦2.7.0 | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.7.0 | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.7.0 | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.7.0 | This IG |
| Immunization.performer.function | Base | extensible | AIR Performer Health Worker Function | 📦2.7.0 | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.7.0 | This IG |
| 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
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 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..1 | (Complex) | Data Quality Assessment URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-data-quality-assessment | |||||
![]() ![]() ![]() ![]() |
0..* | (Complex) | Planned Event Match URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match | |||||
![]() ![]() ![]() ![]() |
0..* | (Complex) | Planned Event Match Quality URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-planned-event-match-quality | |||||
![]() ![]() ![]() ![]() |
0..1 | string | AIR Created Source System URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-source-system | |||||
![]() ![]() ![]() ![]() |
0..1 | string | AIR Created By User URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-created-by | |||||
![]() ![]() ![]() ![]() |
0..1 | string | AIR Modified Source System URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-source-system | |||||
![]() ![]() ![]() ![]() |
0..1 | string | AIR Modified By User URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-modified-by | |||||
![]() ![]() ![]() ![]() |
0..1 | instant | The instant when this resource ID was first associated with content on this server URL: http://hl7.org/fhir/StructureDefinition/firstCreated | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 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". | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
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) | |||||
![]() ![]() ![]() |
0..1 | (Complex) | Immunization Diluent URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-diluent | |||||
![]() ![]() ![]() |
0..1 | string | Immunization Facility Mobile Site URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-mobile-site | |||||
![]() ![]() ![]() |
0..1 | (Complex) | AIR Age Given Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-age-given | |||||
![]() ![]() ![]() |
0..* | Reference(AIR Related Person Profile) | AIR Related Person URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-extension | |||||
![]() ![]() ![]() |
0..1 | Reference(AIR Serology Report Profile) | AIR Serology Report Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-serology-report-extension | |||||
![]() ![]() ![]() |
0..* | date | AIR Reschedule Date Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-reschedule-date | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
0..* | Identifier | Business identifier | |||||
![]() ![]() |
?!Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization. | ||||
![]() ![]() |
0..1 | CodeableConcept | Reason not done Binding: AIR Status Reason Code (preferred) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: AIR Vaccine Product (preferred) | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 1..1 | Reference(Patient) | Who was immunized | ||||
![]() ![]() |
Σ | 1..1 | dateTime | Vaccine administration date | ||||
![]() ![]() |
0..1 | dateTime | When the immunization was first captured in the subject's record | |||||
![]() ![]() |
0..1 | Reference(AIR Location Profile) | The location where the immunisation was administered. | |||||
![]() ![]() |
0..1 | string | Vaccine lot number | |||||
![]() ![]() |
0..1 | date | Vaccine expiration date | |||||
![]() ![]() |
0..1 | CodeableConcept | The body site of the vaccine administration (SNOMED code). Binding: AIR Body Site (preferred) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
0..1 | CodeableConcept | The route of administation of the vaccine. Binding: AIR Route of Administration (preferred) | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Who performed event | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | What type of performance was done Binding: AIR Performer Health Worker Function (extensible) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() ![]() |
Σ | 1..1 | Reference(AIR Practitioner Profile) | Individual or organization who was performing | ||||
![]() ![]() |
0..* | CodeableConcept | Why immunization occurred Binding: AIR Indication Code (preferred) | |||||
![]() ![]() |
0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred | |||||
![]() ![]() |
0..1 | BackboneElement | Protocol followed by the provider | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..1 | string | Name of vaccine series | |||||
![]() ![]() ![]() |
0..1 | Reference(Organization) | Who is responsible for publishing the recommendations | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: ImmunizationTargetDiseaseCodes (example): The vaccine preventable disease the dose is being administered for. | |||||
![]() ![]() ![]() |
1..1 | string | Dose number within series | |||||
![]() ![]() ![]() |
0..1 | Recommended number of doses for immunity | ||||||
![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() |
string | |||||||
Documentation for this format | ||||||||
| 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 | 📦2.7.0 | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.7.0 | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.7.0 | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.7.0 | This IG |
| Immunization.performer.function | Base | extensible | AIR Performer Health Worker Function | 📦2.7.0 | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.7.0 | This IG |
| Immunization.protocolApplied.targetDisease | Base | example | Immunization Target Disease Codes | 📍4.0.1 | FHIR Std. |
| 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