# Health Connect Australia Provider Directory FHIR Implementation Guide

26.0.0 - Trial

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

## Data Type Profile: HCPD Peak Body Professional Registration Number (HCPD-PBPRN)

Official URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-pbprn | Version: 26.0.0
Active as of 2026-06-17 | Computable Name: HCPD_Peak_Body_Registration_Number
Usage:Jurisdiction: Australia
Copyright/Legal: Copyright © 2026 Australian Digital Health Agency - All rights reserved. This content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/

This identifier profile defines a professional registration number allocated to a healthcare practitioner, in a Health Connect Provider Directory context.

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

### HCPD Peak Body Registration Number (PRN)

The HCPD Peak Body Registration Number (PRN) profile defines an identifier for a healthcare practitioner’s professional registration, as recorded in the Health Connect Provider Directory context. This identifier is used to capture the registration number assigned by a professional association or peak body, particularly for practitioners who are not Ahpra-registered, and is recorded against the HPI-I record.

### Usage notes

- This is a profile of the `identifier` element on HCPD Practitioner and HCPD PractitionerRole.
- Use this profile when a practitioner's professional registration number is issued by a non-Ahpra professional association or peak body.
- Cardinality differences: HCPD Practitioner allows 0 to many PRN identifiers (`0..*`), while HCPD PractitionerRole allows only 0 to 1 PRN identifier (`0..1`).
- The PRN should be used in addition to, or instead of, an Ahpra registration number, depending on the practitioner’s registration status.
- Ensure that the system and value are populated according to the assigning authority’s requirements for accurate identification and interoperability.
- The PRN enables implementers to distinguish between different types of practitioner registration numbers and to support Directory queries, reconciliation, and validation.

#### Key requirements

- The profile fixes the `type` element to the v2 identifier code `PRN` (Provider number) from the v2-0203 code system (this is implemented in the profile as `type = $v2-0203-int#PRN`). Implementations SHOULD use the following coding when constructing the `type` element:

        {
            "coding": [
                {
                    "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
                    "code": "PRN",
                    "display": "Provider number"
                }
            ]
        }

- The `value` element is mandatory (cardinality 1..) and holds the practitioner's registration number as assigned by the authority (for example `1234567`).
- The `assigner` element is not constrained by this profile (it may be populated to reference the issuing organisation where available, but it is not required). Implementers are encouraged to populate `assigner.display` to improve provenance and traceability when the issuing Organization resource is not available.
- A warning-level invariant `inv-01-system-or-assigner` checks that either a `system` and or `assigner` is present to ensure proper identification of the authoritative body that issued the registration number.

Implementers must ensure that the HCPD Peak Body Registration Number is used only for valid, assigned registration numbers and that all required elements are present and correct. This supports accurate practitioner identification and data integrity across the Health Connect Provider Directory.

Usages:

- Use this DataType Profile: HCPD Practitioner and HCPD PractitionerRole

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
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier(4.0.1) | Peak Body Professional Registration Number Constraints: inv-01-system-or-assigner
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | S Σ | 1..1 | CodeableConcept | Coded identifier type for professional registration number Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. Fixed Value: As shown (Provider number)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
text | Σ | 0..1 | string | Plain text representation of the concept Required Pattern: Peak Body Professional Registration Number
system | S Σ | 0..1 | uri | Professional registration number system. Example General: http://www.acme.com/identifiers/patient
value | S Σ | 1..1 | string | Professional registration number value. Example General: 123456
assigner | S Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
display | S Σ | 1..1 | string | Text alternative for the Organization
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | Identifier, Identifier.use, Identifier.type, Identifier.type.text, Identifier.system, Identifier.value, Identifier.assigner, Identifier.assigner.display | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
inv-01-system-or-assigner | warning | Identifier | PRN identifiers should have either a system and or assigner present | `system.exists() or assigner.exists()`

This structure is derived from Identifier

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier(4.0.1) | Peak Body Professional Registration Number
type | S | 1..1 | CodeableConcept | Coded identifier type for professional registration number Fixed Value: As shown (Provider number)
coding |  | 1..1 | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
text |  | 0..1 | string | Plain text representation of the concept Required Pattern: Peak Body Professional Registration Number
system | S | 0..1 | uri | Professional registration number system.
value | S | 1..1 | string | Professional registration number value.
assigner | S | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
display | S | 1..1 | string | Text alternative for the Organization
Documentation for this format

