AU Base Implementation Guide
5.1.0-preview - Preview

Publication Build: This will be filled in by the publication tooling

## Data Type Profile: AU IHI

Official URL: http://hl7.org.au/fhir/StructureDefinition/au-ihi | Version: 5.1.0-preview
Standards status: Trial-use | Maturity Level: 2 | Computable Name: AUIHI
Copyright/Legal: HL7 Australia© 2018+; Licensed Under Creative Commons No Rights Reserved.

This identifier profile defines an Individual Healthcare Identifier in an Australian context (see Australian Digital Health Agency for further information). An IHI is assigned under the Healthcare Identifiers (HI) Service to a patient.

### Usage Notes

Profile specific implementation guidance:

- Multiple Individual Healthcare Identifiers (IHIs) can be used in where the IHI status and/or IHI record status varies (e.g. deceased, provisional) though implementers should be aware when exchanging patient information that systems may not support multiple IHIs for an individual.

Usage:

- Use this DataType Constraint: AU Base Patient and AU Base Related Person

Changes since version 5.0.0:

- No changes

### 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
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Individual Healthcare Identifier (IHI) ele-1: All FHIR elements must have a @value or children inv-ihi-value-0: IHI shall be an exactly 16 digit number inv-ihi-value-1: IHI prefix is 800360 inv-ihi-value-2: IHI shall pass the Luhn algorithm check
Slices for extension |  | 0..* | 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
extension:ihiStatus |  | 0..1 | Coding | IHI status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-status Binding: Individual Healthcare Identifier Status (required) ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
extension:ihiRecordStatus |  | 0..1 | Coding | IHI record status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-record-status Binding: Individual Healthcare Identifier Record Status (required) ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
extension:ihiVerifiedDate |  | 0..1 | dateTime | IHI Verification Date URL: http://hl7.org.au/fhir/StructureDefinition/ihi-verified-date 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: NI
system | Σ | 1..1 | uri | The namespace for the identifier value ele-1: All FHIR elements must have a @value or children Fixed Value: http://ns.electronichealth.net.au/id/hi/ihi/1.0
value | Σ C | 1..1 | string | IHI ele-1: All FHIR elements must have a @value or children Example General: 123456 Example IHI: 8003608833357361 Max Length:16
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Identifier.use | required | IdentifierUse `http://hl7.org/fhir/ValueSet/identifier-use|4.0.1` from the FHIR Standard
Identifier.type | extensible | Pattern: NI `http://hl7.org/fhir/ValueSet/identifier-type` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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-ihi-value-0 | error | Identifier | IHI shall be an exactly 16 digit number : value.matches('^([0-9]{16})$') |
inv-ihi-value-1 | error | Identifier | IHI prefix is 800360 : value.startsWith('800360') |
inv-ihi-value-2 | error | Identifier | IHI 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
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Individual Healthcare Identifier (IHI) inv-ihi-value-0: IHI shall be an exactly 16 digit number inv-ihi-value-1: IHI prefix is 800360 inv-ihi-value-2: IHI shall pass the Luhn algorithm check
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:ihiStatus |  | 0..1 | Coding | IHI status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-status Binding: Individual Healthcare Identifier Status (required)
extension:ihiRecordStatus |  | 0..1 | Coding | IHI record status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-record-status Binding: Individual Healthcare Identifier Record Status (required)
extension:ihiVerifiedDate |  | 0..1 | dateTime | IHI Verification Date URL: http://hl7.org.au/fhir/StructureDefinition/ihi-verified-date
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/CodeSystem/v2-0203
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: NI
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/ihi/1.0
value | C | 1..1 | string | IHI Example IHI: 8003608833357361 Max Length:16
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Details | Requirements
inv-ihi-value-0 | error | Identifier | IHI shall be an exactly 16 digit number : value.matches('^([0-9]{16})$') |
inv-ihi-value-1 | error | Identifier | IHI prefix is 800360 : value.startsWith('800360') |
inv-ihi-value-2 | error | Identifier | IHI 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
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Individual Healthcare Identifier (IHI) inv-ihi-value-0: IHI shall be an exactly 16 digit number inv-ihi-value-1: IHI prefix is 800360 inv-ihi-value-2: IHI shall pass the Luhn algorithm check
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:ihiStatus |  | 0..1 | Coding | IHI status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-status Binding: Individual Healthcare Identifier Status (required)
extension:ihiRecordStatus |  | 0..1 | Coding | IHI record status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-record-status Binding: Individual Healthcare Identifier Record Status (required)
extension:ihiVerifiedDate |  | 0..1 | dateTime | IHI Verification Date URL: http://hl7.org.au/fhir/StructureDefinition/ihi-verified-date
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/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: NI
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/ihi/1.0
value | Σ C | 1..1 | string | IHI Example General: 123456 Example IHI: 8003608833357361 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 | Conformance | ValueSet / Code | URI
Identifier.use | required | IdentifierUse `http://hl7.org/fhir/ValueSet/identifier-use|4.0.1` from the FHIR Standard
Identifier.type | extensible | Pattern: NI `http://hl7.org/fhir/ValueSet/identifier-type` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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-ihi-value-0 | error | Identifier | IHI shall be an exactly 16 digit number : value.matches('^([0-9]{16})$') |
inv-ihi-value-1 | error | Identifier | IHI prefix is 800360 : value.startsWith('800360') |
inv-ihi-value-2 | error | Identifier | IHI 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

