PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.au.base@0.9.3
    http://hl7.org.au/fhir/StructureDefinition/au-practitionerrole
description: Base profile for Australian context Practitioner Role (Individual Provider)
package_name: hl7.fhir.au.base
derivation: constraint
name: AUBasePractitionerRole
type: PractitionerRole
elements:
  identifier:
    short: Practitioner role identifiers
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      - {path: type, type: value}
      min: null
      slices:
        providerNumber:
          match: {system: 'http://ns.electronichealth.net.au/id/medicare-provider-number', type: null}
          schema:
            short: Australian provider number
            index: 1
            elements:
              type:
                short: Provider Number Identifier Type
                index: 2
                elements:
                  coding:
                    short: Provider Number Identifier Type Code
                    index: 3
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org.au/fhir/v2/0203'}
                        index: 4
                      code:
                        pattern: {type: Code, value: UPIN}
                        index: 5
                    required: [system, code]
                  text:
                    short: Provider Number Identifier Type Descriptive Text
                    pattern: {type: String, value: Medicare Provider Number}
                    index: 6
                required: [text]
              system:
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/medicare-provider-number'}
                index: 7
              value: {short: Medicare Provider Number Value, index: 8}
            required: [value, type, system]
        nationalProviderAtOrganisation:
          match: {system: 'http://hl7.org.au/id/npio', type: null}
          schema:
            short: Provider at Organisation Identifier
            index: 9
            elements:
              type:
                short: National Provider at Organisation Identifier Type
                index: 10
                elements:
                  coding:
                    index: 11
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org.au/fhir/v2/0203'}
                        index: 12
                      code:
                        pattern: {type: Code, value: NPIO}
                        index: 13
                    required: [system, code]
                  text:
                    short: National Provider at Organisation Identifer Type Descriptive Text
                    pattern: {type: String, value: NPIO}
                    index: 14
                required: [text]
              system:
                pattern: {type: Uri, value: 'http://hl7.org.au/id/npio'}
                index: 15
              value:
                short: NPIO Value
                constraint:
                  inv-npio-0: {human: NPIO length is exactly 33 characters, severity: error, expression: value.length() = 33}
                index: 16
            required: [value, type, system]
        careAgencyEmployeeIdentifier:
          match: {system: 'http://ns.electronichealth.net.au/id/pcehr/caei/1.0', type: null}
          schema:
            short: Care Agency Employee Identifier
            index: 17
            elements:
              type:
                index: 18
                elements:
                  text:
                    pattern: {type: String, value: Care Agency Employee Identifier}
                    index: 19
                required: [text]
              system:
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/pcehr/caei/1.0'}
                index: 20
              value:
                short: CAEI Number Value
                constraint:
                  inv-caei-0: {human: The CAEI shall be an exactly 16 digit number, severity: error, expression: 'matches(''^([0-9]{16})$'')', requirements: The value shall be a 16 digit number.}
                  inv-caei-1: {human: The CAEI SHALL contain a prefix of 900360, severity: error, expression: startsWith('900360')}
                  inv-caei-2: {human: The CAEI 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: 21
            required: [value, type, system]
        employeeNumber:
          match: {system: null, type: null}
          schema:
            short: Employee Number
            index: 22
            elements:
              type:
                index: 23
                elements:
                  coding:
                    index: 24
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://hl7.org/fhir/v2/0203'}
                        index: 25
                      code:
                        pattern: {type: Code, value: EI}
                        index: 26
                    required: [system, code]
                  text:
                    pattern: {type: String, value: Employee Number}
                    index: 27
                required: [text]
              value: {short: Employee Number Value, index: 28}
              assigner:
                short: Employing organisation
                index: 29
                elements:
                  display: {short: Employing organisation name, index: 30}
                required: [display]
            required: [assigner, value, type]
  practitioner:
    type: Reference
    short: Practitioner in this role
    refers: ['http://hl7.org.au/fhir/StructureDefinition/au-practitioner']
    index: 31
  organization:
    type: Reference
    short: Organisation managing this role
    refers: ['http://hl7.org.au/fhir/StructureDefinition/au-organisation']
    index: 32
  specialty:
    short: Practitioner specialties
    index: 33
    slicing:
      rules: open
      discriminator:
      - {path: coding.system, type: value}
      min: null
      slices:
        snomedRole:
          match:
            coding: {system: null}
          schema: {short: SNOMED Practitioner Specialty, index: 34}
  location:
    type: Reference
    short: Location of Provider
    refers: ['http://hl7.org.au/fhir/StructureDefinition/au-location']
    index: 35
  healthcareService:
    type: Reference
    refers: ['http://hl7.org.au/fhir/StructureDefinition/au-healthcareservice']
    index: 36
package_version: 0.9.3
class: profile
kind: resource
url: http://hl7.org.au/fhir/StructureDefinition/au-practitionerrole
base: http://hl7.org/fhir/StructureDefinition/PractitionerRole
version: '0.1'