# Health Connect Australia Provider Directory FHIR Implementation Guide

26.0.0 - Trial

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 26.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/AuDigitalHealth/HCPD/ and changes regularly. See the Directory of published versions

## Resource Profile: HCPD Practitioner

Official URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-practitioner | Version: 26.0.0
Active as of 2026-06-17 | Computable Name: HCPD_Practitioner
Usage:Jurisdiction: Australia
Copyright/Legal: Copyright © 2026 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 defines a Health Connect Provider Directory entry for a healthcare practitioner.

This profile addresses the business requirement for standardised practitioner information representation in the Health Connect Provider Directory, ensuring consistent capture of healthcare practitioner details including professional identifiers and qualifications for directory search and referral purposes.

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

### Usage notes

The following guidance maps key information requirements for HCPD Practitioner records to fields in the profile. Where a requirement references the HI Service as the authoritative source, publishers SHOULD prefer and validate values-such as practitioner identifiers, and names.

#### Extensions

#### Identifiers

Required Identifier:

- HPI-I - Healthcare Provider Identifier - Individual (mandatory)

#### Professional Registration and Profession

Professional registration should be carried in the `qualification` element. The registration number of the Practitioner should be populated in `qualification.identifier`; the practitioner's profession should be sent as free text in `qualification.code.text`.

- `qualification.identifier`: Registration number issued by the regulatory body (either issued by Ahpra or a non-Ahpra peak body). Follow the applicable identifier profile for format and issuer information.
- `qualification.code.text`: The practitioner's profession linked to the registration number as a human-readable string. Because there is no single, authoritative ValueSet that covers all professions reliably, send the profession in `code.text`.
- `qualification.code.coding` (optional): Only use coded values when you have an authoritative, stable code system for that profession. When `coding` is included, also populate `code.text` with the same label.

Notes:

- For Ahpra-registered practitioners include the Ahpra registration number in `qualification.identifier`. If you can map the profession to a reliable Ahpra code you may include `qualification.code.coding`, but still provide `qualification.code.text`.
- For peak body (non-Ahpra) registrations include the issuing organisation in `qualification.issuer.display` or, when attaching issuer details to the identifier itself, use `qualification.identifier.assigner.display` or `qualification.identifier.system` as appropriate.

This profile requires profession to be present as human-readable text in `qualification.code.text` when the profession is known; coded professions are optional.

#### Personal contact details

Practitioners may optionally provide personal contact details for inclusion in the Provider Directory. This includes `personalPhoneNumber` and `personalEmailAddress`. Publishing systems MUST only include and display these personal contact details if the practitioner has explicitly opted in to being listed; treat these fields as sensitive and do not expose them publicly unless the practitioner has consented.

### Data Integrity and Validation

This profile includes invariants to ensure data consistency and proper professional credentialing.

#### Professional Registration Invariants

`inv-01-qualification-registration-required` (error): Ensures at least one professional registration is present in qualifications:

- At least one qualification with Ahpra registration identifier OR
- At least one qualification with a peak body registration identifier

Implementation Validation:

- Each qualification will include both an identifier and appropriate profession code (at least qualification.code.text).

Usages:

- Refer to this Profile: HCPD PractitionerRole and HCPD Provenance
- Examples for this Profile: Practitioner/example-balmain-practitioner-1, Practitioner/example-healthconnect-practitioner-1 and Practitioner/external-hcpd-practitioner-record
- 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
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner(2.0.0) | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, inv-pra-5, inv-01-qualification-registration-required
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:genderIdentity | C | 0..* | (Complex) | Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity Constraints: ext-1
extension:individualPronouns |  | 0..* | (Complex) | Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply URL: http://hl7.org/fhir/StructureDefinition/individual-pronouns Constraints: ext-1
extension:recordedSexOrGender | SO C | 1..1 | (Complex) | A recorded sex or gender property for the individual URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender 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
Slices for identifier | SO Σ | 1..* | Identifier(4.0.1), AUHPII(6.0.0), AUPBSPrescriberNumber(6.0.0), AUCareAgencyEmployeeIdentifier(6.0.0), AUAhpraRegistrationNumber(6.0.0) | An identifier for the person as this agent Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:hpii | SO Σ | 1..1 | AUHPII(6.0.0) | HPI-I identifier
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for name | SO Σ | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:All Slices |  |  |  | Content/Rules for all slices
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name.
family | SO Σ | 1..1 | string | Family name (often called 'Surname')
given | SO Σ | 0..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name
name:officialName | SO Σ | 1..1 | HumanName | Legal Registered Name
use | ?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official
family | SO Σ | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | SO Σ | 0..1 | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
prefix | O Σ | 0..1 | string | Title This repeating element order: Prefixes appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:alternate-name | SO Σ | 0..1 | HumanName | Alternate name or alias of a practitioner
use | ?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: usual
family | SO Σ | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | SO Σ | 0..* | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for telecom | Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles) Slice: Unordered, Open by value:system, value:use
telecom:personalPhoneNumber | SO Σ | 0..1 | ContactPoint | Personal phone number
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
system | Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Fixed Value: phone
value | Σ | 1..1 | string | The actual contact point details
use | ?!Σ | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. Fixed Value: home
telecom:personalEmailAddress | SO Σ | 0..1 | ContactPoint | Personal Email address
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
system | Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Fixed Value: email
value | Σ | 1..1 | string | The actual contact point details
use | ?!Σ | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. Fixed Value: home
qualification | SO | 1..* | BackboneElement | Professional registration details of the practitioner
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
Slices for identifier | SO | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber(6.0.0) | Ahpra registration number
identifier:peakbodyregistrationnumber | S | 0..1 | HCPD_Peak_Body_Registration_Number(26.0.0) | Peak body, association or societal professional registration number for non-Ahpra practitioners
code | SO | 1..1 | CodeableConcept | Profession of the Practitioner. Binding: Hl7VSDegreeLicenseCertificateAUExtended (6.0.0) (preferred)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
text | S Σ | 1..1 | string | Text representation of the Practitioner Profession.
issuer | S | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.name.use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.name:officialName.​use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.name:alternate-name.​use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalPhoneNumber.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalPhoneNumber.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalEmailAddress.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalEmailAddress.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.qualification.​code | Base | preferred | hl7VS-degreeLicenseCertificate - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | 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 | Practitioner | 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 | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | Practitioner.implicitRules, Practitioner.extension, Practitioner.extension:genderIdentity, Practitioner.extension:individualPronouns, Practitioner.extension:recordedSexOrGender, Practitioner.modifierExtension, Practitioner.identifier, Practitioner.identifier:hpii, Practitioner.name, Practitioner.name.use, Practitioner.name.family, Practitioner.name.given, Practitioner.name:officialName, Practitioner.name:officialName.use, Practitioner.name:officialName.family, Practitioner.name:officialName.given, Practitioner.name:officialName.prefix, Practitioner.name:alternate-name, Practitioner.name:alternate-name.use, Practitioner.name:alternate-name.family, Practitioner.name:alternate-name.given, Practitioner.telecom, Practitioner.telecom:personalPhoneNumber, Practitioner.telecom:personalPhoneNumber.system, Practitioner.telecom:personalPhoneNumber.value, Practitioner.telecom:personalPhoneNumber.use, Practitioner.telecom:personalEmailAddress, Practitioner.telecom:personalEmailAddress.system, Practitioner.telecom:personalEmailAddress.value, Practitioner.telecom:personalEmailAddress.use, Practitioner.qualification, Practitioner.qualification.modifierExtension, Practitioner.qualification.identifier, Practitioner.qualification.identifier:ahpraregistrationnumber, Practitioner.qualification.identifier:peakbodyregistrationnumber, Practitioner.qualification.code, Practitioner.qualification.code.text, Practitioner.qualification.issuer | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Practitioner.extension, Practitioner.extension:genderIdentity, Practitioner.extension:individualPronouns, Practitioner.extension:recordedSexOrGender, Practitioner.modifierExtension, Practitioner.qualification.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-qualification-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.where(code = 'AHPRA').exists()).exists() or qualification.identifier.where(type.coding.where(code = 'PRN').exists()).exists()`
inv-pra-0 | warning | Practitioner | Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').extension('value').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').extension('value').value.all(memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1'))`
inv-pra-1 | warning | Practitioner | Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').extension('value').value.all(memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1'))`
inv-pra-2 | warning | Practitioner | Recorded sex or gender type shall be a member of the AU Recorded Sex or Gender Type value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').value.all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-type'))`
inv-pra-3 | warning | Practitioner | Recorded sex or gender source document type shall be a member of the AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').value.ofType(CodeableConcept).all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source-document-type'))`
inv-pra-4 | warning | Practitioner | Recorded sex or gender jurisdiction shall be a member of the Jurisdiction ValueSet - AU Extended value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').value.all(memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))`
inv-pra-5 | warning | Practitioner | Recorded sex or gender source shall be a member of the AU Recorded Sex or Gender (RSG) Source value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('source').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('source').value.ofType(CodeableConcept).all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source'))`

This structure is derived from AUCorePractitioner

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner(2.0.0) | Healthcare Provider Individual
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | Content/Rules for all slices
extension:recordedSexOrGender | SO | 1..1 | RecordedSexOrGender(5.3.0) | A recorded sex or gender property for the individual
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier | O | 1..* | Identifier(4.0.1), AUHPII(6.0.0), AUPBSPrescriberNumber(6.0.0), AUCareAgencyEmployeeIdentifier(6.0.0), AUAhpraRegistrationNumber(6.0.0) | An identifier for the person as this agent
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:hpii | O | 1..1 | AUHPII(6.0.0) | HPI-I identifier
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for name | O | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:officialName | S | 1..1 | HumanName | Legal Registered Name
use |  | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Fixed Value: official
family | O | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | O | 0..1 | string | Practitioner's given name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
prefix | O | 0..1 | string | Title
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:alternate-name | S | 0..1 | HumanName | Alternate name or alias of a practitioner
use |  | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Fixed Value: usual
family | O | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | O | 0..* | string | Practitioner's given name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for telecom |  | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles) Slice: Unordered, Open by value:system, value:use
telecom:personalPhoneNumber | SO | 0..1 | ContactPoint | Personal phone number
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
system |  | 1..1 | code | phone | fax | email | pager | url | sms | other Fixed Value: phone
value |  | 1..1 | string | The actual contact point details
use |  | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Fixed Value: home
telecom:personalEmailAddress | SO | 0..1 | ContactPoint | Personal Email address
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
system |  | 1..1 | code | phone | fax | email | pager | url | sms | other Fixed Value: email
value |  | 1..1 | string | The actual contact point details
use |  | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Fixed Value: home
qualification | SO | 1..* | BackboneElement | Professional registration details of the practitioner
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for identifier | SO | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber(6.0.0) | Ahpra registration number
identifier:peakbodyregistrationnumber | S | 0..1 | HCPD_Peak_Body_Registration_Number(26.0.0) | Peak body, association or societal professional registration number for non-Ahpra practitioners
code | SO | 1..1 | CodeableConcept | Profession of the Practitioner.
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
text | S | 1..1 | string | Text representation of the Practitioner Profession.
issuer | S | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner(2.0.0) | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, inv-pra-5, inv-01-qualification-registration-required
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:genderIdentity | C | 0..* | (Complex) | Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity Constraints: ext-1
extension:individualPronouns |  | 0..* | (Complex) | Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply URL: http://hl7.org/fhir/StructureDefinition/individual-pronouns Constraints: ext-1
extension:recordedSexOrGender | SO C | 1..1 | (Complex) | A recorded sex or gender property for the individual URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender 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
Slices for identifier | SO Σ | 1..* | Identifier(4.0.1), AUHPII(6.0.0), AUPBSPrescriberNumber(6.0.0), AUCareAgencyEmployeeIdentifier(6.0.0), AUAhpraRegistrationNumber(6.0.0) | An identifier for the person as this agent Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:hpii | SO Σ | 1..1 | AUHPII(6.0.0) | HPI-I identifier
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
active | Σ | 0..1 | boolean | Whether this practitioner's record is in active use
Slices for name | SO Σ | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:All Slices |  |  |  | Content/Rules for all slices
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
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name.
text | Σ | 0..1 | string | Text representation of the full name
family | SO Σ | 1..1 | string | Family name (often called 'Surname')
given | SO Σ | 0..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name
period | Σ | 0..1 | Period | Time period when name was/is in use
name:officialName | SO Σ | 1..1 | HumanName | Legal Registered Name
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
use | ?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official
text | Σ | 0..1 | string | Text representation of the full name
family | SO Σ | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | SO Σ | 0..1 | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
prefix | O Σ | 0..1 | string | Title This repeating element order: Prefixes appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name
period | Σ | 0..1 | Period | Time period when name was/is in use
name:alternate-name | SO Σ | 0..1 | HumanName | Alternate name or alias of a practitioner
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
use | ?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: usual
text | Σ | 0..1 | string | Text representation of the full name
family | SO Σ | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | SO Σ | 0..* | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name
period | Σ | 0..1 | Period | Time period when name was/is in use
Slices for telecom | Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles) Slice: Unordered, Open by value:system, value:use
telecom:personalPhoneNumber | SO Σ | 0..1 | ContactPoint | Personal phone number
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 | Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Fixed Value: phone
value | Σ | 1..1 | string | The actual contact point details
use | ?!Σ | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. Fixed Value: home
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
telecom:personalEmailAddress | SO Σ | 0..1 | ContactPoint | Personal Email address
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 | Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Fixed Value: email
value | Σ | 1..1 | string | The actual contact point details
use | ?!Σ | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. Fixed Value: home
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
address | Σ | 0..* | Address(4.0.1), AustralianAddress(6.0.0) | Address(es) of the practitioner that are not role specific (typically home address)
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
birthDate | Σ | 0..1 | date | The date on which the practitioner was born
photo |  | 0..* | Attachment | Image of the person
qualification | SO | 1..* | BackboneElement | Professional registration details of the practitioner
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
Slices for identifier | SO | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber(6.0.0) | Ahpra registration number
identifier:peakbodyregistrationnumber | S | 0..1 | HCPD_Peak_Body_Registration_Number(26.0.0) | Peak body, association or societal professional registration number for non-Ahpra practitioners
code | SO | 1..1 | CodeableConcept | Profession of the Practitioner. Binding: Hl7VSDegreeLicenseCertificateAUExtended (6.0.0) (preferred)
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 | Σ | 0..* | Coding | Code defined by a terminology system
text | S Σ | 1..1 | string | Text representation of the Practitioner Profession.
period |  | 0..1 | Period | Period during which the qualification is valid
issuer | S | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
communication |  | 0..* | CodeableConcept | A language the practitioner can use in patient communication Binding: Common Languages in Australia (extensible)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Practitioner.name.use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.name:officialName.​use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.name:alternate-name.​use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalPhoneNumber.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalPhoneNumber.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalEmailAddress.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalEmailAddress.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Practitioner.qualification.​code | Base | preferred | hl7VS-degreeLicenseCertificate - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0
Practitioner.communication | Base | extensible | Common Languages in Australia | ⏿2.2.1 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | 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 | Practitioner | 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 | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | Practitioner.meta, Practitioner.implicitRules, Practitioner.language, Practitioner.text, Practitioner.extension, Practitioner.extension:genderIdentity, Practitioner.extension:individualPronouns, Practitioner.extension:recordedSexOrGender, Practitioner.modifierExtension, Practitioner.identifier, Practitioner.identifier:hpii, Practitioner.active, Practitioner.name, Practitioner.name.extension, Practitioner.name.use, Practitioner.name.text, Practitioner.name.family, Practitioner.name.given, Practitioner.name.prefix, Practitioner.name.suffix, Practitioner.name.period, Practitioner.name:officialName, Practitioner.name:officialName.extension, Practitioner.name:officialName.use, Practitioner.name:officialName.text, Practitioner.name:officialName.family, Practitioner.name:officialName.given, Practitioner.name:officialName.prefix, Practitioner.name:officialName.suffix, Practitioner.name:officialName.period, Practitioner.name:alternate-name, Practitioner.name:alternate-name.extension, Practitioner.name:alternate-name.use, Practitioner.name:alternate-name.text, Practitioner.name:alternate-name.family, Practitioner.name:alternate-name.given, Practitioner.name:alternate-name.prefix, Practitioner.name:alternate-name.suffix, Practitioner.name:alternate-name.period, Practitioner.telecom, Practitioner.telecom:personalPhoneNumber, Practitioner.telecom:personalPhoneNumber.extension, Practitioner.telecom:personalPhoneNumber.system, Practitioner.telecom:personalPhoneNumber.value, Practitioner.telecom:personalPhoneNumber.use, Practitioner.telecom:personalPhoneNumber.rank, Practitioner.telecom:personalPhoneNumber.period, Practitioner.telecom:personalEmailAddress, Practitioner.telecom:personalEmailAddress.extension, Practitioner.telecom:personalEmailAddress.system, Practitioner.telecom:personalEmailAddress.value, Practitioner.telecom:personalEmailAddress.use, Practitioner.telecom:personalEmailAddress.rank, Practitioner.telecom:personalEmailAddress.period, Practitioner.address, Practitioner.gender, Practitioner.birthDate, Practitioner.photo, Practitioner.qualification, Practitioner.qualification.extension, Practitioner.qualification.modifierExtension, Practitioner.qualification.identifier, Practitioner.qualification.identifier:ahpraregistrationnumber, Practitioner.qualification.identifier:peakbodyregistrationnumber, Practitioner.qualification.code, Practitioner.qualification.code.extension, Practitioner.qualification.code.coding, Practitioner.qualification.code.text, Practitioner.qualification.period, Practitioner.qualification.issuer, Practitioner.communication | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Practitioner.extension, Practitioner.extension:genderIdentity, Practitioner.extension:individualPronouns, Practitioner.extension:recordedSexOrGender, Practitioner.modifierExtension, Practitioner.name.extension, Practitioner.name:officialName.extension, Practitioner.name:alternate-name.extension, Practitioner.telecom:personalPhoneNumber.extension, Practitioner.telecom:personalEmailAddress.extension, Practitioner.qualification.extension, Practitioner.qualification.modifierExtension, Practitioner.qualification.code.extension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-qualification-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.where(code = 'AHPRA').exists()).exists() or qualification.identifier.where(type.coding.where(code = 'PRN').exists()).exists()`
inv-pra-0 | warning | Practitioner | Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').extension('value').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').extension('value').value.all(memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1'))`
inv-pra-1 | warning | Practitioner | Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').extension('value').value.all(memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1'))`
inv-pra-2 | warning | Practitioner | Recorded sex or gender type shall be a member of the AU Recorded Sex or Gender Type value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').value.all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-type'))`
inv-pra-3 | warning | Practitioner | Recorded sex or gender source document type shall be a member of the AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').value.ofType(CodeableConcept).all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source-document-type'))`
inv-pra-4 | warning | Practitioner | Recorded sex or gender jurisdiction shall be a member of the Jurisdiction ValueSet - AU Extended value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').value.all(memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))`
inv-pra-5 | warning | Practitioner | Recorded sex or gender source shall be a member of the AU Recorded Sex or Gender (RSG) Source value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('source').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('source').value.ofType(CodeableConcept).all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source'))`

