# Health Connect Australia Provider Directory FHIR Implementation Guide

0.2.0-preview - Preview

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

## Resource Profile: HC HealthcareService

Official URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-healthcareservice | Version: 0.2.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).

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:

- HealthcareService: IAR Levels of Care
- HealthcareService: Health Connect Active Period
- HealthcareService: Health Connect Accept New Patient
- HealthcareService: Health Connect Referral Information for Referrer
- HealthcareService.availableTime.availableStartTime: Timezone Code
- HealthcareService.availableTime.availableEndTime: Timezone Code

### Usage notes

The `extension:iar-levels-of-care` is used to indicate the Initial Assessment and Referral (IAR) Levels of Care for a healthcare services that support mental health care. This extension draws its codes from the 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 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:

- Refer to this Profile: HC PractitionerRole and HC Provenance
- Examples for this Profile: Healthcare service with Residential Aged Care service type
- CapabilityStatements using this Profile: Health Connect Provider Directory Requester and Health Connect Provider Directory Responder

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | AUCoreHealthcareService(2.0.0-ballot) | 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 Constraints: ext-1
extension:iar-levels-of-care | SO | 0..* | CodeableConcept | IAR Levels of Care URL: http://ns.electronichealth.net.au/hc/StructureDefinition/iar-levels-of-care Binding: IARLevelsOfCareVs (0.2.0-preview) (required) Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-accept-new-patient | SO | 0..1 | boolean | Indicates if Healthcare service is accepting new patients URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-referral-information-for-referrer | SO | 0..1 | markdown | Referral information for referrers URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-active-period | SO | 1..1 | Period | The period during which the HealthcareService is active. URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
identifier | SO Σ | 0..* | Identifier(4.0.1), AUHPIO(6.0.0), AUResidentialAgedCareServiceIdentifier(6.0.0) | External identifiers for this item
active | ?!Σ | 0..1 | boolean | Whether this HealthcareService record is in active use
providedBy | SO Σ | 1..1 | Reference(HC Organization(0.2.0-preview)) | Providing organisation
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
type | SO Σ | 1..* | CodeableConcept | A high-level descriptor describing the type of healthcare service(s) offered by the organisation Binding: Service Type (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coding | SO Σ | 1..* | Coding | Describes the service(s) offered. At least one coding is required
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
code | SO Σ | 1..1 | code | The healthcare service type code from SNOMED-CT-AU
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
display | S Σ | 1..1 | string | The display name of the healthcare service type from SNOMED-CT-AU
location | SO Σ | 1..1 | Reference(HC Location(0.2.0-preview)) | Single location for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name | SO Σ | 1..1 | string | Description of service as presented to a consumer while searching
comment | SO Σ | 0..1 | string | Additional description and/or any specific information about the healthcare service, not covered elsewhere
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
telecom | SO | 0..* | ContactPoint | Phone number, fax number, email
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coverageArea | SO | 0..* | Reference(HC Service Coverage Area(0.2.0-preview)) | The location(s) that this healthcare service is available to
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
serviceProvisionCode | SO | 0..* | CodeableConcept | Conditions under which service is available/offered Binding: HCServiceProvisionCodeValueSet (0.2.0-preview) (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
eligibility | SO | 0..* | BackboneElement | Specific eligibility requirements required to use the service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
code | SO | 0..1 | CodeableConcept | Eligibility requirements for the healthcare service. Binding: Service Eligibility (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
communication | SO | 0..* | CodeableConcept | The languages that this healthcare service is offered in Binding: Common Languages in Australia (extensible)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
appointmentRequired | SO | 0..1 | boolean | Whether an appointment is required for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableTime | SO | 0..* | BackboneElement | Times the Service Site is available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
daysOfWeek | SO | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week.
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
allDay | SO | 0..1 | boolean | Always available? e.g. 24 hour service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableStartTime | SO | 0..1 | time | Opening time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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) Constraints: ext-1
availableEndTime | SO | 0..1 | time | Closing time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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) Constraints: ext-1
notAvailable | SO | 0..* | BackboneElement | Not available during this time due to provided reason
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
description | SO | 1..1 | string | Reason presented to the user explaining why time not available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
during | SO | 0..1 | Period | Date range that the service is not available - can be open-ended if service is closing
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
endpoint | SO | 0..* | Reference(HC Endpoint(0.2.0-preview)) | Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
HealthcareService.type | Base | required | Service Type | ⏿1.0.0 | tx.hl7.org.au
HealthcareService.serviceProvisionCode | Base | required | HC Service Provision Code | 📍0.2.0-preview | This IG
HealthcareService.eligibility.​code | Base | required | Service Eligibility | ⏿1.0.0 | tx.hl7.org.au
HealthcareService.communication | Base | extensible | Common Languages in Australia | ⏿2.2.1 | tx.hl7.org.au
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 | HealthcareService.implicitRules, HealthcareService.extension, HealthcareService.extension:iar-levels-of-care, HealthcareService.extension:hc-accept-new-patient, HealthcareService.extension:hc-referral-information-for-referrer, HealthcareService.extension:hc-active-period, HealthcareService.modifierExtension, HealthcareService.identifier, HealthcareService.active, HealthcareService.providedBy, HealthcareService.type, HealthcareService.type.coding, HealthcareService.type.coding.code, HealthcareService.type.coding.display, HealthcareService.location, HealthcareService.name, HealthcareService.comment, HealthcareService.telecom, HealthcareService.coverageArea, HealthcareService.serviceProvisionCode, HealthcareService.eligibility, HealthcareService.eligibility.modifierExtension, HealthcareService.eligibility.code, HealthcareService.communication, HealthcareService.appointmentRequired, HealthcareService.availableTime, HealthcareService.availableTime.modifierExtension, HealthcareService.availableTime.daysOfWeek, HealthcareService.availableTime.allDay, HealthcareService.availableTime.availableStartTime, HealthcareService.availableTime.availableStartTime.extension:timeZone, HealthcareService.availableTime.availableEndTime, HealthcareService.availableTime.availableEndTime.extension:timeZone, HealthcareService.notAvailable, HealthcareService.notAvailable.modifierExtension, HealthcareService.notAvailable.description, HealthcareService.notAvailable.during, HealthcareService.endpoint | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | HealthcareService.extension, HealthcareService.extension:iar-levels-of-care, HealthcareService.extension:hc-accept-new-patient, HealthcareService.extension:hc-referral-information-for-referrer, HealthcareService.extension:hc-active-period, HealthcareService.modifierExtension, HealthcareService.eligibility.modifierExtension, HealthcareService.availableTime.modifierExtension, HealthcareService.availableTime.availableStartTime.extension:timeZone, HealthcareService.availableTime.availableEndTime.extension:timeZone, HealthcareService.notAvailable.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from AUCoreHealthcareService

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | AUCoreHealthcareService(2.0.0-ballot) | A healthcare service in an Australian healthcare context
Slices for extension |  | 1..* | Extension | Extension Slice: Unordered, Open by value:url
extension:iar-levels-of-care | SO | 0..* | CodeableConcept | IAR Levels of Care URL: http://ns.electronichealth.net.au/hc/StructureDefinition/iar-levels-of-care Binding: IARLevelsOfCareVs (0.2.0-preview) (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-accept-new-patient | SO | 0..1 | boolean | Indicates if Healthcare service is accepting new patients URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-referral-information-for-referrer | SO | 0..1 | markdown | Referral information for referrers URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-active-period | SO | 1..1 | Period | The period during which the HealthcareService is active. URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
providedBy | SO | 1..1 | Reference(HC Organization(0.2.0-preview)) | Providing organisation
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
type | O | 1..* | CodeableConcept | A high-level descriptor describing the type of healthcare service(s) offered by the organisation Binding: Service Type (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coding | SO | 1..* | Coding | Describes the service(s) offered. At least one coding is required
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
code | SO | 1..1 | code | The healthcare service type code from SNOMED-CT-AU
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
display | S | 1..1 | string | The display name of the healthcare service type from SNOMED-CT-AU
location | SO | 1..1 | Reference(HC Location(0.2.0-preview)) | Single location for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
comment | SO | 0..1 | string | Additional description and/or any specific information about the healthcare service, not covered elsewhere
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
telecom | O | 0..* | ContactPoint | Phone number, fax number, email
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coverageArea | SO | 0..* | Reference(HC Service Coverage Area(0.2.0-preview)) | The location(s) that this healthcare service is available to
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
serviceProvisionCode | SO | 0..* | CodeableConcept | Conditions under which service is available/offered Binding: HCServiceProvisionCodeValueSet (0.2.0-preview) (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
eligibility | SO | 0..* | BackboneElement | Specific eligibility requirements required to use the service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
code | SO | 0..1 | CodeableConcept | Eligibility requirements for the healthcare service. Binding: Service Eligibility (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
communication | SO | 0..* | CodeableConcept | The languages that this healthcare service is offered in
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
appointmentRequired | SO | 0..1 | boolean | Whether an appointment is required for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableTime | SO | 0..* | BackboneElement | Times the Service Site is available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
daysOfWeek | SO | 0..* | code | mon | tue | wed | thu | fri | sat | sun
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
allDay | SO | 0..1 | boolean | Always available? e.g. 24 hour service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableStartTime | SO | 0..1 | time | Opening time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO | 0..1 | time | Closing time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO | 0..* | BackboneElement | Not available during this time due to provided reason
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
description | SO | 1..1 | string | Reason presented to the user explaining why time not available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
during | SO | 0..1 | Period | Date range that the service is not available - can be open-ended if service is closing
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
endpoint | SO | 0..* | Reference(HC Endpoint(0.2.0-preview)) | Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
HealthcareService.type | Base | required | Service Type | ⏿1.0.0 | tx.hl7.org.au
HealthcareService.serviceProvisionCode | Base | required | HC Service Provision Code | 📍0.2.0-preview | This IG
HealthcareService.eligibility.​code | Base | required | Service Eligibility | ⏿1.0.0 | tx.hl7.org.au

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | AUCoreHealthcareService(2.0.0-ballot) | 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 Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1
extension:iar-levels-of-care | SO | 0..* | CodeableConcept | IAR Levels of Care URL: http://ns.electronichealth.net.au/hc/StructureDefinition/iar-levels-of-care Binding: IARLevelsOfCareVs (0.2.0-preview) (required) Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-accept-new-patient | SO | 0..1 | boolean | Indicates if Healthcare service is accepting new patients URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-referral-information-for-referrer | SO | 0..1 | markdown | Referral information for referrers URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-active-period | SO | 1..1 | Period | The period during which the HealthcareService is active. URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
identifier | SO Σ | 0..* | Identifier(4.0.1), AUHPIO(6.0.0), AUResidentialAgedCareServiceIdentifier(6.0.0) | External identifiers for this item
active | ?!Σ | 0..1 | boolean | Whether this HealthcareService record is in active use
providedBy | SO Σ | 1..1 | Reference(HC Organization(0.2.0-preview)) | Providing organisation
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1
coding | SO Σ | 1..* | Coding | Describes the service(s) offered. At least one coding is required
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | SO Σ | 1..1 | code | The healthcare service type code from SNOMED-CT-AU
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO Σ | 1..1 | Reference(HC Location(0.2.0-preview)) | Single location for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name | SO Σ | 1..1 | string | Description of service as presented to a consumer while searching
comment | SO Σ | 0..1 | string | Additional description and/or any specific information about the healthcare service, not covered elsewhere
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coverageArea | SO | 0..* | Reference(HC Service Coverage Area(0.2.0-preview)) | The location(s) that this healthcare service is available to
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
serviceProvisionCode | SO | 0..* | CodeableConcept | Conditions under which service is available/offered Binding: HCServiceProvisionCodeValueSet (0.2.0-preview) (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
eligibility | SO | 0..* | BackboneElement | Specific eligibility requirements required to use the service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
code | SO | 0..1 | CodeableConcept | Eligibility requirements for the healthcare service. Binding: Service Eligibility (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO | 0..* | CodeableConcept | The languages that this healthcare service is offered in Binding: Common Languages in Australia (extensible)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO | 0..1 | boolean | Whether an appointment is required for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableTime | SO | 0..* | BackboneElement | Times the Service Site is available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
daysOfWeek | SO | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week.
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
allDay | SO | 0..1 | boolean | Always available? e.g. 24 hour service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableStartTime | SO | 0..1 | time | Opening time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1
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) Constraints: ext-1
value |  | 0..1 | time | Primitive value for time
availableEndTime | SO | 0..1 | time | Closing time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1
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) Constraints: ext-1
value |  | 0..1 | time | Primitive value for time
notAvailable | SO | 0..* | BackboneElement | Not available during this time due to provided reason
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
description | SO | 1..1 | string | Reason presented to the user explaining why time not available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
during | SO | 0..1 | Period | Date range that the service is not available - can be open-ended if service is closing
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availabilityExceptions |  | 0..1 | string | Description of availability exceptions
endpoint | SO | 0..* | Reference(HC Endpoint(0.2.0-preview)) | Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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.hl7.org.au
HealthcareService.specialty | Base | preferred | Clinical Specialty | ⏿1.0.0 | tx.hl7.org.au
HealthcareService.serviceProvisionCode | Base | required | HC Service Provision Code | 📍0.2.0-preview | This IG
HealthcareService.eligibility.​code | Base | required | Service Eligibility | ⏿1.0.0 | tx.hl7.org.au
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.hl7.org.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 | HealthcareService.meta, HealthcareService.implicitRules, HealthcareService.language, HealthcareService.text, HealthcareService.extension, HealthcareService.extension:iar-levels-of-care, HealthcareService.extension:hc-accept-new-patient, HealthcareService.extension:hc-referral-information-for-referrer, HealthcareService.extension:hc-active-period, HealthcareService.modifierExtension, HealthcareService.identifier, HealthcareService.active, HealthcareService.providedBy, HealthcareService.category, HealthcareService.type, HealthcareService.type.extension, HealthcareService.type.coding, HealthcareService.type.coding.extension, HealthcareService.type.coding.system, HealthcareService.type.coding.version, HealthcareService.type.coding.code, HealthcareService.type.coding.display, HealthcareService.type.coding.userSelected, HealthcareService.type.text, HealthcareService.specialty, HealthcareService.location, HealthcareService.name, HealthcareService.comment, HealthcareService.extraDetails, HealthcareService.photo, HealthcareService.telecom, HealthcareService.coverageArea, HealthcareService.serviceProvisionCode, HealthcareService.eligibility, HealthcareService.eligibility.extension, HealthcareService.eligibility.modifierExtension, HealthcareService.eligibility.code, HealthcareService.eligibility.comment, HealthcareService.program, HealthcareService.characteristic, HealthcareService.communication, HealthcareService.referralMethod, HealthcareService.appointmentRequired, HealthcareService.availableTime, HealthcareService.availableTime.extension, HealthcareService.availableTime.modifierExtension, HealthcareService.availableTime.daysOfWeek, HealthcareService.availableTime.allDay, HealthcareService.availableTime.availableStartTime, HealthcareService.availableTime.availableStartTime.extension, HealthcareService.availableTime.availableStartTime.extension:timeZone, HealthcareService.availableTime.availableEndTime, HealthcareService.availableTime.availableEndTime.extension, HealthcareService.availableTime.availableEndTime.extension:timeZone, HealthcareService.notAvailable, HealthcareService.notAvailable.extension, HealthcareService.notAvailable.modifierExtension, HealthcareService.notAvailable.description, HealthcareService.notAvailable.during, HealthcareService.availabilityExceptions, HealthcareService.endpoint | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | HealthcareService.extension, HealthcareService.extension:iar-levels-of-care, HealthcareService.extension:hc-accept-new-patient, HealthcareService.extension:hc-referral-information-for-referrer, HealthcareService.extension:hc-active-period, HealthcareService.modifierExtension, HealthcareService.type.extension, HealthcareService.type.coding.extension, HealthcareService.eligibility.extension, HealthcareService.eligibility.modifierExtension, HealthcareService.availableTime.extension, HealthcareService.availableTime.modifierExtension, HealthcareService.availableTime.availableStartTime.extension, HealthcareService.availableTime.availableStartTime.extension:timeZone, HealthcareService.availableTime.availableEndTime.extension, HealthcareService.availableTime.availableEndTime.extension:timeZone, HealthcareService.notAvailable.extension, HealthcareService.notAvailable.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from AUCoreHealthcareService

Summary

Mandatory: 8 elements
Must-Support: 25 elements

Structures

This structure refers to these other structures:

- HC Organization (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-organization|0.2.0-preview)
- HC Location (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-location|0.2.0-preview)
- HC Service Coverage Area (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-service-coverage-area|0.2.0-preview)
- HC Endpoint (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-endpoint|0.2.0-preview)

Extensions

This structure refers to these extensions:

- http://ns.electronichealth.net.au/hc/StructureDefinition/iar-levels-of-care|0.2.0-preview
- http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient|0.2.0-preview
- http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer|0.2.0-preview
- http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period|0.2.0-preview

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | AUCoreHealthcareService(2.0.0-ballot) | 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 Constraints: ext-1
extension:iar-levels-of-care | SO | 0..* | CodeableConcept | IAR Levels of Care URL: http://ns.electronichealth.net.au/hc/StructureDefinition/iar-levels-of-care Binding: IARLevelsOfCareVs (0.2.0-preview) (required) Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-accept-new-patient | SO | 0..1 | boolean | Indicates if Healthcare service is accepting new patients URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-referral-information-for-referrer | SO | 0..1 | markdown | Referral information for referrers URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-active-period | SO | 1..1 | Period | The period during which the HealthcareService is active. URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
identifier | SO Σ | 0..* | Identifier(4.0.1), AUHPIO(6.0.0), AUResidentialAgedCareServiceIdentifier(6.0.0) | External identifiers for this item
active | ?!Σ | 0..1 | boolean | Whether this HealthcareService record is in active use
providedBy | SO Σ | 1..1 | Reference(HC Organization(0.2.0-preview)) | Providing organisation
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
type | SO Σ | 1..* | CodeableConcept | A high-level descriptor describing the type of healthcare service(s) offered by the organisation Binding: Service Type (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coding | SO Σ | 1..* | Coding | Describes the service(s) offered. At least one coding is required
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
code | SO Σ | 1..1 | code | The healthcare service type code from SNOMED-CT-AU
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
display | S Σ | 1..1 | string | The display name of the healthcare service type from SNOMED-CT-AU
location | SO Σ | 1..1 | Reference(HC Location(0.2.0-preview)) | Single location for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name | SO Σ | 1..1 | string | Description of service as presented to a consumer while searching
comment | SO Σ | 0..1 | string | Additional description and/or any specific information about the healthcare service, not covered elsewhere
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
telecom | SO | 0..* | ContactPoint | Phone number, fax number, email
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coverageArea | SO | 0..* | Reference(HC Service Coverage Area(0.2.0-preview)) | The location(s) that this healthcare service is available to
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
serviceProvisionCode | SO | 0..* | CodeableConcept | Conditions under which service is available/offered Binding: HCServiceProvisionCodeValueSet (0.2.0-preview) (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
eligibility | SO | 0..* | BackboneElement | Specific eligibility requirements required to use the service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
code | SO | 0..1 | CodeableConcept | Eligibility requirements for the healthcare service. Binding: Service Eligibility (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
communication | SO | 0..* | CodeableConcept | The languages that this healthcare service is offered in Binding: Common Languages in Australia (extensible)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
appointmentRequired | SO | 0..1 | boolean | Whether an appointment is required for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableTime | SO | 0..* | BackboneElement | Times the Service Site is available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
daysOfWeek | SO | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week.
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
allDay | SO | 0..1 | boolean | Always available? e.g. 24 hour service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableStartTime | SO | 0..1 | time | Opening time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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) Constraints: ext-1
availableEndTime | SO | 0..1 | time | Closing time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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) Constraints: ext-1
notAvailable | SO | 0..* | BackboneElement | Not available during this time due to provided reason
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
description | SO | 1..1 | string | Reason presented to the user explaining why time not available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
during | SO | 0..1 | Period | Date range that the service is not available - can be open-ended if service is closing
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
endpoint | SO | 0..* | Reference(HC Endpoint(0.2.0-preview)) | Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
HealthcareService.type | Base | required | Service Type | ⏿1.0.0 | tx.hl7.org.au
HealthcareService.serviceProvisionCode | Base | required | HC Service Provision Code | 📍0.2.0-preview | This IG
HealthcareService.eligibility.​code | Base | required | Service Eligibility | ⏿1.0.0 | tx.hl7.org.au
HealthcareService.communication | Base | extensible | Common Languages in Australia | ⏿2.2.1 | tx.hl7.org.au
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 | HealthcareService.implicitRules, HealthcareService.extension, HealthcareService.extension:iar-levels-of-care, HealthcareService.extension:hc-accept-new-patient, HealthcareService.extension:hc-referral-information-for-referrer, HealthcareService.extension:hc-active-period, HealthcareService.modifierExtension, HealthcareService.identifier, HealthcareService.active, HealthcareService.providedBy, HealthcareService.type, HealthcareService.type.coding, HealthcareService.type.coding.code, HealthcareService.type.coding.display, HealthcareService.location, HealthcareService.name, HealthcareService.comment, HealthcareService.telecom, HealthcareService.coverageArea, HealthcareService.serviceProvisionCode, HealthcareService.eligibility, HealthcareService.eligibility.modifierExtension, HealthcareService.eligibility.code, HealthcareService.communication, HealthcareService.appointmentRequired, HealthcareService.availableTime, HealthcareService.availableTime.modifierExtension, HealthcareService.availableTime.daysOfWeek, HealthcareService.availableTime.allDay, HealthcareService.availableTime.availableStartTime, HealthcareService.availableTime.availableStartTime.extension:timeZone, HealthcareService.availableTime.availableEndTime, HealthcareService.availableTime.availableEndTime.extension:timeZone, HealthcareService.notAvailable, HealthcareService.notAvailable.modifierExtension, HealthcareService.notAvailable.description, HealthcareService.notAvailable.during, HealthcareService.endpoint | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | HealthcareService.extension, HealthcareService.extension:iar-levels-of-care, HealthcareService.extension:hc-accept-new-patient, HealthcareService.extension:hc-referral-information-for-referrer, HealthcareService.extension:hc-active-period, HealthcareService.modifierExtension, HealthcareService.eligibility.modifierExtension, HealthcareService.availableTime.modifierExtension, HealthcareService.availableTime.availableStartTime.extension:timeZone, HealthcareService.availableTime.availableEndTime.extension:timeZone, HealthcareService.notAvailable.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

This structure is derived from AUCoreHealthcareService

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | AUCoreHealthcareService(2.0.0-ballot) | A healthcare service in an Australian healthcare context
Slices for extension |  | 1..* | Extension | Extension Slice: Unordered, Open by value:url
extension:iar-levels-of-care | SO | 0..* | CodeableConcept | IAR Levels of Care URL: http://ns.electronichealth.net.au/hc/StructureDefinition/iar-levels-of-care Binding: IARLevelsOfCareVs (0.2.0-preview) (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-accept-new-patient | SO | 0..1 | boolean | Indicates if Healthcare service is accepting new patients URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-referral-information-for-referrer | SO | 0..1 | markdown | Referral information for referrers URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-active-period | SO | 1..1 | Period | The period during which the HealthcareService is active. URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
providedBy | SO | 1..1 | Reference(HC Organization(0.2.0-preview)) | Providing organisation
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
type | O | 1..* | CodeableConcept | A high-level descriptor describing the type of healthcare service(s) offered by the organisation Binding: Service Type (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coding | SO | 1..* | Coding | Describes the service(s) offered. At least one coding is required
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
code | SO | 1..1 | code | The healthcare service type code from SNOMED-CT-AU
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
display | S | 1..1 | string | The display name of the healthcare service type from SNOMED-CT-AU
location | SO | 1..1 | Reference(HC Location(0.2.0-preview)) | Single location for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
comment | SO | 0..1 | string | Additional description and/or any specific information about the healthcare service, not covered elsewhere
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
telecom | O | 0..* | ContactPoint | Phone number, fax number, email
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coverageArea | SO | 0..* | Reference(HC Service Coverage Area(0.2.0-preview)) | The location(s) that this healthcare service is available to
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
serviceProvisionCode | SO | 0..* | CodeableConcept | Conditions under which service is available/offered Binding: HCServiceProvisionCodeValueSet (0.2.0-preview) (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
eligibility | SO | 0..* | BackboneElement | Specific eligibility requirements required to use the service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
code | SO | 0..1 | CodeableConcept | Eligibility requirements for the healthcare service. Binding: Service Eligibility (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
communication | SO | 0..* | CodeableConcept | The languages that this healthcare service is offered in
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
appointmentRequired | SO | 0..1 | boolean | Whether an appointment is required for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableTime | SO | 0..* | BackboneElement | Times the Service Site is available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
daysOfWeek | SO | 0..* | code | mon | tue | wed | thu | fri | sat | sun
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
allDay | SO | 0..1 | boolean | Always available? e.g. 24 hour service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableStartTime | SO | 0..1 | time | Opening time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO | 0..1 | time | Closing time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO | 0..* | BackboneElement | Not available during this time due to provided reason
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
description | SO | 1..1 | string | Reason presented to the user explaining why time not available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
during | SO | 0..1 | Period | Date range that the service is not available - can be open-ended if service is closing
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
endpoint | SO | 0..* | Reference(HC Endpoint(0.2.0-preview)) | Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
HealthcareService.type | Base | required | Service Type | ⏿1.0.0 | tx.hl7.org.au
HealthcareService.serviceProvisionCode | Base | required | HC Service Provision Code | 📍0.2.0-preview | This IG
HealthcareService.eligibility.​code | Base | required | Service Eligibility | ⏿1.0.0 | tx.hl7.org.au

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | AUCoreHealthcareService(2.0.0-ballot) | 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 Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1
extension:iar-levels-of-care | SO | 0..* | CodeableConcept | IAR Levels of Care URL: http://ns.electronichealth.net.au/hc/StructureDefinition/iar-levels-of-care Binding: IARLevelsOfCareVs (0.2.0-preview) (required) Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-accept-new-patient | SO | 0..1 | boolean | Indicates if Healthcare service is accepting new patients URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-referral-information-for-referrer | SO | 0..1 | markdown | Referral information for referrers URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:hc-active-period | SO | 1..1 | Period | The period during which the HealthcareService is active. URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1
identifier | SO Σ | 0..* | Identifier(4.0.1), AUHPIO(6.0.0), AUResidentialAgedCareServiceIdentifier(6.0.0) | External identifiers for this item
active | ?!Σ | 0..1 | boolean | Whether this HealthcareService record is in active use
providedBy | SO Σ | 1..1 | Reference(HC Organization(0.2.0-preview)) | Providing organisation
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1
coding | SO Σ | 1..* | Coding | Describes the service(s) offered. At least one coding is required
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1
system | Σ | 0..1 | uri | Identity of the terminology system
version | Σ | 0..1 | string | Version of the system - if relevant
code | SO Σ | 1..1 | code | The healthcare service type code from SNOMED-CT-AU
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO Σ | 1..1 | Reference(HC Location(0.2.0-preview)) | Single location for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name | SO Σ | 1..1 | string | Description of service as presented to a consumer while searching
comment | SO Σ | 0..1 | string | Additional description and/or any specific information about the healthcare service, not covered elsewhere
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
coverageArea | SO | 0..* | Reference(HC Service Coverage Area(0.2.0-preview)) | The location(s) that this healthcare service is available to
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
serviceProvisionCode | SO | 0..* | CodeableConcept | Conditions under which service is available/offered Binding: HCServiceProvisionCodeValueSet (0.2.0-preview) (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
eligibility | SO | 0..* | BackboneElement | Specific eligibility requirements required to use the service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
code | SO | 0..1 | CodeableConcept | Eligibility requirements for the healthcare service. Binding: Service Eligibility (required)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO | 0..* | CodeableConcept | The languages that this healthcare service is offered in Binding: Common Languages in Australia (extensible)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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 | SO | 0..1 | boolean | Whether an appointment is required for this service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableTime | SO | 0..* | BackboneElement | Times the Service Site is available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
daysOfWeek | SO | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week.
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
allDay | SO | 0..1 | boolean | Always available? e.g. 24 hour service
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availableStartTime | SO | 0..1 | time | Opening time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1
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) Constraints: ext-1
value |  | 0..1 | time | Primitive value for time
availableEndTime | SO | 0..1 | time | Closing time of day (ignored if allDay = true)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1
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) Constraints: ext-1
value |  | 0..1 | time | Primitive value for time
notAvailable | SO | 0..* | BackboneElement | Not available during this time due to provided reason
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
description | SO | 1..1 | string | Reason presented to the user explaining why time not available
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
during | SO | 0..1 | Period | Date range that the service is not available - can be open-ended if service is closing
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
availabilityExceptions |  | 0..1 | string | Description of availability exceptions
endpoint | SO | 0..* | Reference(HC Endpoint(0.2.0-preview)) | Reference to all linked endpoints that are related to this healthcare service for electronic communication or exchange
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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.hl7.org.au
HealthcareService.specialty | Base | preferred | Clinical Specialty | ⏿1.0.0 | tx.hl7.org.au
HealthcareService.serviceProvisionCode | Base | required | HC Service Provision Code | 📍0.2.0-preview | This IG
HealthcareService.eligibility.​code | Base | required | Service Eligibility | ⏿1.0.0 | tx.hl7.org.au
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.hl7.org.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 | HealthcareService.meta, HealthcareService.implicitRules, HealthcareService.language, HealthcareService.text, HealthcareService.extension, HealthcareService.extension:iar-levels-of-care, HealthcareService.extension:hc-accept-new-patient, HealthcareService.extension:hc-referral-information-for-referrer, HealthcareService.extension:hc-active-period, HealthcareService.modifierExtension, HealthcareService.identifier, HealthcareService.active, HealthcareService.providedBy, HealthcareService.category, HealthcareService.type, HealthcareService.type.extension, HealthcareService.type.coding, HealthcareService.type.coding.extension, HealthcareService.type.coding.system, HealthcareService.type.coding.version, HealthcareService.type.coding.code, HealthcareService.type.coding.display, HealthcareService.type.coding.userSelected, HealthcareService.type.text, HealthcareService.specialty, HealthcareService.location, HealthcareService.name, HealthcareService.comment, HealthcareService.extraDetails, HealthcareService.photo, HealthcareService.telecom, HealthcareService.coverageArea, HealthcareService.serviceProvisionCode, HealthcareService.eligibility, HealthcareService.eligibility.extension, HealthcareService.eligibility.modifierExtension, HealthcareService.eligibility.code, HealthcareService.eligibility.comment, HealthcareService.program, HealthcareService.characteristic, HealthcareService.communication, HealthcareService.referralMethod, HealthcareService.appointmentRequired, HealthcareService.availableTime, HealthcareService.availableTime.extension, HealthcareService.availableTime.modifierExtension, HealthcareService.availableTime.daysOfWeek, HealthcareService.availableTime.allDay, HealthcareService.availableTime.availableStartTime, HealthcareService.availableTime.availableStartTime.extension, HealthcareService.availableTime.availableStartTime.extension:timeZone, HealthcareService.availableTime.availableEndTime, HealthcareService.availableTime.availableEndTime.extension, HealthcareService.availableTime.availableEndTime.extension:timeZone, HealthcareService.notAvailable, HealthcareService.notAvailable.extension, HealthcareService.notAvailable.modifierExtension, HealthcareService.notAvailable.description, HealthcareService.notAvailable.during, HealthcareService.availabilityExceptions, HealthcareService.endpoint | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | HealthcareService.extension, HealthcareService.extension:iar-levels-of-care, HealthcareService.extension:hc-accept-new-patient, HealthcareService.extension:hc-referral-information-for-referrer, HealthcareService.extension:hc-active-period, HealthcareService.modifierExtension, HealthcareService.type.extension, HealthcareService.type.coding.extension, HealthcareService.eligibility.extension, HealthcareService.eligibility.modifierExtension, HealthcareService.availableTime.extension, HealthcareService.availableTime.modifierExtension, HealthcareService.availableTime.availableStartTime.extension, HealthcareService.availableTime.availableStartTime.extension:timeZone, HealthcareService.availableTime.availableEndTime.extension, HealthcareService.availableTime.availableEndTime.extension:timeZone, HealthcareService.notAvailable.extension, HealthcareService.notAvailable.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from AUCoreHealthcareService

Summary

Mandatory: 8 elements
Must-Support: 25 elements

Structures

This structure refers to these other structures:

- HC Organization (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-organization|0.2.0-preview)
- HC Location (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-location|0.2.0-preview)
- HC Service Coverage Area (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-service-coverage-area|0.2.0-preview)
- HC Endpoint (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-endpoint|0.2.0-preview)

Extensions

This structure refers to these extensions:

- http://ns.electronichealth.net.au/hc/StructureDefinition/iar-levels-of-care|0.2.0-preview
- http://ns.electronichealth.net.au/hc/StructureDefinition/hc-accept-new-patient|0.2.0-preview
- http://ns.electronichealth.net.au/hc/StructureDefinition/hc-referral-information-for-referrer|0.2.0-preview
- http://ns.electronichealth.net.au/hc/StructureDefinition/hc-active-period|0.2.0-preview

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 SHOULD be supported:

#### Search parameters defined in FHIR R4

- `service-type` (HealthcareService.type)
- 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 SHOULD 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.
- Supports `:contains` modifier for partial matching, `:exact` modifier for precise matching.

- 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

- `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?allday=true`

- Example: `GET /PractitionerRole?allday=false`

- `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?daysofweek=mon`
- Example: `GET /HealthcareService?daysofweek=mon,tue,wed` (multiple days)
- Example: `GET /PractitionerRole?daysofweek=fri`

Availability (Start/End Time)

- Shared parameters: starttime and endtime work for both HealthcareService and PractitionerRole.
- Format: Numeric HHMM (e.g., 0800 for 8:00 AM, 1730 for 5:30 PM). Do not include colons in queries.
- Matching: Numeric comparisons with prefix operators.
- Prefix operators: `eq` (=), `ge` (>=), `gt` (>), `le` (<=), `lt` (<), `ne` (!=). When no prefix is specified, `eq` is implied.
- Examples:
- Exact start: GET /HealthcareService?starttime=0800
- Starts at or after 9 AM: GET /HealthcareService?starttime=ge0900
- Starts before 10 AM: GET /PractitionerRole?starttime=lt1000
- Exact end: GET /HealthcareService?endtime=1700
- Ends at or before 4 PM: GET /HealthcareService?endtime=le1600
- Ends after 6 PM: GET /PractitionerRole?endtime=gt1800

Limitation: Combination in a query cannot guarantee the correct pairing of `starttime` and `endtime` from the same availableTime block. Use of `daysofweek` can help filter, but may still return mixed results when multiple blocks exist for a day. At an implementation layer further filtering may be needed to ensure correct pairing.

Note: Support for _id is mandatory for a responder and optional for a requester. Where the expectation for a search parameter differs between actors, the table below will reflect the stronger conformance requirement.

Parameter(s) | Conformance | Type(s) | Requirements (when used alone or in combination)
--- | --- | --- | ---
_id | SHOULD | `token` |
service-type (R4) | SHOULD | `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+daysofweek | SHOULD | `string`+`token` |
hsbilling+daysofweek | SHOULD | `token`+`token` |
daysofweek+starttime+endtime | SHOULD | `token`+`number`+`number` |

### 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:service` - 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.