AU Core Implementation Guide
2.0.1-ci-build - CI Build AU

AU Core Implementation Guide, published by HL7 Australia. This guide is not an authorized publication; it is the continuous build for version 2.0.1-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7au/au-fhir-core/ and changes regularly. See the Directory of published versions

## Resource Profile: AU Core Immunization

Official URL: http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization | Version: 2.0.1-ci-build
Standards status: Trial-use | Maturity Level: 2 | Computable Name: AUCoreImmunization
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.

This profile sets minimum expectations for an Immunization resource to record, search, and fetch immunisation history associated with a patient. It is based on the AU Base Immunization profile and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the Immunization resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.

See Comparison with other national and international IGs for a comparison between AU Core profiles and profiles in other implementation guides.

### Usage Scenarios

The following are supported usage scenarios for this profile:

- Query for a patient's immunisations
- Record or update an immunisation record for a patient

### Profile Specific Implementation Guidance

- When populating `Immunization.vaccineCode` responders SHALL correctly populate `Immunization.vaccineCode.coding` with either a code from Australian Medicines Terminology Vaccine or Australian Immunisation Register Vaccine, or both, if a coded value is known and MAY populate with a code from another code system.
  - Responders MAY populate with only text if no coded value is known.

The additional obligation for `Immunization.occurrenceDateTime` for AU Core Responder is SHOULD:populate. There is no additional obligation for AU Core Requester, the obligation of SHALL:no-error applies.

This obligation is present in the underlying structure but due to a tooling limitation is not currently rendered in the Formal Views of Profile Content. See Zulip discussion for more information.

Usages:

- Examples for this Profile: Immunization/covid-1 and Immunization/zoster-notgiven
- CapabilityStatements using this Profile: AU Core Requester CapabilityStatement and AU Core Responder CapabilityStatement

You can also check for usages in the FHIR IG Statistics

Changes since version 1.0.0:

