Aotearoa Immunisation Register (AIR) FHIR Implementation Guide (API-V2)
2.0.0-SNAPSHOT - ci-build
New Zealand
Aotearoa Immunisation Register (AIR) FHIR Implementation Guide (API-V2) - Local Development build (v2.0.0-SNAPSHOT) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://fhir-ig-uat.digital.health.nz/air/StructureDefinition/air-immunization | Version: 2.0.0-SNAPSHOT | |||
| Active as of 2026-08-31 | 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). 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
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.0.0-SNAPSHOT | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.0.0-SNAPSHOT | 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.0.0-SNAPSHOT | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.performer.function | Base | extensible | AIR Performer Health Worker Function | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.0.0-SNAPSHOT | 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.0.0-SNAPSHOT | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.performer.function | Base | extensible | AIR Performer Health Worker Function | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.0.0-SNAPSHOT | 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.0.0-SNAPSHOT | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.0.0-SNAPSHOT | 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.0.0-SNAPSHOT | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.performer.function | Base | extensible | AIR Performer Health Worker Function | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.0.0-SNAPSHOT | 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.0.0-SNAPSHOT | This IG |
| Immunization.vaccineCode | Base | preferred | AIR Vaccine Product | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.site | Base | preferred | AIR Body Site | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.route | Base | preferred | AIR Route of Administration | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.performer.function | Base | extensible | AIR Performer Health Worker Function | 📦2.0.0-SNAPSHOT | This IG |
| Immunization.reasonCode | Base | preferred | AIR Indication Code | 📦2.0.0-SNAPSHOT | 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