PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.au.base@1.0.1
    http://hl7.org.au/fhir/StructureDefinition/au-healthcareservice
description: This profile defines a healthcare service administration details structure that includes core localisation concepts for use in an Australian context.
package_name: hl7.fhir.au.base
derivation: constraint
name: AUBaseHealthcareService
type: HealthcareService
elements:
  extension: {index: 0}
  identifier:
    short: Healthcare service identifiers
    index: 1
    slicing:
      rules: open
      discriminator:
      - {path: type, type: pattern}
      - {path: system, type: value}
      min: null
      slices:
        hpio:
          match:
            type:
              coding:
              - {code: NOI, system: 'http://terminology.hl7.org.au/CodeSystem/v2-0203'}
            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: HPI-O 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)'}
            index: 2
            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: 3
                elements:
                  text:
                    pattern: {type: String, value: HPI-O}
                    index: 4
              system:
                short: Namespace for HPI-O
                pattern: {type: Uri, value: 'http://ns.electronichealth.net.au/id/hi/hpio/1.0'}
                index: 5
              value: {short: HPI-O number, maxLength: 16, index: 6}
            required: [value, system]
  type:
    short: Healthcare service types
    binding: {strength: preferred, valueSet: 'http://hl7.org.au/fhir/ValueSet/snomed-healthcareservice-services'}
    index: 7
  specialty:
    short: Healthcare service provided specialties
    binding: {strength: preferred, valueSet: 'http://hl7.org.au/fhir/ValueSet/snomed-healthcareservice-specialties'}
    index: 8
  serviceProvisionCode:
    short: Healthcare service provision conditions
    binding: {strength: preferred, valueSet: 'http://hl7.org.au/fhir/ValueSet/service-provision-conditions'}
    index: 9
package_version: 1.0.1
extensions: {}
class: profile
kind: resource
url: http://hl7.org.au/fhir/StructureDefinition/au-healthcareservice
base: http://hl7.org/fhir/StructureDefinition/HealthcareService
version: 2.0.0