# Health Connect Australia Provider Directory FHIR Implementation Guide

0.2.0-preview - Preview

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

## Resource Profile: HC Practitioner

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

### 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 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: 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 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-ballot) | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, 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 | SO C | 0..1 | (Complex) | The individual's gender identity URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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: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 | 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 | HCPeakBodyRegistrationNumber(0.2.0-preview) | 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: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 | 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:preferredName, Practitioner.name:preferredName.use, Practitioner.name:preferredName.family, Practitioner.name:preferredName.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').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(2.0.0-ballot) | Healthcare Provider Individual
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | Content/Rules for all slices
extension:genderIdentity | SO | 0..1 | PGenderIdentity(5.2.0) | The individual's gender identity Binding: HCGenderIdentityVs (0.2.0-preview) (preferred)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:recordedSexOrGender | SO | 1..1 | RecordedSexOrGender(5.2.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: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 | 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 | HCPeakBodyRegistrationNumber(0.2.0-preview) | 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

#### Terminology Bindings (Differential)

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

#### Constraints

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner | C | 0..* | AUCorePractitioner(2.0.0-ballot) | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, 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 | SO C | 0..1 | (Complex) | The individual's gender identity URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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: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 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
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 | 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 | HCPeakBodyRegistrationNumber(0.2.0-preview) | 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: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 | 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:preferredName, Practitioner.name:preferredName.extension, Practitioner.name:preferredName.use, Practitioner.name:preferredName.text, Practitioner.name:preferredName.family, Practitioner.name:preferredName.given, Practitioner.name:preferredName.prefix, Practitioner.name:preferredName.suffix, Practitioner.name:preferredName.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:preferredName.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').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: 9 elements(7 nested mandatory elements)
Must-Support: 13 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)
- HC Peak Body Professional Registration Number (HC-PBPRN) (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-pbprn|0.2.0-preview)

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-ballot) | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, 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 | SO C | 0..1 | (Complex) | The individual's gender identity URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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: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 | 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 | HCPeakBodyRegistrationNumber(0.2.0-preview) | 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: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 | 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:preferredName, Practitioner.name:preferredName.use, Practitioner.name:preferredName.family, Practitioner.name:preferredName.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').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(2.0.0-ballot) | Healthcare Provider Individual
extension |  | 1..* | Extension | Extension
Slices for extension |  |  |  | Content/Rules for all slices
extension:genderIdentity | SO | 0..1 | PGenderIdentity(5.2.0) | The individual's gender identity Binding: HCGenderIdentityVs (0.2.0-preview) (preferred)
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
extension:recordedSexOrGender | SO | 1..1 | RecordedSexOrGender(5.2.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: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 | 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 | HCPeakBodyRegistrationNumber(0.2.0-preview) | 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

#### Terminology Bindings (Differential)

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

#### 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-ballot) | Healthcare Provider Individual Constraints: inv-pra-0, inv-pra-1, inv-pra-2, inv-pra-3, inv-pra-4, 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 | SO C | 0..1 | (Complex) | The individual's gender identity URL: http://hl7.org/fhir/StructureDefinition/individual-genderIdentity Constraints: ext-1
Obligations | Actor
SHALL:populate-if-known | Health Connect Provider Directory Responder Actor
SHOULD:handle | Health Connect Provider Directory Requester Actor
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: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 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
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 | 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 | HCPeakBodyRegistrationNumber(0.2.0-preview) | 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: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 | 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:preferredName, Practitioner.name:preferredName.extension, Practitioner.name:preferredName.use, Practitioner.name:preferredName.text, Practitioner.name:preferredName.family, Practitioner.name:preferredName.given, Practitioner.name:preferredName.prefix, Practitioner.name:preferredName.suffix, Practitioner.name:preferredName.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:preferredName.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').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: 9 elements(7 nested mandatory elements)
Must-Support: 13 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)
- HC Peak Body Professional Registration Number (HC-PBPRN) (http://ns.electronichealth.net.au/hc/StructureDefinition/hc-pbprn|0.2.0-preview)

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.

- `genderIdentity` (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 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 | 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` |
identifier-r5+genderIdentity | SHOULD | `token`+`token` |
name+rsg | SHOULD | `string`+`token` |
name+genderIdentity | SHOULD | `string`+`token` |
identifier-r5+rsg | SHOULD | `token`+`token` | Search by any identifier and recorded sex or gender
identifier-r5+genderIdentity | SHOULD | `token`+`token` | Search by any identifier and gender identity
regprof+rsg | SHOULD | `string`+`token` | Search by registered profession and recorded sex/gender
regprof+genderIdentity | SHOULD | `string`+`token` | Search by registered 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?_revinclude=PractitionerRole:practitioner

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