PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.au.base@1.0.1
    http://hl7.org.au/fhir/StructureDefinition/au-organization
description: This profile defines an organisation administration details structure that includes core localisation concepts for use in an Australian context.
package_name: hl7.fhir.au.base
derivation: constraint
name: AUBaseOrganisation
type: Organization
elements:
  identifier:
    short: Organisation identifiers
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      min: null
      slices:
        hpio:
          match: {system: 'http://ns.electronichealth.net.au/id/hi/hpio/1.0'}
          schema:
            short: Healthcare Provider Identifier – Organisation (HPI-O)
            constraint:
              inv-hpio-0: {human: HPI-O shall be an exactly 16 digit number, severity: error, expression: 'value.matches(''^([0-9]{16})$'')'}
              inv-hpio-1: {human: HPI-O prefix is 800362, severity: error, expression: value.startsWith('800362')}
              inv-hpio-2: {human: The identifier shall pass the Luhn algorithm check, severity: error, expression: '(((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)', requirements: HPI-O shall pass the Luhn algorithm check}
            index: 1
            elements:
              type:
                short: Identifier type for HPI-O
                binding: {strength: required, valueSet: 'http://hl7.org.au/fhir/ValueSet/au-hl7v2-0203'}
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: NOI, system: 'http://terminology.hl7.org.au/CodeSystem/v2-0203'}
                index: 2
                elements:
                  text:
                    pattern: {type: String, value: HPI-O}
                    index: 3
              system:
                short: Namespace for HPI-O
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/hi/hpio/1.0'}
                index: 4
              value: {short: HPI-O number, maxLength: 16, index: 5}
            required: [value, system]
        abn:
          match: {system: 'http://hl7.org.au/id/abn'}
          schema:
            short: Australian Business Number (ABN)
            constraint:
              inv-abn-0: {human: ABN shall be exactly 11 digits, severity: error, expression: value.length()=11}
            index: 6
            elements:
              type:
                short: Coded identifier type for ABN
                index: 7
                elements:
                  text:
                    pattern: {type: String, value: ABN}
                    index: 8
              system:
                short: Namespace for ABN
                pattern: {type: Uri, value: 'http://hl7.org.au/id/abn'}
                index: 9
              value: {short: ABN, index: 10}
            required: [value, system]
        acn:
          match: {system: 'http://hl7.org.au/id/acn'}
          schema:
            short: Australian Company Number (ACN)
            constraint:
              inv-acn-0: {human: ACN shall be exactly 9 digits, severity: error, expression: value.length()=9}
            index: 11
            elements:
              type:
                short: Coded identifier type for ACN
                index: 12
                elements:
                  text:
                    pattern: {type: String, value: ACN}
                    index: 13
              system:
                short: Namespace for ACN
                pattern: {type: Uri, value: 'http://hl7.org.au/id/acn'}
                index: 14
              value: {short: ACN, index: 15}
            required: [value, system]
        arbn:
          match: {system: 'http://hl7.org.au/id/arbn'}
          schema:
            short: Australian Registered Body Number (ARBN)
            constraint:
              inv-arbn-0: {human: ARBN shall be exactly 9 digits, severity: error, expression: value.length()=9}
            index: 16
            elements:
              type:
                binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/identifier-type'}
                index: 17
                elements:
                  text:
                    pattern: {type: String, value: ARBN}
                    index: 18
              system:
                short: Namespace for ARBN
                pattern: {type: Uri, value: 'http://hl7.org.au/id/arbn'}
                index: 19
              value: {short: ARBN, index: 20}
            required: [value, system]
        paio:
          match: {system: 'http://ns.electronichealth.net.au/id/pcehr/paio/1.0'}
          schema:
            short: My Health Record Assigned Identity for Organisations (PAI-O)
            constraint:
              inv-paio-0: {human: PAI-O shall be an exactly 16 digit number, severity: error, expression: 'value.matches(''^([0-9]{16})$'')'}
              inv-paio-1: {human: PAI-O prefix is 800364, severity: error, expression: value.startsWith('800364')}
              inv-paio-2: {human: The identifier shall pass the Luhn algorithm check, severity: error, expression: '(((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)', requirements: PAI-O shall pass the Luhn algorithm check}
            index: 21
            elements:
              type:
                short: Identifier type for PAI-O
                index: 22
                elements:
                  text:
                    pattern: {type: String, value: PAI-O}
                    index: 23
              system:
                short: Namespace for PAI-O
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/pcehr/paio/1.0'}
                index: 24
              value: {short: PAI-O number, maxLength: 16, index: 25}
            required: [value, system]
        csp:
          match: {system: 'http://ns.electronichealth.net.au/id/hi/csp/1.0'}
          schema:
            short: Contracted Service Provider (CSP) Number
            constraint:
              inv-csp-0: {human: CSP number is exactly 16 characters, severity: error, expression: value.length() = 16}
              inv-csp-1: {human: CSP number prefix is 800363, severity: error, expression: value.startsWith('800363')}
            index: 26
            elements:
              type:
                short: Identifier type for CSP number
                index: 27
                elements:
                  text:
                    pattern: {type: String, value: CSP}
                    index: 28
              system:
                short: Namespace for CSP number
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/hi/csp/1.0'}
                index: 29
              value: {short: CSP number, maxLength: 16, index: 30}
            required: [value, system]
        nataAccreditation:
          match: {system: 'http://hl7.org.au/id/nata-accreditation'}
          schema:
            short: National Association of Testing Authorities (NATA) Accreditation Number
            index: 31
            elements:
              type:
                short: Identifier type for NATA accreditation number
                index: 32
                elements:
                  text:
                    pattern: {type: String, value: NATA Accreditation Number}
                    index: 33
              system:
                short: Namespace for NATA accreditation number
                pattern: {type: Uri, value: 'http://hl7.org.au/id/nata-accreditation'}
                index: 34
              value: {short: NATA accreditation number, index: 35}
            required: [value, system]
package_version: 1.0.1
class: profile
kind: resource
url: http://hl7.org.au/fhir/StructureDefinition/au-organization
base: http://hl7.org/fhir/StructureDefinition/Organization
version: 2.0.0