Aotearoa Immunisation Register (AIR) FHIR Implementation Guide
2.7.0 - ci-build New Zealand

Aotearoa Immunisation Register (AIR) FHIR Implementation Guide - Local Development build (v2.7.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: AIR Related Person Profile

Official URL: https://standards.digital.health.nz/fhir/air/StructureDefinition/air-related-person-prf Version: 2.7.0
Active as of 2026-07-20 Computable Name: AIRRelatedPersonPrf

This profile of the FHIR R4 RelatedPerson resource includes only the fields used in AIR. The AIR use of this profile specifically includes the use cases covered by the NK1 segment in NIR HL7v2 messaging.

Usages:

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.

Terminology Bindings

Path Status Usage ValueSet Version Source
RelatedPerson.relationship Base preferred AIR Related Person Relationship Code 📦2.7.0 This IG
RelatedPerson.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.

Constraints

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

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
RelatedPerson.relationship Base preferred AIR Related Person Relationship Code 📦2.7.0 This IG

Terminology Bindings

Path Status Usage ValueSet Version Source
RelatedPerson.language Base preferred Common Languages 📍4.0.1 FHIR Std.
RelatedPerson.relationship Base preferred AIR Related Person Relationship Code 📦2.7.0 This IG
RelatedPerson.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.

Constraints

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

Summary

Prohibited: 5 elements

Structures

This structure refers to these other structures:

Key Elements View

Terminology Bindings

Path Status Usage ValueSet Version Source
RelatedPerson.relationship Base preferred AIR Related Person Relationship Code 📦2.7.0 This IG
RelatedPerson.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.

Constraints

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

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
RelatedPerson.relationship Base preferred AIR Related Person Relationship Code 📦2.7.0 This IG

Snapshot View

Terminology Bindings

Path Status Usage ValueSet Version Source
RelatedPerson.language Base preferred Common Languages 📍4.0.1 FHIR Std.
RelatedPerson.relationship Base preferred AIR Related Person Relationship Code 📦2.7.0 This IG
RelatedPerson.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.

Constraints

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

Summary

Prohibited: 5 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron