AU Base Implementation Guide
5.0.0 - Working Standard Australia flag

This page is part of the Australian Base IG (v5.0.0: R4) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Data Type Profile: AU PAI-O Identifier

Official URL: http://hl7.org.au/fhir/StructureDefinition/au-paioidentifier Version: 5.0.0
Standards status: Trial-use Maturity Level: 2 Computable Name: AUPAIOIdentifier

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

This identifier profile defines a My Health Record Assigned Identity - Organisation (PAI-O) identifier in an Australian context. A PAI-O may be issued to organisations who wish to participate in the My Health Record and who are not eligible for a Healthcare Provider Identifier - Organisation (HPI-O).

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 My Health Record Assigned Identity - Organisation (PAI-O) Identifier
inv-paio-0: PAI-O shall be 16 digits
inv-paio-1: PAI-O prefix shall be 800364
inv-paio-2: PAI-O shall pass the Luhn algorithm
... type 1..1 CodeableConcept Coded identifier type for PAI-O
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/pcehr/paio/1.0
... value C 1..1 string PAI-O
Example PAI-O: 8003640011000059
Max Length:16

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
inv-paio-0errorIdentifierPAI-O shall be 16 digits
: value.matches('^([0-9]{16})$')
inv-paio-1errorIdentifierPAI-O prefix shall be 800364
: value.startsWith('800364')
inv-paio-2errorIdentifierPAI-O shall pass the Luhn algorithm
: (((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