- The resource metadata has changed (description)
- The data elements list has changed

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | AUBaseImmunization | An immunisation statement in an Australian healthcare context
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:vaccineVialSerialNumber |  | 0..1 | string | Vaccine vial serial number URL: http://hl7.org.au/fhir/StructureDefinition/vaccine-serial-number
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!SO Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
vaccineCode | SO Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: VaccineAdministeredValueSet (example)
Additional Bindings | Purpose
Australian Medicines Terminology Vaccine | Preferred
Australian Immunisation Register Vaccine | Preferred
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:amtVaccineCode | SO Σ | 0..1 | Coding | Code defined by a terminology system Binding: Australian Medicines Terminology Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
coding:airVaccineCode | SO Σ | 0..1 | Coding | Code defined by a terminology system Binding: Australian Immunisation Register Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
patient | SO Σ | 1..1 | Reference(AU Core Patient) | Who was immunized
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrence[x] | SO Σ | 1..1 |  | Vaccine administration date
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
primarySource | SO Σ | 0..1 | boolean | Indicates context the data was recorded in
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
lotNumber | SO | 0..1 | string | Vaccine lot number
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for performer | Σ | 0..* | BackboneElement | Who performed event Slice: Unordered, Open by pattern:function
performer:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing
performer:administeredBy | Σ | 0..1 | BackboneElement | Immunisation Administered By
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 1..1 | CodeableConcept | Administering role Binding: hl7VS-providerRole - AU Extended (extensible) Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0443
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: AP
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Administering performer
performer:approvedBy | Σ | 0..1 | BackboneElement | Immunisation Approved By
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 1..1 | CodeableConcept | Approver role Binding: hl7VS-providerRole - AU Extended (extensible) Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0443
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: OP
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Approver
note | SO Σ | 0..* | Annotation | Additional immunization notes
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.status | Base | required | Immunization Status Codes | 📍4.0.1 | FHIR Std.
Immunization.vaccineCode | Base | example | Vaccine Administered Value Set | 📍4.0.1 | FHIR Std.
Immunization.vaccineCode.​coding:amtVaccineCode | Base | required | Australian Medicines Terminology Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.vaccineCode.​coding:airVaccineCode | Base | required | Australian Immunisation Register Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.performer:administeredBy.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull
Immunization.performer:approvedBy.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`

This structure is derived from AUBaseImmunization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | AUBaseImmunization | An immunisation statement in an Australian healthcare context
status | SO | 1..1 | code | completed | entered-in-error | not-done
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
vaccineCode | SO | 1..1 | CodeableConcept | Vaccine product administered
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for coding |  | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:amtVaccineCode | SO | 0..1 | Coding | Code defined by a terminology system Binding: Australian Medicines Terminology Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
coding:airVaccineCode | SO | 0..1 | Coding | Code defined by a terminology system Binding: Australian Immunisation Register Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
patient | SO | 1..1 | Reference(AU Core Patient) | Who was immunized
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrence[x] | SO | 1..1 |  | Vaccine administration date
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
primarySource | SO | 0..1 | boolean | Indicates context the data was recorded in
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
lotNumber | SO | 0..1 | string | Vaccine lot number
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
note | SO | 0..* | Annotation | Additional immunization notes
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Immunization.vaccineCode.​coding:amtVaccineCode | Base | required | Australian Medicines Terminology Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.vaccineCode.​coding:airVaccineCode | Base | required | Australian Immunisation Register Vaccine | ⏿1.0.2 | tx.hl7.org.au

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | AUBaseImmunization | An immunisation statement in an Australian healthcare context
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:vaccineVialSerialNumber |  | 0..1 | string | Vaccine vial serial number URL: http://hl7.org.au/fhir/StructureDefinition/vaccine-serial-number
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier |  | 0..* | Identifier | Business identifier
status | ?!SO Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
statusReason |  | 0..1 | CodeableConcept | Reason not done Binding: Reason Vaccine Not Administered (preferred)
vaccineCode | SO Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: VaccineAdministeredValueSet (example)
Additional Bindings | Purpose
Australian Medicines Terminology Vaccine | Preferred
Australian Immunisation Register Vaccine | Preferred
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:amtVaccineCode | SO Σ | 0..1 | Coding | Code defined by a terminology system Binding: Australian Medicines Terminology Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
coding:airVaccineCode | SO Σ | 0..1 | Coding | Code defined by a terminology system Binding: Australian Immunisation Register Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
text | Σ | 0..1 | string | Plain text representation of the concept
patient | SO Σ | 1..1 | Reference(AU Core Patient) | Who was immunized
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
encounter |  | 0..1 | Reference(Encounter) | Encounter immunization was part of
occurrence[x] | SO Σ | 1..1 |  | Vaccine administration date
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 0..1 | dateTime | When the immunization was first captured in the subject's record
primarySource | SO Σ | 0..1 | boolean | Indicates context the data was recorded in
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
reportOrigin |  | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ImmunizationOriginCodes (example): The source of the data for a record which is not from a primary source.
location |  | 0..1 | Reference(Location) | Where immunization occurred
manufacturer |  | 0..1 | Reference(Organization) | Vaccine manufacturer
lotNumber | SO | 0..1 | string | Vaccine lot number
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
expirationDate |  | 0..1 | date | Vaccine expiration date
site |  | 0..1 | CodeableConcept | Body site vaccine was administered Binding: Immunisation Anatomical Site (preferred)
route |  | 0..1 | CodeableConcept | How vaccine entered body Binding: Immunisation Route of Administration (preferred)
doseQuantity |  | 0..1 | SimpleQuantity(4.0.1) | Amount of vaccine administered
Slices for performer | Σ | 0..* | BackboneElement | Who performed event Slice: Unordered, Open by pattern:function
performer:All Slices |  |  |  | Content/Rules for all slices
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 0..1 | CodeableConcept | What type of performance was done Binding: hl7VS-providerRole - AU Extended (extensible)
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing
performer:administeredBy | Σ | 0..1 | BackboneElement | Immunisation Administered By
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 1..1 | CodeableConcept | Administering role Binding: hl7VS-providerRole - AU Extended (extensible) Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0443
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: AP
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Administering performer
performer:approvedBy | Σ | 0..1 | BackboneElement | Immunisation Approved By
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 1..1 | CodeableConcept | Approver role Binding: hl7VS-providerRole - AU Extended (extensible) Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0443
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: OP
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Approver
note | SO Σ | 0..* | Annotation | Additional immunization notes
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
reasonCode |  | 0..* | CodeableConcept | Why immunization occurred Binding: Reason Vaccine Administered (preferred)
reasonReference |  | 0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
subpotentReason |  | 0..* | CodeableConcept | Reason for being subpotent Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent.
education | C | 0..* | BackboneElement | Educational material presented to patient Constraints: imm-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
documentType |  | 0..1 | string | Educational material document identifier
reference |  | 0..1 | uri | Educational material reference pointer
publicationDate |  | 0..1 | dateTime | Educational material publication date
presentationDate |  | 0..1 | dateTime | Educational material presentation date
programEligibility |  | 0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ImmunizationProgramEligibility (example): The patient's eligibility for a vaccation program.
fundingSource |  | 0..1 | CodeableConcept | Funding source for the vaccine Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered.
reaction |  | 0..* | BackboneElement | Details of a reaction that follows immunization
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
date |  | 0..1 | dateTime | When reaction started
detail |  | 0..1 | Reference(Observation) | Additional information on reaction
reported |  | 0..1 | boolean | Indicates self-reported reaction
protocolApplied |  | 0..* | BackboneElement | Protocol followed by the provider
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
series |  | 0..1 | string | Name of vaccine series
authority |  | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations
targetDisease |  | 0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: Vaccination Target Disease (preferred)
doseNumber[x] |  | 1..1 |  | Dose number within series
doseNumberPositiveInt |  |  | positiveInt |
doseNumberString |  |  | string |
seriesDoses[x] |  | 0..1 |  | Recommended number of doses for immunity
seriesDosesPositiveInt |  |  | positiveInt |
seriesDosesString |  |  | string |
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
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 | Reason Vaccine Not Administered | ⏿3.0.0 | tx.hl7.org.au
Immunization.vaccineCode | Base | example | Vaccine Administered Value Set | 📍4.0.1 | FHIR Std.
Immunization.vaccineCode.​coding:amtVaccineCode | Base | required | Australian Medicines Terminology Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.vaccineCode.​coding:airVaccineCode | Base | required | Australian Immunisation Register Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.reportOrigin | Base | example | Immunization Origin Codes | 📍4.0.1 | FHIR Std.
Immunization.site | Base | preferred | Immunisation Anatomical Site | ⏿1.0.2 | tx.hl7.org.au
Immunization.route | Base | preferred | Immunisation Route of Administration | ⏿1.0.2 | tx.hl7.org.au
Immunization.performer.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull
Immunization.performer:administeredBy.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull
Immunization.performer:approvedBy.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull
Immunization.reasonCode | Base | preferred | Reason Vaccine Administered | ⏿1.0.2 | tx.hl7.org.au
Immunization.subpotentReason | Base | example | Immunization Subpotent Reason | 📍4.0.1 | FHIR Std.
Immunization.programEligibility | Base | example | Immunization Program Eligibility | 📍4.0.1 | FHIR Std.
Immunization.fundingSource | Base | example | Immunization Funding Source | 📍4.0.1 | FHIR Std.
Immunization.protocolApplied.​targetDisease | Base | preferred | Vaccination Target Disease | ⏿1.0.2 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`
imm-1 | error | Immunization.education | One of documentType or reference SHALL be present | `documentType.exists() or reference.exists()`

