AU Base Implementation Guide
4.2.2-preview - Preview Australia flag

This page is part of the Australian Base IG (v4.2.2-preview: QA Preview) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 4.1.0. For a full list of available versions, see the Directory of published versions

Data Type Profile: AU HPI-O

Official URL: http://hl7.org.au/fhir/StructureDefinition/au-hpio Version: 4.2.2-preview
Standards status: Trial-use Maturity Level: 2 Computable Name: AUHPIO

Copyright/Legal: HL7 Australia© 2018+; Licensed Under Creative Commons No Rights Reserved.

This identifier profile defines a Healthcare Provider Identifier – Organisation in an Australian context (see Australian Digital Health Agency for further information). An HPI-O is assigned under the HI Service to an organisation (such as a hospital or medical clinic) where healthcare is provided.

Usage Notes

Usage:

Formal Views of Profile Content

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

This structure is derived from Identifier

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier C 0..* Identifier Healthcare Provider Identifier – Organisation (HPI-O)
inv-hpio-0: HPI-O shall be 16 digits
inv-hpio-1: HPI-O prefix shall be 800362
inv-hpio-2: HPI-O shall pass the Luhn algorithm check
... type 1..1 CodeableConcept Description of identifier
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.au/CodeSystem/v2-0203
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: NOI
... system 1..1 uri The namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hpio/1.0
... value C 1..1 string HPI-O
Example HPI-O: 8003621566684455
Max Length:16

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
inv-hpio-0errorIdentifierHPI-O shall be 16 digits
: value.matches('^([0-9]{16})$')
inv-hpio-1errorIdentifierHPI-O prefix shall be 800362
: value.startsWith('800362')
inv-hpio-2errorIdentifierHPI-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)

 

Other representations of profile: CSV, Excel, Schematron