#### Constraints

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier(4.0.1) | Peak Body Professional Registration Number Constraints: inv-01-system-or-assigner
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 | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | S Σ | 1..1 | CodeableConcept | Coded identifier type for professional registration number Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. Fixed Value: As shown (Provider number)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
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 | Σ | 0..1 | string | Plain text representation of the concept Required Pattern: Peak Body Professional Registration Number
system | S Σ | 0..1 | uri | Professional registration number system. Example General: http://www.acme.com/identifiers/patient
value | S Σ | 1..1 | string | Professional registration number value. Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | S Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
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
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | S Σ | 1..1 | string | Text alternative for the Organization
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Identifier.assigner.​type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | Identifier, Identifier.extension, Identifier.use, Identifier.type, Identifier.type.extension, Identifier.type.coding, Identifier.type.text, Identifier.system, Identifier.value, Identifier.period, Identifier.assigner, Identifier.assigner.extension, Identifier.assigner.reference, Identifier.assigner.type, Identifier.assigner.identifier, Identifier.assigner.display | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Identifier.extension, Identifier.type.extension, Identifier.assigner.extension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-system-or-assigner | warning | Identifier | PRN identifiers should have either a system and or assigner present | `system.exists() or assigner.exists()`

This structure is derived from Identifier

Summary

Mandatory: 2 elements(1 nested mandatory element)
Must-Support: 5 elements
Fixed: 1 element

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier(4.0.1) | Peak Body Professional Registration Number Constraints: inv-01-system-or-assigner
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | S Σ | 1..1 | CodeableConcept | Coded identifier type for professional registration number Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. Fixed Value: As shown (Provider number)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
text | Σ | 0..1 | string | Plain text representation of the concept Required Pattern: Peak Body Professional Registration Number
system | S Σ | 0..1 | uri | Professional registration number system. Example General: http://www.acme.com/identifiers/patient
value | S Σ | 1..1 | string | Professional registration number value. Example General: 123456
assigner | S Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
display | S Σ | 1..1 | string | Text alternative for the Organization
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | Identifier, Identifier.use, Identifier.type, Identifier.type.text, Identifier.system, Identifier.value, Identifier.assigner, Identifier.assigner.display | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
inv-01-system-or-assigner | warning | Identifier | PRN identifiers should have either a system and or assigner present | `system.exists() or assigner.exists()`

Differential View

This structure is derived from Identifier

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier(4.0.1) | Peak Body Professional Registration Number
type | S | 1..1 | CodeableConcept | Coded identifier type for professional registration number Fixed Value: As shown (Provider number)
coding |  | 1..1 | Coding | Code defined by a terminology system Fixed Value: (Complex)
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
text |  | 0..1 | string | Plain text representation of the concept Required Pattern: Peak Body Professional Registration Number
system | S | 0..1 | uri | Professional registration number system.
value | S | 1..1 | string | Professional registration number value.
assigner | S | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
display | S | 1..1 | string | Text alternative for the Organization
Documentation for this format

#### Constraints

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

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier(4.0.1) | Peak Body Professional Registration Number Constraints: inv-01-system-or-assigner
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 | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | S Σ | 1..1 | CodeableConcept | Coded identifier type for professional registration number Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. Fixed Value: As shown (Provider number)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
coding |  | 1..1 | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..0 | string | Unique id for inter-element referencing
extension |  | 0..0 | Extension | Additional content defined by implementations
system |  | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
version |  | 0..0 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
display |  | 0..0 | string | Representation defined by the system
userSelected |  | 0..0 | boolean | If this coding was chosen directly by the user
text |  | 0..0 | string | Plain text representation of the concept
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 | Σ | 0..1 | string | Plain text representation of the concept Required Pattern: Peak Body Professional Registration Number
system | S Σ | 0..1 | uri | Professional registration number system. Example General: http://www.acme.com/identifiers/patient
value | S Σ | 1..1 | string | Professional registration number value. Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | S Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
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
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 0..1 | Identifier | Logical reference, when literal reference is not known
display | S Σ | 1..1 | string | Text alternative for the Organization
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Identifier.assigner.​type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | Identifier, Identifier.extension, Identifier.use, Identifier.type, Identifier.type.extension, Identifier.type.coding, Identifier.type.text, Identifier.system, Identifier.value, Identifier.period, Identifier.assigner, Identifier.assigner.extension, Identifier.assigner.reference, Identifier.assigner.type, Identifier.assigner.identifier, Identifier.assigner.display | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | Identifier.extension, Identifier.type.extension, Identifier.assigner.extension | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-01-system-or-assigner | warning | Identifier | PRN identifiers should have either a system and or assigner present | `system.exists() or assigner.exists()`

This structure is derived from Identifier

Summary

Mandatory: 2 elements(1 nested mandatory element)
Must-Support: 5 elements
Fixed: 1 element

Other representations of profile: CSV, Excel, Schematron