Health Connect Australia Provider Directory FHIR Implementation Guide - Local Development build (v26.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hcpd-hspo | Version: 26.0.0 | |||
| Active as of 2026-04-30 | Computable Name: HCPD_HSPO_Identifier | |||
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 Healthcare Support Service Provider Organisation in an Australian context. An HSP-O is assigned under the HI Service to a service (in-home care support and personal care services) where healthcare is provided. A HSP-O can only be of 'seed' type. An Organization cannot be assigned both an HPI-O and an HSP-O; only one identifier is assigned by the HI Service.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Identifier(4.0.1) | Healthcare Support Service Provider Organisation (HSP-O) Identifier | |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() |
S | 1..1 | (Complex) | Organization classification - fixed to 'seed' for HSP-O URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification Constraints: ext-1 |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification" | |
![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
![]() ![]() |
Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0 |
![]() ![]() |
ΣC | 1..1 | string | HSP-O Constraints: inv-hspo-0, inv-hspo-1, inv-hspo-2 Example General: 123456 Max Length:16 |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | Identifier, Identifier.extension, Identifier.extension:hi-org-classification, Identifier.use, Identifier.system, Identifier.value | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Identifier.extension, Identifier.extension:hi-org-classification | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| inv-hspo-0 | error | Identifier.value | HSP-O shall be 16 digits |
value.matches('^([0-9]{16})$')
|
| inv-hspo-1 | error | Identifier.value | HSP-O prefix shall be 800364 |
value.startsWith('800364')
|
| inv-hspo-2 | error | Identifier.value | HSP-O shall pass the Luhn algorithm check |
(((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5,
$this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
|
This structure is derived from Identifier
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Identifier(4.0.1) | Healthcare Support Service Provider Organisation (HSP-O) Identifier | |
![]() ![]() |
1..* | Extension | Extension | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
S | 1..1 | (Complex) | Organization classification - fixed to 'seed' for HSP-O URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification |
![]() ![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() ![]() |
0..* | Coding | Code defined by a terminology system Fixed Value: As shown | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://digitalhealth.gov.au/fhir/hcpd/CodeSystem/hi-org-classification-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: seed | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Seed | |
![]() ![]() |
1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0 | |
![]() ![]() |
C | 1..1 | string | HSP-O Max Length:16 |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Identifier(4.0.1) | Healthcare Support Service Provider Organisation (HSP-O) Identifier | |
![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() |
S | 1..1 | (Complex) | Organization classification - fixed to 'seed' for HSP-O URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification Constraints: ext-1 |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification" | |
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Indicates whether an organisation is a seed or network Binding: HI_Org_Classification_VS (26.0.0) (required) | |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Fixed Value: As shown |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://digitalhealth.gov.au/fhir/hcpd/CodeSystem/hi-org-classification-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Version of the system - if relevant | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: seed | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Seed | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | boolean | If this coding was chosen directly by the user | |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept |
![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier 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. |
![]() ![]() |
Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0 |
![]() ![]() |
ΣC | 1..1 | string | HSP-O Constraints: inv-hspo-0, inv-hspo-1, inv-hspo-2 Example General: 123456 Max Length:16 |
![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use |
![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Identifier.extension:hi-org-classification.value[x] | Base | required | HI Service Organization Classification ValueSet | 📍26.0.0 | This IG |
| Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | Identifier, Identifier.extension, Identifier.extension:hi-org-classification, Identifier.extension:hi-org-classification.value[x], Identifier.extension:hi-org-classification.value[x].extension, Identifier.extension:hi-org-classification.value[x].coding, Identifier.extension:hi-org-classification.value[x].text, Identifier.use, Identifier.type, Identifier.system, Identifier.value, Identifier.period, Identifier.assigner | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Identifier.extension, Identifier.extension:hi-org-classification, Identifier.extension:hi-org-classification.value[x].extension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| inv-hspo-0 | error | Identifier.value | HSP-O shall be 16 digits |
value.matches('^([0-9]{16})$')
|
| inv-hspo-1 | error | Identifier.value | HSP-O prefix shall be 800364 |
value.startsWith('800364')
|
| inv-hspo-2 | error | Identifier.value | HSP-O shall pass the Luhn algorithm check |
(((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5,
$this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
|
This structure is derived from Identifier
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Identifier(4.0.1) | Healthcare Support Service Provider Organisation (HSP-O) Identifier | |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() |
S | 1..1 | (Complex) | Organization classification - fixed to 'seed' for HSP-O URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification Constraints: ext-1 |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification" | |
![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
![]() ![]() |
Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0 |
![]() ![]() |
ΣC | 1..1 | string | HSP-O Constraints: inv-hspo-0, inv-hspo-1, inv-hspo-2 Example General: 123456 Max Length:16 |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | Identifier, Identifier.extension, Identifier.extension:hi-org-classification, Identifier.use, Identifier.system, Identifier.value | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Identifier.extension, Identifier.extension:hi-org-classification | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| inv-hspo-0 | error | Identifier.value | HSP-O shall be 16 digits |
value.matches('^([0-9]{16})$')
|
| inv-hspo-1 | error | Identifier.value | HSP-O prefix shall be 800364 |
value.startsWith('800364')
|
| inv-hspo-2 | error | Identifier.value | HSP-O shall pass the Luhn algorithm check |
(((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5,
$this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
|
Differential View
This structure is derived from Identifier
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Identifier(4.0.1) | Healthcare Support Service Provider Organisation (HSP-O) Identifier | |
![]() ![]() |
1..* | Extension | Extension | |
![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() |
S | 1..1 | (Complex) | Organization classification - fixed to 'seed' for HSP-O URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification |
![]() ![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() ![]() |
0..* | Coding | Code defined by a terminology system Fixed Value: As shown | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://digitalhealth.gov.au/fhir/hcpd/CodeSystem/hi-org-classification-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: seed | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Seed | |
![]() ![]() |
1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0 | |
![]() ![]() |
C | 1..1 | string | HSP-O Max Length:16 |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Identifier(4.0.1) | Healthcare Support Service Provider Organisation (HSP-O) Identifier | |
![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() |
S | 1..1 | (Complex) | Organization classification - fixed to 'seed' for HSP-O URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification Constraints: ext-1 |
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | ||
![]() ![]() ![]() ![]() |
1..1 | uri | "http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification" | |
![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Indicates whether an organisation is a seed or network Binding: HI_Org_Classification_VS (26.0.0) (required) | |
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Fixed Value: As shown |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Unique id for inter-element referencing | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension | Additional content defined by implementations | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: http://digitalhealth.gov.au/fhir/hcpd/CodeSystem/hi-org-classification-cs | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | string | Version of the system - if relevant | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system Fixed Value: seed | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Representation defined by the system Fixed Value: Seed | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | boolean | If this coding was chosen directly by the user | |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept |
![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier 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. |
![]() ![]() |
Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0 |
![]() ![]() |
ΣC | 1..1 | string | HSP-O Constraints: inv-hspo-0, inv-hspo-1, inv-hspo-2 Example General: 123456 Max Length:16 |
![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use |
![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Identifier.extension:hi-org-classification.value[x] | Base | required | HI Service Organization Classification ValueSet | 📍26.0.0 | This IG |
| Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| ele-1 | error | Identifier, Identifier.extension, Identifier.extension:hi-org-classification, Identifier.extension:hi-org-classification.value[x], Identifier.extension:hi-org-classification.value[x].extension, Identifier.extension:hi-org-classification.value[x].coding, Identifier.extension:hi-org-classification.value[x].text, Identifier.use, Identifier.type, Identifier.system, Identifier.value, Identifier.period, Identifier.assigner | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | Identifier.extension, Identifier.extension:hi-org-classification, Identifier.extension:hi-org-classification.value[x].extension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| inv-hspo-0 | error | Identifier.value | HSP-O shall be 16 digits |
value.matches('^([0-9]{16})$')
|
| inv-hspo-1 | error | Identifier.value | HSP-O prefix shall be 800364 |
value.startsWith('800364')
|
| inv-hspo-2 | error | Identifier.value | HSP-O shall pass the Luhn algorithm check |
(((select(value.substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(1,1).toInteger())+(select(value.substring(2,1).toInteger()).select(iif($this<5,
$this*2, (($this*2)-9))))+(value.substring(3,1).toInteger())+(select(value.substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(5,1).toInteger())+(select(value.substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(7,1).toInteger())+(select(value.substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(9,1).toInteger())+(select(value.substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(11,1).toInteger())+(select(value.substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(13,1).toInteger())+(select(value.substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(value.substring(15,1).toInteger()))mod 10=0)
|
This structure is derived from Identifier
Other representations of profile: CSV, Excel, Schematron