Medtech ALEX® Implementation Guide
0.0.1 - draft International flag

Medtech ALEX® Implementation Guide - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Data Type Profile: HPI-I

Official URL: https://alexapi.medtechglobal.com.au/fhir/StructureDefinition/alex-hpii Version: 0.0.1
Active as of 2025-01-20 Computable Name: AlexHPII

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier C 0..* AUHPII Healthcare Provider Identifier – Individual (HPI-I)
ele-1: All FHIR elements must have a @value or children
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
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... hpiiStatus 1..1 Coding HPI-I status
URL: https://alexapi.medtechglobal.com.au/fhir/StructureDefinition/hpii-status
Binding: Medtech Practitioner HPI-I Status ValueSet (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
... type Σ 1..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.


ele-1: All FHIR elements must have a @value or children
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/CodeSystem/v2-0203
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: NPI
... value Σ 1..1 string HPI-I
ele-1: All FHIR elements must have a @value or children
Example General: 123456
Example HPI-I: 8003619900015717
Max Length:16

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Identifier.typeextensiblePattern: NPI
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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)

This structure is derived from AUHPII

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier C 0..* AUHPII Healthcare 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
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... hpiiStatus 1..1 Coding HPI-I status
URL: https://alexapi.medtechglobal.com.au/fhir/StructureDefinition/hpii-status
Binding: Medtech Practitioner HPI-I Status ValueSet (required)
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: NPI
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hpii/1.0
... value Σ 1..1 string HPI-I
Example General: 123456
Example HPI-I: 8003619900015717
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

PathConformanceValueSet / CodeURI
Identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Identifier.typeextensiblePattern: NPI
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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)

This structure is derived from AUHPII

Summary

Mandatory: 2 elements

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier C 0..* AUHPII Healthcare Provider Identifier – Individual (HPI-I)
ele-1: All FHIR elements must have a @value or children
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
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... hpiiStatus 1..1 Coding HPI-I status
URL: https://alexapi.medtechglobal.com.au/fhir/StructureDefinition/hpii-status
Binding: Medtech Practitioner HPI-I Status ValueSet (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
... type Σ 1..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.


ele-1: All FHIR elements must have a @value or children
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/CodeSystem/v2-0203
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: NPI
... value Σ 1..1 string HPI-I
ele-1: All FHIR elements must have a @value or children
Example General: 123456
Example HPI-I: 8003619900015717
Max Length:16

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Identifier.typeextensiblePattern: NPI
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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)

Differential View

This structure is derived from AUHPII

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Identifier C 0..* AUHPII Healthcare 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
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... hpiiStatus 1..1 Coding HPI-I status
URL: https://alexapi.medtechglobal.com.au/fhir/StructureDefinition/hpii-status
Binding: Medtech Practitioner HPI-I Status ValueSet (required)
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v2-0203
..... version 0..1 string Version of the system - if relevant
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: NPI
..... display 0..1 string Representation defined by the system
..... userSelected 0..1 boolean If this coding was chosen directly by the user
.... text 0..1 string Plain text representation of the concept
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://ns.electronichealth.net.au/id/hi/hpii/1.0
... value Σ 1..1 string HPI-I
Example General: 123456
Example HPI-I: 8003619900015717
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

PathConformanceValueSet / CodeURI
Identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Identifier.typeextensiblePattern: NPI
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
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)

This structure is derived from AUHPII

Summary

Mandatory: 2 elements

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron