# Health Connect Australia Provider Directory FHIR Implementation Guide

0.2.0-preview - Preview

Health Connect Australia Provider Directory FHIR Implementation Guide, published by Australian Digital Health Agency. This guide is not an authorized publication; it is the continuous build for version 0.2.0-preview built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/steveswinsburg/HealthConnect/ and changes regularly. See the Directory of published versions

## Resource Profile: HC Service Coverage Area

Official URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-service-coverage-area | Version: 0.2.0-preview
Standards status: Draft | Computable Name: HCServiceCoverageArea
Usage:Jurisdiction: Australia
Copyright/Legal: Copyright © 2025 Australian Digital Health Agency - All rights reserved. This content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.

This profile of Location represents an Australian geographic coverage area i.e. postcodes where this service is provided. For a healthcare service, that is provided through a physical location but have eligibility restrictions applicable in terms of only residents for certain postcodes/suburbs can receive this service, then the details of coverage area and eligibility should be provided here.

No data is entered directly into Health Connect; all Directory content is sourced from authoritative systems including PCA, HI-Service, and NHSD.

### Service coverage area in Health Connect

The address that defines the coverage area where the service is available is represented by this profile. The HC Service Coverage Area profile is applied to FHIR Location resources to describe an Australian geographic area (postcode, suburb, or region) in which a healthcare service is available.

This profile is referenced by the HC HealthcareService profile via the `coverageArea` element, allowing each healthcare service to specify one or more geographic areas where the service is offered. It may also be referenced by other profiles that need to describe service eligibility or restrictions based on geography.

### Usage notes

The coverage area that a service is intended for/available to can be represented as one or more instances of Location, where the address elements are populated depending on the type of coverage area to be defined.

To define an Australia-wide coverage area, only the following element shall be populated:

- address.country

To define a coverage area for a particular state, the following elements should be populated in addition to address.country:

- address.state

To define a coverage area for a particular suburb, the following elements should be populated in addition to address.country:

- address.city
- address.postalCode
- address.state

Usages:

- Refer to this Profile: HC HealthcareService

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
--- | --- | --- | --- | ---
Location | C | 0..* | AUCoreLocation(2.0.0-ballot) | Australian geographic area in which a service is available. Constraints: au-core-loc-01, inv-01-address-postalcode-4-digits
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
status | ?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use.
name | SO Σ | 0..1 | string | Name of the location as used by humans
type | SO Σ C | 0..* | CodeableConcept | Type of function performed Binding: ServiceDeliveryLocationRoleTypeAUExtended (6.0.0) (extensible)
address | SO C | 1..1 | Address(4.0.1), AustralianAddress(6.0.0) | The address that defines the coverage area where the service is available
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
city | S Σ | 0..1 | string | Australian city, town or suburb Example General: Erewhon
state | S Σ | 0..1 | string | Australian state or territory Binding: Australian States and Territories (required)
postalCode | S Σ | 0..1 | string | Postal code for area Example General: 9132
country | S Σ | 1..1 | string | Australia as a 2 digit ISO 3166 code Required Pattern: AU
physicalType | SO Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationPhysicalTypeAUExtended (6.0.0) (preferred)
managingOrganization | SO Σ | 0..1 | Reference(HC Organization(0.2.0-preview)) | Organization responsible for provisioning and upkeep
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std.
Location.type | Base | extensible | ServiceDeliveryLocationRoleType - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0
Location.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Location.address.state | Base | required | Australian States and Territories | ⏿2.0.2 | tx.hl7.org.au
Location.physicalType | Base | preferred | Location Type (Physical) - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-loc-01 | error | Location | The location shall at least have a valid identifier or address or type | `address.exists() or type.exists() or identifier.where(system.count() + value.count() >1).exists()`
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 | Location.implicitRules, Location.modifierExtension, Location.status, Location.name, Location.type, Location.address, Location.address.use, Location.address.city, Location.address.state, Location.address.postalCode, Location.address.country, Location.physicalType, Location.managingOrganization | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Location.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-address-postalcode-4-digits | error | Location | If present, postalCode shall be 4 digits | `address.postalCode.matches('^[0-9]{4}$')`