This structure is derived from AUBaseImmunization

Summary

Must-Support: 9 elements

Structures

This structure refers to these other structures:

- AU Core Patient (http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Immunization.vaccineCode.coding

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | AUBaseImmunization | An immunisation statement in an Australian healthcare context
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:vaccineVialSerialNumber |  | 0..1 | string | Vaccine vial serial number URL: http://hl7.org.au/fhir/StructureDefinition/vaccine-serial-number
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!SO Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
vaccineCode | SO Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: VaccineAdministeredValueSet (example)
Additional Bindings | Purpose
Australian Medicines Terminology Vaccine | Preferred
Australian Immunisation Register Vaccine | Preferred
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:amtVaccineCode | SO Σ | 0..1 | Coding | Code defined by a terminology system Binding: Australian Medicines Terminology Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
coding:airVaccineCode | SO Σ | 0..1 | Coding | Code defined by a terminology system Binding: Australian Immunisation Register Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
patient | SO Σ | 1..1 | Reference(AU Core Patient) | Who was immunized
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrence[x] | SO Σ | 1..1 |  | Vaccine administration date
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
primarySource | SO Σ | 0..1 | boolean | Indicates context the data was recorded in
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
lotNumber | SO | 0..1 | string | Vaccine lot number
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for performer | Σ | 0..* | BackboneElement | Who performed event Slice: Unordered, Open by pattern:function
performer:All Slices |  |  |  | Content/Rules for all slices
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing
performer:administeredBy | Σ | 0..1 | BackboneElement | Immunisation Administered By
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 1..1 | CodeableConcept | Administering role Binding: hl7VS-providerRole - AU Extended (extensible) Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0443
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: AP
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Administering performer
performer:approvedBy | Σ | 0..1 | BackboneElement | Immunisation Approved By
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 1..1 | CodeableConcept | Approver role Binding: hl7VS-providerRole - AU Extended (extensible) Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0443
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: OP
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Approver
note | SO Σ | 0..* | Annotation | Additional immunization notes
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.status | Base | required | Immunization Status Codes | 📍4.0.1 | FHIR Std.
Immunization.vaccineCode | Base | example | Vaccine Administered Value Set | 📍4.0.1 | FHIR Std.
Immunization.vaccineCode.​coding:amtVaccineCode | Base | required | Australian Medicines Terminology Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.vaccineCode.​coding:airVaccineCode | Base | required | Australian Immunisation Register Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.performer:administeredBy.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull
Immunization.performer:approvedBy.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`

Differential View

This structure is derived from AUBaseImmunization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | AUBaseImmunization | An immunisation statement in an Australian healthcare context
status | SO | 1..1 | code | completed | entered-in-error | not-done
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
vaccineCode | SO | 1..1 | CodeableConcept | Vaccine product administered
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Slices for coding |  | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:amtVaccineCode | SO | 0..1 | Coding | Code defined by a terminology system Binding: Australian Medicines Terminology Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
coding:airVaccineCode | SO | 0..1 | Coding | Code defined by a terminology system Binding: Australian Immunisation Register Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
patient | SO | 1..1 | Reference(AU Core Patient) | Who was immunized
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrence[x] | SO | 1..1 |  | Vaccine administration date
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
primarySource | SO | 0..1 | boolean | Indicates context the data was recorded in
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
lotNumber | SO | 0..1 | string | Vaccine lot number
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
note | SO | 0..* | Annotation | Additional immunization notes
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Immunization.vaccineCode.​coding:amtVaccineCode | Base | required | Australian Medicines Terminology Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.vaccineCode.​coding:airVaccineCode | Base | required | Australian Immunisation Register Vaccine | ⏿1.0.2 | tx.hl7.org.au

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | AUBaseImmunization | An immunisation statement in an Australian healthcare context
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:vaccineVialSerialNumber |  | 0..1 | string | Vaccine vial serial number URL: http://hl7.org.au/fhir/StructureDefinition/vaccine-serial-number
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier |  | 0..* | Identifier | Business identifier
status | ?!SO Σ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required): A set of codes indicating the current status of an Immunization.
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
statusReason |  | 0..1 | CodeableConcept | Reason not done Binding: Reason Vaccine Not Administered (preferred)
vaccineCode | SO Σ | 1..1 | CodeableConcept | Vaccine product administered Binding: VaccineAdministeredValueSet (example)
Additional Bindings | Purpose
Australian Medicines Terminology Vaccine | Preferred
Australian Immunisation Register Vaccine | Preferred
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by pattern:$this
coding:amtVaccineCode | SO Σ | 0..1 | Coding | Code defined by a terminology system Binding: Australian Medicines Terminology Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
coding:airVaccineCode | SO Σ | 0..1 | Coding | Code defined by a terminology system Binding: Australian Immunisation Register Vaccine (required)
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
text | Σ | 0..1 | string | Plain text representation of the concept
patient | SO Σ | 1..1 | Reference(AU Core Patient) | Who was immunized
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
encounter |  | 0..1 | Reference(Encounter) | Encounter immunization was part of
occurrence[x] | SO Σ | 1..1 |  | Vaccine administration date
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 0..1 | dateTime | When the immunization was first captured in the subject's record
primarySource | SO Σ | 0..1 | boolean | Indicates context the data was recorded in
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
reportOrigin |  | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ImmunizationOriginCodes (example): The source of the data for a record which is not from a primary source.
location |  | 0..1 | Reference(Location) | Where immunization occurred
manufacturer |  | 0..1 | Reference(Organization) | Vaccine manufacturer
lotNumber | SO | 0..1 | string | Vaccine lot number
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
expirationDate |  | 0..1 | date | Vaccine expiration date
site |  | 0..1 | CodeableConcept | Body site vaccine was administered Binding: Immunisation Anatomical Site (preferred)
route |  | 0..1 | CodeableConcept | How vaccine entered body Binding: Immunisation Route of Administration (preferred)
doseQuantity |  | 0..1 | SimpleQuantity(4.0.1) | Amount of vaccine administered
Slices for performer | Σ | 0..* | BackboneElement | Who performed event Slice: Unordered, Open by pattern:function
performer:All Slices |  |  |  | Content/Rules for all slices
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 0..1 | CodeableConcept | What type of performance was done Binding: hl7VS-providerRole - AU Extended (extensible)
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing
performer:administeredBy | Σ | 0..1 | BackboneElement | Immunisation Administered By
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 1..1 | CodeableConcept | Administering role Binding: hl7VS-providerRole - AU Extended (extensible) Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0443
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: AP
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Administering performer
performer:approvedBy | Σ | 0..1 | BackboneElement | Immunisation Approved By
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
function | Σ | 1..1 | CodeableConcept | Approver role Binding: hl7VS-providerRole - AU Extended (extensible) Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0443
version |  | 0..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: OP
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Approver
note | SO Σ | 0..* | Annotation | Additional immunization notes
Obligations | Actor
SHALL:populate-if-known | AU Core Responder
SHALL:no-error | AU Core Requester
reasonCode |  | 0..* | CodeableConcept | Why immunization occurred Binding: Reason Vaccine Administered (preferred)
reasonReference |  | 0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
subpotentReason |  | 0..* | CodeableConcept | Reason for being subpotent Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent.
education | C | 0..* | BackboneElement | Educational material presented to patient Constraints: imm-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
documentType |  | 0..1 | string | Educational material document identifier
reference |  | 0..1 | uri | Educational material reference pointer
publicationDate |  | 0..1 | dateTime | Educational material publication date
presentationDate |  | 0..1 | dateTime | Educational material presentation date
programEligibility |  | 0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ImmunizationProgramEligibility (example): The patient's eligibility for a vaccation program.
fundingSource |  | 0..1 | CodeableConcept | Funding source for the vaccine Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered.
reaction |  | 0..* | BackboneElement | Details of a reaction that follows immunization
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
date |  | 0..1 | dateTime | When reaction started
detail |  | 0..1 | Reference(Observation) | Additional information on reaction
reported |  | 0..1 | boolean | Indicates self-reported reaction
protocolApplied |  | 0..* | BackboneElement | Protocol followed by the provider
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
series |  | 0..1 | string | Name of vaccine series
authority |  | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations
targetDisease |  | 0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: Vaccination Target Disease (preferred)
doseNumber[x] |  | 1..1 |  | Dose number within series
doseNumberPositiveInt |  |  | positiveInt |
doseNumberString |  |  | string |
seriesDoses[x] |  | 0..1 |  | Recommended number of doses for immunity
seriesDosesPositiveInt |  |  | positiveInt |
seriesDosesString |  |  | string |
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
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 | Reason Vaccine Not Administered | ⏿3.0.0 | tx.hl7.org.au
Immunization.vaccineCode | Base | example | Vaccine Administered Value Set | 📍4.0.1 | FHIR Std.
Immunization.vaccineCode.​coding:amtVaccineCode | Base | required | Australian Medicines Terminology Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.vaccineCode.​coding:airVaccineCode | Base | required | Australian Immunisation Register Vaccine | ⏿1.0.2 | tx.hl7.org.au
Immunization.reportOrigin | Base | example | Immunization Origin Codes | 📍4.0.1 | FHIR Std.
Immunization.site | Base | preferred | Immunisation Anatomical Site | ⏿1.0.2 | tx.hl7.org.au
Immunization.route | Base | preferred | Immunisation Route of Administration | ⏿1.0.2 | tx.hl7.org.au
Immunization.performer.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull
Immunization.performer:administeredBy.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull
Immunization.performer:approvedBy.​function | Base | extensible | hl7VS-providerRole - AU Extended | 📦6.0.1-ci-build | AU Base Implementation Guide vnull
Immunization.reasonCode | Base | preferred | Reason Vaccine Administered | ⏿1.0.2 | tx.hl7.org.au
Immunization.subpotentReason | Base | example | Immunization Subpotent Reason | 📍4.0.1 | FHIR Std.
Immunization.programEligibility | Base | example | Immunization Program Eligibility | 📍4.0.1 | FHIR Std.
Immunization.fundingSource | Base | example | Immunization Funding Source | 📍4.0.1 | FHIR Std.
Immunization.protocolApplied.​targetDisease | Base | preferred | Vaccination Target Disease | ⏿1.0.2 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
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()`
imm-1 | error | Immunization.education | One of documentType or reference SHALL be present | `documentType.exists() or reference.exists()`

This structure is derived from AUBaseImmunization

Summary

Must-Support: 9 elements

Structures

This structure refers to these other structures:

- AU Core Patient (http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Immunization.vaccineCode.coding

Maturity: 2

Other representations of profile: CSV, Excel, Schematron

### Notes:

Below is an overview of the mandatory and optional search parameters and combined search parameters. See the AU Core CapabilityStatements for a complete list of supported RESTful interactions for this IG.

FHIR search operations are described here and the syntax used to describe AU Core interactions is defined here.

Any search parameter defined in FHIR may be 'allowed' by the system unless explicitly marked as "SHALL NOT". A few items are marked as MAY in this implementation guide to highlight their potential relevance.

Parameter(s) | Conformance | Type(s) | Requirements (when used alone or in combination)
--- | --- | --- | ---
patient | SHALL | `reference` | The requester SHALL provide at least an id value and MAY provide both the Type and id values. The responder SHALL support both. The requester SHOULD support chained search patient.identifier using IHI, Medicare Number, and DVA Number identifiers as defined in the AU Core Patient profile. The responder SHOULD support chained search patient.identifier using IHI, Medicare Number, and DVA Number identifiers as defined in the AU Core Patient profile.
patient+status | SHALL | `reference`+`token` |
patient+date | SHOULD | `reference`+`date` |
date | MAY | `date` | A requester SHALL provide a value precise to the second + time offset. A responder SHALL support a value precise to the second + time offset. The requester SHALL support these search comparators `gt`, `lt`, `ge`, `le`. The responder SHALL support these search comparators `gt`, `lt`, `ge`, `le`. The requester SHOULD support `multipleAnd`, and if `multipleAnd` is supported, SHALL support the search comparators `gt`, `lt`, `ge`, `le`. The responder SHOULD support `multipleAnd`, and if `multipleAnd` is supported, SHALL support the search comparators `gt`, `lt`, `ge`, `le`.
patient+vaccine-code | MAY | `reference`+`token` |
status | MAY | `token` | The requester SHALL provide at least a code value and MAY provide both the system and code values. The responder SHALL support both.
vaccine-code | MAY | `token` | The requester SHALL provide at least a code value and MAY provide both the system and code values. The responder SHALL support both.

#### Mandatory Search Parameters:

The following search parameters and search parameter combinations SHALL be supported:

1. SHALL support searching using the `patient` search parameter:
   - SHOULD support chained searching of patient canonical identifier `patient.identifier` (e.g. `patient.identifier=[system|][code]`)

   `GET [base]/Immunization?patient={Type/}[id]` or optionally`GET [base]/Immunization?patient.identifier=[system|][code]`

   Example:

   1. GET [base]/Immunization?patient=5678
   2. GET [base]/Immunization?patient.identifier=http://ns.electronichealth.net.au/id/medicare-number|32788511952
   3. GET [base]/Immunization?patient.identifier=http://ns.electronichealth.net.au/id/hi/ihi/1.0|8003608833357361

   Implementation Notes: Fetches a bundle of all Immunization resources for the specified patient (how to search by reference and how to search by token)

2. SHALL support searching using the combination of the `patient` and `status` search parameters:
   - SHOULD support chained searching of patient canonical identifier `patient.identifier` (e.g. `patient.identifier=[system|][code]`)

   `GET [base]/Immunization?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}`

   Example:

   1. GET [base]/Immunization?patient=5678&status=not-done

   Implementation Notes: Fetches a bundle of all Immunization resources for the specified patient and status (how to search by reference and how to search by token)

#### Optional Search Parameters:

The following search parameters and search parameter combinations SHOULD be supported:

1. SHOULD support searching using the combination of the `patient` and `date` search parameters:
   - SHOULD support chained searching of patient canonical identifier `patient.identifier` (e.g. `patient.identifier=[system|][code]`)
   - SHALL support these `date` comparators: `gt,lt,ge,le`
   - SHOULD support multipleAnd search on `date` (e.g. `date=[date]&date=[date]]&...`), and if multipleAnd is supported, SHALL support the search comparators `gt,lt,ge,le`

   `GET [base]/Immunization?patient={Type/}[id]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}`

   Example:

   1. GET [base]/Immunization?patient=5678&date=ge2020-01-01T00:00:00Z
   2. GET [base]/Immunization?patient.identifier=http://example.org/fhir/mrn|12345&date=ge2020-01-01T00:00:00Z

   Implementation Notes: Fetches a bundle of all Immunization resources for the specified patient and date (how to search by reference and how to search by date)