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

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

## Resource Profile: Immunization Schedule Plan Definition

Official URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-agvs-plan-definition | Version: 1.28.0-SNAPSHOT
Active as of 2026-08-04 | Computable Name: AIRAGVSPlanDefinition

Defines an immunization schedule with a series of doses, including custom extensions.

Usages:

- Refer to this Profile: AIR CarePlan Profile

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PlanDefinition | C | 0..* | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context Constraints: pdf-0
id | S Σ | 1..1 | id | Logical id of this artifact
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 3..* | Extension | Extension Slice: Unordered, Open by value:url
extension:schedule-type-extension |  | 1..1 | Coding | Schedule Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-schedule-type-extension
extension:series-type-extension |  | 1..1 | Coding | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-series-type-extension
extension:trigger-extension |  | 1..1 | Coding | AIR Trigger Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-trigger-extension
extension:antigen-group-extension |  | 0..1 | Coding | AIR Antigen Group Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-antigen-group-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
version | S Σ | 1..1 | string | Business version of the plan definition
name | S Σ C | 1..1 | string | Name for this plan definition (computer friendly)
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
end | S Σ C | 1..1 | dateTime | End time with inclusive boundary, if not ongoing
action |  | 1..* | BackboneElement | Action defined by the plan
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
Slices for definition[x] |  | 1..1 | canonical(ActivityDefinition | PlanDefinition | Questionnaire) | Description of the activity to be performed Slice: Unordered, Closed by type:$this
definition[x]:definitionCanonical |  | 1..1 | canonical(Immunization Dose Recommendation) | Description of the activity to be performed
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PlanDefinition.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PlanDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PlanDefinition | 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 | PlanDefinition | 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 | PlanDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PlanDefinition | 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()`
pdf-0 | warning | PlanDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`