This structure is derived from AUCoreLocation

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Location | C | 0..* | AUCoreLocation(2.0.0-ballot) | Australian geographic area in which a service is available.
address |  | 1..1 | Address(4.0.1), AustralianAddress(6.0.0) | The address that defines the coverage area where the service is available
city | S | 0..1 | string | Australian city, town or suburb
state | S | 0..1 | string | Australian state or territory Binding: Australian States and Territories (required)
postalCode | S | 0..1 | string | Postal code for area
country | S | 1..1 | string | Australia as a 2 digit ISO 3166 code Required Pattern: AU
managingOrganization |  | 0..1 | Reference(HC Organization(0.2.0-preview)) | Organization responsible for provisioning and upkeep
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Location.address.state | Base | required | Australian States and Territories | ⏿2.0.2 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Location | C | 0..* | AUCoreLocation(2.0.0-ballot) | Australian geographic area in which a service is available. Constraints: au-core-loc-01, inv-01-address-postalcode-4-digits
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
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
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
identifier | Σ C | 0..* | Identifier(4.0.1), AULocationSpecificPracticeNumber(6.0.0), AUNATASiteNumber(6.0.0) | Unique code or number identifying the location to its users
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: Hl7VSBedStatus (2.0.0) (preferred): The operational status if the location (where typically a bed/room).
name | SO Σ | 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
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 | SO Σ C | 0..* | CodeableConcept | Type of function performed Binding: ServiceDeliveryLocationRoleTypeAUExtended (6.0.0) (extensible)
telecom |  | 0..* | ContactPoint | Contact details of the location
address | SO C | 1..1 | Address(4.0.1), AustralianAddress(6.0.0) | The address that defines the coverage area where the service is available
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132
line | Σ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street
city | S Σ | 0..1 | string | Australian city, town or suburb Example General: Erewhon
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | S Σ | 0..1 | string | Australian state or territory Binding: Australian States and Territories (required)
postalCode | S Σ | 0..1 | string | Postal code for area Example General: 9132
country | S Σ | 1..1 | string | Australia as a 2 digit ISO 3166 code Required Pattern: AU
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
physicalType | SO Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationPhysicalTypeAUExtended (6.0.0) (preferred)
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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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 | SO Σ | 0..1 | Reference(HC Organization(0.2.0-preview)) | 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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Location.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std.
Location.operationalStatus | Base | preferred | hl7VS-bedStatus | 📍2.0.0 | THO v7.0
Location.mode | Base | required | LocationMode | 📍4.0.1 | FHIR Std.
Location.type | Base | extensible | ServiceDeliveryLocationRoleType - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0
Location.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Location.address.type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Location.address.state | Base | required | Australian States and Territories | ⏿2.0.2 | tx.hl7.org.au
Location.physicalType | Base | preferred | Location Type (Physical) - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0
Location.hoursOfOperation.​daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-loc-01 | error | Location | The location shall at least have a valid identifier or address or type | `address.exists() or type.exists() or identifier.where(system.count() + value.count() >1).exists()`
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 | Location.meta, Location.implicitRules, Location.language, Location.text, Location.extension, Location.modifierExtension, Location.identifier, Location.status, Location.operationalStatus, Location.name, Location.alias, Location.description, Location.mode, Location.type, Location.telecom, Location.address, Location.address.extension, Location.address.use, Location.address.type, Location.address.text, Location.address.line, Location.address.city, Location.address.district, Location.address.state, Location.address.postalCode, Location.address.country, Location.address.period, Location.physicalType, Location.position, Location.position.extension, Location.position.modifierExtension, Location.position.longitude, Location.position.latitude, Location.position.altitude, Location.managingOrganization, Location.partOf, Location.hoursOfOperation, Location.hoursOfOperation.extension, Location.hoursOfOperation.modifierExtension, Location.hoursOfOperation.daysOfWeek, Location.hoursOfOperation.allDay, Location.hoursOfOperation.openingTime, Location.hoursOfOperation.closingTime, Location.availabilityExceptions, Location.endpoint | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Location.extension, Location.modifierExtension, Location.address.extension, Location.position.extension, Location.position.modifierExtension, Location.hoursOfOperation.extension, Location.hoursOfOperation.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-address-postalcode-4-digits | error | Location | If present, postalCode shall be 4 digits | `address.postalCode.matches('^[0-9]{4}$')`

This structure is derived from AUCoreLocation

Summary

Mandatory: 2 elements
Must-Support: 4 elements

Structures

This structure refers to these other structures:

- HC Organization (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-organization|0.2.0-preview)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Location | C | 0..* | AUCoreLocation(2.0.0-ballot) | Australian geographic area in which a service is available. Constraints: au-core-loc-01, inv-01-address-postalcode-4-digits
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
status | ?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use.
name | SO Σ | 0..1 | string | Name of the location as used by humans
type | SO Σ C | 0..* | CodeableConcept | Type of function performed Binding: ServiceDeliveryLocationRoleTypeAUExtended (6.0.0) (extensible)
address | SO C | 1..1 | Address(4.0.1), AustralianAddress(6.0.0) | The address that defines the coverage area where the service is available
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
city | S Σ | 0..1 | string | Australian city, town or suburb Example General: Erewhon
state | S Σ | 0..1 | string | Australian state or territory Binding: Australian States and Territories (required)
postalCode | S Σ | 0..1 | string | Postal code for area Example General: 9132
country | S Σ | 1..1 | string | Australia as a 2 digit ISO 3166 code Required Pattern: AU
physicalType | SO Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationPhysicalTypeAUExtended (6.0.0) (preferred)
managingOrganization | SO Σ | 0..1 | Reference(HC Organization(0.2.0-preview)) | Organization responsible for provisioning and upkeep
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std.
Location.type | Base | extensible | ServiceDeliveryLocationRoleType - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0
Location.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Location.address.state | Base | required | Australian States and Territories | ⏿2.0.2 | tx.hl7.org.au
Location.physicalType | Base | preferred | Location Type (Physical) - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-loc-01 | error | Location | The location shall at least have a valid identifier or address or type | `address.exists() or type.exists() or identifier.where(system.count() + value.count() >1).exists()`
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 | Location.implicitRules, Location.modifierExtension, Location.status, Location.name, Location.type, Location.address, Location.address.use, Location.address.city, Location.address.state, Location.address.postalCode, Location.address.country, Location.physicalType, Location.managingOrganization | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Location.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-address-postalcode-4-digits | error | Location | If present, postalCode shall be 4 digits | `address.postalCode.matches('^[0-9]{4}$')`

Differential View

This structure is derived from AUCoreLocation

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Location | C | 0..* | AUCoreLocation(2.0.0-ballot) | Australian geographic area in which a service is available.
address |  | 1..1 | Address(4.0.1), AustralianAddress(6.0.0) | The address that defines the coverage area where the service is available
city | S | 0..1 | string | Australian city, town or suburb
state | S | 0..1 | string | Australian state or territory Binding: Australian States and Territories (required)
postalCode | S | 0..1 | string | Postal code for area
country | S | 1..1 | string | Australia as a 2 digit ISO 3166 code Required Pattern: AU
managingOrganization |  | 0..1 | Reference(HC Organization(0.2.0-preview)) | Organization responsible for provisioning and upkeep
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Location.address.state | Base | required | Australian States and Territories | ⏿2.0.2 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Location | C | 0..* | AUCoreLocation(2.0.0-ballot) | Australian geographic area in which a service is available. Constraints: au-core-loc-01, inv-01-address-postalcode-4-digits
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
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
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
identifier | Σ C | 0..* | Identifier(4.0.1), AULocationSpecificPracticeNumber(6.0.0), AUNATASiteNumber(6.0.0) | Unique code or number identifying the location to its users
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: Hl7VSBedStatus (2.0.0) (preferred): The operational status if the location (where typically a bed/room).
name | SO Σ | 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
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 | SO Σ C | 0..* | CodeableConcept | Type of function performed Binding: ServiceDeliveryLocationRoleTypeAUExtended (6.0.0) (extensible)
telecom |  | 0..* | ContactPoint | Contact details of the location
address | SO C | 1..1 | Address(4.0.1), AustralianAddress(6.0.0) | The address that defines the coverage area where the service is available
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132
line | Σ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street
city | S Σ | 0..1 | string | Australian city, town or suburb Example General: Erewhon
district | Σ | 0..1 | string | District name (aka county) Example General: Madison
state | S Σ | 0..1 | string | Australian state or territory Binding: Australian States and Territories (required)
postalCode | S Σ | 0..1 | string | Postal code for area Example General: 9132
country | S Σ | 1..1 | string | Australia as a 2 digit ISO 3166 code Required Pattern: AU
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"}
physicalType | SO Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationPhysicalTypeAUExtended (6.0.0) (preferred)
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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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 | SO Σ | 0..1 | Reference(HC Organization(0.2.0-preview)) | 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 Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Location.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std.
Location.operationalStatus | Base | preferred | hl7VS-bedStatus | 📍2.0.0 | THO v7.0
Location.mode | Base | required | LocationMode | 📍4.0.1 | FHIR Std.
Location.type | Base | extensible | ServiceDeliveryLocationRoleType - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0
Location.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std.
Location.address.type | Base | required | AddressType | 📍4.0.1 | FHIR Std.
Location.address.state | Base | required | Australian States and Territories | ⏿2.0.2 | tx.hl7.org.au
Location.physicalType | Base | preferred | Location Type (Physical) - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0
Location.hoursOfOperation.​daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
au-core-loc-01 | error | Location | The location shall at least have a valid identifier or address or type | `address.exists() or type.exists() or identifier.where(system.count() + value.count() >1).exists()`
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 | Location.meta, Location.implicitRules, Location.language, Location.text, Location.extension, Location.modifierExtension, Location.identifier, Location.status, Location.operationalStatus, Location.name, Location.alias, Location.description, Location.mode, Location.type, Location.telecom, Location.address, Location.address.extension, Location.address.use, Location.address.type, Location.address.text, Location.address.line, Location.address.city, Location.address.district, Location.address.state, Location.address.postalCode, Location.address.country, Location.address.period, Location.physicalType, Location.position, Location.position.extension, Location.position.modifierExtension, Location.position.longitude, Location.position.latitude, Location.position.altitude, Location.managingOrganization, Location.partOf, Location.hoursOfOperation, Location.hoursOfOperation.extension, Location.hoursOfOperation.modifierExtension, Location.hoursOfOperation.daysOfWeek, Location.hoursOfOperation.allDay, Location.hoursOfOperation.openingTime, Location.hoursOfOperation.closingTime, Location.availabilityExceptions, Location.endpoint | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Location.extension, Location.modifierExtension, Location.address.extension, Location.position.extension, Location.position.modifierExtension, Location.hoursOfOperation.extension, Location.hoursOfOperation.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-address-postalcode-4-digits | error | Location | If present, postalCode shall be 4 digits | `address.postalCode.matches('^[0-9]{4}$')`

This structure is derived from AUCoreLocation

Summary

Mandatory: 2 elements
Must-Support: 4 elements

Structures

This structure refers to these other structures:

- HC Organization (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-organization|0.2.0-preview)

Other representations of profile: CSV, Excel, Schematron