PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.au.base@1.0.0
    http://hl7.org.au/fhir/StructureDefinition/au-relatedperson
description: Australian realm RelatedPerson resource
package_name: hl7.fhir.au.base
derivation: constraint
name: AUBaseRelatedPerson
type: RelatedPerson
elements:
  identifier:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      - {path: type, type: value}
      min: null
      slices:
        ihiNumber:
          match: {system: 'http://ns.electronichealth.net.au/id/hi/ihi/1.0', type: null}
          schema:
            short: National Individual Healthcare Identifier (IHI)
            index: 1
            extensions:
              ihiStatus: {url: h, type: Extension, short: Individual Healthcare Identifier (IHI) Number Status, index: 3}
              ihiRecordStatus: {url: h, type: Extension, short: Individual Healthcare Identifier (IHI) Number Record Status, index: 4}
            elements:
              extension:
                index: 2
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    ihiStatus:
                      match: {url: null}
                      schema: {type: Extension, short: Individual Healthcare Identifier (IHI) Number Status, url: h, index: 3}
                    ihiRecordStatus:
                      match: {url: null}
                      schema: {type: Extension, short: Individual Healthcare Identifier (IHI) Number Record Status, url: h, index: 4}
              type:
                short: Coded identifier type for IHI
                index: 5
                elements:
                  coding:
                    index: 6
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        index: 7
                      code:
                        pattern: {type: Code, value: NI}
                        index: 8
                    required: [system, code]
                  text:
                    pattern: {type: String, value: IHI}
                    index: 9
              system:
                short: Namespace for IHI
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/hi/ihi/1.0'}
                index: 10
              value:
                short: IHI number
                maxLength: 16
                constraint:
                  inv-ihi-0: {human: IHI shall be an exactly 16 digit number, severity: error, expression: 'matches(''^([0-9]{16})$'')'}
                  inv-ihi-1: {human: IHI prefix is 800360, severity: error, expression: startsWith('800360')}
                  inv-ihi-2: {human: IHI shall pass the Luhn algorithm check, severity: error, expression: '(((select(substring(0,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(substring(1,1).toInteger())+(select(substring(2,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(substring(3,1).toInteger())+(select(substring(4,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(substring(5,1).toInteger())+(select(substring(6,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(substring(7,1).toInteger())+(select(substring(8,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(substring(9,1).toInteger())+(select(substring(10,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(substring(11,1).toInteger())+(select(substring(12,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(substring(13,1).toInteger())+(select(substring(14,1).toInteger()).select(iif($this<5, $this*2, (($this*2)-9))))+(substring(15,1).toInteger()))mod 10=0)'}
                index: 11
            required: [value, system]
        medicareNumber:
          match: {system: 'http://ns.electronichealth.net.au/id/medicare-number', type: null}
          schema:
            short: Medicare Number
            index: 12
            elements:
              type:
                short: Coded identifier type for Medicare number
                index: 13
                elements:
                  coding:
                    index: 14
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        index: 15
                      code:
                        pattern: {type: Code, value: MC}
                        index: 16
                    required: [system, code]
                  text:
                    pattern: {type: String, value: Medicare Number}
                    index: 17
              system:
                short: Namespace for Medicare number
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/medicare-number'}
                index: 18
              value: {short: Medicare number including optional individual reference number, maxLength: 11, index: 19}
              period:
                short: Medicare number validity period
                index: 20
                elements:
                  end: {short: Medicare number expiry date, index: 21}
                required: [end]
            required: [value, period, system]
        dvaNumber:
          match: {system: 'http://ns.electronichealth.net.au/id/dva', type: null}
          schema:
            short: Department of Veterans' Affairs (DVA) Number
            constraint:
              inv-dva-number-unspecified: {human: DVA number identifier type text must be 'DVA Number' when colour is not specified, severity: error, expression: type.coding.exists() and type.text != 'DVA Number'}
              inv-dva-number-gold: {human: DVA number identifier type text must be 'DVA Number (Gold)' when colour coding is DVG, severity: error, expression: type.coding.code='DVG' and type.text != 'DVA Number (Gold)'}
              inv-dva-number-white: {human: DVA number identifier type text must be 'DVA Number (White)' when colour coding is DVW, severity: error, expression: type.coding.code='DVW' and type.text != 'DVA Number (White)'}
              inv-dva-number-orange: {human: DVA number identifier type text must be 'DVA Number (Orange)' when colour coding is DVO, severity: error, expression: type.coding.code='DVO' and type.text != 'DVA Number (Orange)'}
              inv-dva-number-lilac: {human: DVA number identifier type text must be 'DVA Number (Lilac)' when colour coding is DVL, severity: error, expression: type.coding.code='DVL' and type.text != 'DVA Number (Lilac)'}
              inv-dva-number-text: {human: 'DVA number identifier type text must be one of ''DVA Number'', ''DVA Number (Gold)'',  ''DVA Number (White), ''DVA Number (Orange), ''DVA Number (Lilac)''', severity: error, expression: type.text = 'DVA Number' or type.text = 'DVA Number (Gold)' or type.text = 'DVA Number (White)' or type.text = 'DVA Number (Orange)' or type.text = 'DVA Number (Lilac)'}
            index: 22
            elements:
              type:
                short: Coded identifier type for DVA number
                index: 23
                elements:
                  coding:
                    constraint:
                      inv-dva-number-coding: {human: 'DVA colour coding must be DVL, DVW, DVO or DVG', severity: error, expression: code='DVL' or code='DVW' or code='DVO' or code='DVG'}
                    index: 24
                  text: {index: 25}
              system:
                short: Namespace for DVA number
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/dva'}
                index: 26
              value: {short: DVA number, maxLength: 9, index: 27}
            required: [value, system]
        healthcareCard:
          match: {system: 'http://ns.electronichealth.net.au/id/centrelink-customer-reference-number', type: null}
          schema:
            short: Health Care Card Number
            index: 28
            elements:
              type:
                short: Coded identifier type for Health Care Card number
                index: 29
                elements:
                  coding:
                    index: 30
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        index: 31
                      code:
                        pattern: {type: Code, value: HC}
                        index: 32
                    required: [system, code]
                  text:
                    pattern: {type: String, value: Health Care Card Number}
                    index: 33
                required: [coding]
              system:
                short: Namespace for Centrelink Customer Reference Number (CRN)
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/centrelink-customer-reference-number'}
                index: 34
              value: {short: Centrelink CRN, maxLength: 10, index: 35}
            required: [value, type, system]
        pensionerConcessionCard:
          match: {system: 'http://ns.electronichealth.net.au/id/centrelink-customer-reference-number', type: null}
          schema:
            short: Pensioner Concession Card Number
            index: 36
            elements:
              type:
                short: Coded identifier type for Pensioner Concession Card number
                index: 37
                elements:
                  coding:
                    index: 38
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        index: 39
                      code:
                        pattern: {type: Code, value: PEN}
                        index: 40
                    required: [system, code]
                  text:
                    pattern: {type: String, value: Pensioner Concession Card Number}
                    index: 41
                required: [coding]
              system:
                short: Namespace for Centrelink Customer Reference Number (CRN)
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/centrelink-customer-reference-number'}
                index: 42
              value: {short: Centrelink CRN, maxLength: 10, index: 43}
            required: [value, type, system]
        commonwealthSeniorsHealthCard:
          match:
            system: http://ns.electronichealth.net.au/id/centrelink-customer-reference-number
            type: {text: Commonwealth Seniors Health Card}
          schema:
            short: Commonwealth Seniors Health Card Number
            index: 44
            elements:
              type:
                short: Coded identifier type for Commonwealth Seniors Health Card number
                pattern:
                  type: CodeableConcept
                  value: {text: Commonwealth Seniors Health Card}
                index: 45
                elements:
                  coding:
                    index: 46
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org.au/fhir/v2/0203'}
                        index: 47
                      code:
                        pattern: {type: Code, value: SEN}
                        index: 48
                    required: [system, code]
                  text:
                    pattern: {type: String, value: Commonwealth Seniors Health Card}
                    index: 49
                required: [coding]
              system:
                short: Namespace for Centrelink Customer Reference Number (CRN)
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/centrelink-customer-reference-number'}
                index: 50
              value: {short: Centrelink CRN, maxLength: 10, index: 51}
            required: [value, type, system]
        medicalRecordNumber:
          match: {system: null, type: null}
          schema:
            short: Medical Record Number (MRN)
            index: 52
            elements:
              type:
                short: Coded identifier type for MRN
                index: 53
                elements:
                  coding:
                    index: 54
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        index: 55
                      code:
                        pattern: {type: Code, value: MR}
                        index: 56
                    required: [system, code]
                  text:
                    pattern: {type: String, value: Medical Record Number}
                    index: 57
                required: [coding]
              system: {short: Medical record number system namespace, index: 58}
              value: {short: Medical record number, index: 59}
              assigner: {short: Medical record number assigning entity, index: 60}
            required: [assigner, value, type, system]
        insurerNumber:
          match: {system: null, type: null}
          schema:
            short: Private Health Insurance Member Number
            index: 61
            elements:
              type:
                short: Coded identifier type for private health insurance member number
                index: 62
                elements:
                  coding:
                    index: 63
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        index: 64
                      code:
                        pattern: {type: Code, value: MB}
                        index: 65
                    required: [system, code]
                  text:
                    pattern: {type: String, value: Private Health Insurance Member Number}
                    index: 66
                required: [coding]
              value: {short: Private health insurance member number, index: 67}
              assigner:
                short: Private health insurer
                index: 68
                elements:
                  display: {index: 69}
                required: [display]
            required: [assigner, value, type]
  relationship: {index: 70}
package_version: 1.0.0
class: profile
kind: resource
url: http://hl7.org.au/fhir/StructureDefinition/au-relatedperson
base: http://hl7.org/fhir/StructureDefinition/RelatedPerson
version: 1.0.0