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 Location Profile

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

Ths profile constrains the NZ Location Profile to meet the requirements of AIR as documented at https://mohits.atlassian.net/wiki/spaces/NIS/pages/3445141172/Immunisation+Event+Data+Fields.

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.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location C 0..* NzLocation Details and position information for a physical place
Constraints: nz-loc1, nz-loc2
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:dhb 0..1 CodeableConcept District Health Board linked to a NZ Healthcare Service, Location or Patient
URL: http://hl7.org.nz/fhir/StructureDefinition/dhb
Binding: District Health Board Identifer (extensible): NZ HPI-ORG Values for DHBs
.... extension:established 0..1 Period Extension
URL: http://hl7.org.nz/fhir/StructureDefinition/established
.... extension:funded-programme 0..1 (Complex) Funded Healthcare Programme
URL: http://hl7.org.nz/fhir/StructureDefinition/funded-programme
.... extension:pho 0..1 CodeableConcept Primary Healthcare Organisation
URL: http://hl7.org.nz/fhir/StructureDefinition/pho
Binding: PHO (extensible): NZ HPI-ORG Values for PHOs
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.status Base required LocationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Location If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Location 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 Location 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 Location If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Location 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()
nz-loc1 error Location if the location identifier has a system, then it must have a value. identifier.system.exists() implies identifier.value.exists()
nz-loc2 error Location if the location identifier has a value, then it must have a system. identifier.value.exists() implies identifier.system.exists()

This structure is derived from NzLocation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location C 0..* NzLocation Details and position information for a physical place
Constraints: nz-loc1, nz-loc2
... identifier
.... system 0..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/hpi-facility-id

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
nz-loc1 error Location if the location identifier has a system, then it must have a value. identifier.system.exists() implies identifier.value.exists()
nz-loc2 error Location if the location identifier has a value, then it must have a system. identifier.value.exists() implies identifier.system.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location C 0..* NzLocation Details and position information for a physical place
Constraints: nz-loc1, nz-loc2
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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:dhb 0..1 CodeableConcept District Health Board linked to a NZ Healthcare Service, Location or Patient
URL: http://hl7.org.nz/fhir/StructureDefinition/dhb
Binding: District Health Board Identifer (extensible): NZ HPI-ORG Values for DHBs
.... extension:established 0..1 Period Extension
URL: http://hl7.org.nz/fhir/StructureDefinition/established
.... extension:funded-programme 0..1 (Complex) Funded Healthcare Programme
URL: http://hl7.org.nz/fhir/StructureDefinition/funded-programme
.... extension:pho 0..1 CodeableConcept Primary Healthcare Organisation
URL: http://hl7.org.nz/fhir/StructureDefinition/pho
Binding: PHO (extensible): NZ HPI-ORG Values for PHOs
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Unique code or number identifying the location to its users
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system Σ 0..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/hpi-facility-id
.... value Σ 0..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... status ?!Σ 0..1 code active | suspended | inactive
Binding: LocationStatus (required): Indicates whether the location is still in use.
... operationalStatus Σ 0..1 Coding The operational status of the location (typically only for a bed/room)
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).
... name Σ 0..1 string Name of the location as used by humans
... alias 0..* string A list of alternate names that the location is known as, or was known as, in the past
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:alias-type 0..1 CodeableConcept Extension
URL: http://hl7.org.nz/fhir/StructureDefinition/alias-type
Binding: Alias types (preferred)
.... value 0..1 string Primitive value for string
Max Length:1048576
... description Σ 0..1 string Additional details about the location that could be displayed as further information to identify the location beyond its name
... mode Σ 0..1 code instance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.
... type Σ 0..* CodeableConcept Type of function performed
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
... telecom 0..* ContactPoint Contact details of the location
... address 0..1 Address Physical location
... physicalType Σ 0..1 CodeableConcept Physical form of the location
Binding: LocationType (example): Physical form of the location.
... position 0..1 BackboneElement The absolute geographic location
.... 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
.... longitude 1..1 decimal Longitude with WGS84 datum
.... latitude 1..1 decimal Latitude with WGS84 datum
.... altitude 0..1 decimal Altitude with WGS84 datum
... managingOrganization Σ 0..1 Reference(Organization) Organization responsible for provisioning and upkeep
... partOf 0..1 Reference(Location) Another Location this one is physically a part of
... hoursOfOperation 0..* BackboneElement What days/times during a week is this location usually open
.... 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
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
.... allDay 0..1 boolean The Location is open all day
.... openingTime 0..1 time Time that the Location opens
.... closingTime 0..1 time Time that the Location closes
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.language Base preferred Common Languages 📦4.0.1 FHIR Std.
Location.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Location.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Location.status Base required LocationStatus 📍4.0.1 FHIR Std.
Location.operationalStatus Base preferred hl7VS-bedStatus 📦3.0.0 THO v7.2
Location.mode Base required LocationMode 📍4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.2
Location.physicalType Base example Location type 📦4.0.1 FHIR Std.
Location.hoursOfOperation.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Location If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Location 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 Location 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 Location If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Location 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()
nz-loc1 error Location if the location identifier has a system, then it must have a value. identifier.system.exists() implies identifier.value.exists()
nz-loc2 error Location if the location identifier has a value, then it must have a system. identifier.value.exists() implies identifier.system.exists()

This structure is derived from NzLocation

Summary

Fixed: 1 element

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location C 0..* NzLocation Details and position information for a physical place
Constraints: nz-loc1, nz-loc2
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:dhb 0..1 CodeableConcept District Health Board linked to a NZ Healthcare Service, Location or Patient
URL: http://hl7.org.nz/fhir/StructureDefinition/dhb
Binding: District Health Board Identifer (extensible): NZ HPI-ORG Values for DHBs
.... extension:established 0..1 Period Extension
URL: http://hl7.org.nz/fhir/StructureDefinition/established
.... extension:funded-programme 0..1 (Complex) Funded Healthcare Programme
URL: http://hl7.org.nz/fhir/StructureDefinition/funded-programme
.... extension:pho 0..1 CodeableConcept Primary Healthcare Organisation
URL: http://hl7.org.nz/fhir/StructureDefinition/pho
Binding: PHO (extensible): NZ HPI-ORG Values for PHOs
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.status Base required LocationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Location If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Location 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 Location 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 Location If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Location 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()
nz-loc1 error Location if the location identifier has a system, then it must have a value. identifier.system.exists() implies identifier.value.exists()
nz-loc2 error Location if the location identifier has a value, then it must have a system. identifier.value.exists() implies identifier.system.exists()

Differential View

This structure is derived from NzLocation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location C 0..* NzLocation Details and position information for a physical place
Constraints: nz-loc1, nz-loc2
... identifier
.... system 0..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/hpi-facility-id

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
nz-loc1 error Location if the location identifier has a system, then it must have a value. identifier.system.exists() implies identifier.value.exists()
nz-loc2 error Location if the location identifier has a value, then it must have a system. identifier.value.exists() implies identifier.system.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location C 0..* NzLocation Details and position information for a physical place
Constraints: nz-loc1, nz-loc2
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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:dhb 0..1 CodeableConcept District Health Board linked to a NZ Healthcare Service, Location or Patient
URL: http://hl7.org.nz/fhir/StructureDefinition/dhb
Binding: District Health Board Identifer (extensible): NZ HPI-ORG Values for DHBs
.... extension:established 0..1 Period Extension
URL: http://hl7.org.nz/fhir/StructureDefinition/established
.... extension:funded-programme 0..1 (Complex) Funded Healthcare Programme
URL: http://hl7.org.nz/fhir/StructureDefinition/funded-programme
.... extension:pho 0..1 CodeableConcept Primary Healthcare Organisation
URL: http://hl7.org.nz/fhir/StructureDefinition/pho
Binding: PHO (extensible): NZ HPI-ORG Values for PHOs
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Unique code or number identifying the location to its users
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system Σ 0..1 uri The namespace for the identifier value
Fixed Value: https://standards.digital.health.nz/ns/hpi-facility-id
.... value Σ 0..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... status ?!Σ 0..1 code active | suspended | inactive
Binding: LocationStatus (required): Indicates whether the location is still in use.
... operationalStatus Σ 0..1 Coding The operational status of the location (typically only for a bed/room)
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).
... name Σ 0..1 string Name of the location as used by humans
... alias 0..* string A list of alternate names that the location is known as, or was known as, in the past
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:alias-type 0..1 CodeableConcept Extension
URL: http://hl7.org.nz/fhir/StructureDefinition/alias-type
Binding: Alias types (preferred)
.... value 0..1 string Primitive value for string
Max Length:1048576
... description Σ 0..1 string Additional details about the location that could be displayed as further information to identify the location beyond its name
... mode Σ 0..1 code instance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.
... type Σ 0..* CodeableConcept Type of function performed
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
... telecom 0..* ContactPoint Contact details of the location
... address 0..1 Address Physical location
... physicalType Σ 0..1 CodeableConcept Physical form of the location
Binding: LocationType (example): Physical form of the location.
... position 0..1 BackboneElement The absolute geographic location
.... 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
.... longitude 1..1 decimal Longitude with WGS84 datum
.... latitude 1..1 decimal Latitude with WGS84 datum
.... altitude 0..1 decimal Altitude with WGS84 datum
... managingOrganization Σ 0..1 Reference(Organization) Organization responsible for provisioning and upkeep
... partOf 0..1 Reference(Location) Another Location this one is physically a part of
... hoursOfOperation 0..* BackboneElement What days/times during a week is this location usually open
.... 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
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
.... allDay 0..1 boolean The Location is open all day
.... openingTime 0..1 time Time that the Location opens
.... closingTime 0..1 time Time that the Location closes
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.language Base preferred Common Languages 📦4.0.1 FHIR Std.
Location.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Location.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Location.status Base required LocationStatus 📍4.0.1 FHIR Std.
Location.operationalStatus Base preferred hl7VS-bedStatus 📦3.0.0 THO v7.2
Location.mode Base required LocationMode 📍4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.2
Location.physicalType Base example Location type 📦4.0.1 FHIR Std.
Location.hoursOfOperation.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Location If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Location 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 Location 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 Location If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Location 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()
nz-loc1 error Location if the location identifier has a system, then it must have a value. identifier.system.exists() implies identifier.value.exists()
nz-loc2 error Location if the location identifier has a value, then it must have a system. identifier.value.exists() implies identifier.system.exists()

This structure is derived from NzLocation

Summary

Fixed: 1 element

 

Other representations of profile: CSV, Excel, Schematron