This structure is derived from AUCorePractitioner

Summary

Mandatory: 9 elements(7 nested mandatory elements)
Must-Support: 12 elements
Fixed: 6 elements

Structures

This structure refers to these other structures:

- AU Ahpra Registration Number (http://hl7.org.au/fhir/StructureDefinition/au-ahpraregistrationnumber|6.0.0)
- HCPD Peak Body Professional Registration Number (HCPD-PBPRN) (http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-pbprn|26.0.0)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Practitioner.name
- The element 2 is sliced based on the values of Practitioner.telecom
- The element 1 is sliced based on the value of Practitioner.qualification.identifier

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner(2.0.0) | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, inv-pra-5, inv-01-qualification-registration-required
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:genderIdentity | C | 0..* | (Complex) | Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity Constraints: ext-1
extension:individualPronouns |  | 0..* | (Complex) | Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply URL: http://hl7.org/fhir/StructureDefinition/individual-pronouns Constraints: ext-1
extension:recordedSexOrGender | SO C | 1..1 | (Complex) | A recorded sex or gender property for the individual URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender 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
Slices for identifier | SO Σ | 1..* | Identifier(4.0.1), AUHPII(6.0.0), AUPBSPrescriberNumber(6.0.0), AUCareAgencyEmployeeIdentifier(6.0.0), AUAhpraRegistrationNumber(6.0.0) | An identifier for the person as this agent Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:hpii | SO Σ | 1..1 | AUHPII(6.0.0) | HPI-I identifier
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for name | SO Σ | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:All Slices |  |  |  | Content/Rules for all slices
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name.
family | SO Σ | 1..1 | string | Family name (often called 'Surname')
given | SO Σ | 0..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name
name:officialName | SO Σ | 1..1 | HumanName | Legal Registered Name
use | ?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official
family | SO Σ | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | SO Σ | 0..1 | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
prefix | O Σ | 0..1 | string | Title This repeating element order: Prefixes appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:alternate-name | SO Σ | 0..1 | HumanName | Alternate name or alias of a practitioner
use | ?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: usual
family | SO Σ | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | SO Σ | 0..* | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for telecom | Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles) Slice: Unordered, Open by value:system, value:use
telecom:personalPhoneNumber | SO Σ | 0..1 | ContactPoint | Personal phone number
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
system | Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Fixed Value: phone
value | Σ | 1..1 | string | The actual contact point details
use | ?!Σ | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. Fixed Value: home
telecom:personalEmailAddress | SO Σ | 0..1 | ContactPoint | Personal Email address
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
system | Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Fixed Value: email
value | Σ | 1..1 | string | The actual contact point details
use | ?!Σ | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. Fixed Value: home
qualification | SO | 1..* | BackboneElement | Professional registration details of the practitioner
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
Slices for identifier | SO | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber(6.0.0) | Ahpra registration number
identifier:peakbodyregistrationnumber | S | 0..1 | HCPD_Peak_Body_Registration_Number(26.0.0) | Peak body, association or societal professional registration number for non-Ahpra practitioners
code | SO | 1..1 | CodeableConcept | Profession of the Practitioner. Binding: Hl7VSDegreeLicenseCertificateAUExtended (6.0.0) (preferred)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
text | S Σ | 1..1 | string | Text representation of the Practitioner Profession.
issuer | S | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.name.use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.name:officialName.​use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.name:alternate-name.​use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalPhoneNumber.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalPhoneNumber.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalEmailAddress.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalEmailAddress.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.qualification.​code | Base | preferred | hl7VS-degreeLicenseCertificate - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | 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 | Practitioner | 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 | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | Practitioner.implicitRules, Practitioner.extension, Practitioner.extension:genderIdentity, Practitioner.extension:individualPronouns, Practitioner.extension:recordedSexOrGender, Practitioner.modifierExtension, Practitioner.identifier, Practitioner.identifier:hpii, Practitioner.name, Practitioner.name.use, Practitioner.name.family, Practitioner.name.given, Practitioner.name:officialName, Practitioner.name:officialName.use, Practitioner.name:officialName.family, Practitioner.name:officialName.given, Practitioner.name:officialName.prefix, Practitioner.name:alternate-name, Practitioner.name:alternate-name.use, Practitioner.name:alternate-name.family, Practitioner.name:alternate-name.given, Practitioner.telecom, Practitioner.telecom:personalPhoneNumber, Practitioner.telecom:personalPhoneNumber.system, Practitioner.telecom:personalPhoneNumber.value, Practitioner.telecom:personalPhoneNumber.use, Practitioner.telecom:personalEmailAddress, Practitioner.telecom:personalEmailAddress.system, Practitioner.telecom:personalEmailAddress.value, Practitioner.telecom:personalEmailAddress.use, Practitioner.qualification, Practitioner.qualification.modifierExtension, Practitioner.qualification.identifier, Practitioner.qualification.identifier:ahpraregistrationnumber, Practitioner.qualification.identifier:peakbodyregistrationnumber, Practitioner.qualification.code, Practitioner.qualification.code.text, Practitioner.qualification.issuer | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Practitioner.extension, Practitioner.extension:genderIdentity, Practitioner.extension:individualPronouns, Practitioner.extension:recordedSexOrGender, Practitioner.modifierExtension, Practitioner.qualification.modifierExtension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-qualification-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.where(code = 'AHPRA').exists()).exists() or qualification.identifier.where(type.coding.where(code = 'PRN').exists()).exists()`
inv-pra-0 | warning | Practitioner | Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').extension('value').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').extension('value').value.all(memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1'))`
inv-pra-1 | warning | Practitioner | Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').extension('value').value.all(memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1'))`
inv-pra-2 | warning | Practitioner | Recorded sex or gender type shall be a member of the AU Recorded Sex or Gender Type value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').value.all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-type'))`
inv-pra-3 | warning | Practitioner | Recorded sex or gender source document type shall be a member of the AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').value.ofType(CodeableConcept).all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source-document-type'))`
inv-pra-4 | warning | Practitioner | Recorded sex or gender jurisdiction shall be a member of the Jurisdiction ValueSet - AU Extended value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').value.all(memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))`
inv-pra-5 | warning | Practitioner | Recorded sex or gender source shall be a member of the AU Recorded Sex or Gender (RSG) Source value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('source').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('source').value.ofType(CodeableConcept).all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source'))`

