# Health Connect Australia Provider Directory FHIR Implementation Guide

0.1.0-preview - Preview

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

## Resource Profile: HC Practitioner

Official URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-practitioner | Version: 0.1.0-preview
Standards status: Draft | Computable Name: HCPractitioner
Usage:Jurisdiction: Australia
Copyright/Legal: Copyright © 2025 Australian Digital Health Agency - All rights reserved. This content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/

This profile defines Healthcare Provider Individual details who is delivering health related services.

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

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

### Usage notes

The following guidance maps key information requirements for HC 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.

#### 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 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

`hc-practitioner-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 professional registration (PRN) identifier

Implementation Validation:

- Each qualification will include both an identifier and appropriate profession code

Usages:

- Refer to this Profile: HC PractitionerRole and HC Provenance
- Examples for this Profile: Practitioner/example-healthconnect-practitioner-1 and Practitioner/external-hc-practitioner-record
- CapabilityStatements using this Profile: Health Connect Reader

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 | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, hc-practitioner-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
extension:genderIdentity | S C | 0..1 | (Complex) | The individual's gender identity URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity
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
extension:recordedSexOrGender | S C | 1..1 | (Complex) | A recorded sex or gender property for the individual URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | SO Σ | 1..* | Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAhpraRegistrationNumber | An identifier for the person as this agent Slice: Unordered, Open by pattern:type
identifier:hpii | SO Σ | 1..1 | AUHPII | HPI-I identifier
Slices for name | SO Σ | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
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
given | SO Σ | 0..1 | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
prefix | Σ | 0..1 | string | Title This repeating element order: Prefixes appear in the correct order for presenting the name
name:preferredName | SO Σ | 0..1 | HumanName | Additional preferred 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
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
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 | S Σ | 0..1 | ContactPoint | Personal phone number
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 | S Σ | 0..1 | ContactPoint | Personal Email address
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 | S | 1..* | BackboneElement | Certifications, licenses, or training pertaining to the provision of care
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
Slices for identifier | S | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber | Ahpra registration number
identifier:professionalRegistration | S | 0..1 | HCProfessionalRegistrationNumber | Professional registration number for non-Ahpra practitioners
code | S | 1..1 | CodeableConcept | Profession of the Practitioner. Binding: hl7VS-degreeLicenseCertificate - AU Extended (preferred)
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:preferredName.​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-ballot | 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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
hc-practitioner-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.code = 'AHPRA').exists() or qualification.identifier.where(type.coding.code = 'PRN').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').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').all(extension('value').value.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').all(extension('value').value.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').all(extension('type').value.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').all(extension('sourceDocument').value.memberOf('http://terminology.hl7.org.au/ValueSet/rsg-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').all(extension('jurisdiction').value.memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))`

This structure is derived from AUCorePractitioner

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner | Healthcare Provider Individual Constraints: hc-practitioner-registration-required
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | Content/Rules for all slices
extension:genderIdentity | S | 0..1 | PGenderIdentity(5.2.0) | The individual's gender identity Binding: HC Gender Identity ValueSet (preferred)
extension:recordedSexOrGender | S | 1..1 | RecordedSexOrGender(5.2.0) | A recorded sex or gender property for the individual
identifier |  | 1..* | Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAhpraRegistrationNumber | An identifier for the person as this agent
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:hpii |  | 1..1 | AUHPII | HPI-I identifier
Slices for name |  | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
name:officialName | S | 1..1 | HumanName | Legal Registered Name
use |  | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Fixed Value: official
family |  | 1..1 | string | Practitioner's family name
given |  | 0..1 | string | Practitioner's given name
prefix |  | 0..1 | string | Title
name:preferredName | S | 0..1 | HumanName | Additional preferred name or alias of a practitioner
use |  | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Fixed Value: usual
family |  | 1..1 | string | Practitioner's family name
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 | S | 0..1 | ContactPoint | Personal phone number
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 | S | 0..1 | ContactPoint | Personal Email address
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 | S | 1..* | BackboneElement | Certifications, licenses, or training pertaining to the provision of care
Slices for identifier | S | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber | Ahpra registration number
identifier:professionalRegistration | S | 0..1 | HCProfessionalRegistrationNumber | Professional registration number for non-Ahpra practitioners
code | S | 1..1 | CodeableConcept | Profession of the Practitioner.
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Practitioner.extension:genderIdentity | Base | preferred | HC Gender Identity ValueSet | 📦0.1.0-preview | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
hc-practitioner-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.code = 'AHPRA').exists() or qualification.identifier.where(type.coding.code = 'PRN').exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, hc-practitioner-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
extension:genderIdentity | S C | 0..1 | (Complex) | The individual's gender identity URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity
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
extension:recordedSexOrGender | S C | 1..1 | (Complex) | A recorded sex or gender property for the individual URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | SO Σ | 1..* | Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAhpraRegistrationNumber | An identifier for the person as this agent Slice: Unordered, Open by pattern:type
identifier:hpii | SO Σ | 1..1 | AUHPII | HPI-I identifier
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
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
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
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
given | SO Σ | 0..1 | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
prefix | Σ | 0..1 | string | Title 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:preferredName | SO Σ | 0..1 | HumanName | Additional preferred 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
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
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
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 | S Σ | 0..1 | ContactPoint | Personal phone number
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ 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 | S Σ | 0..1 | ContactPoint | Personal Email address
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ 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, AustralianAddress | 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 | S | 1..* | BackboneElement | Certifications, licenses, or training pertaining to the provision of care
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
Slices for identifier | S | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber | Ahpra registration number
identifier:professionalRegistration | S | 0..1 | HCProfessionalRegistrationNumber | Professional registration number for non-Ahpra practitioners
code | S | 1..1 | CodeableConcept | Profession of the Practitioner. Binding: hl7VS-degreeLicenseCertificate - AU Extended (preferred)
period |  | 0..1 | Period | Period during which the qualification is valid
issuer |  | 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:preferredName.​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-ballot | AU Base Implementation Guide v6.0
Practitioner.communication | Base | extensible | Common Languages in Australia | ⏿2.2.1 | tx.ontoserver.csiro.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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
hc-practitioner-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.code = 'AHPRA').exists() or qualification.identifier.where(type.coding.code = 'PRN').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').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').all(extension('value').value.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').all(extension('value').value.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').all(extension('type').value.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').all(extension('sourceDocument').value.memberOf('http://terminology.hl7.org.au/ValueSet/rsg-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').all(extension('jurisdiction').value.memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))`

This structure is derived from AUCorePractitioner

Summary

Mandatory: 8 elements(7 nested mandatory elements)
Must-Support: 11 elements
Fixed: 6 elements

Structures

This structure refers to these other structures:

- AU Ahpra Registration Number (http://hl7.org.au/fhir/StructureDefinition/au-ahpraregistrationnumber)
- HC Professional Registration Number (HC-PRN) (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-prn)

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 | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, hc-practitioner-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
extension:genderIdentity | S C | 0..1 | (Complex) | The individual's gender identity URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity
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
extension:recordedSexOrGender | S C | 1..1 | (Complex) | A recorded sex or gender property for the individual URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | SO Σ | 1..* | Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAhpraRegistrationNumber | An identifier for the person as this agent Slice: Unordered, Open by pattern:type
identifier:hpii | SO Σ | 1..1 | AUHPII | HPI-I identifier
Slices for name | SO Σ | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
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
given | SO Σ | 0..1 | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
prefix | Σ | 0..1 | string | Title This repeating element order: Prefixes appear in the correct order for presenting the name
name:preferredName | SO Σ | 0..1 | HumanName | Additional preferred 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
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
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 | S Σ | 0..1 | ContactPoint | Personal phone number
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 | S Σ | 0..1 | ContactPoint | Personal Email address
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 | S | 1..* | BackboneElement | Certifications, licenses, or training pertaining to the provision of care
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
Slices for identifier | S | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber | Ahpra registration number
identifier:professionalRegistration | S | 0..1 | HCProfessionalRegistrationNumber | Professional registration number for non-Ahpra practitioners
code | S | 1..1 | CodeableConcept | Profession of the Practitioner. Binding: hl7VS-degreeLicenseCertificate - AU Extended (preferred)
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:preferredName.​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-ballot | 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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
hc-practitioner-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.code = 'AHPRA').exists() or qualification.identifier.where(type.coding.code = 'PRN').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').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').all(extension('value').value.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').all(extension('value').value.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').all(extension('type').value.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').all(extension('sourceDocument').value.memberOf('http://terminology.hl7.org.au/ValueSet/rsg-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').all(extension('jurisdiction').value.memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))`

Differential View

This structure is derived from AUCorePractitioner

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner | Healthcare Provider Individual Constraints: hc-practitioner-registration-required
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | Content/Rules for all slices
extension:genderIdentity | S | 0..1 | PGenderIdentity(5.2.0) | The individual's gender identity Binding: HC Gender Identity ValueSet (preferred)
extension:recordedSexOrGender | S | 1..1 | RecordedSexOrGender(5.2.0) | A recorded sex or gender property for the individual
identifier |  | 1..* | Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAhpraRegistrationNumber | An identifier for the person as this agent
Slices for identifier |  |  |  | Content/Rules for all slices
identifier:hpii |  | 1..1 | AUHPII | HPI-I identifier
Slices for name |  | 1..* | HumanName | The name(s) associated with the practitioner Slice: Unordered, Open by value:use
name:officialName | S | 1..1 | HumanName | Legal Registered Name
use |  | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Fixed Value: official
family |  | 1..1 | string | Practitioner's family name
given |  | 0..1 | string | Practitioner's given name
prefix |  | 0..1 | string | Title
name:preferredName | S | 0..1 | HumanName | Additional preferred name or alias of a practitioner
use |  | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Fixed Value: usual
family |  | 1..1 | string | Practitioner's family name
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 | S | 0..1 | ContactPoint | Personal phone number
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 | S | 0..1 | ContactPoint | Personal Email address
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 | S | 1..* | BackboneElement | Certifications, licenses, or training pertaining to the provision of care
Slices for identifier | S | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber | Ahpra registration number
identifier:professionalRegistration | S | 0..1 | HCProfessionalRegistrationNumber | Professional registration number for non-Ahpra practitioners
code | S | 1..1 | CodeableConcept | Profession of the Practitioner.
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Practitioner.extension:genderIdentity | Base | preferred | HC Gender Identity ValueSet | 📦0.1.0-preview | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
hc-practitioner-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.code = 'AHPRA').exists() or qualification.identifier.where(type.coding.code = 'PRN').exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, hc-practitioner-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
extension:genderIdentity | S C | 0..1 | (Complex) | The individual's gender identity URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity
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
extension:recordedSexOrGender | S C | 1..1 | (Complex) | A recorded sex or gender property for the individual URL: http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
Slices for identifier | SO Σ | 1..* | Identifier, AUHPII, AUPBSPrescriberNumber, AUCareAgencyEmployeeIdentifier, AUAhpraRegistrationNumber | An identifier for the person as this agent Slice: Unordered, Open by pattern:type
identifier:hpii | SO Σ | 1..1 | AUHPII | HPI-I identifier
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
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
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
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
given | SO Σ | 0..1 | string | Practitioner's given name This repeating element order: Given Names appear in the correct order for presenting the name
prefix | Σ | 0..1 | string | Title 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:preferredName | SO Σ | 0..1 | HumanName | Additional preferred 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
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
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
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 | S Σ | 0..1 | ContactPoint | Personal phone number
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ 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 | S Σ | 0..1 | ContactPoint | Personal Email address
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ 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, AustralianAddress | 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 | S | 1..* | BackboneElement | Certifications, licenses, or training pertaining to the provision of care
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
Slices for identifier | S | 1..1 | Identifier | An identifier for this qualification Slice: Unordered, Open by pattern:type
identifier:ahpraregistrationnumber | S | 0..1 | AUAhpraRegistrationNumber | Ahpra registration number
identifier:professionalRegistration | S | 0..1 | HCProfessionalRegistrationNumber | Professional registration number for non-Ahpra practitioners
code | S | 1..1 | CodeableConcept | Profession of the Practitioner. Binding: hl7VS-degreeLicenseCertificate - AU Extended (preferred)
period |  | 0..1 | Period | Period during which the qualification is valid
issuer |  | 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:preferredName.​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-ballot | AU Base Implementation Guide v6.0
Practitioner.communication | Base | extensible | Common Languages in Australia | ⏿2.2.1 | tx.ontoserver.csiro.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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
hc-practitioner-registration-required | error | Practitioner | At least one professional registration must be present in qualifications (Ahpra or other professional registration) | `qualification.identifier.where(type.coding.code = 'AHPRA').exists() or qualification.identifier.where(type.coding.code = 'PRN').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').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').all(extension('value').value.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').all(extension('value').value.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').all(extension('type').value.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').all(extension('sourceDocument').value.memberOf('http://terminology.hl7.org.au/ValueSet/rsg-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').all(extension('jurisdiction').value.memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))`

