# Health Connect Australia Provider Directory FHIR Implementation Guide

0.1.0-preview - Preview

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

## Data Type Profile: HC Professional Registration Number (HC-PRN)

Official URL: http://ns.electronichealth.net.au/hc/StructureDefinition/hc-prn | Version: 0.1.0-preview
Standards status: Draft | Computable Name: HCProfessionalRegistrationNumber
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 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.

### HC Professional Registration Number (PRN)

The HC Professional 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 HC Practitioner and HC PractitionerRole.
- Use this profile when a practitioner's professional registration number is issued by a non-Ahpra professional association or peak body.
- Cardinality differences: HC Practitioner allows 0 to many PRN identifiers (`0..*`), while HC 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 `system` element is mandatory (cardinality 1.. in the profile) and is constrained to `http://ns.electronichealth.net.au/hc/id/prn`. Publishers MUST use this URI as the system value for all PRN instances.
- 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` to improve provenance and traceability when the issuing Organization resource is available.
- Ensure all required elements (`type`, `system`, `value`) are populated according to the assigning authority’s rules to support interoperability and accurate identification.

Implementers must ensure that the HC Professional 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 directory.

Usages:

- Use this DataType Profile: HC Practitioner and HC 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 |  | 0..* | Identifier | Professional Registration Number
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. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 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..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
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 Σ | 0..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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`

This structure is derived from Identifier

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | Professional Registration Number
type | S | 1..1 | CodeableConcept | Coded identifier type for professional registration number Required Pattern: At least the following
coding |  | 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
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 | 0..1 | string | Text alternative for the Organization
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | Professional Registration Number
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
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. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 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..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
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
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 Σ | 0..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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Identifier

Summary

Mandatory: 2 elements
Must-Support: 5 elements

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | Professional Registration Number
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. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 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..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
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 Σ | 0..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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`

Differential View

This structure is derived from Identifier

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | Professional Registration Number
type | S | 1..1 | CodeableConcept | Coded identifier type for professional registration number Required Pattern: At least the following
coding |  | 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
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 | 0..1 | string | Text alternative for the Organization
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | Professional Registration Number
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
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. Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
coding |  | 1..* | Coding | Code defined by a terminology system Fixed Value: (Complex)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 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..1 | string | Version of the system - if relevant
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PRN
display |  | 0..1 | string | Representation defined by the system
userSelected |  | 0..1 | boolean | If this coding was chosen directly by the user
text |  | 0..1 | string | Plain text representation of the concept
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
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 Σ | 0..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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Identifier

Summary

Mandatory: 2 elements
Must-Support: 5 elements

Other representations of profile: CSV, Excel, Schematron