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

Resource Profile: HC HealthcareService

Official URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-healthcareservice Version: 0.1.0-preview
Standards status: Draft Computable Name: HCHealthcareService

Usage:Jurisdiction: Australia

Copyright/Legal: Copyright © 2025 Australian Digital Health Agency - All rights reserved. This content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/

This profile of HealthcareService represents a particular type of health or health related service offered by a healthcare organisation at a particular location i.e. a practice, clinic, facility, or hospital. The authoritative source for healthcare services is the healthcare provider organisation that provides the service(s).

Note: All elements defined within this profile are expected to be supported by implementing systems unless explicitly stated otherwise. The following sections provide additional guidance and exceptions for specific elements.

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

Extensions

Extensions introduced in this profile:

Usage notes

The extension:hc-iar-levels-of-care is used to indicate the Initial Assessment and Referral (IAR) Levels of Care for a healthcare service. This extension draws its codes from the Health Connect IAR Levels of Care ValueSet. The ValueSet includes the codes as follows:

  • 1: Level 1 (self-management)
  • 2: Level 2 (low intensity interventions)
  • 3: Level 3 (moderate intensity interventions)
  • 4: Level 4 (high intensity interventions)
  • 5: Level 5 (specialist and acute services)

Accept new patient

Boolean datatype that indicates whether the healthcare service is accepting new patients.

Organization reference

The providedBy element must contain a relative reference to an existing HC Organization.

Service provision code

This section describes the use of codes to indicate payment and billing options, helping requesters or searchers make informed decisions when seeking healthcare services.

Service type

Utilises the Service Type ValueSet, to draw codes from SNOMED that define concepts for the type of service that the healthcare service provides.

A single code representing the primary service type MUST be provided and selected from the Service Type value set.

Location reference

The location element must contain a relative reference to an existing HC Location whose managingOrganization references the same HC Organization as is referenced by the providedBy element.

Availability

To indicate a change in the pattern of availability of the healthcare service during a particular period, use availableTime with the availableTimeApplicability extension.

To indicate the healthcare service is not available during a period of time, use notAvailable.

Coverage area

The coverage area that a service is intended for/available to should be defined using one or more instances of the coverageArea element, with the address elements of the contained Location populated depending on the type of coverage area to be defined. HealthConnect currently supports coverage areas to be defined as Australia-wide (in which case only one coverageArea element should be present), or as a combination of individual states and/or suburbs (with separate coverageArea elements for each). See the HC Service Coverage Area profile for more information.

Referral information

