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'