Australian Provider Directory Implementation Guide (PD 2.1)

Implementation Guide Template, published by HL7 Australia. This is not an authorized publication; it is the continuous build for version 2.1.0). This version is based on the current content of https://github.com/hl7au/au-fhir-pd/ and changes regularly. See the Directory of published versions

SD.4 StructureDefinition-au-pd-location

Australian Location Directory Entry Profile

Provider directory entry for a location. In this profile this defines the service delivery location by address at a minimum.

SD.4.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-location

This profile builds on AUBaseLocation.

This profile was published on Mon May 03 02:23:16 UTC 2021 as a draft by HL7 Australia.

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

Australian Location Directory Entry

  1. Must Support Optional: Meta-Source (uri)
  2. Must Support Required: Active Status (code)
  3. Must Support Required: Location Address
NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..*AUBaseLocationAustralian Location Directory Entry
... meta 0..1MetaMetadata on Location
.... source S0..1uriIdentifies where the resource comes from
... status S1..1codeRequired status
... address S1..1Address, AustralianAddressAustralian location
.... state 0..1stringSub-unit of country (abbreviations ok)
Binding: Australian States and Territories (required): well known state representation


doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..*AUBaseLocationAustralian Location Directory Entry
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata on Location
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source SΣ0..1uriIdentifies where the resource comes from
.... profile Σ0..*canonical(StructureDefinition)Profiles this resource claims to conform to
.... security Σ0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ0..*CodingTags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... 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 0..*Identifier, AULocationSpecificPracticeNumber, AUNATASiteNumberUnique code or number identifying the location to its users
... status ?!SΣ1..1codeRequired status
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 Σ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 Σ0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... mode Σ0..1codeinstance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.

... type Σ0..*CodeableConceptType of function performed
Binding: Location Type (AU Extended) (extensible)
... telecom 0..*ContactPointContact details of the location
... address S1..1Address, AustralianAddressAustralian location
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ0..1codepostal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ0..1stringText representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line Σ0..*stringStreet name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city Σ0..1stringName of city, town etc.
Example General: Erewhon
.... district Σ0..1stringDistrict name (aka county)
Example General: Madison
.... state Σ0..1stringSub-unit of country (abbreviations ok)
Binding: Australian States and Territories (required): well known state representation

.... postalCode Σ0..1stringPostal code for area
Example General: 9132
.... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ0..1PeriodTime period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... physicalType Σ0..1CodeableConceptPhysical form of the location
Binding: Location Physical Type (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 Σ0..1Reference(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

Australian Location Directory Entry

  1. Must Support Optional: Meta-Source (uri)
  2. Must Support Required: Active Status (code)
  3. Must Support Required: Location Address

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..*AUBaseLocationAustralian Location Directory Entry
... meta 0..1MetaMetadata on Location
.... source S0..1uriIdentifies where the resource comes from
... status S1..1codeRequired status
... address S1..1Address, AustralianAddressAustralian location
.... state 0..1stringSub-unit of country (abbreviations ok)
Binding: Australian States and Territories (required): well known state representation


doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..*AUBaseLocationAustralian Location Directory Entry
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata on Location
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... source SΣ0..1uriIdentifies where the resource comes from
.... profile Σ0..*canonical(StructureDefinition)Profiles this resource claims to conform to
.... security Σ0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ0..*CodingTags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... 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 0..*Identifier, AULocationSpecificPracticeNumber, AUNATASiteNumberUnique code or number identifying the location to its users
... status ?!SΣ1..1codeRequired status
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 Σ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 Σ0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... mode Σ0..1codeinstance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.

... type Σ0..*CodeableConceptType of function performed
Binding: Location Type (AU Extended) (extensible)
... telecom 0..*ContactPointContact details of the location
... address S1..1Address, AustralianAddressAustralian location
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ0..1codepostal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ0..1stringText representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line Σ0..*stringStreet name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city Σ0..1stringName of city, town etc.
Example General: Erewhon
.... district Σ0..1stringDistrict name (aka county)
Example General: Madison
.... state Σ0..1stringSub-unit of country (abbreviations ok)
Binding: Australian States and Territories (required): well known state representation

.... postalCode Σ0..1stringPostal code for area
Example General: 9132
.... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ0..1PeriodTime period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... physicalType Σ0..1CodeableConceptPhysical form of the location
Binding: Location Physical Type (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 Σ0..1Reference(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

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron

 

SD.4.2 Quick Start

Below is an overview of the requirements for search and read operations.


Read: Location

Read identified location resource content.

GET [base]/Location/[id]

Example: GET [base]/Location/1234

Support:

  • MUST support read Location

Implementation Notes: (how to read resource)


Search: Active Status

Search based on active status of the endpoint record.

GET [base]/Endpoint?status=[code]

Example: GET [base]/Endpoint?status=active

Support: MUST support search Organization by active status code (active | suspended | inactive)

Implementation Notes: (how to search by token)


Search: Location Address Parts

Search based on address parts for postcode, suburb, and state.

GET [base]/Location?address-postalcode=[postcode]

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

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

Example:

GET [base]/Location?address-postalcode=3101

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

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

Support:

  • SHOULD support search Location by address parts address-postalcode, address-city, address-state.
  • SHOULD support basic param=[string] search which is case and accent-insensitive search; field equals or starts with the string value.

Implementation Notes: (how to search by string)


Search: Location Distance

Search based on address within a nominated distance.

GET [base]/Location?near=[latitude]:[longitude]&near-distance=[prefix][value]|[units-system]|[units]

Example: GET [base]/Location?near=-83.694810:42.256500&near-distance=le10.0|http://unitsofmeasure.org|km

Support:

  • SHOULD support search Location within a distance.
  • SHOULD support: [prefix] fixed ‘le’ is less than or equal to distance [value] is a decimal quantity number [units-system] fixed ‘http://unitsofmeasure.org’ identifies standard distance units are used [units] distance units must support ‘km’ or ‘m’

Implementation Notes: (how to search by token) and (how to search by quantity)


Search: Combination

  • The following searches MUST be able to be perfomed together in a single request using logical AND for criteria. e.g in postcode within 2km