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 Dose Recommendation

Official URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-dose-definition | Version: 1.28.0-SNAPSHOT
Draft as of 2026-08-04 | Computable Name: AIRDoseDefinition

Defines a dose recommendation in an immunization schedule.

Usages:

- Refer to this Profile: Immunization Schedule Plan Definition

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
--- | --- | --- | --- | ---
ActivityDefinition | C | 0..* | ActivityDefinition | The definition of a specific activity to be taken, independent of any particular patient or context Constraints: adf-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 |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:_timingAge |  | 0..1 | string | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-timingAge-ISO8601-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
kind | Σ | 0..1 | code | Kind of resource Binding: RequestResourceType (required): The kind of activity the definition is describing. Fixed Value: ImmunizationRecommendation
code | Σ | 1..1 | CodeableConcept | Detail type of activity Binding: ProcedureCodes(SNOMEDCT) (example): Detailed type of the activity; e.g. CBC.
doNotPerform | ?!Σ | 0..1 | boolean | True if the activity should not be performed
Slices for timing[x] |  | 0..1 |  | When activity is to occur Slice: Unordered, Open by type:$this
timingTiming |  |  | Timing |
timingDateTime |  |  | dateTime |
timingAge |  |  | Age |
timingPeriod |  |  | Period |
timingRange |  |  | Range |
timingDuration |  |  | Duration |
timing[x]:timingAge |  | 0..1 | Age | When activity is to occur
value | S Σ | 1..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
system | S Σ C | 1..1 | uri | System that defines coded unit form
code | S Σ | 1..1 | code | Coded form of the unit
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ActivityDefinition.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
ActivityDefinition.kind | Base | required | RequestResourceType | 📍4.0.1 | FHIR Std.
ActivityDefinition.code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
ActivityDefinition.timing[x]:timingAge.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
adf-0 | warning | ActivityDefinition | 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}')`
dom-2 | error | ActivityDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | ActivityDefinition | 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 | ActivityDefinition | 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 | ActivityDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | ActivityDefinition | 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 ActivityDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ActivityDefinition |  | 0..* | ActivityDefinition | The definition of a specific activity to be taken, independent of any particular patient or context
id | S | 1..1 | id | Logical id of this artifact
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:_timingAge |  | 0..1 | string | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-timingAge-ISO8601-extension
status | S | 1..1 | code | draft | active | retired | unknown
kind |  | 0..1 | code | Kind of resource Fixed Value: ImmunizationRecommendation
code |  | 1..1 | CodeableConcept | Detail type of activity
Slices for timing[x] |  | 0..1 | Timing, dateTime, Age, Period, Range, Duration | When activity is to occur Slice: Unordered, Open by type:$this
timing[x]:timingAge |  | 0..1 | Age | When activity is to occur
value | S | 1..1 | decimal | Numerical value (with implicit precision)
system | S | 1..1 | uri | System that defines coded unit form
code | S | 1..1 | code | Coded form of the unit
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ActivityDefinition | C | 0..* | ActivityDefinition | The definition of a specific activity to be taken, independent of any particular patient or context Constraints: adf-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 |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:_timingAge |  | 0..1 | string | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-timingAge-ISO8601-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Canonical identifier for this activity definition, represented as a URI (globally unique)
identifier | Σ | 0..* | Identifier | Additional identifier for the activity definition
version | Σ | 0..1 | string | Business version of the activity definition
name | Σ C | 0..1 | string | Name for this activity definition (computer friendly)
title | Σ | 0..1 | string | Name for this activity definition (human friendly)
subtitle |  | 0..1 | string | Subordinate title of the activity definition
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 activity definition is intended for Binding: SubjectType (extensible): The possible types of subjects for an activity (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 activity definition
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for activity definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this activity definition is defined
usage |  | 0..1 | string | Describes the clinical usage of the activity definition
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
approvalDate |  | 0..1 | date | When the activity definition was approved by publisher
lastReviewDate |  | 0..1 | date | When the activity definition was last reviewed
effectivePeriod | Σ | 0..1 | Period | When the activity definition is expected to be used
topic |  | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. 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, etc.
library |  | 0..* | canonical(Library) | Logic used by the activity definition
kind | Σ | 0..1 | code | Kind of resource Binding: RequestResourceType (required): The kind of activity the definition is describing. Fixed Value: ImmunizationRecommendation
profile |  | 0..1 | canonical(StructureDefinition) | What profile the resource needs to conform to
code | Σ | 1..1 | CodeableConcept | Detail type of activity Binding: ProcedureCodes(SNOMEDCT) (example): Detailed type of the activity; e.g. CBC.
intent |  | 0..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): Codes indicating the degree of authority/intentionality associated with a request.
priority |  | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
doNotPerform | ?!Σ | 0..1 | boolean | True if the activity should not be performed
Slices for timing[x] |  | 0..1 |  | When activity is to occur Slice: Unordered, Open by type:$this
timingTiming |  |  | Timing |
timingDateTime |  |  | dateTime |
timingAge |  |  | Age |
timingPeriod |  |  | Period |
timingRange |  |  | Range |
timingDuration |  |  | Duration |
timing[x]:timingAge |  | 0..1 | Age | When activity is to occur
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 1..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | S Σ C | 1..1 | uri | System that defines coded unit form
code | S Σ | 1..1 | code | Coded form of the unit
location |  | 0..1 | Reference(Location) | Where it should happen
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 in the activity.
role |  | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent, etc. Binding: ActionParticipantRole (example): Defines roles played by participants for the action.
product[x] |  | 0..1 |  | What's administered/supplied Binding: SNOMEDCTMedicationCodes (example): Code describing the type of substance or medication.
productReference |  |  | Reference(Medication | Substance) |
productCodeableConcept |  |  | CodeableConcept |
quantity |  | 0..1 | SimpleQuantity(4.0.1) | How much is administered/consumed/supplied
dosage |  | 0..* | Dosage | Detailed dosage instructions
bodySite |  | 0..* | CodeableConcept | What part of body to perform on Binding: SNOMEDCTBodyStructures (example): A code that identifies the anatomical location.
specimenRequirement |  | 0..* | Reference(SpecimenDefinition) | What specimens are required to perform this action
observationRequirement |  | 0..* | Reference(ObservationDefinition) | What observations are required to perform this action
observationResultRequirement |  | 0..* | Reference(ObservationDefinition) | What observations must be produced by this action
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 |  | 1..1 | string | The path to the element to be set dynamically
expression |  | 1..1 | Expression | An expression that provides the dynamic value for the customization
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ActivityDefinition.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
ActivityDefinition.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
ActivityDefinition.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
ActivityDefinition.jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
ActivityDefinition.topic | Base | example | DefinitionTopic | 📍4.0.1 | FHIR Std.
ActivityDefinition.kind | Base | required | RequestResourceType | 📍4.0.1 | FHIR Std.
ActivityDefinition.code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
ActivityDefinition.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std.
ActivityDefinition.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
ActivityDefinition.timing[x]:timingAge.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
ActivityDefinition.participant.​type | Base | required | ActionParticipantType | 📍4.0.1 | FHIR Std.
ActivityDefinition.participant.​role | Base | example | Action participant role | 📍4.0.1 | FHIR Std.
ActivityDefinition.product[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
ActivityDefinition.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
adf-0 | warning | ActivityDefinition | 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}')`
dom-2 | error | ActivityDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | ActivityDefinition | 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 | ActivityDefinition | 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 | ActivityDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | ActivityDefinition | 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 ActivityDefinition

Summary

Mandatory: 2 elements(3 nested mandatory elements)
Must-Support: 5 elements
Fixed: 1 element

Extensions

This structure refers to these extensions:

- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-timingAge-ISO8601-extension

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of ActivityDefinition.timing[x]

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ActivityDefinition | C | 0..* | ActivityDefinition | The definition of a specific activity to be taken, independent of any particular patient or context Constraints: adf-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 |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:_timingAge |  | 0..1 | string | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-timingAge-ISO8601-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
status | ?!S Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
kind | Σ | 0..1 | code | Kind of resource Binding: RequestResourceType (required): The kind of activity the definition is describing. Fixed Value: ImmunizationRecommendation
code | Σ | 1..1 | CodeableConcept | Detail type of activity Binding: ProcedureCodes(SNOMEDCT) (example): Detailed type of the activity; e.g. CBC.
doNotPerform | ?!Σ | 0..1 | boolean | True if the activity should not be performed
Slices for timing[x] |  | 0..1 |  | When activity is to occur Slice: Unordered, Open by type:$this
timingTiming |  |  | Timing |
timingDateTime |  |  | dateTime |
timingAge |  |  | Age |
timingPeriod |  |  | Period |
timingRange |  |  | Range |
timingDuration |  |  | Duration |
timing[x]:timingAge |  | 0..1 | Age | When activity is to occur
value | S Σ | 1..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
system | S Σ C | 1..1 | uri | System that defines coded unit form
code | S Σ | 1..1 | code | Coded form of the unit
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ActivityDefinition.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
ActivityDefinition.kind | Base | required | RequestResourceType | 📍4.0.1 | FHIR Std.
ActivityDefinition.code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
ActivityDefinition.timing[x]:timingAge.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
adf-0 | warning | ActivityDefinition | 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}')`
dom-2 | error | ActivityDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | ActivityDefinition | 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 | ActivityDefinition | 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 | ActivityDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | ActivityDefinition | 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 ActivityDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ActivityDefinition |  | 0..* | ActivityDefinition | The definition of a specific activity to be taken, independent of any particular patient or context
id | S | 1..1 | id | Logical id of this artifact
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:_timingAge |  | 0..1 | string | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-timingAge-ISO8601-extension
status | S | 1..1 | code | draft | active | retired | unknown
kind |  | 0..1 | code | Kind of resource Fixed Value: ImmunizationRecommendation
code |  | 1..1 | CodeableConcept | Detail type of activity
Slices for timing[x] |  | 0..1 | Timing, dateTime, Age, Period, Range, Duration | When activity is to occur Slice: Unordered, Open by type:$this
timing[x]:timingAge |  | 0..1 | Age | When activity is to occur
value | S | 1..1 | decimal | Numerical value (with implicit precision)
system | S | 1..1 | uri | System that defines coded unit form
code | S | 1..1 | code | Coded form of the unit
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ActivityDefinition | C | 0..* | ActivityDefinition | The definition of a specific activity to be taken, independent of any particular patient or context Constraints: adf-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 |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:_timingAge |  | 0..1 | string | AIR Series Type Extension URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-timingAge-ISO8601-extension
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Canonical identifier for this activity definition, represented as a URI (globally unique)
identifier | Σ | 0..* | Identifier | Additional identifier for the activity definition
version | Σ | 0..1 | string | Business version of the activity definition
name | Σ C | 0..1 | string | Name for this activity definition (computer friendly)
title | Σ | 0..1 | string | Name for this activity definition (human friendly)
subtitle |  | 0..1 | string | Subordinate title of the activity definition
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 activity definition is intended for Binding: SubjectType (extensible): The possible types of subjects for an activity (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 activity definition
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for activity definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this activity definition is defined
usage |  | 0..1 | string | Describes the clinical usage of the activity definition
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
approvalDate |  | 0..1 | date | When the activity definition was approved by publisher
lastReviewDate |  | 0..1 | date | When the activity definition was last reviewed
effectivePeriod | Σ | 0..1 | Period | When the activity definition is expected to be used
topic |  | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. 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, etc.
library |  | 0..* | canonical(Library) | Logic used by the activity definition
kind | Σ | 0..1 | code | Kind of resource Binding: RequestResourceType (required): The kind of activity the definition is describing. Fixed Value: ImmunizationRecommendation
profile |  | 0..1 | canonical(StructureDefinition) | What profile the resource needs to conform to
code | Σ | 1..1 | CodeableConcept | Detail type of activity Binding: ProcedureCodes(SNOMEDCT) (example): Detailed type of the activity; e.g. CBC.
intent |  | 0..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): Codes indicating the degree of authority/intentionality associated with a request.
priority |  | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
doNotPerform | ?!Σ | 0..1 | boolean | True if the activity should not be performed
Slices for timing[x] |  | 0..1 |  | When activity is to occur Slice: Unordered, Open by type:$this
timingTiming |  |  | Timing |
timingDateTime |  |  | dateTime |
timingAge |  |  | Age |
timingPeriod |  |  | Period |
timingRange |  |  | Range |
timingDuration |  |  | Duration |
timing[x]:timingAge |  | 0..1 | Age | When activity is to occur
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
value | S Σ | 1..1 | decimal | Numerical value (with implicit precision)
comparator | ?!Σ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required): How the Quantity should be understood and represented.
unit | Σ | 0..1 | string | Unit representation
system | S Σ C | 1..1 | uri | System that defines coded unit form
code | S Σ | 1..1 | code | Coded form of the unit
location |  | 0..1 | Reference(Location) | Where it should happen
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 in the activity.
role |  | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent, etc. Binding: ActionParticipantRole (example): Defines roles played by participants for the action.
product[x] |  | 0..1 |  | What's administered/supplied Binding: SNOMEDCTMedicationCodes (example): Code describing the type of substance or medication.
productReference |  |  | Reference(Medication | Substance) |
productCodeableConcept |  |  | CodeableConcept |
quantity |  | 0..1 | SimpleQuantity(4.0.1) | How much is administered/consumed/supplied
dosage |  | 0..* | Dosage | Detailed dosage instructions
bodySite |  | 0..* | CodeableConcept | What part of body to perform on Binding: SNOMEDCTBodyStructures (example): A code that identifies the anatomical location.
specimenRequirement |  | 0..* | Reference(SpecimenDefinition) | What specimens are required to perform this action
observationRequirement |  | 0..* | Reference(ObservationDefinition) | What observations are required to perform this action
observationResultRequirement |  | 0..* | Reference(ObservationDefinition) | What observations must be produced by this action
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 |  | 1..1 | string | The path to the element to be set dynamically
expression |  | 1..1 | Expression | An expression that provides the dynamic value for the customization
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ActivityDefinition.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
ActivityDefinition.status | Base | required | PublicationStatus | 📍4.0.1 | FHIR Std.
ActivityDefinition.subject[x] | Base | extensible | Subject type | 📍4.0.1 | FHIR Std.
ActivityDefinition.jurisdiction | Base | extensible | Jurisdiction | 📍4.0.1 | FHIR Std.
ActivityDefinition.topic | Base | example | DefinitionTopic | 📍4.0.1 | FHIR Std.
ActivityDefinition.kind | Base | required | RequestResourceType | 📍4.0.1 | FHIR Std.
ActivityDefinition.code | Base | example | Procedure Codes (SNOMED CT) | 📍4.0.1 | FHIR Std.
ActivityDefinition.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std.
ActivityDefinition.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std.
ActivityDefinition.timing[x]:timingAge.​comparator | Base | required | QuantityComparator | 📍4.0.1 | FHIR Std.
ActivityDefinition.participant.​type | Base | required | ActionParticipantType | 📍4.0.1 | FHIR Std.
ActivityDefinition.participant.​role | Base | example | Action participant role | 📍4.0.1 | FHIR Std.
ActivityDefinition.product[x] | Base | example | SNOMED CT Medication Codes | 📍4.0.1 | FHIR Std.
ActivityDefinition.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
adf-0 | warning | ActivityDefinition | 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}')`
dom-2 | error | ActivityDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | ActivityDefinition | 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 | ActivityDefinition | 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 | ActivityDefinition | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | ActivityDefinition | 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 ActivityDefinition

Summary

Mandatory: 2 elements(3 nested mandatory elements)
Must-Support: 5 elements
Fixed: 1 element

Extensions

This structure refers to these extensions:

- https://standards.digital.health.nz/fhir/air/StructureDefinition/air-timingAge-ISO8601-extension

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of ActivityDefinition.timing[x]

Other representations of profile: CSV, Excel, Schematron