This structure is derived from AUCorePractitioner

Summary

Mandatory: 8 elements(7 nested mandatory elements)
Must-Support: 11 elements
Fixed: 6 elements

Structures

This structure refers to these other structures:

- AU Ahpra Registration Number (http://hl7.org.au/fhir/StructureDefinition/au-ahpraregistrationnumber)
- HC Professional Registration Number (HC-PRN) (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-prn)

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 HC 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. How search queries can be performed using gender-identity is described in AU Base documentation. The AU Core guidance favours the standard FHIR `identifier` search parameter using the system|value (token) form.

- `identifier` - Search practitioners by HPI-I or Ahpra registration number. Examples:
- `GET /Practitioner?identifier=http://ns.electronichealth.net.au/id/hi/hpii/1.0|8003619900015717` (HPI-I)

- `GET /Practitioner?identifier=http://hl7.org.au/id/ahpra-registration-number|MED0000932945` (Ahpra)

- `gender-identity` (Practitioner.extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').extension('value').value)
- Search by a practitioner's recorded gender identity extension value.
- Example: `GET /Practitioner?genderIdentity=http://snomed.info/sct|446151000124109`

#### Search parameters defined in this IG

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

- `practitionername` (Practitioner.name where name.use = official)
- Search by the practitioner's official/legal name.

- Example: `GET /Practitioner?practitionername=Fryer`

- `practitioneralias` (Practitioner.name where name.use = usual)
- Search by the practitioner's preferred or commonly used name.

- Example: `GET /Practitioner?practitioneralias=Helen`

- `prn` (Practitioner.qualification.identifier where type.coding.code = 'PRN')
- Find practitioners by a Professional Registration Number (PRN).

- Example (value-only): `GET /Practitioner?prn=PRN-123456`

- `rsg` (Practitioner.extension(recordedSexorGender).valueCodeableConcept)
- Search by a practitioner's recorded sex or gender.

- Example: `GET /Practitioner?rsg=http://hl7.org/fhir/administrative-gender|male`

- `regprof` (Practitioner.qualification.code.text)
- Search by a practitioner's registered profession using string values.
- 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 | SHALL | `token` |
identifier | SHALL | `token` | The requester SHALL provide both the code values. The responder SHALL support. The requester SHOULD support search using HPI-I or Ahpra number as defined in the profile. The responder SHOULD support search using the using HPI-I or Ahphra number as defined in the profile.
practitionername | SHOULD | `string` |
practitioneralias | SHOULD | `string` |
prn | SHOULD | `token` | Search by Professional Registration Number. Shared SearchParameter for availability across Practitioner and PractitionerRole
ahpraregistrationnumber | SHOULD | `token` | Search by Ahpra registration number. Shared SearchParameter for availability across Practitioner and PractitionerRole
regprof | SHOULD | `string` | Search by registered profession using string values in `qualification.code.text`.
identifier+rsg | SHOULD | `token`+`token` |
identifier+gender-identity | SHOULD | `token`+`token` |
practitionername+rsg | SHOULD | `string`+`token` |
practitionername+gender-identity | SHOULD | `string`+`token` |
practitioneralias+rsg | SHOULD | `string`+`token` |
practitioneralias+gender-identity | SHOULD | `string`+`token` |
prn+rsg | SHOULD | `token`+`token` |
prn+gender-identity | SHOULD | `token`+`token` |
regprof+rsg | SHOULD | `string`+`token` | Search by Ahpra profession and recorded sex/gender
regprof+gender-identity | SHOULD | `string`+`token` | Search by Ahpra profession and gender identity

### 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/202?_revinclude=PractitionerRole:practitioner

This query returns the Practitioner resource along with all their associated roles and positions.