AU Base Implementation Guide
4.2.0-preview - Working Australia flag

This page is part of the Australian Base IG (v4.2.0-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-I

Official URL: http://hl7.org.au/fhir/StructureDefinition/au-hpii Version: 4.2.0-preview
Standards status: Trial-use Maturity Level: 2 Computable Name: AUHPII

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

This identifier profile defines a Healthcare Provider Identifier - Individual (HPI-I) in an Australian context (see Australian Digital Health Agency for further information). An HPI-I is assigned under the HI Service to healthcare providers involved in providing patient care.

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 C0..*IdentifierHealthcare Provider Identifier – Individual (HPI-I)
inv-hpii-0: HPI-I shall be 16 digits
inv-hpii-1: HPI-I prefix shall be 800361
inv-hpii-2: HPI-I shall pass the Luhn algorithm check
... type 1..1CodeableConceptDescription of identifier
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: NPI
... system 1..1uriThe namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hpii/1.0
... value C1..1stringHPI-I
Example HPI-I: 8003619900015717
Max Length: 16

doco Documentation for this format

Constraints

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