Extensions

This structure refers to these extensions:

- http://hl7.org.au/fhir/StructureDefinition/ihi-status
- http://hl7.org.au/fhir/StructureDefinition/ihi-record-status
- http://hl7.org.au/fhir/StructureDefinition/ihi-verified-date

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Individual Healthcare Identifier (IHI) ele-1: All FHIR elements must have a @value or children inv-ihi-value-0: IHI shall be an exactly 16 digit number inv-ihi-value-1: IHI prefix is 800360 inv-ihi-value-2: IHI shall pass the Luhn algorithm check
Slices for extension |  | 0..* | 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
extension:ihiStatus |  | 0..1 | Coding | IHI status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-status Binding: Individual Healthcare Identifier Status (required) ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
extension:ihiRecordStatus |  | 0..1 | Coding | IHI record status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-record-status Binding: Individual Healthcare Identifier Record Status (required) ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
extension:ihiVerifiedDate |  | 0..1 | dateTime | IHI Verification Date URL: http://hl7.org.au/fhir/StructureDefinition/ihi-verified-date 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: NI
system | Σ | 1..1 | uri | The namespace for the identifier value ele-1: All FHIR elements must have a @value or children Fixed Value: http://ns.electronichealth.net.au/id/hi/ihi/1.0
value | Σ C | 1..1 | string | IHI ele-1: All FHIR elements must have a @value or children Example General: 123456 Example IHI: 8003608833357361 Max Length:16
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code | URI
Identifier.use | required | IdentifierUse `http://hl7.org/fhir/ValueSet/identifier-use|4.0.1` from the FHIR Standard
Identifier.type | extensible | Pattern: NI `http://hl7.org/fhir/ValueSet/identifier-type` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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-ihi-value-0 | error | Identifier | IHI shall be an exactly 16 digit number : value.matches('^([0-9]{16})$') |
inv-ihi-value-1 | error | Identifier | IHI prefix is 800360 : value.startsWith('800360') |
inv-ihi-value-2 | error | Identifier | IHI 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
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Individual Healthcare Identifier (IHI) inv-ihi-value-0: IHI shall be an exactly 16 digit number inv-ihi-value-1: IHI prefix is 800360 inv-ihi-value-2: IHI shall pass the Luhn algorithm check
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:ihiStatus |  | 0..1 | Coding | IHI status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-status Binding: Individual Healthcare Identifier Status (required)
extension:ihiRecordStatus |  | 0..1 | Coding | IHI record status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-record-status Binding: Individual Healthcare Identifier Record Status (required)
extension:ihiVerifiedDate |  | 0..1 | dateTime | IHI Verification Date URL: http://hl7.org.au/fhir/StructureDefinition/ihi-verified-date
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/CodeSystem/v2-0203
code |  | 1..1 | code | Symbol in syntax defined by the system Fixed Value: NI
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://ns.electronichealth.net.au/id/hi/ihi/1.0
value | C | 1..1 | string | IHI Example IHI: 8003608833357361 Max Length:16
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Details | Requirements
inv-ihi-value-0 | error | Identifier | IHI shall be an exactly 16 digit number : value.matches('^([0-9]{16})$') |
inv-ihi-value-1 | error | Identifier | IHI prefix is 800360 : value.startsWith('800360') |
inv-ihi-value-2 | error | Identifier | IHI 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
--- | --- | --- | --- | ---
Identifier | C | 0..* | Identifier | Individual Healthcare Identifier (IHI) inv-ihi-value-0: IHI shall be an exactly 16 digit number inv-ihi-value-1: IHI prefix is 800360 inv-ihi-value-2: IHI shall pass the Luhn algorithm check
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:ihiStatus |  | 0..1 | Coding | IHI status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-status Binding: Individual Healthcare Identifier Status (required)
extension:ihiRecordStatus |  | 0..1 | Coding | IHI record status URL: http://hl7.org.au/fhir/StructureDefinition/ihi-record-status Binding: Individual Healthcare Identifier Record Status (required)
extension:ihiVerifiedDate |  | 0..1 | dateTime | IHI Verification Date URL: http://hl7.org.au/fhir/StructureDefinition/ihi-verified-date
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/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: NI
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/ihi/1.0
value | Σ C | 1..1 | string | IHI Example General: 123456 Example IHI: 8003608833357361 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 | Conformance | ValueSet / Code | URI
Identifier.use | required | IdentifierUse `http://hl7.org/fhir/ValueSet/identifier-use|4.0.1` from the FHIR Standard
Identifier.type | extensible | Pattern: NI `http://hl7.org/fhir/ValueSet/identifier-type` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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-ihi-value-0 | error | Identifier | IHI shall be an exactly 16 digit number : value.matches('^([0-9]{16})$') |
inv-ihi-value-1 | error | Identifier | IHI prefix is 800360 : value.startsWith('800360') |
inv-ihi-value-2 | error | Identifier | IHI 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

Extensions

This structure refers to these extensions:

- http://hl7.org.au/fhir/StructureDefinition/ihi-status
- http://hl7.org.au/fhir/StructureDefinition/ihi-record-status
- http://hl7.org.au/fhir/StructureDefinition/ihi-verified-date

Maturity: 2

Other representations of profile: CSV, Excel, Schematron