PackagesCanonicalsLogsProblems
    Packages
    KBV.Basis@1.0.4
    https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Practitioner
description: null
package_name: KBV.Basis
derivation: constraint
name: KBV_PR_Base_Practitioner
type: Practitioner
elements:
  extension:
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        ergaenzende_Angaben:
          match: {url: null}
          schema: {type: Extension, url: 'https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Additional_Comment', index: 1}
          max: 1
  identifier:
    index: 2
    slicing:
      rules: open
      discriminator:
      - {path: type.coding.code, type: value}
      min: null
      slices:
        ANR:
          match:
            type:
              coding: {code: null}
          schema:
            type: Identifier
            index: 3
            elements:
              assigner:
                elements:
                  display: {index: 4}
        EFN:
          match:
            type:
              coding: {code: null}
          schema:
            type: Identifier
            index: 5
            elements:
              assigner:
                elements:
                  display: {index: 6}
  name:
    index: 7
    slicing:
      rules: open
      discriminator:
      - {path: use, type: value}
      min: 1
      slices:
        name:
          match: {use: official}
          schema:
            type: HumanName
            index: 8
            elements:
              use:
                pattern: {type: Code, value: official}
                index: 9
              family:
                index: 10
                extensions:
                  namenszusatz:
                    url: null
                    index: 11
                    elements:
                      url:
                        pattern: {type: Uri, value: 'http://fhir.de/StructureDefinition/humanname-namenszusatz|0.9.11'}
                        index: 12
                      value:
                        maxLength: 20
                        choices: []
                        index: 14
                  nachname:
                    url: null
                    index: 15
                    elements:
                      value:
                        choices: []
                        index: 17
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 45
                                choices: []
                                index: 19
                  vorsatzwort:
                    url: null
                    index: 20
                    elements:
                      value:
                        choices: []
                        index: 22
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 20
                                choices: []
                                index: 24
                elements:
                  extension:
                    index: 11
                    slicing:
                      slices:
                        namenszusatz:
                          match: {}
                          schema:
                            index: 11
                            elements:
                              url:
                                pattern: {type: Uri, value: 'http://fhir.de/StructureDefinition/humanname-namenszusatz|0.9.11'}
                                index: 12
                              value:
                                maxLength: 20
                                choices: []
                                index: 14
                        nachname:
                          match: {}
                          schema:
                            index: 15
                            elements:
                              value:
                                choices: []
                                index: 17
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 45
                                        choices: []
                                        index: 19
                        vorsatzwort:
                          match: {}
                          schema:
                            index: 20
                            elements:
                              value:
                                choices: []
                                index: 22
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 20
                                        choices: []
                                        index: 24
              given: {maxLength: 45, index: 25}
              prefix:
                maxLength: 20
                index: 26
                extensions:
                  prefix-qualifier:
                    url: null
                    _required: true
                    index: 27
                    elements:
                      value:
                        choices: []
                        index: 29
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                pattern: {type: Code, value: AC}
                                choices: []
                                _required: true
                                index: 31
                              min: 1
                elements:
                  extension:
                    index: 27
                    slicing:
                      slices:
                        prefix-qualifier:
                          match: {}
                          schema:
                            _required: true
                            index: 27
                            elements:
                              value:
                                choices: []
                                index: 29
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueCode:
                                      match: {}
                                      schema:
                                        pattern: {type: Code, value: AC}
                                        choices: []
                                        _required: true
                                        index: 31
                                      min: 1
                required: [extension]
              suffix: {index: 32}
            required: [family, use]
        geburtsname:
          match: {use: maiden}
          schema:
            type: HumanName
            index: 33
            elements:
              use:
                pattern: {type: Code, value: maiden}
                index: 34
              family:
                index: 35
                extensions:
                  namenszusatz:
                    url: null
                    index: 36
                    elements:
                      url:
                        pattern: {type: Uri, value: 'http://fhir.de/StructureDefinition/humanname-namenszusatz|0.9.11'}
                        index: 37
                      value:
                        maxLength: 20
                        choices: []
                        index: 39
                  nachname:
                    url: null
                    index: 40
                    elements:
                      value:
                        choices: []
                        index: 42
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 20
                                choices: []
                                index: 44
                  vorsatzwort:
                    url: null
                    index: 45
                    elements:
                      value:
                        choices: []
                        index: 47
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 20
                                choices: []
                                index: 49
                elements:
                  extension:
                    index: 36
                    slicing:
                      slices:
                        namenszusatz:
                          match: {}
                          schema:
                            index: 36
                            elements:
                              url:
                                pattern: {type: Uri, value: 'http://fhir.de/StructureDefinition/humanname-namenszusatz|0.9.11'}
                                index: 37
                              value:
                                maxLength: 20
                                choices: []
                                index: 39
                        nachname:
                          match: {}
                          schema:
                            index: 40
                            elements:
                              value:
                                choices: []
                                index: 42
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 20
                                        choices: []
                                        index: 44
                        vorsatzwort:
                          match: {}
                          schema:
                            index: 45
                            elements:
                              value:
                                choices: []
                                index: 47
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 20
                                        choices: []
                                        index: 49
              given: {index: 50}
              prefix: {index: 51}
              suffix: {index: 52}
            required: [family, use]
  telecom:
    elements:
      system: {index: 53}
      value: {index: 54}
    required: [value, system]
  address:
    index: 55
    slicing:
      rules: open
      discriminator:
      - {path: type, type: value}
      min: null
      slices:
        Strassenanschrift:
          match: {type: both}
          schema:
            type: Address
            index: 56
            elements:
              type:
                pattern: {type: Code, value: both}
                index: 57
              line:
                array: true
                max: 2
                index: 58
                extensions:
                  Strasse:
                    url: null
                    index: 59
                    elements:
                      value:
                        choices: []
                        index: 61
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 46
                                choices: []
                                index: 63
                  Hausnummer:
                    url: null
                    index: 64
                    elements:
                      value:
                        choices: []
                        index: 66
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 9
                                choices: []
                                index: 68
                  Adresszusatz:
                    url: null
                    index: 69
                    elements:
                      value:
                        choices: []
                        index: 71
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 40
                                choices: []
                                index: 73
                  Postfach: {url: null, max: 0, index: 74}
                elements:
                  extension:
                    index: 59
                    slicing:
                      slices:
                        Strasse:
                          match: {}
                          schema:
                            index: 59
                            elements:
                              value:
                                choices: []
                                index: 61
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 46
                                        choices: []
                                        index: 63
                        Hausnummer:
                          match: {}
                          schema:
                            index: 64
                            elements:
                              value:
                                choices: []
                                index: 66
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 9
                                        choices: []
                                        index: 68
                        Adresszusatz:
                          match: {}
                          schema:
                            index: 69
                            elements:
                              value:
                                choices: []
                                index: 71
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 40
                                        choices: []
                                        index: 73
                        Postfach:
                          match: {}
                          schema: {index: 74}
                          max: 0
              city: {maxLength: 40, index: 75}
              postalCode: {maxLength: 10, index: 76}
              country:
                binding: {strength: extensible, valueSet: 'https://fhir.kbv.de/ValueSet/KBV_VS_BASE_GemRS_Anlage_8'}
                index: 77
            required: [type]
        Postfach:
          match: {type: postal}
          schema:
            type: Address
            index: 78
            elements:
              type:
                pattern: {type: Code, value: postal}
                index: 79
              line:
                array: true
                max: 2
                index: 80
                extensions:
                  Strasse: {url: null, max: 0, index: 81}
                  Hausnummer: {url: null, max: 0, index: 82}
                  Adresszusatz: {url: null, max: 0, index: 83}
                  Postfach:
                    url: null
                    _required: true
                    index: 84
                    elements:
                      value:
                        choices: []
                        index: 86
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 8
                                choices: []
                                index: 88
                elements:
                  extension:
                    index: 81
                    slicing:
                      slices:
                        Strasse:
                          match: {}
                          schema: {index: 81}
                          max: 0
                        Hausnummer:
                          match: {}
                          schema: {index: 82}
                          max: 0
                        Adresszusatz:
                          match: {}
                          schema: {index: 83}
                          max: 0
                        Postfach:
                          match: {}
                          schema:
                            _required: true
                            index: 84
                            elements:
                              value:
                                choices: []
                                index: 86
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 8
                                        choices: []
                                        index: 88
              city: {maxLength: 40, index: 89}
              postalCode: {maxLength: 10, index: 90}
              country:
                binding: {strength: extensible, valueSet: 'https://fhir.kbv.de/ValueSet/KBV_VS_BASE_GemRS_Anlage_8'}
                index: 91
            required: [type]
  gender:
    extensions:
      other-amtlich: {url: 'http://fhir.de/StructureDefinition/gender-amtlich-de|0.9.11', max: 1, type: Extension, index: 93}
    elements:
      extension:
        index: 92
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            other-amtlich:
              match: {url: null}
              schema: {type: Extension, url: 'http://fhir.de/StructureDefinition/gender-amtlich-de|0.9.11', index: 93}
              max: 1
  birthDate:
    extensions:
      data-absent-reason:
        url: http://hl7.org/fhir/StructureDefinition/data-absent-reason
        type: Extension
        index: 95
        elements:
          value:
            choices: []
            index: 97
    elements:
      extension:
        index: 94
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            data-absent-reason:
              match: {url: null}
              schema:
                type: Extension
                url: http://hl7.org/fhir/StructureDefinition/data-absent-reason
                index: 95
                elements:
                  value:
                    choices: []
                    index: 97
  qualification:
    elements:
      code:
        binding: {strength: preferred, valueSet: 'https://fhir.kbv.de/ValueSet/KBV_VS_Base_Practitioner_Speciality'}
        index: 98
        elements:
          coding:
            elements:
              display:
                extensions:
                  snomed_CT:
                    url: https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Snomed_CT_German
                    type: Extension
                    index: 100
                    extensions:
                      content:
                        url: null
                        index: 101
                        elements:
                          valueString:
                            index: 102
                            slicing:
                              slices:
                                valueString:
                                  match: {}
                                  schema: {index: 102}
                    elements:
                      extension:
                        index: 101
                        slicing:
                          slices:
                            content:
                              match: {}
                              schema:
                                index: 101
                                elements:
                                  valueString:
                                    index: 102
                                    slicing:
                                      slices:
                                        valueString:
                                          match: {}
                                          schema: {index: 102}
                elements:
                  extension:
                    index: 99
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        snomed_CT:
                          match: {url: null}
                          schema:
                            type: Extension
                            url: https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Snomed_CT_German
                            index: 100
                            extensions:
                              content:
                                url: null
                                index: 101
                                elements:
                                  valueString:
                                    index: 102
                                    slicing:
                                      slices:
                                        valueString:
                                          match: {}
                                          schema: {index: 102}
                            elements:
                              extension:
                                index: 101
                                slicing:
                                  slices:
                                    content:
                                      match: {}
                                      schema:
                                        index: 101
                                        elements:
                                          valueString:
                                            index: 102
                                            slicing:
                                              slices:
                                                valueString:
                                                  match: {}
                                                  schema: {index: 102}
package_version: 1.0.4
extensions:
  ergaenzende_Angaben: {url: 'https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Additional_Comment', max: 1, type: Extension, index: 1}
class: profile
kind: resource
url: https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Practitioner
base: http://hl7.org/fhir/StructureDefinition/Practitioner
version: 1.0.4
required: [name]