This structure is derived from PlanDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PlanDefinition |  | 0..* | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context
id | S | 1..1 | id | Logical id of this artifact
Slices for extension |  | 3..* | Extension | Extension Slice: Unordered, Open by value:url
extension:schedule-type-extension |  | 1..1 | Coding | Schedule Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-schedule-type-extension
extension:series-type-extension |  | 1..1 | Coding | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-series-type-extension
extension:trigger-extension |  | 1..1 | Coding | AIR Trigger Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-trigger-extension
extension:antigen-group-extension |  | 0..1 | Coding | AIR Antigen Group Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-antigen-group-extension
version | S | 1..1 | string | Business version of the plan definition
name | S | 1..1 | string | Name for this plan definition (computer friendly)
status | S | 1..1 | code | draft | active | retired | unknown
effectivePeriod |  |  |  |
start | S | 1..1 | dateTime | Starting time with inclusive boundary
end | S | 1..1 | dateTime | End time with inclusive boundary, if not ongoing
action |  | 1..* | BackboneElement | Action defined by the plan
Slices for definition[x] |  | 1..1 | canonical(ActivityDefinition | PlanDefinition | Questionnaire) | Description of the activity to be performed Slice: Unordered, Open by type:$this
definition[x]:definitionCanonical |  | 1..1 | canonical(Immunization Dose Recommendation) | Description of the activity to be performed
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PlanDefinition | C | 0..* | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context Constraints: pdf-0
id | S Σ | 1..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 |  | 3..* | Extension | Extension Slice: Unordered, Open by value:url
extension:schedule-type-extension |  | 1..1 | Coding | Schedule Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-schedule-type-extension
extension:series-type-extension |  | 1..1 | Coding | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-series-type-extension
extension:trigger-extension |  | 1..1 | Coding | AIR Trigger Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-trigger-extension
extension:antigen-group-extension |  | 0..1 | Coding | AIR Antigen Group Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-antigen-group-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Canonical identifier for this plan definition, represented as a URI (globally unique)
identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition
version | S Σ | 1..1 | string | Business version of the plan definition
name | S Σ C | 1..1 | string | Name for this plan definition (computer friendly)
title | Σ | 0..1 | string | Name for this plan definition (human friendly)
subtitle |  | 0..1 | string | Subordinate title of the plan definition
type | Σ | 0..1 | CodeableConcept | order-set | clinical-protocol | eca-rule | workflow-definition Binding: PlanDefinitionType (extensible): The type of PlanDefinition.
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
subject[x] |  | 0..1 |  | Type of individual the plan definition is focused on Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description | Σ | 0..1 | markdown | Natural language description of the plan definition
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this plan definition is defined
usage |  | 0..1 | string | Describes the clinical usage of the plan
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
approvalDate |  | 0..1 | date | When the plan definition was approved by publisher
lastReviewDate |  | 0..1 | date | When the plan definition was last reviewed
effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
end | S Σ C | 1..1 | dateTime | End time with inclusive boundary, if not ongoing
topic |  | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.
author |  | 0..* | ContactDetail | Who authored the content
editor |  | 0..* | ContactDetail | Who edited the content
reviewer |  | 0..* | ContactDetail | Who reviewed the content
endorser |  | 0..* | ContactDetail | Who endorsed the content
relatedArtifact |  | 0..* | RelatedArtifact | Additional documentation, citations
library |  | 0..* | canonical(Library) | Logic used by the plan definition
goal |  | 0..* | BackboneElement | What the plan is trying to accomplish
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
category |  | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.
description |  | 1..1 | CodeableConcept | Code or text describing the goal Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.
priority |  | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.
start |  | 0..1 | CodeableConcept | When goal pursuit begins Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.
addresses |  | 0..* | CodeableConcept | What does the goal address Binding: Condition/Problem/DiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.
documentation |  | 0..* | RelatedArtifact | Supporting documentation for the goal
target |  | 0..* | BackboneElement | Target outcome for the goal
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
measure |  | 0..1 | CodeableConcept | The parameter whose value is to be tracked Binding: LOINCCodes (example): Identifies types of parameters that can be tracked to determine goal achievement.
detail[x] |  | 0..1 |  | The target value to be achieved
detailQuantity |  |  | Quantity |
detailRange |  |  | Range |
detailCodeableConcept |  |  | CodeableConcept |
due |  | 0..1 | Duration | Reach goal within
action |  | 1..* | BackboneElement | Action defined by the plan
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
prefix |  | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.)
title |  | 0..1 | string | User-visible title
description |  | 0..1 | string | Brief description of the action
textEquivalent |  | 0..1 | string | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
priority |  | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
code |  | 0..* | CodeableConcept | Code representing the meaning of the action or sub-actions
reason |  | 0..* | CodeableConcept | Why the action should be performed
documentation |  | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action
goalId |  | 0..* | id | What goals this action supports
subject[x] |  | 0..1 |  | Type of individual the action is focused on Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
trigger |  | 0..* | TriggerDefinition | When the action should be triggered
condition |  | 0..* | BackboneElement | Whether or not the action is applicable
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
kind |  | 1..1 | code | applicability | start | stop Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.
expression |  | 0..1 | Expression | Boolean-valued expression
input |  | 0..* | DataRequirement | Input data requirements
output |  | 0..* | DataRequirement | Output data definition
relatedAction |  | 0..* | BackboneElement | Relationship to another action
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
actionId |  | 1..1 | id | What action is this related to
relationship |  | 1..1 | code | before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end Binding: ActionRelationshipType (required): Defines the types of relationships between actions.
offset[x] |  | 0..1 |  | Time offset for the relationship
offsetDuration |  |  | Duration |
offsetRange |  |  | Range |
timing[x] |  | 0..1 |  | When the action should take place
timingDateTime |  |  | dateTime |
timingAge |  |  | Age |
timingPeriod |  |  | Period |
timingDuration |  |  | Duration |
timingRange |  |  | Range |
timingTiming |  |  | Timing |
participant |  | 0..* | BackboneElement | Who should participate in the action
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
type |  | 1..1 | code | patient | practitioner | related-person | device Binding: ActionParticipantType (required): The type of participant for the action.
role |  | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: ActionParticipantRole (example): Defines roles played by participants for the action.
type |  | 0..1 | CodeableConcept | create | update | remove | fire-event Binding: ActionType (extensible): The type of action to be performed.
groupingBehavior |  | 0..1 | code | visual-group | logical-group | sentence-group Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.
selectionBehavior |  | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.
requiredBehavior |  | 0..1 | code | must | could | must-unless-documented Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.
precheckBehavior |  | 0..1 | code | yes | no Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.
cardinalityBehavior |  | 0..1 | code | single | multiple Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.
Slices for definition[x] |  | 1..1 | canonical(ActivityDefinition | PlanDefinition | Questionnaire) | Description of the activity to be performed Slice: Unordered, Closed by type:$this
definition[x]:definitionCanonical |  | 1..1 | canonical(Immunization Dose Recommendation) | Description of the activity to be performed
transform |  | 0..1 | canonical(StructureMap) | Transform to apply the template
dynamicValue |  | 0..* | BackboneElement | Dynamic aspects of the definition
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
path |  | 0..1 | string | The path to the element to be set dynamically
expression |  | 0..1 | Expression | An expression that provides the dynamic value for the customization
action |  | 0..* | See action (PlanDefinition) | A sub-action
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PlanDefinition.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
PlanDefinition.type | Base | extensible | PlanDefinitionType | 📍4.0.1 | FHIR Std.
PlanDefinition.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
PlanDefinition.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
PlanDefinition.jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
PlanDefinition.topic | Base | example | DefinitionTopic | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​category | Base | example | Goal category | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​description | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​priority | Base | preferred | Goal priority | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​start | Base | example | Goal start event | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​addresses | Base | example | Condition/Problem/Diagnosis Codes | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​target.measure | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​condition.kind | Base | required | ActionConditionKind | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​relatedAction.relationship | Base | required | ActionRelationshipType | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​participant.type | Base | required | ActionParticipantType | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​participant.role | Base | example | Action participant role | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​type | Base | extensible | ActionType | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​groupingBehavior | Base | required | ActionGroupingBehavior | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​selectionBehavior | Base | required | ActionSelectionBehavior | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​requiredBehavior | Base | required | ActionRequiredBehavior | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​precheckBehavior | Base | required | ActionPrecheckBehavior | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​cardinalityBehavior | Base | required | ActionCardinalityBehavior | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PlanDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PlanDefinition | 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 | PlanDefinition | 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 | PlanDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PlanDefinition | 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()`
pdf-0 | warning | PlanDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`

