# AU PD Practitioner Role - AU Provider Directory Implementation Guide v2.1.0-ci-build

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

## Resource Profile: AU PD Practitioner Role 

| | | |
| :--- | :--- | :--- |
| *Official URL*:http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-practitionerrole | *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*:AUPDPractitionerRole |
| **Copyright/Legal**: HL7 Australia© 2018+; Licensed Under Creative Commons No Rights Reserved. | | |

 
This profile defines a practitioner in role for an organisation at a location providing a healthcare service. 

The Australian profile for practitioner role is for a single healthcare service only, this allows a single provider number to be associated with the role.

In the context of provider directories the practitioner role may include references to endpoints that describe channels of communication to the provider in this role.

### Usage Notes

**Profile specific implementation guidance:**

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

* [AU Medicare Provider Number](https://hl7.org.au/fhir/4.1.0/StructureDefinition-au-medicareprovidernumber.html)
* [AU National Provider Identifier At Organisation](https://hl7.org.au/fhir/4.1.0/StructureDefinition-au-nationalprovideridentifieratorganisation.html)
* [AU Employee Number](https://hl7.org.au/fhir/4.1.0/StructureDefinition-au-employeenumber.html)
* [AU Vendor Directory Identifier](StructureDefinition-au-pd-vdi.md)

**Usages:**

* Examples for this Profile: [PractitionerRole/example0](PractitionerRole-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-practitionerrole.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-practitionerrole.csv), [Excel](StructureDefinition-au-pd-practitionerrole.xlsx), [Schematron](StructureDefinition-au-pd-practitionerrole.sch) 

### Notes:

-------

**Read: PractitionerRole**

Read identified practitioner role resource content.

`GET [base]/PractitionerRole/[id]`

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

**Support:**

* MUST support read PractitionerRole

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

-------

**Search: Active Status**

Search based on active status of the practitioner role record.

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

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

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

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

-------

**Search: Provider Practitioner Name**

Chained search (via Practitioner) based on family, given and/or any name. Chained search (via Practitioner) based on family, given and/or any name.

`GET [base]/PractitionerRole?practitioner.family=[string]`

`GET [base]/PractitionerRole?practitioner.family=[string]&practitioner.given=[string]`

`GET [base]/PractitionerRole?practitioner.name=[string]`

**Example:**

`GET [base]/PractitionerRole?practitioner.family=Smith`

`GET [base]/PractitionerRole?practitioner.family=Smith&practitioner.given=John`

`GET [base]/PractitionerRole?practitioner.name=Smith`

**Support:**

* MUST support search by Practitioner family, given and name.
* 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 string)](http://hl7.org/fhir/search.html#string)

-------

**Search: Provider Role**

Search based on role.

`GET [base]/PractitionerRole?role=[system]|[code]`

**Example:** `GET [base]/PractitionerRole?role=http://snomed.info/sct|397897005`

**Support:**

* MUST support search PractitionerRole by role.

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

-------

**Search: Provider at a HealthcareService**

Search based on role.

`GET [base]/PractitionerRole?service=[id]`

**Example:** `GET [base]/PractitionerRole?service=1234`

**Support:**

* MUST support search PractitionerRole by service.

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

-------

**Search: Provider Specialty**

Search based on specialty code.

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

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

**Support:**

* MUST support search PractitionerRole by specialty.

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

-------

**Search: Organisation of Provider HPI-O**

Chained search (via Organisation) based on identifier token.

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

**Example:** `GET [base]/PractitionerRole?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: Provider Practitioner HPI-I**

Chained search (via Practitioner) based on identifier token.

`GET [base]/PractitionerRole?practitioner.identifier=[system]|[value]`

**Example:** `GET [base]/PractitionerRole?practitioner.identifier=http://ns.electronichealth.net.au/id/hi/hpii/1.0|8003610833334085`

**Support:**

* MUST support search PractitionerRole by HPI-I.

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

-------

**Search: Vendor Directory Identifier**

Search based on identifier.

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

**Example:** `GET [base]/PractitionerRole?identifier=http://smvendor.com.au/id/provider-id|4412365432`

**Support:**

* MUST support search PractitionerRole by vendor directory identifier; [system] url will be defined by vendors. Effectively this is a general search for identifier capability.

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

-------

**Search: Provider Number**

Search based on identifier.

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

**Example:** `GET [base]/PractitionerRole?identifier=http://ns.electronichealth.net.au/id/medicare-provider-number|2426621B`

**Support:**

* MUST support search PractitionerRole by Provider Number.

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

-------

**Search: National Provider at Organisation Identifier**

Search based on identifier.

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

**Example:** `GET [base]/PractitionerRole?identifier=http://ns.electronichealth.net.au/id/npio|8003610833334085@8003627500000328`

**Support:**

* MUST support search PractitionerRole by National Provider at Organisation Identifier.

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

* Note NPIO format is [HPI-I]@[HPI-O].

-------

**Search: Location Address Parts**

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

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

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

`GET [base]/PractitionerRole?location.address-postalcode=[postcode],[postcode],[postcode]` etc.

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

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

**Example:**

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

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

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

`GET [base]/PractitionerRole?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 string)](http://hl7.org/fhir/search.html#string)

-------

**Search: Location Distance**

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

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

**Example:** `GET [base]/PractitionerRole?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)**

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

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

**Example:** `GET [base]/PractitionerRole?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 PractitionerRole by endpoint connection type.

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

-------

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

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

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

**Example:** `GET [base]/PractitionerRole?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 PractitionerRole by endpoint payload type.

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

-------

**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/practitionerrole.html#search).

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

**Support:**

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

-------

**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-practitionerrole",
  "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-practitionerrole",
  "version" : "2.1.0-ci-build",
  "name" : "AUPDPractitionerRole",
  "title" : "AU PD Practitioner Role",
  "status" : "draft",
  "date" : "2026-06-23T04:50:00+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 practitioner in role for an organisation at a location providing a healthcare service.",
  "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" : "v2",
    "uri" : "http://hl7.org/v2",
    "name" : "HL7 v2 Mapping"
  },
  {
    "identity" : "rim",
    "uri" : "http://hl7.org/v3",
    "name" : "RIM Mapping"
  },
  {
    "identity" : "servd",
    "uri" : "http://www.omg.org/spec/ServD/1.0/",
    "name" : "ServD"
  },
  {
    "identity" : "w5",
    "uri" : "http://hl7.org/fhir/fivews",
    "name" : "FiveWs Pattern Mapping"
  }],
  "kind" : "resource",
  "abstract" : false,
  "type" : "PractitionerRole",
  "baseDefinition" : "http://hl7.org.au/fhir/StructureDefinition/au-practitionerrole",
  "derivation" : "constraint",
  "differential" : {
    "element" : [{
      "id" : "PractitionerRole",
      "extension" : [{
        "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
        "valueCode" : "trial-use"
      }],
      "path" : "PractitionerRole",
      "definition" : "Directory entry for a provider at a location for an organisation.",
      "constraint" : [{
        "key" : "au-pd-pracrole-01",
        "severity" : "error",
        "human" : "At least one defined identifier, known to this AU PD Practitioner Role profile, must be present",
        "expression" : "identifier.exists() implies identifier.where(type.coding.where(code='VDI' or code='EI') or system='http://ns.electronichealth.net.au/id/medicare-provider-number' or system='http://hl7.org.au/id/npio').exists()",
        "source" : "http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-practitionerrole"
      }]
    },
    {
      "id" : "PractitionerRole.meta",
      "path" : "PractitionerRole.meta",
      "short" : "Metadata on Practitioner Role"
    },
    {
      "id" : "PractitionerRole.meta.source",
      "path" : "PractitionerRole.meta.source",
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.identifier",
      "path" : "PractitionerRole.identifier",
      "slicing" : {
        "discriminator" : [{
          "type" : "pattern",
          "path" : "type"
        }],
        "rules" : "open"
      },
      "min" : 1,
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.identifier.extension",
      "path" : "PractitionerRole.identifier.extension",
      "slicing" : {
        "discriminator" : [{
          "type" : "value",
          "path" : "url"
        }],
        "rules" : "open"
      }
    },
    {
      "id" : "PractitionerRole.identifier.extension:routability",
      "path" : "PractitionerRole.identifier.extension",
      "sliceName" : "routability",
      "short" : "Supports identifier selection for routing",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/identifier-routability"]
      }]
    },
    {
      "id" : "PractitionerRole.identifier.extension:assigningAuthority",
      "path" : "PractitionerRole.identifier.extension",
      "sliceName" : "assigningAuthority",
      "min" : 0,
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-assigningauthority"]
      }]
    },
    {
      "id" : "PractitionerRole.identifier:medicareProviderNumber",
      "path" : "PractitionerRole.identifier",
      "sliceName" : "medicareProviderNumber",
      "short" : "Medicare Provider Number for Directory Entry Practitioner Role",
      "type" : [{
        "code" : "Identifier",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-medicareprovidernumber"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.identifier:nationalProviderAtOrganisation",
      "path" : "PractitionerRole.identifier",
      "sliceName" : "nationalProviderAtOrganisation",
      "short" : "National Provider at Organisation Identifier for Directory Entry Practitioner Role",
      "type" : [{
        "code" : "Identifier",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-nationalprovideridentifieratorganisation"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.identifier:auvdi",
      "path" : "PractitionerRole.identifier",
      "sliceName" : "auvdi",
      "short" : "Secure Messaging Vendor's Provider Identifier",
      "definition" : "Vendor allocated directory identifier this can be used for search for specific practitioner role 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" : "PractitionerRole.active",
      "path" : "PractitionerRole.active",
      "short" : "Required status",
      "min" : 1,
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.practitioner",
      "path" : "PractitionerRole.practitioner",
      "short" : "Practitioner in the role",
      "definition" : "Australian practitioner directory entry in this role.",
      "min" : 1,
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-practitioner"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.organization",
      "path" : "PractitionerRole.organization",
      "short" : "Organisation providing this role. Reference to be the same Organisation as the referenced HealthcareService for this role.",
      "definition" : "Australian organisation directory entry providing this role.",
      "min" : 1,
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-organisation"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.code",
      "path" : "PractitionerRole.code",
      "short" : "Directory SNOMED-CT Practitioner Role Code.",
      "definition" : "Healthcare role code for directory lookup.",
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.specialty",
      "path" : "PractitionerRole.specialty",
      "short" : "Directory SNOMED-CT Practitioner Specialty.",
      "definition" : "Healthcare specialities for directory lookup.",
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.location",
      "path" : "PractitionerRole.location",
      "short" : "Location at which this role is provided. Reference to be the same Location as the referenced HealthcareService for this role.",
      "definition" : "Location details describing where the role is being provided.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-location"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.healthcareService",
      "path" : "PractitionerRole.healthcareService",
      "short" : "Healthcare service at which this role is provided.",
      "definition" : "Healthcare details describing where the role is being provided.",
      "min" : 1,
      "max" : "1",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-healthcareservice"]
      }],
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.telecom",
      "path" : "PractitionerRole.telecom",
      "short" : "Contact details for the practitioner in this role.",
      "definition" : "Details for contacting the practitioner in this role.",
      "mustSupport" : true
    },
    {
      "id" : "PractitionerRole.availableTime.availableStartTime.extension:timeZone",
      "path" : "PractitionerRole.availableTime.availableStartTime.extension",
      "sliceName" : "timeZone",
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-timezone"]
      }]
    },
    {
      "id" : "PractitionerRole.availableTime.availableEndTime.extension:timeZone",
      "path" : "PractitionerRole.availableTime.availableEndTime.extension",
      "sliceName" : "timeZone",
      "max" : "1",
      "type" : [{
        "code" : "Extension",
        "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-timezone"]
      }]
    },
    {
      "id" : "PractitionerRole.endpoint",
      "path" : "PractitionerRole.endpoint",
      "short" : "Technical endpoints for this practitioner role.",
      "definition" : "Details for service based communication with the practitioner in this role. This can include web services, messaging profiles and other protocol based communication.",
      "type" : [{
        "code" : "Reference",
        "targetProfile" : ["http://hl7.org.au/fhir/pd/StructureDefinition/au-pd-sm-endpoint"]
      }],
      "mustSupport" : true
    }]
  }
}

```