Differential View

This structure is derived from AUCorePractitioner

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner(2.0.0) | Healthcare Provider Individual
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | Content/Rules for all slices
extension:recordedSexOrGender | SO | 1..1 | RecordedSexOrGender(5.3.0) | A recorded sex or gender property for the individual
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier | O | 1..* | Identifier(4.0.1), AUHPII(6.0.0), AUPBSPrescriberNumber(6.0.0), AUCareAgencyEmployeeIdentifier(6.0.0), AUAhpraRegistrationNumber(6.0.0) | An identifier for the person as this agent
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:hpii | O | 1..1 | AUHPII(6.0.0) | HPI-I identifier
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for name | O | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:officialName | S | 1..1 | HumanName | Legal Registered Name
use |  | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Fixed Value: official
family | O | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | O | 0..1 | string | Practitioner's given name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
prefix | O | 0..1 | string | Title
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:alternate-name | S | 0..1 | HumanName | Alternate name or alias of a practitioner
use |  | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Fixed Value: usual
family | O | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | O | 0..* | string | Practitioner's given name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for telecom |  | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles) Slice: Unordered, Open by value:system, value:use
telecom:personalPhoneNumber | SO | 0..1 | ContactPoint | Personal phone number
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
system |  | 1..1 | code | phone | fax | email | pager | url | sms | other Fixed Value: phone
value |  | 1..1 | string | The actual contact point details
use |  | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Fixed Value: home
telecom:personalEmailAddress | SO | 0..1 | ContactPoint | Personal Email address
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
system |  | 1..1 | code | phone | fax | email | pager | url | sms | other Fixed Value: email
value |  | 1..1 | string | The actual contact point details
use |  | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Fixed Value: home
qualification | SO | 1..* | BackboneElement | Professional registration details of the practitioner
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
Slices for identifier | SO | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber(6.0.0) | Ahpra registration number
identifier:peakbodyregistrationnumber | S | 0..1 | HCPD_Peak_Body_Registration_Number(26.0.0) | Peak body, association or societal professional registration number for non-Ahpra practitioners
code | SO | 1..1 | CodeableConcept | Profession of the Practitioner.
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
text | S | 1..1 | string | Text representation of the Practitioner Profession.
issuer | S | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner(2.0.0) | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, inv-pra-5, inv-01-qualification-registration-required
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:genderIdentity | C | 0..* | (Complex) | Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity Constraints: ext-1
extension:individualPronouns |  | 0..* | (Complex) | Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply URL: http://hl7.org/fhir/StructureDefinition/individual-pronouns Constraints: ext-1
extension:recordedSexOrGender | SO C | 1..1 | (Complex) | A recorded sex or gender property for the individual URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender 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
Slices for identifier | SO Σ | 1..* | Identifier(4.0.1), AUHPII(6.0.0), AUPBSPrescriberNumber(6.0.0), AUCareAgencyEmployeeIdentifier(6.0.0), AUAhpraRegistrationNumber(6.0.0) | An identifier for the person as this agent Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:hpii | SO Σ | 1..1 | AUHPII(6.0.0) | HPI-I identifier
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
active | Σ | 0..1 | boolean | Whether this practitioner's record is in active use
Slices for name | SO Σ | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
name:All Slices |  |  |  | Content/Rules for all slices
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
use | ?!Σ | 0..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name.
text | Σ | 0..1 | string | Text representation of the full name
family | SO Σ | 1..1 | string | Family name (often called 'Surname')
given | SO Σ | 0..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name
period | Σ | 0..1 | Period | Time period when name was/is in use
name:officialName | SO Σ | 1..1 | HumanName | Legal Registered Name
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
use | ?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official
text | Σ | 0..1 | string | Text representation of the full name
family | SO Σ | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | SO Σ | 0..1 | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
prefix | O Σ | 0..1 | string | Title This repeating element order: Prefixes appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name
period | Σ | 0..1 | Period | Time period when name was/is in use
name:alternate-name | SO Σ | 0..1 | HumanName | Alternate name or alias of a practitioner
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
use | ?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: usual
text | Σ | 0..1 | string | Text representation of the full name
family | SO Σ | 1..1 | string | Practitioner's family name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
given | SO Σ | 0..* | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
prefix | Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name
suffix | Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name
period | Σ | 0..1 | Period | Time period when name was/is in use
Slices for telecom | Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles) Slice: Unordered, Open by value:system, value:use
telecom:personalPhoneNumber | SO Σ | 0..1 | ContactPoint | Personal phone number
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 | Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Fixed Value: phone
value | Σ | 1..1 | string | The actual contact point details
use | ?!Σ | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. Fixed Value: home
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
telecom:personalEmailAddress | SO Σ | 0..1 | ContactPoint | Personal Email address
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 | Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Fixed Value: email
value | Σ | 1..1 | string | The actual contact point details
use | ?!Σ | 1..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. Fixed Value: home
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest)
period | Σ | 0..1 | Period | Time period when the contact point was/is in use
address | Σ | 0..* | Address(4.0.1), AustralianAddress(6.0.0) | Address(es) of the practitioner that are not role specific (typically home address)
gender | Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
birthDate | Σ | 0..1 | date | The date on which the practitioner was born
photo |  | 0..* | Attachment | Image of the person
qualification | SO | 1..* | BackboneElement | Professional registration details of the practitioner
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
Slices for identifier | SO | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber(6.0.0) | Ahpra registration number
identifier:peakbodyregistrationnumber | S | 0..1 | HCPD_Peak_Body_Registration_Number(26.0.0) | Peak body, association or societal professional registration number for non-Ahpra practitioners
code | SO | 1..1 | CodeableConcept | Profession of the Practitioner. Binding: Hl7VSDegreeLicenseCertificateAUExtended (6.0.0) (preferred)
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 | Σ | 0..* | Coding | Code defined by a terminology system
text | S Σ | 1..1 | string | Text representation of the Practitioner Profession.
period |  | 0..1 | Period | Period during which the qualification is valid
issuer | S | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
communication |  | 0..* | CodeableConcept | A language the practitioner can use in patient communication Binding: Common Languages in Australia (extensible)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
Practitioner.name.use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.name:officialName.​use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.name:alternate-name.​use | Base | required | NameUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalPhoneNumber.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalPhoneNumber.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalEmailAddress.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
Practitioner.telecom:personalEmailAddress.​use | Base | required | ContactPointUse | 📍4.0.1 | FHIR Std.
Practitioner.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Practitioner.qualification.​code | Base | preferred | hl7VS-degreeLicenseCertificate - AU Extended | 📍6.0.0 | AU Base Implementation Guide v6.0
Practitioner.communication | Base | extensible | Common Languages in Australia | ⏿2.2.1 | tx.hl7.org.au

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | 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 | Practitioner | 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 | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | Practitioner.meta, Practitioner.implicitRules, Practitioner.language, Practitioner.text, Practitioner.extension, Practitioner.extension:genderIdentity, Practitioner.extension:individualPronouns, Practitioner.extension:recordedSexOrGender, Practitioner.modifierExtension, Practitioner.identifier, Practitioner.identifier:hpii, Practitioner.active, Practitioner.name, Practitioner.name.extension, Practitioner.name.use, Practitioner.name.text, Practitioner.name.family, Practitioner.name.given, Practitioner.name.prefix, Practitioner.name.suffix, Practitioner.name.period, Practitioner.name:officialName, Practitioner.name:officialName.extension, Practitioner.name:officialName.use, Practitioner.name:officialName.text, Practitioner.name:officialName.family, Practitioner.name:officialName.given, Practitioner.name:officialName.prefix, Practitioner.name:officialName.suffix, Practitioner.name:officialName.period, Practitioner.name:alternate-name, Practitioner.name:alternate-name.extension, Practitioner.name:alternate-name.use, Practitioner.name:alternate-name.text, Practitioner.name:alternate-name.family, Practitioner.name:alternate-name.given, Practitioner.name:alternate-name.prefix, Practitioner.name:alternate-name.suffix, Practitioner.name:alternate-name.period, Practitioner.telecom, Practitioner.telecom:personalPhoneNumber, Practitioner.telecom:personalPhoneNumber.extension, Practitioner.telecom:personalPhoneNumber.system, Practitioner.telecom:personalPhoneNumber.value, Practitioner.telecom:personalPhoneNumber.use, Practitioner.telecom:personalPhoneNumber.rank, Practitioner.telecom:personalPhoneNumber.period, Practitioner.telecom:personalEmailAddress, Practitioner.telecom:personalEmailAddress.extension, Practitioner.telecom:personalEmailAddress.system, Practitioner.telecom:personalEmailAddress.value, Practitioner.telecom:personalEmailAddress.use, Practitioner.telecom:personalEmailAddress.rank, Practitioner.telecom:personalEmailAddress.period, Practitioner.address, Practitioner.gender, Practitioner.birthDate, Practitioner.photo, Practitioner.qualification, Practitioner.qualification.extension, Practitioner.qualification.modifierExtension, Practitioner.qualification.identifier, Practitioner.qualification.identifier:ahpraregistrationnumber, Practitioner.qualification.identifier:peakbodyregistrationnumber, Practitioner.qualification.code, Practitioner.qualification.code.extension, Practitioner.qualification.code.coding, Practitioner.qualification.code.text, Practitioner.qualification.period, Practitioner.qualification.issuer, Practitioner.communication | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Practitioner.extension, Practitioner.extension:genderIdentity, Practitioner.extension:individualPronouns, Practitioner.extension:recordedSexOrGender, Practitioner.modifierExtension, Practitioner.name.extension, Practitioner.name:officialName.extension, Practitioner.name:alternate-name.extension, Practitioner.telecom:personalPhoneNumber.extension, Practitioner.telecom:personalEmailAddress.extension, Practitioner.qualification.extension, Practitioner.qualification.modifierExtension, Practitioner.qualification.code.extension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-qualification-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.where(code = 'AHPRA').exists()).exists() or qualification.identifier.where(type.coding.where(code = 'PRN').exists()).exists()`
inv-pra-0 | warning | Practitioner | Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').extension('value').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').extension('value').value.all(memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1'))`
inv-pra-1 | warning | Practitioner | Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').extension('value').value.all(memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1'))`
inv-pra-2 | warning | Practitioner | Recorded sex or gender type shall be a member of the AU Recorded Sex or Gender Type value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').value.all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-type'))`
inv-pra-3 | warning | Practitioner | Recorded sex or gender source document type shall be a member of the AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').value.ofType(CodeableConcept).all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source-document-type'))`
inv-pra-4 | warning | Practitioner | Recorded sex or gender jurisdiction shall be a member of the Jurisdiction ValueSet - AU Extended value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').value.all(memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))`
inv-pra-5 | warning | Practitioner | Recorded sex or gender source shall be a member of the AU Recorded Sex or Gender (RSG) Source value set if any codes within that value set can apply | `extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('source').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('source').value.ofType(CodeableConcept).all(memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source'))`

