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 26.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/AuDigitalHealth/HCPD-Snapshot-26.0.0-SPARKED-Testing-20260708/ and changes regularly. See the Directory of published versions
| Official URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-location | Version: 26.0.0 | |||
| Active as of 2026-07-03 | Computable Name: HCPD_Location | |||
Copyright/Legal: This content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/ |
||||
This profile defines a Health Connect Provider Directory entry for a healthcare location where services are provided.
This profile addresses the business need to standardise location information in the Health Connect Provider Directory, enabling consistent representation of physical, mobile, and virtual healthcare service delivery sites for directory search and service location purposes.
No data is entered directly into Health Connect; all Directory content is sourced from authoritative systems including PCA, HI-Service, and NHSD.
Extensions introduced in this profile:
The HCPD Location profile supports the Suppressed extension, however its application is conceptually driven by organizational visibility decisions. When an HCPD Organization elects to hide their visibility from those searching the Health Connect Provider Directory system by applying the suppressed extension with an organisation-initiated code, all associated Location resources are automatically suppressed and excluded from Provider Directory listings. This cascading suppression ensures that when an organization chooses to hide their visibility, related locations "come for the ride" and are similarly hidden from display, maintaining consistency across the directory.
Publishing guidance:
A HC Location resource may also have additional identifiers specific to other business partners, and their identifier systems may or may not match other identifier slices defined in AU Core Location.
Beyond the identifiers already defined in AU Core the HC Location profile explicitly supports the following identifier slice (as indicated by the must support flag):
The usage notes of the AU Base Location profile provide guidance for Locations that may form part of defining a mobile or remotely delivered service. The HCPD Location profile formalises this guidance as mandatory requirements (via invariants). The requirements are summarised below:
A HCPD Location for a mobile service shall have:
A HCPD Location for a virtually delivered service shall have:
When a Location is to be represented as a physical type, the physicalType element is used to carry an applicable code from the Location Type (Physical) - AU Extended ValueSet.
The physicalType element can be used to express more specific details about the physical nature of a Location (for example: ward, building, dwelling).
The managingOrganization element must contain a relative reference to an existing HC Organization.
Description: If the alternate postal address extension is present on an address then that address must be of type 'postal'.
Implementation note: The profile enforces this rule so that the hcpd-alternate-postal-address extension is only used to carry postal/mailing addresses (for example PO Boxes). Publishing systems SHOULD only set the extension on addresses whose type is postal.
Description: If a location's type is VI or MOBL then an address does not need to be present. For all other location types an address MUST be present.
Implementation note: This invariant ensures that physical locations provide a postal/physical address, while virtual or mobile services (for example telehealth, mobile clinics, ambulance services) may omit a fixed address.
Description: If a location's type includes the MOBL code then it is recommended that an additional modifier coding is provided to describe the mobile service (either PTRES, SCHOOL, WORK, COMM, AMB) but not VI.
Implementation note: This rule is a warning - it does not block publishing but encourages publishers to provide additional context about where the mobile service operates. Implementers should supply a secondary type.coding entry when describing mobile services to improve discoverability.
Description: If a location's type includes the VI code then no additional modifier codings should be present.
Implementation note: This rule is a warning - virtual locations should be clearly identified as virtual-only and not include additional modifiers that suggest physical or mobile subtypes. If a virtual service also has a physical component, model those as separate Location resources.
Description: A Location resource MUST include either a type or a physicalType element.
Implementation note: This rule is enforced as an error - every Location must be classified either by type (logical role such as MOBL, VI, etc.) or by physicalType (when the Location represents a specific physical characteristic). Implementers MUST populate at least one of these elements when creating Location resources.
Description: Location.status must be active or inactive. The suspended status is not used in HCPD.
Implementation note: This rule is enforced as an error - HCPD only recognises active and inactive states for a Location. Publishing systems MUST NOT set status to suspended. When a Location is no longer available it should be set to inactive.
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: ![]() ![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | AUCoreLocation(2.0.0) | Australian Location Directory Entry Constraints: au-core-loc-01, inv-01-address-requirement, inv-02-type-mobl-requires-modifier, inv-03-type-vi-should-not-have-modifier, inv-04-type-or-physicaltype-present, inv-05-status-values | ||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata on Location | ||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() |
SO | 0..1 | (Complex) | Indicates if Location service is suppressed URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/suppressed Constraints: ext-1
| ||||||
![]() ![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Extension | Extension Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "suppressedBy" | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Value of extension | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system Binding: ResponsiblePartyType_VS (26.0.0) (required) Fixed Value: As shown (Organisation initiated) | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://digitalhealth.gov.au/fhir/cc/CodeSystem/responsible-party-type | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Version of the system - if relevant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: organisation-initiated | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Representation defined by the system | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | boolean | If this coding was chosen directly by the user | |||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://digitalhealth.gov.au/fhir/cc/StructureDefinition/suppressed" | |||||||
![]() ![]() ![]() |
SO | 0..* | CodeableConcept | Amenities or facilities available at or near the location. URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/amenity Binding: Facility Amenity (required)Constraints: ext-1
| ||||||
![]() ![]() ![]() |
SO | 0..* | Address | Alternate postal address URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-alternate-postal-address Constraints: ext-1
| ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||||
![]() ![]() |
SΣC | 1..* | Identifier(4.0.1), AULocationSpecificPracticeNumber(6.0.0), AUNATASiteNumber(6.0.0) | Unique code or number identifying the location to its users Slice: Unordered, Open by pattern:type | ||||||
![]() ![]() ![]() |
SOΣC | 1..1 | HCPD_Local_Identifier(26.0.0) | Local Identifier for the location attributed by HC
| ||||||
![]() ![]() |
?!SΣ | 1..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||||
![]() ![]() |
SOΣ | 1..1 | string | Name of the location as used by humans
| ||||||
![]() ![]() |
SO | 0..* | string | Alternative names for the location
| ||||||
![]() ![]() |
SOΣC | 0..* | CodeableConcept | Indicates whether the location is a virtual location or mobile service. Binding: Service Delivery Location Role Type (extensible)
| ||||||
![]() ![]() |
SO | 0..* | ContactPoint | Contact details of the location Slice: Unordered, Open by value:system
| ||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Phone number for the location. | ||||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: phone | ||||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Email address for the location. | ||||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: email | ||||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||||
![]() ![]() |
SOC | 0..1 | Address(4.0.1), AustralianAddress(6.0.0) | Address where the service or practitioner role is located. Virtual and mobile locations may not have a fixed address.
| ||||||
![]() ![]() |
SOΣ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationPhysicalTypeAUExtended (6.0.0) (preferred) | ||||||
![]() ![]() |
SO | 0..1 | BackboneElement | The absolute geographic location
| ||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||
![]() ![]() ![]() |
1..1 | decimal | Longitude with WGS84 datum | |||||||
![]() ![]() ![]() |
1..1 | decimal | Latitude with WGS84 datum | |||||||
![]() ![]() |
SOΣ | 1..1 | Reference(HCPD Organization(26.0.0)) | Reference to managing organisation with HPI-O.
| ||||||
![]() ![]() |
0..1 | Reference(HCPD Location(26.0.0)) | Another Location this one is physically a part of | |||||||
![]() ![]() |
SO | 0..* | Reference(HCPD Endpoint(26.0.0)) | Technical endpoints providing access to services operated for the location
| ||||||
Documentation for this format | ||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Location.extension:suppressed.extension:suppressedBy.value[x].coding | Base | required | Responsible Party Type | 📍26.0.0 | This IG |
| Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std. |
| Location.type | Base | extensible |
Service Delivery Location Role Type
|
⏿1.0.0 | tx.hl7.org.au |
| Location.telecom:phone.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std. |
| Location.telecom:phone.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std. |
| Location.telecom:email.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std. |
| Location.telecom:email.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std. |
| Location.physicalType | Base | preferred | Location Type (Physical) - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0 |
| 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.extension, Location.extension:suppressed, Location.extension:suppressed.extension, Location.extension:suppressed.extension:suppressedBy, Location.extension:suppressed.extension:suppressedBy.value[x], Location.extension:suppressed.extension:suppressedBy.value[x].coding, Location.extension:amenity, Location.extension:hcpd-alternate-postal-address, Location.modifierExtension, Location.identifier, Location.identifier:HCPD_Local_Identifier, Location.status, Location.name, Location.alias, Location.type, Location.telecom, Location.telecom:phone, Location.telecom:phone.system, Location.telecom:phone.use, Location.telecom:email, Location.telecom:email.system, Location.telecom:email.use, Location.address, Location.physicalType, Location.position, Location.position.modifierExtension, Location.position.longitude, Location.position.latitude, Location.managingOrganization, Location.partOf, Location.endpoint | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Location.extension, Location.extension:suppressed, Location.extension:suppressed.extension, Location.extension:suppressed.extension:suppressedBy, Location.extension:amenity, Location.extension:hcpd-alternate-postal-address, Location.modifierExtension, Location.position.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| inv-01-address-requirement | warning | Location | Physical locations (not virtual or mobile) must have an address present. |
physicalType.exists() implies address.exists()
|
| inv-02-type-mobl-requires-modifier | warning | Location | If a location is marked as mobile (code 'MOBL') it is recommended that a modifier coding is provided to describe the mobile type |
type.coding.where(code = 'MOBL').exists() implies type.coding.where(code = 'COMM' or code = 'AMB' or code = 'PTRES' or code = 'SCHOOL' or code = 'WORK').exists()
|
| inv-03-type-vi-should-not-have-modifier | warning | Location | If a location is marked as virtual (code 'VI') no additional modifier codings are needed |
type.coding.where(code = 'VI').exists() implies type.coding.count() = 1
|
| inv-04-type-or-physicaltype-present | error | Location | A Location MUST have either a `type` or a `physicalType` value present |
type.exists() or physicalType.exists()
|
| inv-05-status-values | error | Location | Location.status must be 'active' or 'inactive'. The 'suspended' status is not used in HCPD. |
status = 'active' or status = 'inactive'
|
This structure is derived from AUCoreLocation
| Path | Status | Usage | ValueSet | Version | Source |
| Location.type | Base | extensible |
Service Delivery Location Role Type
|
⏿1.0.0 | tx.hl7.org.au |
| Id | Grade | Path(s) | Description | Expression |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | AUCoreLocation(2.0.0) | Australian Location Directory Entry Constraints: au-core-loc-01, inv-01-address-requirement, inv-02-type-mobl-requires-modifier, inv-03-type-vi-should-not-have-modifier, inv-04-type-or-physicaltype-present, inv-05-status-values | ||||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata on Location | ||||||
![]() ![]() |
?!Σ | 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 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() |
SO | 0..1 | (Complex) | Indicates if Location service is suppressed URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/suppressed Constraints: ext-1
| ||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Extension | Extension Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "suppressedBy" | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Value of extension | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system Binding: ResponsiblePartyType_VS (26.0.0) (required) Fixed Value: As shown (Organisation initiated) | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://digitalhealth.gov.au/fhir/cc/CodeSystem/responsible-party-type | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Version of the system - if relevant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: organisation-initiated | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Representation defined by the system | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | boolean | If this coding was chosen directly by the user | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://digitalhealth.gov.au/fhir/cc/StructureDefinition/suppressed" | |||||||
![]() ![]() ![]() |
SO | 0..* | CodeableConcept | Amenities or facilities available at or near the location. URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/amenity Binding: Facility Amenity (required)Constraints: ext-1
| ||||||
![]() ![]() ![]() |
SO | 0..* | Address | Alternate postal address URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-alternate-postal-address Constraints: ext-1
| ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||||
![]() ![]() |
SΣC | 1..* | Identifier(4.0.1), AULocationSpecificPracticeNumber(6.0.0), AUNATASiteNumber(6.0.0) | Unique code or number identifying the location to its users Slice: Unordered, Open by pattern:type | ||||||
![]() ![]() ![]() |
SOΣC | 1..1 | HCPD_Local_Identifier(26.0.0) | Local Identifier for the location attributed by HC
| ||||||
![]() ![]() |
?!SΣ | 1..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||||
![]() ![]() |
Σ | 0..1 | Coding | The operational status of the location (typically only for a bed/room) Binding: Hl7VSBedStatus (3.0.0) (preferred): The operational status if the location (where typically a bed/room). | ||||||
![]() ![]() |
SOΣ | 1..1 | string | Name of the location as used by humans
| ||||||
![]() ![]() |
SO | 0..* | string | Alternative names for the location
| ||||||
![]() ![]() |
Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name | ||||||
![]() ![]() |
Σ | 0..1 | code | instance | kind Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations. | ||||||
![]() ![]() |
SOΣC | 0..* | CodeableConcept | Indicates whether the location is a virtual location or mobile service. Binding: Service Delivery Location Role Type (extensible)
| ||||||
![]() ![]() |
SO | 0..* | ContactPoint | Contact details of the location Slice: Unordered, Open by value:system
| ||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Phone number for the location. | ||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: phone | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | The actual contact point details | ||||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when the contact point was/is in use | ||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Email address for the location. | ||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: email | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | The actual contact point details | ||||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when the contact point was/is in use | ||||||
![]() ![]() |
SOC | 0..1 | Address(4.0.1), AustralianAddress(6.0.0) | Address where the service or practitioner role is located. Virtual and mobile locations may not have a fixed address.
| ||||||
![]() ![]() |
SOΣ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationPhysicalTypeAUExtended (6.0.0) (preferred) | ||||||
![]() ![]() |
SO | 0..1 | BackboneElement | The absolute geographic location
| ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||
![]() ![]() ![]() |
1..1 | decimal | Longitude with WGS84 datum | |||||||
![]() ![]() ![]() |
1..1 | decimal | Latitude with WGS84 datum | |||||||
![]() ![]() ![]() |
0..1 | decimal | Altitude with WGS84 datum | |||||||
![]() ![]() |
SOΣ | 1..1 | Reference(HCPD Organization(26.0.0)) | Reference to managing organisation with HPI-O.
| ||||||
![]() ![]() |
0..1 | Reference(HCPD Location(26.0.0)) | Another Location this one is physically a part of | |||||||
![]() ![]() |
0..* | BackboneElement | What days/times during a week is this location usually open | |||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||
![]() ![]() ![]() |
0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||||
![]() ![]() ![]() |
0..1 | boolean | The Location is open all day | |||||||
![]() ![]() ![]() |
0..1 | time | Time that the Location opens | |||||||
![]() ![]() ![]() |
0..1 | time | Time that the Location closes | |||||||
![]() ![]() |
0..1 | string | Description of availability exceptions | |||||||
![]() ![]() |
SO | 0..* | Reference(HCPD Endpoint(26.0.0)) | Technical endpoints providing access to services operated for the location
| ||||||
Documentation for this format | ||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Location.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Location.extension:suppressed.extension:suppressedBy.value[x].coding | Base | required | Responsible Party Type | 📍26.0.0 | This IG |
| 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 |
Service Delivery Location Role Type
|
⏿1.0.0 | tx.hl7.org.au |
| Location.telecom:phone.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std. |
| Location.telecom:phone.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std. |
| Location.telecom:email.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std. |
| Location.telecom:email.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std. |
| 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. |
| 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.extension:suppressed, Location.extension:suppressed.extension, Location.extension:suppressed.extension:suppressedBy, Location.extension:suppressed.extension:suppressedBy.value[x], Location.extension:suppressed.extension:suppressedBy.value[x].extension, Location.extension:suppressed.extension:suppressedBy.value[x].coding, Location.extension:suppressed.extension:suppressedBy.value[x].text, Location.extension:amenity, Location.extension:hcpd-alternate-postal-address, Location.modifierExtension, Location.identifier, Location.identifier:HCPD_Local_Identifier, Location.status, Location.operationalStatus, Location.name, Location.alias, Location.description, Location.mode, Location.type, Location.telecom, Location.telecom:phone, Location.telecom:phone.extension, Location.telecom:phone.system, Location.telecom:phone.value, Location.telecom:phone.use, Location.telecom:phone.rank, Location.telecom:phone.period, Location.telecom:email, Location.telecom:email.extension, Location.telecom:email.system, Location.telecom:email.value, Location.telecom:email.use, Location.telecom:email.rank, Location.telecom:email.period, Location.address, 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.extension:suppressed, Location.extension:suppressed.extension, Location.extension:suppressed.extension:suppressedBy, Location.extension:suppressed.extension:suppressedBy.value[x].extension, Location.extension:amenity, Location.extension:hcpd-alternate-postal-address, Location.modifierExtension, Location.telecom:phone.extension, Location.telecom:email.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-requirement | warning | Location | Physical locations (not virtual or mobile) must have an address present. |
physicalType.exists() implies address.exists()
|
| inv-02-type-mobl-requires-modifier | warning | Location | If a location is marked as mobile (code 'MOBL') it is recommended that a modifier coding is provided to describe the mobile type |
type.coding.where(code = 'MOBL').exists() implies type.coding.where(code = 'COMM' or code = 'AMB' or code = 'PTRES' or code = 'SCHOOL' or code = 'WORK').exists()
|
| inv-03-type-vi-should-not-have-modifier | warning | Location | If a location is marked as virtual (code 'VI') no additional modifier codings are needed |
type.coding.where(code = 'VI').exists() implies type.coding.count() = 1
|
| inv-04-type-or-physicaltype-present | error | Location | A Location MUST have either a `type` or a `physicalType` value present |
type.exists() or physicalType.exists()
|
| inv-05-status-values | error | Location | Location.status must be 'active' or 'inactive'. The 'suspended' status is not used in HCPD. |
status = 'active' or status = 'inactive'
|
This structure is derived from AUCoreLocation
Summary
Mandatory: 5 elements(2 nested mandatory elements)
Must-Support: 13 elements
Fixed: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | AUCoreLocation(2.0.0) | Australian Location Directory Entry Constraints: au-core-loc-01, inv-01-address-requirement, inv-02-type-mobl-requires-modifier, inv-03-type-vi-should-not-have-modifier, inv-04-type-or-physicaltype-present, inv-05-status-values | ||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata on Location | ||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() |
SO | 0..1 | (Complex) | Indicates if Location service is suppressed URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/suppressed Constraints: ext-1
| ||||||
![]() ![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Extension | Extension Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "suppressedBy" | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Value of extension | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system Binding: ResponsiblePartyType_VS (26.0.0) (required) Fixed Value: As shown (Organisation initiated) | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://digitalhealth.gov.au/fhir/cc/CodeSystem/responsible-party-type | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Version of the system - if relevant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: organisation-initiated | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Representation defined by the system | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | boolean | If this coding was chosen directly by the user | |||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://digitalhealth.gov.au/fhir/cc/StructureDefinition/suppressed" | |||||||
![]() ![]() ![]() |
SO | 0..* | CodeableConcept | Amenities or facilities available at or near the location. URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/amenity Binding: Facility Amenity (required)Constraints: ext-1
| ||||||
![]() ![]() ![]() |
SO | 0..* | Address | Alternate postal address URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-alternate-postal-address Constraints: ext-1
| ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||||
![]() ![]() |
SΣC | 1..* | Identifier(4.0.1), AULocationSpecificPracticeNumber(6.0.0), AUNATASiteNumber(6.0.0) | Unique code or number identifying the location to its users Slice: Unordered, Open by pattern:type | ||||||
![]() ![]() ![]() |
SOΣC | 1..1 | HCPD_Local_Identifier(26.0.0) | Local Identifier for the location attributed by HC
| ||||||
![]() ![]() |
?!SΣ | 1..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||||
![]() ![]() |
SOΣ | 1..1 | string | Name of the location as used by humans
| ||||||
![]() ![]() |
SO | 0..* | string | Alternative names for the location
| ||||||
![]() ![]() |
SOΣC | 0..* | CodeableConcept | Indicates whether the location is a virtual location or mobile service. Binding: Service Delivery Location Role Type (extensible)
| ||||||
![]() ![]() |
SO | 0..* | ContactPoint | Contact details of the location Slice: Unordered, Open by value:system
| ||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Phone number for the location. | ||||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: phone | ||||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Email address for the location. | ||||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: email | ||||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||||
![]() ![]() |
SOC | 0..1 | Address(4.0.1), AustralianAddress(6.0.0) | Address where the service or practitioner role is located. Virtual and mobile locations may not have a fixed address.
| ||||||
![]() ![]() |
SOΣ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationPhysicalTypeAUExtended (6.0.0) (preferred) | ||||||
![]() ![]() |
SO | 0..1 | BackboneElement | The absolute geographic location
| ||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||
![]() ![]() ![]() |
1..1 | decimal | Longitude with WGS84 datum | |||||||
![]() ![]() ![]() |
1..1 | decimal | Latitude with WGS84 datum | |||||||
![]() ![]() |
SOΣ | 1..1 | Reference(HCPD Organization(26.0.0)) | Reference to managing organisation with HPI-O.
| ||||||
![]() ![]() |
0..1 | Reference(HCPD Location(26.0.0)) | Another Location this one is physically a part of | |||||||
![]() ![]() |
SO | 0..* | Reference(HCPD Endpoint(26.0.0)) | Technical endpoints providing access to services operated for the location
| ||||||
Documentation for this format | ||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Location.extension:suppressed.extension:suppressedBy.value[x].coding | Base | required | Responsible Party Type | 📍26.0.0 | This IG |
| Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std. |
| Location.type | Base | extensible |
Service Delivery Location Role Type
|
⏿1.0.0 | tx.hl7.org.au |
| Location.telecom:phone.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std. |
| Location.telecom:phone.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std. |
| Location.telecom:email.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std. |
| Location.telecom:email.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std. |
| Location.physicalType | Base | preferred | Location Type (Physical) - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0 |
| 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.extension, Location.extension:suppressed, Location.extension:suppressed.extension, Location.extension:suppressed.extension:suppressedBy, Location.extension:suppressed.extension:suppressedBy.value[x], Location.extension:suppressed.extension:suppressedBy.value[x].coding, Location.extension:amenity, Location.extension:hcpd-alternate-postal-address, Location.modifierExtension, Location.identifier, Location.identifier:HCPD_Local_Identifier, Location.status, Location.name, Location.alias, Location.type, Location.telecom, Location.telecom:phone, Location.telecom:phone.system, Location.telecom:phone.use, Location.telecom:email, Location.telecom:email.system, Location.telecom:email.use, Location.address, Location.physicalType, Location.position, Location.position.modifierExtension, Location.position.longitude, Location.position.latitude, Location.managingOrganization, Location.partOf, Location.endpoint | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Location.extension, Location.extension:suppressed, Location.extension:suppressed.extension, Location.extension:suppressed.extension:suppressedBy, Location.extension:amenity, Location.extension:hcpd-alternate-postal-address, Location.modifierExtension, Location.position.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| inv-01-address-requirement | warning | Location | Physical locations (not virtual or mobile) must have an address present. |
physicalType.exists() implies address.exists()
|
| inv-02-type-mobl-requires-modifier | warning | Location | If a location is marked as mobile (code 'MOBL') it is recommended that a modifier coding is provided to describe the mobile type |
type.coding.where(code = 'MOBL').exists() implies type.coding.where(code = 'COMM' or code = 'AMB' or code = 'PTRES' or code = 'SCHOOL' or code = 'WORK').exists()
|
| inv-03-type-vi-should-not-have-modifier | warning | Location | If a location is marked as virtual (code 'VI') no additional modifier codings are needed |
type.coding.where(code = 'VI').exists() implies type.coding.count() = 1
|
| inv-04-type-or-physicaltype-present | error | Location | A Location MUST have either a `type` or a `physicalType` value present |
type.exists() or physicalType.exists()
|
| inv-05-status-values | error | Location | Location.status must be 'active' or 'inactive'. The 'suspended' status is not used in HCPD. |
status = 'active' or status = 'inactive'
|
Differential View
This structure is derived from AUCoreLocation
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | AUCoreLocation(2.0.0) | Australian Location Directory Entry | ||||||
![]() ![]() |
0..1 | Meta | Metadata on Location | |||||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
SO | 0..1 | (Complex) | Indicates if Location service is suppressed URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/suppressed
| ||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||
![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
||||||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Coding | Code defined by a terminology system Fixed Value: As shown (Organisation initiated) | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://digitalhealth.gov.au/fhir/cc/CodeSystem/responsible-party-type | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: organisation-initiated | |||||||
![]() ![]() ![]() |
SO | 0..* | CodeableConcept | Amenities or facilities available at or near the location. URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/amenity Binding: Facility Amenity (required)
| ||||||
![]() ![]() ![]() |
SO | 0..* | Address | Alternate postal address URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-alternate-postal-address
| ||||||
![]() ![]() |
S | 1..* | Identifier(4.0.1), AULocationSpecificPracticeNumber(6.0.0), AUNATASiteNumber(6.0.0) | Unique code or number identifying the location to its users Slice: Unordered, Open by pattern:type | ||||||
![]() ![]() ![]() |
SO | 1..1 | HCPD_Local_Identifier(26.0.0) | Local Identifier for the location attributed by HC
| ||||||
![]() ![]() |
S | 1..1 | code | active | suspended | inactive | ||||||
![]() ![]() |
O | 1..1 | string | Name of the location as used by humans
| ||||||
![]() ![]() |
SO | 0..* | string | Alternative names for the location
| ||||||
![]() ![]() |
O | 0..* | CodeableConcept | Indicates whether the location is a virtual location or mobile service. Binding: Service Delivery Location Role Type (extensible)
| ||||||
![]() ![]() |
SO | 0..* | ContactPoint | Contact details of the location Slice: Unordered, Open by value:system
| ||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Phone number for the location. | ||||||
![]() ![]() ![]() ![]() |
1..1 | code | phone | fax | email | pager | url | sms | other Required Pattern: phone | |||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Email address for the location. | ||||||
![]() ![]() ![]() ![]() |
1..1 | code | phone | fax | email | pager | url | sms | other Required Pattern: email | |||||||
![]() ![]() |
O | 0..1 | Address(4.0.1), AustralianAddress(6.0.0) | Address where the service or practitioner role is located. Virtual and mobile locations may not have a fixed address.
| ||||||
![]() ![]() |
SO | 0..1 | BackboneElement | The absolute geographic location
| ||||||
![]() ![]() |
O | 1..1 | Reference(HCPD Organization(26.0.0)) | Reference to managing organisation with HPI-O.
| ||||||
![]() ![]() |
0..1 | Reference(HCPD Location(26.0.0)) | Another Location this one is physically a part of | |||||||
![]() ![]() |
SO | 0..* | Reference(HCPD Endpoint(26.0.0)) | Technical endpoints providing access to services operated for the location
| ||||||
Documentation for this format | ||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Location.type | Base | extensible |
Service Delivery Location Role Type
|
⏿1.0.0 | tx.hl7.org.au |
| Id | Grade | Path(s) | Description | Expression |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | AUCoreLocation(2.0.0) | Australian Location Directory Entry Constraints: au-core-loc-01, inv-01-address-requirement, inv-02-type-mobl-requires-modifier, inv-03-type-vi-should-not-have-modifier, inv-04-type-or-physicaltype-present, inv-05-status-values | ||||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata on Location | ||||||
![]() ![]() |
?!Σ | 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 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() |
SO | 0..1 | (Complex) | Indicates if Location service is suppressed URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/suppressed Constraints: ext-1
| ||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Extension | Extension Constraints: ext-1 | ||||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "suppressedBy" | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | CodeableConcept | Value of extension | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | Coding | Code defined by a terminology system Binding: ResponsiblePartyType_VS (26.0.0) (required) Fixed Value: As shown (Organisation initiated) | ||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://digitalhealth.gov.au/fhir/cc/CodeSystem/responsible-party-type | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Version of the system - if relevant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: organisation-initiated | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Representation defined by the system | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | boolean | If this coding was chosen directly by the user | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://digitalhealth.gov.au/fhir/cc/StructureDefinition/suppressed" | |||||||
![]() ![]() ![]() |
SO | 0..* | CodeableConcept | Amenities or facilities available at or near the location. URL: http://digitalhealth.gov.au/fhir/cc/StructureDefinition/amenity Binding: Facility Amenity (required)Constraints: ext-1
| ||||||
![]() ![]() ![]() |
SO | 0..* | Address | Alternate postal address URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-alternate-postal-address Constraints: ext-1
| ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||||
![]() ![]() |
SΣC | 1..* | Identifier(4.0.1), AULocationSpecificPracticeNumber(6.0.0), AUNATASiteNumber(6.0.0) | Unique code or number identifying the location to its users Slice: Unordered, Open by pattern:type | ||||||
![]() ![]() ![]() |
SOΣC | 1..1 | HCPD_Local_Identifier(26.0.0) | Local Identifier for the location attributed by HC
| ||||||
![]() ![]() |
?!SΣ | 1..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||||
![]() ![]() |
Σ | 0..1 | Coding | The operational status of the location (typically only for a bed/room) Binding: Hl7VSBedStatus (3.0.0) (preferred): The operational status if the location (where typically a bed/room). | ||||||
![]() ![]() |
SOΣ | 1..1 | string | Name of the location as used by humans
| ||||||
![]() ![]() |
SO | 0..* | string | Alternative names for the location
| ||||||
![]() ![]() |
Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name | ||||||
![]() ![]() |
Σ | 0..1 | code | instance | kind Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations. | ||||||
![]() ![]() |
SOΣC | 0..* | CodeableConcept | Indicates whether the location is a virtual location or mobile service. Binding: Service Delivery Location Role Type (extensible)
| ||||||
![]() ![]() |
SO | 0..* | ContactPoint | Contact details of the location Slice: Unordered, Open by value:system
| ||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Phone number for the location. | ||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: phone | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | The actual contact point details | ||||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when the contact point was/is in use | ||||||
![]() ![]() ![]() |
S | 0..* | ContactPoint | Email address for the location. | ||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: email | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | The actual contact point details | ||||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) | ||||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when the contact point was/is in use | ||||||
![]() ![]() |
SOC | 0..1 | Address(4.0.1), AustralianAddress(6.0.0) | Address where the service or practitioner role is located. Virtual and mobile locations may not have a fixed address.
| ||||||
![]() ![]() |
SOΣ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationPhysicalTypeAUExtended (6.0.0) (preferred) | ||||||
![]() ![]() |
SO | 0..1 | BackboneElement | The absolute geographic location
| ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||
![]() ![]() ![]() |
1..1 | decimal | Longitude with WGS84 datum | |||||||
![]() ![]() ![]() |
1..1 | decimal | Latitude with WGS84 datum | |||||||
![]() ![]() ![]() |
0..1 | decimal | Altitude with WGS84 datum | |||||||
![]() ![]() |
SOΣ | 1..1 | Reference(HCPD Organization(26.0.0)) | Reference to managing organisation with HPI-O.
| ||||||
![]() ![]() |
0..1 | Reference(HCPD Location(26.0.0)) | Another Location this one is physically a part of | |||||||
![]() ![]() |
0..* | BackboneElement | What days/times during a week is this location usually open | |||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||||
![]() ![]() ![]() |
0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||||
![]() ![]() ![]() |
0..1 | boolean | The Location is open all day | |||||||
![]() ![]() ![]() |
0..1 | time | Time that the Location opens | |||||||
![]() ![]() ![]() |
0..1 | time | Time that the Location closes | |||||||
![]() ![]() |
0..1 | string | Description of availability exceptions | |||||||
![]() ![]() |
SO | 0..* | Reference(HCPD Endpoint(26.0.0)) | Technical endpoints providing access to services operated for the location
| ||||||
Documentation for this format | ||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Location.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Location.extension:suppressed.extension:suppressedBy.value[x].coding | Base | required | Responsible Party Type | 📍26.0.0 | This IG |
| 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 |
Service Delivery Location Role Type
|
⏿1.0.0 | tx.hl7.org.au |
| Location.telecom:phone.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std. |
| Location.telecom:phone.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std. |
| Location.telecom:email.system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std. |
| Location.telecom:email.use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std. |
| 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. |
| 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.extension:suppressed, Location.extension:suppressed.extension, Location.extension:suppressed.extension:suppressedBy, Location.extension:suppressed.extension:suppressedBy.value[x], Location.extension:suppressed.extension:suppressedBy.value[x].extension, Location.extension:suppressed.extension:suppressedBy.value[x].coding, Location.extension:suppressed.extension:suppressedBy.value[x].text, Location.extension:amenity, Location.extension:hcpd-alternate-postal-address, Location.modifierExtension, Location.identifier, Location.identifier:HCPD_Local_Identifier, Location.status, Location.operationalStatus, Location.name, Location.alias, Location.description, Location.mode, Location.type, Location.telecom, Location.telecom:phone, Location.telecom:phone.extension, Location.telecom:phone.system, Location.telecom:phone.value, Location.telecom:phone.use, Location.telecom:phone.rank, Location.telecom:phone.period, Location.telecom:email, Location.telecom:email.extension, Location.telecom:email.system, Location.telecom:email.value, Location.telecom:email.use, Location.telecom:email.rank, Location.telecom:email.period, Location.address, 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.extension:suppressed, Location.extension:suppressed.extension, Location.extension:suppressed.extension:suppressedBy, Location.extension:suppressed.extension:suppressedBy.value[x].extension, Location.extension:amenity, Location.extension:hcpd-alternate-postal-address, Location.modifierExtension, Location.telecom:phone.extension, Location.telecom:email.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-requirement | warning | Location | Physical locations (not virtual or mobile) must have an address present. |
physicalType.exists() implies address.exists()
|
| inv-02-type-mobl-requires-modifier | warning | Location | If a location is marked as mobile (code 'MOBL') it is recommended that a modifier coding is provided to describe the mobile type |
type.coding.where(code = 'MOBL').exists() implies type.coding.where(code = 'COMM' or code = 'AMB' or code = 'PTRES' or code = 'SCHOOL' or code = 'WORK').exists()
|
| inv-03-type-vi-should-not-have-modifier | warning | Location | If a location is marked as virtual (code 'VI') no additional modifier codings are needed |
type.coding.where(code = 'VI').exists() implies type.coding.count() = 1
|
| inv-04-type-or-physicaltype-present | error | Location | A Location MUST have either a `type` or a `physicalType` value present |
type.exists() or physicalType.exists()
|
| inv-05-status-values | error | Location | Location.status must be 'active' or 'inactive'. The 'suspended' status is not used in HCPD. |
status = 'active' or status = 'inactive'
|
This structure is derived from AUCoreLocation
Summary
Mandatory: 5 elements(2 nested mandatory elements)
Must-Support: 13 elements
Fixed: 1 element
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron
This IG defines and introduces several search parameters in addition to those inherited from R4, that make it easier to find and filter HC Location resources in Health Connect implementations.
The following search parameters are defined by this IG and SHOULD be supported:
locmailaddress (Location.extension where url = HC preferred postal address extension). Supports :contains modifier.
GET /Location?locmailaddress=PO%20Box%20123locationamenities (Location.extension where url = HC amenity extension)
GET /Location?locationamenities=WheelchairAccesslocationphysicaltype (Location.physicalType)
GET /Location?locationphysicaltype=http://terminology.hl7.org/CodeSystem/location-physical-type|wasuppressed (Location.extension where url = suppressedBy extension)
GET /Location?suppressed=http://digitalhealth.gov.au/fhir/cc/CodeSystem/responsible-party-type|practitioner-initiatedGET /Location?suppressed=practitioner-initiatedGET /Location?suppressed=http://digitalhealth.gov.au/fhir/cc/CodeSystem/responsible-party-type|The following search parameters are inherited from FHIR R4 and have been deemed useful for implementation within this IG. They SHOULD be supported:
name (R4) (Location.name and Location.alias)
GET /Location?name:contains=Telehealthaddress (R4) (Location.address)
GET /Location?address=147-153%20Castlereagh%20Streettype (R4) (Location.type.coding)
GET /Location?type=MOBLnear (Location.position)
| Search for locations by geographical proximity using latitude | longitude | distance format. |
Results can be sorted by distance using the _sort parameter. Documented here under GitHub issue #4650.
_sort=near (closest first), _sort=-near (furthest first).GET /Location?near=-33.8688|151.2093|0.5 (within 0.5km of Sydney CBD coordinates)GET /Location?near=-33.8688|151.2093|3&_sort=near (closest locations first within 3km)status
Location.status values: active or inactive. The suspended status is not used in HCPD.Example: GET /Location?status=active
Note: Adding ?status=inactive records that are inactive. Implementers should be aware that returned results MAY include records marked for suppression; it is the responsibility of the implementer that suppressed records SHALL be filtered out before display.
Implementation note: Location.status values are constrained to active or inactive only. The suspended status is not used in HCPD.
Note: Support for _id is mandatory for a responder and optional for a requester. Where the expectation for a search parameter differs between actors, the table below will reflect the stronger conformance requirement.
| Parameter(s) | Conformance | Type(s) | Requirements (when used alone or in combination) |
|---|---|---|---|
| _id | SHOULD | token |
|
| name (R4) | SHOULD | string |
|
| address (R4) | SHOULD | string |
|
| locmailaddress | SHOULD | string |
|
| locationamenities | SHOULD | token |
|
| locationphysicaltype | SHOULD | token |
|
| suppressed | SHOULD | token |
|
| type (R4) | SHOULD | token |
|
| near (R4) | SHOULD | special |
Geographical proximity search using latitude|longitude|distance format. Can be sorted by distance using _sort=near |
| status (R4) | SHOULD | token |
|
| name+type | SHOULD | string+token |
|
| name+locationphysicaltype | SHOULD | string+token |
|
| name+locationamenities | SHOULD | string+token |
|
| address+type | SHOULD | string+token |
|
| address+locationphysicaltype | SHOULD | string+token |
|
| address+locationamenities | SHOULD | string+token |
|
| locmailaddress+type | SHOULD | string+token |
|
| locmailaddress+locationphysicaltype | SHOULD | string+token |
|
| locmailaddress+locationamenities | SHOULD | string+token |
This implementation supports the following _include parameters when searching for Location resources:
_include=Location:endpoint - Include endpoint resources referenced by the endpoint element_include=Location:organization - Include organization resources referenced by the managingOrganization elementThis implementation supports the following _revinclude parameters when searching for Location resources:
_revinclude=HealthcareService:location - Include HealthcareService resources that reference this Location_revinclude=Provenance:target - Include Provenance resources that track changes to this LocationGET /Location/456?_include=Location:endpoint&_revinclude=HealthcareService:location
This query returns the Location resource, its associated Endpoints, and all HealthcareServices at this Location.