Some subscribing systems may render markdown contained in the HC Referral Information For Referrer element; however this is not guaranteed, so publishing systems should limit markdown syntax in these elements to that which still renders well as plain text (such as bullets, numbered lists, or bold/italic text).

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* AUCoreHealthcareService A healthcare service in an Australian healthcare context
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:hc-iar-levels-of-care S 0..* CodeableConcept HC IAR Levels of Care
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-iar-levels-of-care
Binding: HC IAR Levels of Care ValueSet (required)
.... extension:hc-accept-new-patient S 0..1 boolean Indicates if Healthcare service is accepting new patients
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient
.... extension:hc-referral-information-for-referrer S 0..1 markdown Referral information for referrers
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer
.... extension:hcActivePeriod S 1..1 Period The period during which the HealthcareService is active.
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!Σ 0..1 boolean Whether this HealthcareService record is in active use
... providedBy SΣ 1..1 Reference(HC Organization) Providing organisation
... type SOΣ 1..* CodeableConcept A high-level descriptor describing the type of healthcare service(s) offered by the organisation
Binding: Service Type . (required)
.... coding SΣ 1..* Coding Describes the service(s) offered. At least one coding is required
..... code SΣ 1..1 code The healthcare service type code from SNOMED-CT-AU
..... display SΣ 1..1 string The display name of the healthcare service type from SNOMED-CT-AU
... location SΣ 1..1 Reference(HC Location) Single location for this service
... name SOΣ 1..1 string Description of service as presented to a consumer while searching
... comment SΣ 0..1 string Additional description and/or any specific information about the healthcare service, not covered elsewhere
... telecom SO 0..* ContactPoint Phone number, fax number, email
... coverageArea S 0..* Reference(HC Service Coverage Area) The location(s) that this healthcare service is available to
... serviceProvisionCode S 0..* CodeableConcept Conditions under which service is available/offered
Binding: HC Service Provision Code (required)
... eligibility S 0..* BackboneElement Specific eligibility requirements required to use the service
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 0..1 CodeableConcept Eligibility requirements for the healthcare service.
Binding: HC Service Eligibility ValueSet (required)
... communication S 0..* CodeableConcept The languages that this healthcare service is offered in
Binding: Common Languages in Australia . (extensible)
... appointmentRequired S 0..1 boolean Whether an appointment is required for this service
... availableTime S 0..* BackboneElement Times the Service Site is available
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... allDay S 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime S 0..1 time Opening time of day (ignored if allDay = true)
..... Slices for extension Content/Rules for all slices
...... extension:timeZone 0..1 code The date on which an organisation commences offering a service
URL: http://hl7.org/fhir/StructureDefinition/timezone
Binding: IANATimezones (required): IANA Timezones (BCP 175)
.... availableEndTime S 0..1 time Closing time of day (ignored if allDay = true)
..... Slices for extension Content/Rules for all slices
...... extension:timeZone 0..1 code The date on which an organisation ceases to offer a service
URL: http://hl7.org/fhir/StructureDefinition/timezone
Binding: IANATimezones (required): IANA Timezones (BCP 175)
... notAvailable S 0..* BackboneElement Not available during this time due to provided reason
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Date range that the service is not available - can be open-ended if service is closing
... endpoint S 0..1 Reference(HC Endpoint) Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
HealthcareService.type Base required Service Type . ⏿1.0.0 tx.ontoserver.csiro.au
HealthcareService.serviceProvisionCode Base required HC Service Provision Code 📦0.1.0-preview This IG
HealthcareService.eligibility.​code Base required HC Service Eligibility ValueSet 📦0.1.0-preview This IG
HealthcareService.communication Base extensible Common Languages in Australia . ⏿2.2.1 tx.ontoserver.csiro.au

Constraints

Id Grade Path(s) Description Expression
dom-2 error HealthcareService If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error HealthcareService 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 HealthcareService 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 HealthcareService If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice HealthcareService A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from AUCoreHealthcareService

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* AUCoreHealthcareService A healthcare service in an Australian healthcare context
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:hc-iar-levels-of-care S 0..* CodeableConcept HC IAR Levels of Care
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-iar-levels-of-care
Binding: HC IAR Levels of Care ValueSet (required)
.... extension:hc-accept-new-patient S 0..1 boolean Indicates if Healthcare service is accepting new patients
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient
.... extension:hc-referral-information-for-referrer S 0..1 markdown Referral information for referrers
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer
.... extension:hcActivePeriod S 1..1 Period The period during which the HealthcareService is active.
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period
... providedBy S 1..1 Reference(HC Organization) Providing organisation
... type 1..* CodeableConcept A high-level descriptor describing the type of healthcare service(s) offered by the organisation
Binding: Service Type . (required)
.... coding S 1..* Coding Describes the service(s) offered. At least one coding is required
..... code S 1..1 code The healthcare service type code from SNOMED-CT-AU
..... display S 1..1 string The display name of the healthcare service type from SNOMED-CT-AU
... comment S 0..1 string Additional description and/or any specific information about the healthcare service, not covered elsewhere
... telecom 0..* ContactPoint Phone number, fax number, email
... coverageArea S 0..* Reference(HC Service Coverage Area) The location(s) that this healthcare service is available to
... serviceProvisionCode S 0..* CodeableConcept Conditions under which service is available/offered
Binding: HC Service Provision Code (required)
... eligibility S 0..* BackboneElement Specific eligibility requirements required to use the service
.... code 0..1 CodeableConcept Eligibility requirements for the healthcare service.
Binding: HC Service Eligibility ValueSet (required)
... communication S 0..* CodeableConcept The languages that this healthcare service is offered in
... appointmentRequired S 0..1 boolean Whether an appointment is required for this service
... availableTime S 0..* BackboneElement Times the Service Site is available
.... allDay S 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime S 0..1 time Opening time of day (ignored if allDay = true)
..... Slices for extension Content/Rules for all slices
...... extension:timeZone 0..1 TimezoneCode(5.2.0) The date on which an organisation commences offering a service
.... availableEndTime S 0..1 time Closing time of day (ignored if allDay = true)
..... Slices for extension Content/Rules for all slices
...... extension:timeZone 0..1 TimezoneCode(5.2.0) The date on which an organisation ceases to offer a service
... notAvailable S 0..* BackboneElement Not available during this time due to provided reason
.... during 0..1 Period Date range that the service is not available - can be open-ended if service is closing
... endpoint S 0..1 Reference(HC Endpoint) Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
HealthcareService.type Base required Service Type . ⏿1.0.0 tx.ontoserver.csiro.au
HealthcareService.serviceProvisionCode Base required HC Service Provision Code 📦0.1.0-preview This IG
HealthcareService.eligibility.​code Base required HC Service Eligibility ValueSet 📦0.1.0-preview This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* AUCoreHealthcareService A healthcare service in an Australian healthcare context
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:hc-iar-levels-of-care S 0..* CodeableConcept HC IAR Levels of Care
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-iar-levels-of-care
Binding: HC IAR Levels of Care ValueSet (required)
.... extension:hc-accept-new-patient S 0..1 boolean Indicates if Healthcare service is accepting new patients
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient
.... extension:hc-referral-information-for-referrer S 0..1 markdown Referral information for referrers
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer
.... extension:hcActivePeriod S 1..1 Period The period during which the HealthcareService is active.
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SOΣ 0..* Identifier, AUHPIO, AUResidentialAgedCareServiceIdentifier External identifiers for this item
... active ?!Σ 0..1 boolean Whether this HealthcareService record is in active use
... providedBy SΣ 1..1 Reference(HC Organization) Providing organisation
... category Σ 0..* CodeableConcept Broad category of service being performed or delivered
Binding: ServiceCategory (example): A category of the service(s) that could be provided.
... type SOΣ 1..* CodeableConcept A high-level descriptor describing the type of healthcare service(s) offered by the organisation
Binding: Service Type . (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 1..* Coding Describes the service(s) offered. At least one coding is required
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 0..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code The healthcare service type code from SNOMED-CT-AU
..... display SΣ 1..1 string The display name of the healthcare service type from SNOMED-CT-AU
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... specialty Σ 0..* CodeableConcept Specialties handled by the HealthcareService
Binding: Clinical Specialty . (preferred)
... location SΣ 1..1 Reference(HC Location) Single location for this service
... name SOΣ 1..1 string Description of service as presented to a consumer while searching
... comment SΣ 0..1 string Additional description and/or any specific information about the healthcare service, not covered elsewhere
... extraDetails 0..1 markdown Extra details about the service that can't be placed in the other fields
... photo Σ 0..1 Attachment Facilitates quick identification of the service
... telecom SO 0..* ContactPoint Phone number, fax number, email
... coverageArea S 0..* Reference(HC Service Coverage Area) The location(s) that this healthcare service is available to
... serviceProvisionCode S 0..* CodeableConcept Conditions under which service is available/offered
Binding: HC Service Provision Code (required)
... eligibility S 0..* BackboneElement Specific eligibility requirements required to use the service
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 0..1 CodeableConcept Eligibility requirements for the healthcare service.
Binding: HC Service Eligibility ValueSet (required)
.... comment 0..1 markdown Describes the eligibility conditions for the service
... program 0..* CodeableConcept Programs that this service is applicable to
Binding: Program (example): Government or local programs that this service applies to.
... characteristic 0..* CodeableConcept Collection of characteristics (attributes)
Binding Description: (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy).
... communication S 0..* CodeableConcept The languages that this healthcare service is offered in
Binding: Common Languages in Australia . (extensible)
... referralMethod 0..* CodeableConcept Ways that the service accepts referrals
Binding: ReferralMethod (example): The methods of referral can be used when referring to a specific HealthCareService resource.
... appointmentRequired S 0..1 boolean Whether an appointment is required for this service
... availableTime S 0..* BackboneElement Times the Service Site is available
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
.... allDay S 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime S 0..1 time Opening time of day (ignored if allDay = true)
..... id 0..1 string xml:id (or equivalent in JSON)
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:timeZone 0..1 code The date on which an organisation commences offering a service
URL: http://hl7.org/fhir/StructureDefinition/timezone
Binding: IANATimezones (required): IANA Timezones (BCP 175)
..... value 0..1 time Primitive value for time
.... availableEndTime S 0..1 time Closing time of day (ignored if allDay = true)
..... id 0..1 string xml:id (or equivalent in JSON)
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:timeZone 0..1 code The date on which an organisation ceases to offer a service
URL: http://hl7.org/fhir/StructureDefinition/timezone
Binding: IANATimezones (required): IANA Timezones (BCP 175)
..... value 0..1 time Primitive value for time
... notAvailable S 0..* BackboneElement Not available during this time due to provided reason
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Date range that the service is not available - can be open-ended if service is closing
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint S 0..1 Reference(HC Endpoint) Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
HealthcareService.language Base preferred Common Languages 📦4.0.1 FHIR Std.
HealthcareService.category Base example Service category 📦4.0.1 FHIR Std.
HealthcareService.type Base required Service Type . ⏿1.0.0 tx.ontoserver.csiro.au
HealthcareService.specialty Base preferred Clinical Specialty . ⏿1.0.0 tx.ontoserver.csiro.au
HealthcareService.serviceProvisionCode Base required HC Service Provision Code 📦0.1.0-preview This IG
HealthcareService.eligibility.​code Base required HC Service Eligibility ValueSet 📦0.1.0-preview This IG
HealthcareService.program Base example Program 📦4.0.1 FHIR Std.
HealthcareService.characteristic Base example Not State Unknown
HealthcareService.communication Base extensible Common Languages in Australia . ⏿2.2.1 tx.ontoserver.csiro.au
HealthcareService.referralMethod Base example ReferralMethod 📦4.0.1 FHIR Std.
HealthcareService.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error HealthcareService If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error HealthcareService 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 HealthcareService 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 HealthcareService If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice HealthcareService A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* AUCoreHealthcareService A healthcare service in an Australian healthcare context
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:hc-iar-levels-of-care S 0..* CodeableConcept HC IAR Levels of Care
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-iar-levels-of-care
Binding: HC IAR Levels of Care ValueSet (required)
.... extension:hc-accept-new-patient S 0..1 boolean Indicates if Healthcare service is accepting new patients
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient
.... extension:hc-referral-information-for-referrer S 0..1 markdown Referral information for referrers
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer
.... extension:hcActivePeriod S 1..1 Period The period during which the HealthcareService is active.
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!Σ 0..1 boolean Whether this HealthcareService record is in active use
... providedBy SΣ 1..1 Reference(HC Organization) Providing organisation
... type SOΣ 1..* CodeableConcept A high-level descriptor describing the type of healthcare service(s) offered by the organisation
Binding: Service Type . (required)
.... coding SΣ 1..* Coding Describes the service(s) offered. At least one coding is required
..... code SΣ 1..1 code The healthcare service type code from SNOMED-CT-AU
..... display SΣ 1..1 string The display name of the healthcare service type from SNOMED-CT-AU
... location SΣ 1..1 Reference(HC Location) Single location for this service
... name SOΣ 1..1 string Description of service as presented to a consumer while searching
... comment SΣ 0..1 string Additional description and/or any specific information about the healthcare service, not covered elsewhere
... telecom SO 0..* ContactPoint Phone number, fax number, email
... coverageArea S 0..* Reference(HC Service Coverage Area) The location(s) that this healthcare service is available to
... serviceProvisionCode S 0..* CodeableConcept Conditions under which service is available/offered
Binding: HC Service Provision Code (required)
... eligibility S 0..* BackboneElement Specific eligibility requirements required to use the service
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 0..1 CodeableConcept Eligibility requirements for the healthcare service.
Binding: HC Service Eligibility ValueSet (required)
... communication S 0..* CodeableConcept The languages that this healthcare service is offered in
Binding: Common Languages in Australia . (extensible)
... appointmentRequired S 0..1 boolean Whether an appointment is required for this service
... availableTime S 0..* BackboneElement Times the Service Site is available
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... allDay S 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime S 0..1 time Opening time of day (ignored if allDay = true)
..... Slices for extension Content/Rules for all slices
...... extension:timeZone 0..1 code The date on which an organisation commences offering a service
URL: http://hl7.org/fhir/StructureDefinition/timezone
Binding: IANATimezones (required): IANA Timezones (BCP 175)
.... availableEndTime S 0..1 time Closing time of day (ignored if allDay = true)
..... Slices for extension Content/Rules for all slices
...... extension:timeZone 0..1 code The date on which an organisation ceases to offer a service
URL: http://hl7.org/fhir/StructureDefinition/timezone
Binding: IANATimezones (required): IANA Timezones (BCP 175)
... notAvailable S 0..* BackboneElement Not available during this time due to provided reason
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Date range that the service is not available - can be open-ended if service is closing
... endpoint S 0..1 Reference(HC Endpoint) Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
HealthcareService.type Base required Service Type . ⏿1.0.0 tx.ontoserver.csiro.au
HealthcareService.serviceProvisionCode Base required HC Service Provision Code 📦0.1.0-preview This IG
HealthcareService.eligibility.​code Base required HC Service Eligibility ValueSet 📦0.1.0-preview This IG
HealthcareService.communication Base extensible Common Languages in Australia . ⏿2.2.1 tx.ontoserver.csiro.au

Constraints

Id Grade Path(s) Description Expression
dom-2 error HealthcareService If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error HealthcareService 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 HealthcareService 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 HealthcareService If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice HealthcareService A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from AUCoreHealthcareService

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* AUCoreHealthcareService A healthcare service in an Australian healthcare context
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:hc-iar-levels-of-care S 0..* CodeableConcept HC IAR Levels of Care
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-iar-levels-of-care
Binding: HC IAR Levels of Care ValueSet (required)
.... extension:hc-accept-new-patient S 0..1 boolean Indicates if Healthcare service is accepting new patients
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient
.... extension:hc-referral-information-for-referrer S 0..1 markdown Referral information for referrers
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer
.... extension:hcActivePeriod S 1..1 Period The period during which the HealthcareService is active.
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period
... providedBy S 1..1 Reference(HC Organization) Providing organisation
... type 1..* CodeableConcept A high-level descriptor describing the type of healthcare service(s) offered by the organisation
Binding: Service Type . (required)
.... coding S 1..* Coding Describes the service(s) offered. At least one coding is required
..... code S 1..1 code The healthcare service type code from SNOMED-CT-AU
..... display S 1..1 string The display name of the healthcare service type from SNOMED-CT-AU
... comment S 0..1 string Additional description and/or any specific information about the healthcare service, not covered elsewhere
... telecom 0..* ContactPoint Phone number, fax number, email
... coverageArea S 0..* Reference(HC Service Coverage Area) The location(s) that this healthcare service is available to
... serviceProvisionCode S 0..* CodeableConcept Conditions under which service is available/offered
Binding: HC Service Provision Code (required)
... eligibility S 0..* BackboneElement Specific eligibility requirements required to use the service
.... code 0..1 CodeableConcept Eligibility requirements for the healthcare service.
Binding: HC Service Eligibility ValueSet (required)
... communication S 0..* CodeableConcept The languages that this healthcare service is offered in
... appointmentRequired S 0..1 boolean Whether an appointment is required for this service
... availableTime S 0..* BackboneElement Times the Service Site is available
.... allDay S 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime S 0..1 time Opening time of day (ignored if allDay = true)
..... Slices for extension Content/Rules for all slices
...... extension:timeZone 0..1 TimezoneCode(5.2.0) The date on which an organisation commences offering a service
.... availableEndTime S 0..1 time Closing time of day (ignored if allDay = true)
..... Slices for extension Content/Rules for all slices
...... extension:timeZone 0..1 TimezoneCode(5.2.0) The date on which an organisation ceases to offer a service
... notAvailable S 0..* BackboneElement Not available during this time due to provided reason
.... during 0..1 Period Date range that the service is not available - can be open-ended if service is closing
... endpoint S 0..1 Reference(HC Endpoint) Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
HealthcareService.type Base required Service Type . ⏿1.0.0 tx.ontoserver.csiro.au
HealthcareService.serviceProvisionCode Base required HC Service Provision Code 📦0.1.0-preview This IG
HealthcareService.eligibility.​code Base required HC Service Eligibility ValueSet 📦0.1.0-preview This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* AUCoreHealthcareService A healthcare service in an Australian healthcare context
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:hc-iar-levels-of-care S 0..* CodeableConcept HC IAR Levels of Care
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-iar-levels-of-care
Binding: HC IAR Levels of Care ValueSet (required)
.... extension:hc-accept-new-patient S 0..1 boolean Indicates if Healthcare service is accepting new patients
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient
.... extension:hc-referral-information-for-referrer S 0..1 markdown Referral information for referrers
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer
.... extension:hcActivePeriod S 1..1 Period The period during which the HealthcareService is active.
URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SOΣ 0..* Identifier, AUHPIO, AUResidentialAgedCareServiceIdentifier External identifiers for this item
... active ?!Σ 0..1 boolean Whether this HealthcareService record is in active use
... providedBy SΣ 1..1 Reference(HC Organization) Providing organisation
... category Σ 0..* CodeableConcept Broad category of service being performed or delivered
Binding: ServiceCategory (example): A category of the service(s) that could be provided.
... type SOΣ 1..* CodeableConcept A high-level descriptor describing the type of healthcare service(s) offered by the organisation
Binding: Service Type . (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding SΣ 1..* Coding Describes the service(s) offered. At least one coding is required
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 0..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code SΣ 1..1 code The healthcare service type code from SNOMED-CT-AU
..... display SΣ 1..1 string The display name of the healthcare service type from SNOMED-CT-AU
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... specialty Σ 0..* CodeableConcept Specialties handled by the HealthcareService
Binding: Clinical Specialty . (preferred)
... location SΣ 1..1 Reference(HC Location) Single location for this service
... name SOΣ 1..1 string Description of service as presented to a consumer while searching
... comment SΣ 0..1 string Additional description and/or any specific information about the healthcare service, not covered elsewhere
... extraDetails 0..1 markdown Extra details about the service that can't be placed in the other fields
... photo Σ 0..1 Attachment Facilitates quick identification of the service
... telecom SO 0..* ContactPoint Phone number, fax number, email
... coverageArea S 0..* Reference(HC Service Coverage Area) The location(s) that this healthcare service is available to
... serviceProvisionCode S 0..* CodeableConcept Conditions under which service is available/offered
Binding: HC Service Provision Code (required)
... eligibility S 0..* BackboneElement Specific eligibility requirements required to use the service
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 0..1 CodeableConcept Eligibility requirements for the healthcare service.
Binding: HC Service Eligibility ValueSet (required)
.... comment 0..1 markdown Describes the eligibility conditions for the service
... program 0..* CodeableConcept Programs that this service is applicable to
Binding: Program (example): Government or local programs that this service applies to.
... characteristic 0..* CodeableConcept Collection of characteristics (attributes)
Binding Description: (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy).
... communication S 0..* CodeableConcept The languages that this healthcare service is offered in
Binding: Common Languages in Australia . (extensible)
... referralMethod 0..* CodeableConcept Ways that the service accepts referrals
Binding: ReferralMethod (example): The methods of referral can be used when referring to a specific HealthCareService resource.
... appointmentRequired S 0..1 boolean Whether an appointment is required for this service
... availableTime S 0..* BackboneElement Times the Service Site is available
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
.... allDay S 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime S 0..1 time Opening time of day (ignored if allDay = true)
..... id 0..1 string xml:id (or equivalent in JSON)
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:timeZone 0..1 code The date on which an organisation commences offering a service
URL: http://hl7.org/fhir/StructureDefinition/timezone
Binding: IANATimezones (required): IANA Timezones (BCP 175)
..... value 0..1 time Primitive value for time
.... availableEndTime S 0..1 time Closing time of day (ignored if allDay = true)
..... id 0..1 string xml:id (or equivalent in JSON)
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:timeZone 0..1 code The date on which an organisation ceases to offer a service
URL: http://hl7.org/fhir/StructureDefinition/timezone
Binding: IANATimezones (required): IANA Timezones (BCP 175)
..... value 0..1 time Primitive value for time
... notAvailable S 0..* BackboneElement Not available during this time due to provided reason
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Date range that the service is not available - can be open-ended if service is closing
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint S 0..1 Reference(HC Endpoint) Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
HealthcareService.language Base preferred Common Languages 📦4.0.1 FHIR Std.
HealthcareService.category Base example Service category 📦4.0.1 FHIR Std.
HealthcareService.type Base required Service Type . ⏿1.0.0 tx.ontoserver.csiro.au
HealthcareService.specialty Base preferred Clinical Specialty . ⏿1.0.0 tx.ontoserver.csiro.au
HealthcareService.serviceProvisionCode Base required HC Service Provision Code 📦0.1.0-preview This IG
HealthcareService.eligibility.​code Base required HC Service Eligibility ValueSet 📦0.1.0-preview This IG
HealthcareService.program Base example Program 📦4.0.1 FHIR Std.
HealthcareService.characteristic Base example Not State Unknown
HealthcareService.communication Base extensible Common Languages in Australia . ⏿2.2.1 tx.ontoserver.csiro.au
HealthcareService.referralMethod Base example ReferralMethod 📦4.0.1 FHIR Std.
HealthcareService.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error HealthcareService If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error HealthcareService 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 HealthcareService 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 HealthcareService If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice HealthcareService A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Search parameters

This IG defines and intoduces several search parameters in addition to those inherited, that make it easier to find and filter HC Healthcare Service resources in Health Connect implementations. The following search parameters are defined and SHALL be supported:

Search parameters defined in FHIR R4

  • service-type (HealthcareService.type)
  • This SearchParameter is defined in FHIR R4 (see https://hl7.org/fhir/R4/healthcareservice.html) and searches HealthcareService.type. It is a token search — use the fully-qualified system|code form to avoid ambiguity.

Examples:

  • Unencoded: GET /HealthcareService?service-type=http://snomed.info/sct|1256161000168107
  • Encoded: GET /HealthcareService?service-type=http%3A%2F%2Fsnomed.info%2Fsct%2F32506021000036107%7C1256161000168107

Note: Values come from the HC Healthcare Service value set (SNOMED). Use codes that are children of 224930009 ("Services"), excluding 700232004 ("General medical service").

Search parameters defined in this IG

The following search parameters are defined by this IG and SHALL be supported:

  • languages (HealthcareService.communication.coding.display OR PractitionerRole.extension.where(url='http://ns.electronichealth.net.au/hc/StructureDefinition/hc-practitioner-role-communication').value.ofType(CodeableConcept).coding.display)
  • Search for healthcare services by the languages they support for communication. This shared SearchParameter works for both HealthcareService and PractitionerRole resources.
  • Example (display text): GET /HealthcareService?languages=Italian

  • hsbilling (HealthcareService.serviceProvisionCode)
  • Search for healthcare services by their billing or service provision conditions (for example, bulk billing, fees apply).
  • Example (preferred, unambiguous): GET /HealthcareService?hsbilling=http://terminology.hl7.org.au/CodeSystem/service-provision-conditions|FAP
Availability
  • availability-allday (HealthcareService.availableTime.allDay PractitionerRole.availableTime.allDay)
  • Search for services/roles by whether they are available all day. Use token semantics for boolean values.
  • Example: GET /HealthcareService?availability-allday=true
  • Example: GET /PractitionerRole?availability-allday=false

  • availability-daysofweek (HealthcareService.availableTime.daysOfWeek PractitionerRole.availableTime.daysOfWeek)
  • Search for services/roles by days of the week they are available. Supports multiple days using OR logic.
  • Available day codes: mon, tue, wed, thu, fri, sat, sun
  • Example: GET /HealthcareService?availability-daysofweek=mon
  • Example: GET /HealthcareService?availability-daysofweek=mon,tue,wed (multiple days)
  • Example: GET /PractitionerRole?availability-daysofweek=fri

  • availability-starttime (HealthcareService.availableTime.availableStartTime PractitionerRole.availableTime.availableStartTime)
  • Search for services/roles by availability start time. This shared SearchParameter works for both HealthcareService and PractitionerRole resources.
  • Format: Use time format HH:mm:ss (e.g., "08:00:00" for 8 AM)
  • String matching: Supports exact match and prefix match
  • Example (exact time): GET /HealthcareService?availability-starttime=08:00:00
  • Example (prefix match): GET /PractitionerRole?availability-starttime=08 (matches 08:xx:xx)

  • availability-endtime (HealthcareService.availableTime.availableEndTime PractitionerRole.availableTime.availableEndTime)
  • Search for services/roles by availability end time. This shared SearchParameter works for both HealthcareService and PractitionerRole resources.
  • Format: Use time format HH:mm:ss (e.g., "17:30:00" for 5:30 PM)
  • String matching: Supports exact match and prefix match
  • Example (exact time): GET /HealthcareService?availability-endtime=17:00:00
  • Example (prefix match): GET /PractitionerRole?availability-endtime=17 (matches 17:xx:xx)#### SearchParameters from R4



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 SHALL token
service-type (R4) SHALL token
languages SHOULD string
hsbilling SHOULD token
service-type+languages SHOULD token+string
service-type+hsbilling SHOULD token+token
languages+hsbilling SHOULD string+token
languages+availability-daysofweek SHOULD string+token
hsbilling+availability-daysofweek SHOULD token+token
availability-daysofweek+availability-starttime+availability-endtime SHOULD token+string+string

Search include parameters

This implementation supports the following _include parameters when searching for HealthcareService resources:

  • _include=HealthcareService:location - Include Location resources referenced by the location element
  • _include=HealthcareService:providedBy - Include Organization resources referenced by the providedBy element
  • _include=HealthcareService:endpoint - Include Endpoint resources referenced by the endpoint element

Search reverse include parameters

This implementation supports the following _revinclude parameters when searching for HealthcareService resources:

  • _revinclude=PractitionerRole:healthcareService - Include PractitionerRole resources that reference this HealthcareService
  • _revinclude=Provenance:target - Include Provenance resources that track changes to this HealthcareService

Example usage

GET /HealthcareService/789?_include=HealthcareService:location&_include=HealthcareService:providedBy&_revinclude=PractitionerRole:healthcareService

This query returns the HealthcareService with its Location, providing Organization, and all associated PractitionerRoles.