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

Data Type Profile: HCPD Healthcare Support Service Provider - Organisation (HCPD HSP-O)

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

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier(4.0.1) Healthcare Support Service Provider Organisation (HSP-O) Identifier
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:hi-org-classification 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
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... url 1..1 uri "http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification"
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0

doco Documentation for this format

Terminology Bindings

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

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier(4.0.1) Healthcare Support Service Provider Organisation (HSP-O) Identifier
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:hi-org-classification S 1..1 (Complex) Organization classification - fixed to 'seed' for HSP-O
URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification
..... value[x]
...... coding 0..* Coding Code defined by a terminology system
Fixed Value: As shown
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://digitalhealth.gov.au/fhir/hcpd/CodeSystem/hi-org-classification-cs
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: seed
....... display 1..1 string Representation defined by the system
Fixed Value: Seed
... system 1..1 uri The namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier(4.0.1) Healthcare Support Service Provider Organisation (HSP-O) Identifier
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:hi-org-classification 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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... url 1..1 uri "http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification"
..... value[x] 0..1 CodeableConcept Indicates whether an organisation is a seed or network
Binding: HI_Org_Classification_VS (26.0.0) (required)
...... 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

Fixed Value: As shown
....... 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://digitalhealth.gov.au/fhir/hcpd/CodeSystem/hi-org-classification-cs
....... version 0..0 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: seed
....... display 1..1 string Representation defined by the system
Fixed Value: Seed
....... userSelected 0..0 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0
... value ΣC 1..1 string HSP-O
Constraints: inv-hspo-0, inv-hspo-1, inv-hspo-2
Example General: 123456
Max Length:16
... period Σ 0..1 Period Time period when id is/was valid for use
... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)

doco Documentation for this format

Terminology Bindings

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.

Constraints

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

Summary

Mandatory: 4 elements
Must-Support: 1 element
Fixed: 2 elements

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier(4.0.1) Healthcare Support Service Provider Organisation (HSP-O) Identifier
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:hi-org-classification 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
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... url 1..1 uri "http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification"
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0

doco Documentation for this format

Terminology Bindings

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

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier(4.0.1) Healthcare Support Service Provider Organisation (HSP-O) Identifier
... extension 1..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:hi-org-classification S 1..1 (Complex) Organization classification - fixed to 'seed' for HSP-O
URL: http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification
..... value[x]
...... coding 0..* Coding Code defined by a terminology system
Fixed Value: As shown
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://digitalhealth.gov.au/fhir/hcpd/CodeSystem/hi-org-classification-cs
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: seed
....... display 1..1 string Representation defined by the system
Fixed Value: Seed
... system 1..1 uri The namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier(4.0.1) Healthcare Support Service Provider Organisation (HSP-O) Identifier
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
.... extension:hi-org-classification 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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
..... url 1..1 uri "http://digitalhealth.gov.au/fhir/hcpd/StructureDefinition/hi-org-classification"
..... value[x] 0..1 CodeableConcept Indicates whether an organisation is a seed or network
Binding: HI_Org_Classification_VS (26.0.0) (required)
...... 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

Fixed Value: As shown
....... 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://digitalhealth.gov.au/fhir/hcpd/CodeSystem/hi-org-classification-cs
....... version 0..0 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: seed
....... display 1..1 string Representation defined by the system
Fixed Value: Seed
....... userSelected 0..0 boolean If this coding was chosen directly by the user
...... text Σ 0..1 string Plain text representation of the concept
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hspo/1.0
... value ΣC 1..1 string HSP-O
Constraints: inv-hspo-0, inv-hspo-1, inv-hspo-2
Example General: 123456
Max Length:16
... period Σ 0..1 Period Time period when id is/was valid for use
... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)

doco Documentation for this format

Terminology Bindings

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.

Constraints

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

Summary

Mandatory: 4 elements
Must-Support: 1 element
Fixed: 2 elements

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron