AU Base Implementation Guide
7.0.0-ballot1 - Ballot

AU Base Implementation Guide - Downloaded Version 7.0.0-ballot1 See the Directory of published versions

## Data Type Profile: AU HAE

Official URL: http://hl7.org.au/fhir/StructureDefinition/au-hae | Version: 7.0.0-ballot1
Standards status: Trial-use | Maturity Level: 1 | Computable Name: AUHAE
Copyright/Legal: HL7 Australia© 2018+; Licensed Under Creative Commons No Rights Reserved.

This identifier profile defines a Health Administration Entity (HAE) identifier in an Australian context (see Healthcare Identifiers Act 2010 legislative framework reforms Frequently Asked Questions, the current version of Health Identifiers Act 2010, and Australian Digital Health Agency: Healthcare Identifiers (HI) Service for further information). An HAE is assigned under the HI Service to organisations that provide administrative support for health services and programs without delivering direct clinical care, for example a Primary Health Network.

Note that currently there are no published example valid values for this identifier.
Work is progressing for Services Australia to provide suitable test identifiers and organisation details that will be incorporated into AU Base when available.

### Usage Notes

Usages:

- Use this DataType Profile: AU Base Organization

You can also check for usages in the FHIR IG Statistics

Changes since version 6.0.0:

- New Content

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Health Administration Entity (HAE) identifier Constraints: inv-hae-0, inv-hae-1, inv-hae-2
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
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. Required Pattern: At least the following
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.au/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: HAE
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/hae/1.0
value | Σ C | 1..1 | string | HAE Example General: 123456 Max Length:16
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
inv-hae-0 | error | Identifier | HAE shall be 16 digits | `value.matches('^([0-9]{16})$')`
inv-hae-1 | error | Identifier | HAE prefix shall be 8003641100 | `value.startsWith('8003641100')`
inv-hae-2 | error | Identifier | HAE 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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Health Administration Entity (HAE) identifier Constraints: inv-hae-0, inv-hae-1, inv-hae-2
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: HAE
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/hae/1.0
value | C | 1..1 | string | HAE Max Length:16
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
inv-hae-0 | error | Identifier | HAE shall be 16 digits | `value.matches('^([0-9]{16})$')`
inv-hae-1 | error | Identifier | HAE prefix shall be 8003641100 | `value.startsWith('8003641100')`
inv-hae-2 | error | Identifier | HAE 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)`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Health Administration Entity (HAE) identifier Constraints: inv-hae-0, inv-hae-1, inv-hae-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
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. Required Pattern: At least the following
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.au/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: HAE
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/hae/1.0
value | Σ C | 1..1 | string | HAE 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)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-hae-0 | error | Identifier | HAE shall be 16 digits | `value.matches('^([0-9]{16})$')`
inv-hae-1 | error | Identifier | HAE prefix shall be 8003641100 | `value.startsWith('8003641100')`
inv-hae-2 | error | Identifier | HAE 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: 3 elements
Fixed: 1 element

Maturity: 1

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Health Administration Entity (HAE) identifier Constraints: inv-hae-0, inv-hae-1, inv-hae-2
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
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. Required Pattern: At least the following
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.au/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: HAE
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/hae/1.0
value | Σ C | 1..1 | string | HAE Example General: 123456 Max Length:16
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
inv-hae-0 | error | Identifier | HAE shall be 16 digits | `value.matches('^([0-9]{16})$')`
inv-hae-1 | error | Identifier | HAE prefix shall be 8003641100 | `value.startsWith('8003641100')`
inv-hae-2 | error | Identifier | HAE 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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Health Administration Entity (HAE) identifier Constraints: inv-hae-0, inv-hae-1, inv-hae-2
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: HAE
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/hae/1.0
value | C | 1..1 | string | HAE Max Length:16
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
inv-hae-0 | error | Identifier | HAE shall be 16 digits | `value.matches('^([0-9]{16})$')`
inv-hae-1 | error | Identifier | HAE prefix shall be 8003641100 | `value.startsWith('8003641100')`
inv-hae-2 | error | Identifier | HAE 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)`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Health Administration Entity (HAE) identifier Constraints: inv-hae-0, inv-hae-1, inv-hae-2
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
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. Required Pattern: At least the following
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.au/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: HAE
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/hae/1.0
value | Σ C | 1..1 | string | HAE 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)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
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 | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
inv-hae-0 | error | Identifier | HAE shall be 16 digits | `value.matches('^([0-9]{16})$')`
inv-hae-1 | error | Identifier | HAE prefix shall be 8003641100 | `value.startsWith('8003641100')`
inv-hae-2 | error | Identifier | HAE 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: 3 elements
Fixed: 1 element

Maturity: 1

Other representations of profile: CSV, Excel, Schematron