AU Core Implementation Guide
0.3.0-ballot - R1 Australia flag

This page is part of the AU Core (v0.3.0-ballot: AU Core R1 Ballot 5) based on FHIR (HL7® FHIR® Standard) R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: AU Core Location

Official URL: http://hl7.org.au/fhir/core/StructureDefinition/au-core-location Version: 0.3.0-ballot
Standards status: Draft Maturity Level: 0 Computable Name: AUCoreLocation

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.

This profile sets minimum expectations for a Location resource to record, search, and fetch information about a location. It is based on the AU Base Location profile and identifies the additional mandatory core elements, extensions, vocabularies and value sets that SHALL be present in the Location when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.

Usage scenarios

The following are supported usage scenarios for this profile:

  • Record or update basic information for a location
  • Read information about a location referenced by another resource

Comparison with other national and international specifications

A resource conforming to this profile:

No equivalent International Patient Access or International Patient Summary profile.

Conformance in reverse is not guaranteed, i.e. a resource conforming to US Core MAY NOT conform to AU Core.

Profile specific implementation guidance

  • See guidance on the construction of an identifier on the relevant Identifier profile page and the section on Business Identifiers in AU Base.
  • When constructing an address
    • an international address can be represented using the core Address data type
    • an Australian address SHOULD be represented using the Australian Address data type profile

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from AUBaseLocation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location C0..*AUBaseLocationA location in an Australian healthcare context
au-core-loc-01: The location shall at least have a valid identifier or address or type
... identifier SC0..*Identifier, AULocationSpecificPracticeNumber, AUNATASiteNumberUnique code or number identifying the location to its users
... name S0..1stringName of the location as used by humans
... description S0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... type SC0..*CodeableConceptType of function performed
... address SC0..1Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... physicalType S0..1CodeableConceptPhysical form of the location
... managingOrganization S0..1Reference(AU Core Organization)Organization responsible for provisioning and upkeep

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
au-core-loc-01errorLocationThe 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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Location C0..*AUBaseLocationA location in an Australian healthcare context
au-core-loc-01: The location shall at least have a valid identifier or address or type
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SC0..*Identifier, AULocationSpecificPracticeNumber, AUNATASiteNumberUnique code or number identifying the location to its users
... name SΣ0..1stringName of the location as used by humans
... description SΣ0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... mode SΣ0..1codeinstance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.

... type SΣC0..*CodeableConceptType of function performed
Binding: ServiceDeliveryLocationRoleType - AU Extended (extensible)
... address SC0..1Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... physicalType SΣ0..1CodeableConceptPhysical form of the location
Binding: Location Type (Physical) - AU Extended (preferred)
... managingOrganization SΣ0..1Reference(AU Core Organization)Organization responsible for provisioning and upkeep

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Location.statusrequiredLocationStatus
http://hl7.org/fhir/ValueSet/location-status|4.0.1
from the FHIR Standard
Location.moderequiredLocationMode
http://hl7.org/fhir/ValueSet/location-mode|4.0.1
from the FHIR Standard
Location.typeextensibleServiceDeliveryLocationRoleTypeAUExtended
http://terminology.hl7.org.au/ValueSet/v3-ServiceDeliveryLocationRoleType-extended
Location.physicalTypepreferredLocationPhysicalTypeAUExtended
http://terminology.hl7.org.au/ValueSet/location-physical-type-extended

Constraints

IdGradePath(s)DetailsRequirements
au-core-loc-01errorLocationThe 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-2errorLocationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLocationIf 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-4errorLocationIf 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-5errorLocationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLocationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Location C0..*AUBaseLocationA location in an Australian healthcare context
au-core-loc-01: The location shall at least have a valid identifier or address or type
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SC0..*Identifier, AULocationSpecificPracticeNumber, AUNATASiteNumberUnique code or number identifying the location to its users
... status ?!Σ0..1codeactive | suspended | inactive
Binding: LocationStatus (required): Indicates whether the location is still in use.

... operationalStatus Σ0..1CodingThe operational status of the location (typically only for a bed/room)
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).

... name SΣ0..1stringName of the location as used by humans
... alias 0..*stringA list of alternate names that the location is known as, or was known as, in the past
... description SΣ0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... mode SΣ0..1codeinstance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.

... type SΣC0..*CodeableConceptType of function performed
Binding: ServiceDeliveryLocationRoleType - AU Extended (extensible)
... telecom 0..*ContactPointContact details of the location
... address SC0..1Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... physicalType SΣ0..1CodeableConceptPhysical form of the location
Binding: Location Type (Physical) - AU Extended (preferred)
... position 0..1BackboneElementThe absolute geographic location
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... longitude 1..1decimalLongitude with WGS84 datum
.... latitude 1..1decimalLatitude with WGS84 datum
.... altitude 0..1decimalAltitude with WGS84 datum
... managingOrganization SΣ0..1Reference(AU Core Organization)Organization responsible for provisioning and upkeep
... partOf 0..1Reference(Location)Another Location this one is physically a part of
... hoursOfOperation 0..*BackboneElementWhat days/times during a week is this location usually open
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


.... allDay 0..1booleanThe Location is open all day
.... openingTime 0..1timeTime that the Location opens
.... closingTime 0..1timeTime that the Location closes
... availabilityExceptions 0..1stringDescription of availability exceptions
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to services operated for the location

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Location.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Location.statusrequiredLocationStatus
http://hl7.org/fhir/ValueSet/location-status|4.0.1
from the FHIR Standard
Location.operationalStatuspreferredHl7VSBedStatus
http://terminology.hl7.org/ValueSet/v2-0116
Location.moderequiredLocationMode
http://hl7.org/fhir/ValueSet/location-mode|4.0.1
from the FHIR Standard
Location.typeextensibleServiceDeliveryLocationRoleTypeAUExtended
http://terminology.hl7.org.au/ValueSet/v3-ServiceDeliveryLocationRoleType-extended
Location.physicalTypepreferredLocationPhysicalTypeAUExtended
http://terminology.hl7.org.au/ValueSet/location-physical-type-extended
Location.hoursOfOperation.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
au-core-loc-01errorLocationThe 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-2errorLocationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLocationIf 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-4errorLocationIf 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-5errorLocationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLocationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from AUBaseLocation

Summary

Must-Support: 8 elements

Structures

This structure refers to these other structures:

Maturity: 0

Differential View

This structure is derived from AUBaseLocation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location C0..*AUBaseLocationA location in an Australian healthcare context
au-core-loc-01: The location shall at least have a valid identifier or address or type
... identifier SC0..*Identifier, AULocationSpecificPracticeNumber, AUNATASiteNumberUnique code or number identifying the location to its users
... name S0..1stringName of the location as used by humans
... description S0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... type SC0..*CodeableConceptType of function performed
... address SC0..1Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... physicalType S0..1CodeableConceptPhysical form of the location
... managingOrganization S0..1Reference(AU Core Organization)Organization responsible for provisioning and upkeep

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
au-core-loc-01errorLocationThe 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()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location C0..*AUBaseLocationA location in an Australian healthcare context
au-core-loc-01: The location shall at least have a valid identifier or address or type
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SC0..*Identifier, AULocationSpecificPracticeNumber, AUNATASiteNumberUnique code or number identifying the location to its users
... name SΣ0..1stringName of the location as used by humans
... description SΣ0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... mode SΣ0..1codeinstance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.

... type SΣC0..*CodeableConceptType of function performed
Binding: ServiceDeliveryLocationRoleType - AU Extended (extensible)
... address SC0..1Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... physicalType SΣ0..1CodeableConceptPhysical form of the location
Binding: Location Type (Physical) - AU Extended (preferred)
... managingOrganization SΣ0..1Reference(AU Core Organization)Organization responsible for provisioning and upkeep

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Location.statusrequiredLocationStatus
http://hl7.org/fhir/ValueSet/location-status|4.0.1
from the FHIR Standard
Location.moderequiredLocationMode
http://hl7.org/fhir/ValueSet/location-mode|4.0.1
from the FHIR Standard
Location.typeextensibleServiceDeliveryLocationRoleTypeAUExtended
http://terminology.hl7.org.au/ValueSet/v3-ServiceDeliveryLocationRoleType-extended
Location.physicalTypepreferredLocationPhysicalTypeAUExtended
http://terminology.hl7.org.au/ValueSet/location-physical-type-extended

Constraints

IdGradePath(s)DetailsRequirements
au-core-loc-01errorLocationThe 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-2errorLocationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLocationIf 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-4errorLocationIf 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-5errorLocationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLocationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location C0..*AUBaseLocationA location in an Australian healthcare context
au-core-loc-01: The location shall at least have a valid identifier or address or type
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SC0..*Identifier, AULocationSpecificPracticeNumber, AUNATASiteNumberUnique code or number identifying the location to its users
... status ?!Σ0..1codeactive | suspended | inactive
Binding: LocationStatus (required): Indicates whether the location is still in use.

... operationalStatus Σ0..1CodingThe operational status of the location (typically only for a bed/room)
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).

... name SΣ0..1stringName of the location as used by humans
... alias 0..*stringA list of alternate names that the location is known as, or was known as, in the past
... description SΣ0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... mode SΣ0..1codeinstance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.

... type SΣC0..*CodeableConceptType of function performed
Binding: ServiceDeliveryLocationRoleType - AU Extended (extensible)
... telecom 0..*ContactPointContact details of the location
... address SC0..1Address, AustralianAddressAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
... physicalType SΣ0..1CodeableConceptPhysical form of the location
Binding: Location Type (Physical) - AU Extended (preferred)
... position 0..1BackboneElementThe absolute geographic location
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... longitude 1..1decimalLongitude with WGS84 datum
.... latitude 1..1decimalLatitude with WGS84 datum
.... altitude 0..1decimalAltitude with WGS84 datum
... managingOrganization SΣ0..1Reference(AU Core Organization)Organization responsible for provisioning and upkeep
... partOf 0..1Reference(Location)Another Location this one is physically a part of
... hoursOfOperation 0..*BackboneElementWhat days/times during a week is this location usually open
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


.... allDay 0..1booleanThe Location is open all day
.... openingTime 0..1timeTime that the Location opens
.... closingTime 0..1timeTime that the Location closes
... availabilityExceptions 0..1stringDescription of availability exceptions
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to services operated for the location

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Location.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Location.statusrequiredLocationStatus
http://hl7.org/fhir/ValueSet/location-status|4.0.1
from the FHIR Standard
Location.operationalStatuspreferredHl7VSBedStatus
http://terminology.hl7.org/ValueSet/v2-0116
Location.moderequiredLocationMode
http://hl7.org/fhir/ValueSet/location-mode|4.0.1
from the FHIR Standard
Location.typeextensibleServiceDeliveryLocationRoleTypeAUExtended
http://terminology.hl7.org.au/ValueSet/v3-ServiceDeliveryLocationRoleType-extended
Location.physicalTypepreferredLocationPhysicalTypeAUExtended
http://terminology.hl7.org.au/ValueSet/location-physical-type-extended
Location.hoursOfOperation.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
au-core-loc-01errorLocationThe 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-2errorLocationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorLocationIf 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-4errorLocationIf 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-5errorLocationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceLocationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from AUBaseLocation

Summary

Must-Support: 8 elements

Structures

This structure refers to these other structures:

Maturity: 0

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Below is an overview of the mandatory and optional search parameters and combined search parameters. FHIR search operations and the syntax used to describe the interactions is described here.

Any search parameter defined in FHIR may be ‘allowed’ by the system unless explicitly marked as “SHALL NOT”. A few items are marked as MAY in this implementation guide to highlight their potential relevance.

Parameter(s) Conformance Type(s) Requirements (when used alone or in combination)
address SHALL string
name SHALL string
address-city SHOULD string
address-state SHOULD string
address-postalcode SHOULD string
identifier MAY token The client SHALL provide at least a code value and MAY provide both the system and code values. The server SHALL support both.

Mandatory Search Parameters

The following search parameters SHALL be supported:

  1. SHALL support searching for a location based on text address using the address search parameter:

    GET [base]/Location?address=[string]

    Example:

    1. GET [base]/Location?address=QLD
    2. GET [base]/Location?address=QLD

    Implementation Notes: Fetches a bundle of all Location resources matching the name (how to search by string)

  2. SHALL support searching for a location based on text name using the name search parameter:

    GET [base]/Location?name=[string]

    Example:

    1. GET [base]/Location?name=Hospital

    Implementation Notes: Fetches a bundle of all Location resources matching the name (how to search by string)

Optional Search Parameters:

The following search parameters SHOULD be supported:

  1. SHOULD support searching for a location based on the address-city search parameter:

    GET [base]/Location?address-city=[string]

    Example:

    1. GET [base]/Location?address-city=Westmead

    Implementation Notes: Fetches a bundle of all Location resources for the city (how to search by string)

  2. SHOULD support searching for a location based on the addresss-postalcode search parameter:

    GET [base]/Location?addresss-postalcode=[string]

    Example:

    1. GET [base]/Location?addresss-postalcode=3005

    Implementation Notes: Fetches a bundle of all Location resources matching the post code (how to search by string)

  3. SHOULD support searching for a location based on the address-state search parameter:

    GET [base]/Location?address-state=[string]

    Example:

    1. GET [base]/Location?address-state=TAS

    Implementation Notes: Fetches a bundle of all Location resources matching the state (how to search by string)