# AU PD Healthcare Service - AU Provider Directory Implementation Guide v2.1.0-ci-build

* [**Table of Contents**](toc.md)
* [**Artifacts Summary**](artifacts.md)
* **AU PD Healthcare Service**

## Resource Profile: AU PD Healthcare Service 

| | | |
| :--- | :--- | :--- |
| *Official URL*:http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-healthcareservice | *Version*:2.1.0-ci-build | |
| * Standards status: *[Draft](http://hl7.org/fhir/R4/versions.html#std-process) | [Maturity Level](http://hl7.org/fhir/versions.html#maturity): 0 | *Computable Name*:AUPDHealthcareService |
| **Copyright/Legal**: HL7 Australia© 2018+; Licensed Under Creative Commons No Rights Reserved. | | |

 
This profile defines a provider directory entry for a healthcare service or category of services delivered at a location by an organisation. 

In a provider directory this allows the association of endpoints with the healthcare service and thus a channel for delivery to that service.

### Usage Notes

**Profile specific implementation guidance:**

At least one of the following defined identifier types, known to this profile, **SHALL** be supplied:

* [AU HPI-O](https://hl7.org.au/fhir/4.1.0/StructureDefinition-au-hpio.html)
* [AU Residential Aged Care Service Identifier](https://hl7.org.au/fhir/4.1.0/StructureDefinition-au-residentialagedcareserviceidentifier.html)
* [AU Vendor Directory Identifier](StructureDefinition-au-pd-vdi.md)

**Usages:**

* Refer to this Profile: [AU PD Practitioner Role](StructureDefinition-au-pd-practitionerrole.md)
* Examples for this Profile: [Downunder Hospital Accident and Emergency](HealthcareService-example0.md)

You can also check for [usages in the FHIR IG Statistics](https://packages2.fhir.org/xig/resource/hl7.fhir.au.pd|current/StructureDefinition/StructureDefinition-au-pd-healthcareservice.json)

### Formal Views of Profile Content

 [Description of Profiles, Differentials, Snapshots and how the different presentations work](http://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#structure-definitions). 

 

Other representations of profile: [CSV](StructureDefinition-au-pd-healthcareservice.csv), [Excel](StructureDefinition-au-pd-healthcareservice.xlsx), [Schematron](StructureDefinition-au-pd-healthcareservice.sch) 

### Notes:

-------

**Read: HealthcareService**

Read identified healthcare service resource content.

`GET [base]/HealthcareService/[id]`

**Example:** `GET [base]/HealthcareService/1234`

**Support:**

* MUST support read HealthcareService

**Implementation Notes:** [[(how to read resource)](http://hl7.org/fhir/http.html#read)

-------

**Search: Active Status**

Search based on active status of the healthcare service record.

`GET [base]/HealthcareService?active=[status]`

**Example:** `GET [base]/HealthcareService?active=true`

**Support:** MUST support search HealthcareService by active status (true | false).

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token)

-------

**Search: Name**

Search for a healthcare service by name.

`GET [base]/HealthcareService?name=[string]`

**Example:** `GET [base]/HealthcareService?name=southern%20clinic`

**Support:**

* MUST support search by HealthcareService name.

**Implementation Notes:** [(how to search by string)](http://hl7.org/fhir/search.html#string)

-------

**Search: Organisation Provider of Healthcare Service Name**

Chained search (via Organisation) based on text name.

`GET [base]/HealthcareService?organization.name=[string]`

**Example:** `GET [base]/HealthcareService?organization.name=clinigroup`

**Support:**

* MUST support search by Organization name.

**Implementation Notes:** [(how to search by string)](http://hl7.org/fhir/search.html#string)

-------

**Search: Healthcare Service Type**

Search for healthcare service based on type of service

`GET [base]/HealthcareService?service-type=[system]|[code]`

**Example:** `GET [base]/HealthcareService?service-type=http://snomed.info/sct|310030000`

**Support:**

* MUST support search by HealthcareService service-type.

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token)

-------

**Search: Healthcare Service offered Specialties**

Search for healthcare service based on specialties offered

`GET [base]/HealthcareService?specialty=[system]|[code]`

**Example:** `GET [base]/HealthcareService?specialty=http://snomed.info/sct|394582007`

**Support:**

* MUST support search by HealthcareService specialty offered.

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token)

-------

**Search: Organisation provider of Healthcare Service HPI-O**

Chained search (via Organisation) based on identifier token.

`GET [base]/HealthcareService?organization.identifier=[system]|[value]`

**Example:** `GET [base]/HealthcareService?organization.identifier=http://ns.electronichealth.net.au/id/hi/hpio/1.0|8003627500000328`

**Support:**

* MUST support search by HPI-O.

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token)

-------

**Search: HPI-O** Search based on identifier token. Direct HPI-O allocation to the service; may be different than the providing organisation but within the HPI-O hierarchy (networked HPI-O).

`GET [base]/HealthcareService?identifier=[system]|[value]`

**Example:** `GET [base]/HealthcareService?identifier=http://ns.electronichealth.net.au/id/hi/hpio/1.0|8003627500000328`

**Support:**

* MUST support search by HPI-O.

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token)

-------

**Search: Location Address Parts**

Chained search (via Location) based on address parts for postcode, suburb, and state.

`GET [base]/HealthcareService?location.address-postalcode=[postcode]`

`GET [base]/HealthcareService?location.address-city=[suburb]`

`GET [base]/HealthcareService?location.address-state=[state]`

**Example:**

`GET [base]/HealthcareService?location.address-postalcode=3101`

`GET [base]/HealthcareService?location.address-city=Bundaberg`

`GET [base]/HealthcareService?location.address-state=VIC`

**Support:**

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

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token)

-------

**Search: Location Distance**

Chained search (via Location) for a location within a nominated distance.

`GET [base]/HealthcareService?location.near=[latitude]:[longitude]&location.near-distance=[prefix][value]|[units-system]|[units]`

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

**Support:**

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

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token) and [(how to search by quantity)](http://hl7.org/fhir/search.html#quantity)

-------

**Search: Connection Type (Service Interface)**

Chained search (via Endpoint) based on token for a protocol to be used to connnect to the endpoint.

`GET [base]/HealthcareService?endpoint.connection-type=[system]|[code]`

**Example:** `GET [base]/HealthcareService?endpoint.connection-type=http://hl7.org.au/fhir/CodeSystem/smd-interfaces|http://ns.electronichealth.net.au/smd/intf/SealedMessageDelivery/TLS/2010`

**Support:**

* MUST support search by HealthcareService by endpoint connection type.

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token)

-------

**Search: Payload Type (Service Category)**

Chained search (via Endpoint) based on token for the type of content supported by the endpoint.

`GET [base]/HealthcareService?endpoint.payload-type=[system]|[code]`

**Example:** `GET [base]/HealthcareService?endpoint.payload-type=http://hl7.org.au/fhir/CodeSystem/smd-interfaces|http://ns.hl7.org.au/hl7v2/profiles/HL7AU-OO-REF-SIMPLIFIED-201706`

**Support:**

* MUST support search HealthcareService by endpoint payload type.

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token)

-------

**Search: Active Practitioner Role by Identifier Exists**

Reverse chained search [_has](http://hl7.org/fhir/stu3/search.html#has) argument based on token to ensure practitioner role with a specific identifier is active and is referring to this service.

This uses existing search parameters on PractitionerRole search capability where PractitionerRole.healthcareService is referencing the subject healthcare service.

`GET [base]/HealthcareService?_has:PractitionerRole:service:identifier=[system]|[value]&_has:PractitionerRole:service:active=[status]`

**Example:** `GET [base]/HealthcareService?_has:PractitionerRole:service:identifier=http://ns.electronichealth.net.au/id/medicare-provider-number|444455AA&_has:PractitionerRole:service:active=true`

**Support:**

* MAY support search HealthcareService for existence of active practitioner role with specific identifier.

**Implementation Notes:** [(how to search by token)](http://hl7.org/fhir/search.html#token), [(how to check for existence of referring resource)](http://hl7.org/fhir/stu3/search.html#has)

-------

**Search: Include References**

The [_include](http://hl7.org/fhir/search.html#include) argument allows the automatic inclusion of referenced resources in the response for a search; based on search parameters defined for this resource type[1](http://hl7.org/fhir/STU3/healthcareservice.html#search).

**Example:** `GET [base]/HealthcareService?_include=HealthcareService:organization&_include=HealthcareService:endpoint&_include=HealthcareService:location`

**Support:**

* MUST support _include HealthcareService references **location** (Location), **organization** (Organization), **endpoint** (Endpoint).

-------

**Search: Combination**

* Searches MUST be able to be perfomed in a single request using logical AND for criteria. e.g specialty cardiologist in post code 4846

-------



## Resource Content

```json
{
  "resourceType" : "StructureDefinition",
  "id" : "au-pd-healthcareservice",
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
    "valueInteger" : 0,
    "_valueInteger" : {
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical" : "http://hl7.org.au/fhir/pd/ImplementationGuide/hl7.fhir.au.pd"
      }]
    }
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode" : "draft",
    "_valueCode" : {
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical" : "http://hl7.org.au/fhir/pd/ImplementationGuide/hl7.fhir.au.pd"
      }]
    }
  }],
  "url" : "http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-healthcareservice",
  "version" : "2.1.0-ci-build",
  "name" : "AUPDHealthcareService",
  "title" : "AU PD Healthcare Service",
  "status" : "draft",
  "date" : "2026-06-17T22:24:03+00:00",
  "publisher" : "HL7 Australia",
  "contact" : [{
    "name" : "HL7 Australia FHIR Working Group",
    "telecom" : [{
      "system" : "url",
      "value" : "https://confluence.hl7.org/display/HAFWG",
      "use" : "work"
    }]
  }],
  "description" : "This profile defines a provider directory entry for a healthcare service or category of services delivered at a location by an organisation.",
  "jurisdiction" : [{
    "coding" : [{
      "system" : "urn:iso:std:iso:3166",
      "code" : "AU"
    }]
  }],
  "copyright" : "HL7 Australia© 2018+; Licensed Under Creative Commons No Rights Reserved.",
  "fhirVersion" : "4.0.1",
  "mapping" : [{
    "identity" : "rim",
    "uri" : "http://hl7.org/v3",
    "name" : "RIM Mapping"
  },
  {
    "identity" : "w5",
    "uri" : "http://hl7.org/fhir/fivews",
    "name" : "FiveWs Pattern Mapping"
  }],
  "kind" : "resource",
  "abstract" : false,
  "type" : "HealthcareService",
  "baseDefinition" : "http://hl7.org.au/fhir/StructureDefinition/au-healthcareservice",
  "derivation" : "constraint",
  "differential" : {
    "element" : [{
      "id" : "HealthcareService",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
        "valueCode" : "trial-use"
      }],
      "path" : "HealthcareService",
      "definition" : "Directory entry for a healthcare service at a location by an organisation.",
      "constraint" : [{
        "key" : "au-pd-hs-01",
        "severity" : "error",
        "human" : "At least one defined identifier, known to this AU PD Healthcare Service profile, must be present",
        "expression" : "identifier.exists() implies identifier.where(type.coding.code='VDI' or system='http://ns.electronichealth.net.au/id/hi/hpio/1.0' or system='http://ns.electronichealth.net.au/id/residential-aged-care-service-id').exists()",
        "source" : "http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-healthcareservice"
      }]
    },
    {
      "id" : "HealthcareService.meta",
      "path" : "HealthcareService.meta",
      "short" : "Metadata on Healthcare Service"
    },
    {
      "id" : "HealthcareService.meta.source",
      "path" : "HealthcareService.meta.source",
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.identifier",
      "path" : "HealthcareService.identifier",
      "slicing" : {
        "discriminator" : [{
          "type" : "pattern",
          "path" : "type"
        }],
        "rules" : "open"
      },
      "min" : 1,
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.identifier.extension",
      "path" : "HealthcareService.identifier.extension",
      "slicing" : {
        "discriminator" : [{
          "type" : "value",
          "path" : "url"
        }],
        "rules" : "open"
      }
    },
    {
      "id" : "HealthcareService.identifier.extension:routability",
      "path" : "HealthcareService.identifier.extension",
      "sliceName" : "routability",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/identifier-routability"]
      }]
    },
    {
      "id" : "HealthcareService.identifier.extension:assigningAuthority",
      "path" : "HealthcareService.identifier.extension",
      "sliceName" : "assigningAuthority",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-assigningauthority"]
      }]
    },
    {
      "id" : "HealthcareService.identifier:hpio",
      "path" : "HealthcareService.identifier",
      "sliceName" : "hpio",
      "short" : "HPI-O for Directory Entry Organisation",
      "definition" : "National identifier Health Provider Identifier for Organisations for Healthcare Service",
      "type" : [{
        "code" : "Identifier",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-hpio"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.identifier:auvdi",
      "path" : "HealthcareService.identifier",
      "sliceName" : "auvdi",
      "short" : "Secure Messaging Vendor's Healthcare Service Identifier",
      "definition" : "Vendor allocated directory identifier this can be used for search for specific healthcare service directory entry and/or for routing of messages.",
      "type" : [{
        "code" : "Identifier",
        "profile" : ["http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-vdi"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.active",
      "path" : "HealthcareService.active",
      "short" : "Required status",
      "min" : 1,
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.providedBy",
      "path" : "HealthcareService.providedBy",
      "short" : "Providing organisation",
      "min" : 1,
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-organisation"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.type",
      "path" : "HealthcareService.type",
      "short" : "Directory SNOMED-CT service types",
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.specialty",
      "path" : "HealthcareService.specialty",
      "short" : "Directory SNOMED-CT specialities offered by the HealthcareService",
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.location",
      "path" : "HealthcareService.location",
      "short" : "Single location for this service",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-location"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.name",
      "path" : "HealthcareService.name",
      "short" : "Healthcare service name",
      "min" : 1,
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.telecom",
      "path" : "HealthcareService.telecom",
      "short" : "Contact details",
      "mustSupport" : true
    },
    {
      "id" : "HealthcareService.availableTime.availableStartTime.extension:timeZone",
      "path" : "HealthcareService.availableTime.availableStartTime.extension",
      "sliceName" : "timeZone",
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-timezone"]
      }]
    },
    {
      "id" : "HealthcareService.availableTime.availableEndTime.extension:timeZone",
      "path" : "HealthcareService.availableTime.availableEndTime.extension",
      "sliceName" : "timeZone",
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-timezone"]
      }]
    },
    {
      "id" : "HealthcareService.endpoint",
      "path" : "HealthcareService.endpoint",
      "short" : "Technical endpoints for this healthcare service.",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-sm-endpoint"]
      }],
      "mustSupport" : true
    }]
  }
}

```