This structure is derived from AUCorePractitioner

Summary

Mandatory: 9 elements(7 nested mandatory elements)
Must-Support: 12 elements
Fixed: 6 elements

Structures

This structure refers to these other structures:

- AU Ahpra Registration Number (http://hl7.org.au/fhir/StructureDefinition/au-ahpraregistrationnumber|6.0.0)
- HCPD Peak Body Professional Registration Number (HCPD-PBPRN) (http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-pbprn|26.0.0)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Practitioner.name
- The element 2 is sliced based on the values of Practitioner.telecom
- The element 1 is sliced based on the value of Practitioner.qualification.identifier

Other representations of profile: CSV, Excel, Schematron

### Notes:

### Search parameters for HCPD Practitioner

This IG provides a small set of convenience SearchParameters to make it easier to find HC Practitioner resources; it also expects implementers to support common Practitioner parameters from AU Core & AU Base.

#### Search parameters defined within AU Core and AU Base

How search queries can be performed using the HPI-I are described in AU Core documentation.

#### Search parameters defined in FHIR R4

The following standard FHIR R4 search parameters are recommended for practitioner identifier and name searches:

- `identifier` (Practitioner.identifier)

  - Search practitioners by HPI-I. The AU Core guidance favours using the system | value (token) form.

  - Example: `GET /Practitioner?identifier=http://ns.electronichealth.net.au/id/hi/hpii/1.0|8003619900015717`

    Note: This standard search parameter does NOT work on identifiers nested within the qualification data element. Therefore, a custom search parameter `identifier-r5` is described below.

- `name` (Practitioner.name)
  - Search by practitioner's name across all name types (official, preferred, etc.)
  - Supports `:contains` modifier for partial matching
  - Example (single name component): `GET /Practitioner?name:contains=Dr`
  - Example (single name component): `GET /Practitioner?name:contains=Helen`
  - Example (multiple components with AND logic): `GET /Practitioner?name:contains=John&name:contains=Helen`
  - Note: For combined queries, repeat the parameter for AND logic. Comma-separated values create OR logic (e.g., `name:contains=John,Helen` finds "John" OR "Helen")

#### Search parameters defined in this IG

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

- `identifier-r5` (Practitioner.identifier | Practitioner.qualification.identifier)

  - Search a Practitioner record by any identifier, including HPI-I and Professional Registration Number (PRN), mimicks R5-style identifier searching. Supports both `Practitioner.identifier` and `Practitioner.qualification.identifier`.
  - This search parameter supports the following query use cases where:
  - A `peakbodyregistrationnumber` OR `ahpraregistrationnumber` is supplied with or without an accompanying system. Note that when a system is not supplied this may result in duplicate value matches, originating from multiple different issuing organizations.
  - Examples:
    - HPI-I (with system): `GET /Practitioner?identifier-r5=http://ns.electronichealth.net.au/id/hi/hpii/1.0|8003619900015717`
    - HPI-I (without system): `GET /Practitioner?identifier-r5=8003619900015717`
    - Ahpra (with system): `GET /Practitioner?identifier-r5=http://hl7.org.au/id/ahpra-registration-number|MED0000932945`
    - Ahpra (without system): `GET /Practitioner?identifier-r5=MED0000932945`
    - PRN (with system): `GET /Practitioner?identifier-r5=http://example.org/fhir/identifier/acha-prn|PRN-123456`
    - PRN (without system): `GET /Practitioner?identifier-r5=PRN-123456`
- `rsg` (Practitioner.extension(recordedSexorGender).valueCodeableConcept)
  - Search by a practitioner's recorded sex or gender.
  - Important: This searches on the 'value' element within the individual-recordedSexOrGender extension (typically administrative gender codes). However, to fully understand the meaning, in the returned results the complete extension structure inclusive of metadata elements: `type`, `source`, `sourceDocument`, `effectivePeriod` should be appraised as a whole.
  - Example: `GET /Practitioner?rsg=http://hl7.org/fhir/administrative-gender|male`
- `regprof` (Practitioner.qualification.code.text) Supports both `:contains` & `:exact` modifiers.
  - Search by a practitioner's registered profession using string values.
  - Supports `:contains` modifier for partial matching, `:exact` modifier for precise matching.
  - Example: `GET /Practitioner?regprof=Psychologist`

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` |
identifier (R4) | SHOULD | `token` | Use this parameter to search identifiers such as HPI-I using system|value or value or system format. **note** This does NOT work on identifiers nested within the qualification data element.
identifier-r5 | SHOULD | `token` | Search by any identifier, i.e AHPRA, HPI-I or PRN. R5-style identifier search across Practitioner.identifier and Practitioner.qualification.identifier
name (R4) | SHOULD | `string` | Search by practitioner's name across all name types (official, preferred, etc.). Standard FHIR R4 search parameter.
regprof | SHOULD | `string` | Search by registered profession using string values in `qualification.code.text`.
identifier-r5+rsg | SHOULD | `token`+`token` |
name+rsg | SHOULD | `string`+`token` |
identifier-r5+rsg | SHOULD | `token`+`token` | Search by any identifier and recorded sex or gender
regprof+rsg | SHOULD | `string`+`token` | Search by registered profession and recorded sex/gender

### Search reverse include parameters

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

- `_revinclude=PractitionerRole:practitioner` - Include PractitionerRole resources that reference this Practitioner
- `_revinclude=Provenance:target` - Include Provenance resources that track changes to this Practitioner

#### Example usage

    GET /Practitioner?_revinclude=PractitionerRole:practitioner

This query returns all Practitioner resources and their associated roles and positions.

    GET /Practitioner?_revinclude=PractitionerRole:practitioner

This query returns all Practitioner resources and their associated roles and positions.