This structure is derived from PlanDefinition

Summary

Mandatory: 9 elements(2 nested mandatory elements)
Must-Support: 6 elements

Structures

This structure refers to these other structures:

- Immunization Dose Recommendation (https://standards.digital.health.nz/fhir/air/StructureDefinition/air-dose-definition)

Extensions

This structure refers to these extensions:

- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-schedule-type-extension
- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-series-type-extension
- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-trigger-extension
- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-antigen-group-extension

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of PlanDefinition.action.definition[x]

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PlanDefinition | C | 0..* | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context Constraints: pdf-0
id | S Σ | 1..1 | id | Logical id of this artifact
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 3..* | Extension | Extension Slice: Unordered, Open by value:url
extension:schedule-type-extension |  | 1..1 | Coding | Schedule Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-schedule-type-extension
extension:series-type-extension |  | 1..1 | Coding | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-series-type-extension
extension:trigger-extension |  | 1..1 | Coding | AIR Trigger Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-trigger-extension
extension:antigen-group-extension |  | 0..1 | Coding | AIR Antigen Group Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-antigen-group-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
version | S Σ | 1..1 | string | Business version of the plan definition
name | S Σ C | 1..1 | string | Name for this plan definition (computer friendly)
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
end | S Σ C | 1..1 | dateTime | End time with inclusive boundary, if not ongoing
action |  | 1..* | BackboneElement | Action defined by the plan
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
Slices for definition[x] |  | 1..1 | canonical(ActivityDefinition | PlanDefinition | Questionnaire) | Description of the activity to be performed Slice: Unordered, Closed by type:$this
definition[x]:definitionCanonical |  | 1..1 | canonical(Immunization Dose Recommendation) | Description of the activity to be performed
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PlanDefinition.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PlanDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PlanDefinition | 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 | PlanDefinition | 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 | PlanDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PlanDefinition | 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()`
pdf-0 | warning | PlanDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`

Differential View

This structure is derived from PlanDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PlanDefinition |  | 0..* | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context
id | S | 1..1 | id | Logical id of this artifact
Slices for extension |  | 3..* | Extension | Extension Slice: Unordered, Open by value:url
extension:schedule-type-extension |  | 1..1 | Coding | Schedule Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-schedule-type-extension
extension:series-type-extension |  | 1..1 | Coding | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-series-type-extension
extension:trigger-extension |  | 1..1 | Coding | AIR Trigger Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-trigger-extension
extension:antigen-group-extension |  | 0..1 | Coding | AIR Antigen Group Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-antigen-group-extension
version | S | 1..1 | string | Business version of the plan definition
name | S | 1..1 | string | Name for this plan definition (computer friendly)
status | S | 1..1 | code | draft | active | retired | unknown
effectivePeriod |  |  |  |
start | S | 1..1 | dateTime | Starting time with inclusive boundary
end | S | 1..1 | dateTime | End time with inclusive boundary, if not ongoing
action |  | 1..* | BackboneElement | Action defined by the plan
Slices for definition[x] |  | 1..1 | canonical(ActivityDefinition | PlanDefinition | Questionnaire) | Description of the activity to be performed Slice: Unordered, Open by type:$this
definition[x]:definitionCanonical |  | 1..1 | canonical(Immunization Dose Recommendation) | Description of the activity to be performed
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PlanDefinition | C | 0..* | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context Constraints: pdf-0
id | S Σ | 1..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 |  | 3..* | Extension | Extension Slice: Unordered, Open by value:url
extension:schedule-type-extension |  | 1..1 | Coding | Schedule Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-schedule-type-extension
extension:series-type-extension |  | 1..1 | Coding | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-series-type-extension
extension:trigger-extension |  | 1..1 | Coding | AIR Trigger Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-trigger-extension
extension:antigen-group-extension |  | 0..1 | Coding | AIR Antigen Group Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-antigen-group-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Canonical identifier for this plan definition, represented as a URI (globally unique)
identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition
version | S Σ | 1..1 | string | Business version of the plan definition
name | S Σ C | 1..1 | string | Name for this plan definition (computer friendly)
title | Σ | 0..1 | string | Name for this plan definition (human friendly)
subtitle |  | 0..1 | string | Subordinate title of the plan definition
type | Σ | 0..1 | CodeableConcept | order-set | clinical-protocol | eca-rule | workflow-definition Binding: PlanDefinitionType (extensible): The type of PlanDefinition.
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
subject[x] |  | 0..1 |  | Type of individual the plan definition is focused on Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description | Σ | 0..1 | markdown | Natural language description of the plan definition
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this plan definition is defined
usage |  | 0..1 | string | Describes the clinical usage of the plan
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
approvalDate |  | 0..1 | date | When the plan definition was approved by publisher
lastReviewDate |  | 0..1 | date | When the plan definition was last reviewed
effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
start | S Σ C | 1..1 | dateTime | Starting time with inclusive boundary
end | S Σ C | 1..1 | dateTime | End time with inclusive boundary, if not ongoing
topic |  | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.
author |  | 0..* | ContactDetail | Who authored the content
editor |  | 0..* | ContactDetail | Who edited the content
reviewer |  | 0..* | ContactDetail | Who reviewed the content
endorser |  | 0..* | ContactDetail | Who endorsed the content
relatedArtifact |  | 0..* | RelatedArtifact | Additional documentation, citations
library |  | 0..* | canonical(Library) | Logic used by the plan definition
goal |  | 0..* | BackboneElement | What the plan is trying to accomplish
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
category |  | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.
description |  | 1..1 | CodeableConcept | Code or text describing the goal Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.
priority |  | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.
start |  | 0..1 | CodeableConcept | When goal pursuit begins Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.
addresses |  | 0..* | CodeableConcept | What does the goal address Binding: Condition/Problem/DiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.
documentation |  | 0..* | RelatedArtifact | Supporting documentation for the goal
target |  | 0..* | BackboneElement | Target outcome for the goal
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
measure |  | 0..1 | CodeableConcept | The parameter whose value is to be tracked Binding: LOINCCodes (example): Identifies types of parameters that can be tracked to determine goal achievement.
detail[x] |  | 0..1 |  | The target value to be achieved
detailQuantity |  |  | Quantity |
detailRange |  |  | Range |
detailCodeableConcept |  |  | CodeableConcept |
due |  | 0..1 | Duration | Reach goal within
action |  | 1..* | BackboneElement | Action defined by the plan
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
prefix |  | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.)
title |  | 0..1 | string | User-visible title
description |  | 0..1 | string | Brief description of the action
textEquivalent |  | 0..1 | string | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
priority |  | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
code |  | 0..* | CodeableConcept | Code representing the meaning of the action or sub-actions
reason |  | 0..* | CodeableConcept | Why the action should be performed
documentation |  | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action
goalId |  | 0..* | id | What goals this action supports
subject[x] |  | 0..1 |  | Type of individual the action is focused on Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
subjectCodeableConcept |  |  | CodeableConcept |
subjectReference |  |  | Reference(Group) |
trigger |  | 0..* | TriggerDefinition | When the action should be triggered
condition |  | 0..* | BackboneElement | Whether or not the action is applicable
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
kind |  | 1..1 | code | applicability | start | stop Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.
expression |  | 0..1 | Expression | Boolean-valued expression
input |  | 0..* | DataRequirement | Input data requirements
output |  | 0..* | DataRequirement | Output data definition
relatedAction |  | 0..* | BackboneElement | Relationship to another action
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
actionId |  | 1..1 | id | What action is this related to
relationship |  | 1..1 | code | before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end Binding: ActionRelationshipType (required): Defines the types of relationships between actions.
offset[x] |  | 0..1 |  | Time offset for the relationship
offsetDuration |  |  | Duration |
offsetRange |  |  | Range |
timing[x] |  | 0..1 |  | When the action should take place
timingDateTime |  |  | dateTime |
timingAge |  |  | Age |
timingPeriod |  |  | Period |
timingDuration |  |  | Duration |
timingRange |  |  | Range |
timingTiming |  |  | Timing |
participant |  | 0..* | BackboneElement | Who should participate in the action
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
type |  | 1..1 | code | patient | practitioner | related-person | device Binding: ActionParticipantType (required): The type of participant for the action.
role |  | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: ActionParticipantRole (example): Defines roles played by participants for the action.
type |  | 0..1 | CodeableConcept | create | update | remove | fire-event Binding: ActionType (extensible): The type of action to be performed.
groupingBehavior |  | 0..1 | code | visual-group | logical-group | sentence-group Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.
selectionBehavior |  | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.
requiredBehavior |  | 0..1 | code | must | could | must-unless-documented Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.
precheckBehavior |  | 0..1 | code | yes | no Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.
cardinalityBehavior |  | 0..1 | code | single | multiple Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.
Slices for definition[x] |  | 1..1 | canonical(ActivityDefinition | PlanDefinition | Questionnaire) | Description of the activity to be performed Slice: Unordered, Closed by type:$this
definition[x]:definitionCanonical |  | 1..1 | canonical(Immunization Dose Recommendation) | Description of the activity to be performed
transform |  | 0..1 | canonical(StructureMap) | Transform to apply the template
dynamicValue |  | 0..* | BackboneElement | Dynamic aspects of the definition
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
path |  | 0..1 | string | The path to the element to be set dynamically
expression |  | 0..1 | Expression | An expression that provides the dynamic value for the customization
action |  | 0..* | See action (PlanDefinition) | A sub-action
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PlanDefinition.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
PlanDefinition.type | Base | extensible | PlanDefinitionType | 📍4.0.1 | FHIR Std.
PlanDefinition.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
PlanDefinition.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
PlanDefinition.jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
PlanDefinition.topic | Base | example | DefinitionTopic | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​category | Base | example | Goal category | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​description | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​priority | Base | preferred | Goal priority | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​start | Base | example | Goal start event | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​addresses | Base | example | Condition/Problem/Diagnosis Codes | 📍4.0.1 | FHIR Std.
PlanDefinition.goal.​target.measure | Base | example | LOINC Codes | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​condition.kind | Base | required | ActionConditionKind | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​relatedAction.relationship | Base | required | ActionRelationshipType | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​participant.type | Base | required | ActionParticipantType | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​participant.role | Base | example | Action participant role | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​type | Base | extensible | ActionType | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​groupingBehavior | Base | required | ActionGroupingBehavior | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​selectionBehavior | Base | required | ActionSelectionBehavior | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​requiredBehavior | Base | required | ActionRequiredBehavior | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​precheckBehavior | Base | required | ActionPrecheckBehavior | 📍4.0.1 | FHIR Std.
PlanDefinition.action.​cardinalityBehavior | Base | required | ActionCardinalityBehavior | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | PlanDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PlanDefinition | 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 | PlanDefinition | 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 | PlanDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PlanDefinition | 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()`
pdf-0 | warning | PlanDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.matches('[A-Z]([A-Za-z0-9_]){0,254}')`

This structure is derived from PlanDefinition

Summary

Mandatory: 9 elements(2 nested mandatory elements)
Must-Support: 6 elements

Structures

This structure refers to these other structures:

- Immunization Dose Recommendation (https://standards.digital.health.nz/fhir/air/StructureDefinition/air-dose-definition)

Extensions

This structure refers to these extensions:

- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-schedule-type-extension
- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-series-type-extension
- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-trigger-extension
- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-antigen-group-extension

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of PlanDefinition.action.definition[x]

Other representations of profile: CSV, Excel, Schematron