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
| 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
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this related person's record is in active use |
![]() ![]() |
Σ | 1..1 | Reference(Patient) | The patient this person is related to |
![]() ![]() |
Σ | 0..* | CodeableConcept | The nature of the relationship Binding: AIR Related Person Relationship Code (preferred) |
![]() ![]() |
Σ | 0..* | NzAddress | Address where the related person can be contacted or visited |
Documentation for this format | ||||
| 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. |
| 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care | |
![]() ![]() |
0..* | CodeableConcept | The nature of the relationship Binding: AIR Related Person Relationship Code (preferred) | |
![]() ![]() |
0..0 | male | female | other | unknown | ||
![]() ![]() |
0..0 | The date on which the related person was born | ||
![]() ![]() |
0..* | NzAddress | Address where the related person can be contacted or visited | |
![]() ![]() |
0..0 | Image of the person | ||
![]() ![]() |
0..0 | Period of time that this relationship is considered valid | ||
![]() ![]() |
0..0 | A language which may be used to communicate with about the patient's health | ||
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| RelatedPerson.relationship | Base | preferred | AIR Related Person Relationship Code | 📦2.7.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | A human identifier for this person | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this related person's record is in active use | ||||
![]() ![]() |
Σ | 1..1 | Reference(Patient) | The patient this person is related to | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | The nature of the relationship Binding: AIR Related Person Relationship Code (preferred) | ||||
![]() ![]() |
Σ | 0..* | HumanName | A name associated with the person | ||||
![]() ![]() |
Σ | 0..* | ContactPoint | A contact detail for the person | ||||
![]() ![]() |
Σ | 0..* | NzAddress | Address where the related person can be contacted or visited | ||||
Documentation for this format | ||||||||
| 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. |
| 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
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this related person's record is in active use |
![]() ![]() |
Σ | 1..1 | Reference(Patient) | The patient this person is related to |
![]() ![]() |
Σ | 0..* | CodeableConcept | The nature of the relationship Binding: AIR Related Person Relationship Code (preferred) |
![]() ![]() |
Σ | 0..* | NzAddress | Address where the related person can be contacted or visited |
Documentation for this format | ||||
| 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. |
| 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care | |
![]() ![]() |
0..* | CodeableConcept | The nature of the relationship Binding: AIR Related Person Relationship Code (preferred) | |
![]() ![]() |
0..0 | male | female | other | unknown | ||
![]() ![]() |
0..0 | The date on which the related person was born | ||
![]() ![]() |
0..* | NzAddress | Address where the related person can be contacted or visited | |
![]() ![]() |
0..0 | Image of the person | ||
![]() ![]() |
0..0 | Period of time that this relationship is considered valid | ||
![]() ![]() |
0..0 | A language which may be used to communicate with about the patient's health | ||
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| RelatedPerson.relationship | Base | preferred | AIR Related Person Relationship Code | 📦2.7.0 | This IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | RelatedPerson | A person that is related to a patient, but who is not a direct target of care | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | A human identifier for this person | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this related person's record is in active use | ||||
![]() ![]() |
Σ | 1..1 | Reference(Patient) | The patient this person is related to | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | The nature of the relationship Binding: AIR Related Person Relationship Code (preferred) | ||||
![]() ![]() |
Σ | 0..* | HumanName | A name associated with the person | ||||
![]() ![]() |
Σ | 0..* | ContactPoint | A contact detail for the person | ||||
![]() ![]() |
Σ | 0..* | NzAddress | Address where the related person can be contacted or visited | ||||
Documentation for this format | ||||||||
| 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. |
| 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
Other representations of profile: CSV, Excel, Schematron