PackagesCanonicalsLogsProblems
    Packages
    KBV.Basis@1.1.2
    https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Patient
description: null
package_name: KBV.Basis
derivation: constraint
name: KBV_PR_Base_Patient
type: Patient
elements:
  identifier:
    index: 0
    slicing:
      rules: closed
      discriminator:
      - {path: type.coding.code, type: value}
      min: null
      slices:
        pid:
          match:
            type:
              coding: {code: MR}
          schema:
            type: Identifier
            index: 1
            elements:
              type:
                elements:
                  coding:
                    index: 2
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                        index: 3
                      code:
                        pattern: {type: Code, value: MR}
                        index: 4
                    required: [system, code]
                required: [coding]
        versichertenId_GKV:
          match:
            type:
              coding: {code: GKV}
          schema:
            type: Identifier
            index: 5
            elements:
              type:
                index: 6
                elements:
                  coding:
                    index: 7
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://fhir.de/CodeSystem/identifier-type-de-basis'}
                        index: 8
                      code:
                        pattern: {type: Code, value: GKV}
                        index: 9
                    required: [system, code]
                required: [coding]
            required: [type]
        versichertennummer_pkv:
          match:
            type:
              coding: {code: PKV}
          schema:
            type: Identifier
            index: 10
            elements:
              type:
                index: 11
                elements:
                  coding:
                    index: 12
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://fhir.de/CodeSystem/identifier-type-de-basis'}
                        index: 13
                      code:
                        pattern: {type: Code, value: PKV}
                        index: 14
                    required: [system, code]
                required: [coding]
              assigner:
                elements:
                  identifier:
                    elements:
                      type:
                        elements:
                          coding: {index: 15}
                        required: [coding]
            required: [type]
        reisepassnummer:
          match:
            type:
              coding: {code: PPN}
          schema:
            index: 16
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: PPN, system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                index: 17
                elements:
                  coding:
                    index: 18
                    elements:
                      system:
                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                        index: 19
                      code:
                        pattern: {type: Code, value: PPN}
                        index: 20
                    required: [system, code]
                required: [coding]
              value: {index: 21}
            required: [value, type]
        versichertennummer_kvk:
          match:
            type:
              coding: {code: kvk}
          schema:
            index: 22
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: kvk, system: 'https://fhir.kbv.de/CodeSystem/KBV_CS_Base_identifier_type'}
                index: 23
                elements:
                  coding:
                    index: 24
                    elements:
                      system:
                        pattern: {type: Uri, value: 'https://fhir.kbv.de/CodeSystem/KBV_CS_Base_identifier_type'}
                        index: 25
                      code:
                        pattern: {type: Code, value: kvk}
                        index: 26
                    required: [system, code]
                required: [coding]
              system:
                pattern: {type: Uri, value: 'http://fhir.de/NamingSystem/gkv/kvk-versichertennummer'}
                index: 27
              value: {index: 28}
            required: [value, type, system]
  name:
    index: 29
    slicing:
      rules: open
      discriminator:
      - {path: use, type: value}
      min: 1
      slices:
        name:
          match: {use: official}
          schema:
            type: HumanName
            index: 30
            elements:
              use:
                pattern: {type: Code, value: official}
                index: 31
              family:
                index: 32
                extensions:
                  namenszusatz:
                    url: null
                    index: 34
                    elements:
                      value:
                        choices: []
                        index: 36
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: 1
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 20
                                choices: []
                                index: 38
                    required: [value]
                  nachname:
                    url: null
                    index: 39
                    elements:
                      value:
                        choices: []
                        index: 41
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 45
                                choices: []
                                index: 43
                  vorsatzwort:
                    url: null
                    index: 44
                    elements:
                      value:
                        choices: []
                        index: 46
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 20
                                choices: []
                                index: 48
                elements:
                  extension:
                    index: 33
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        namenszusatz:
                          match: {url: null}
                          schema:
                            index: 34
                            elements:
                              value:
                                choices: []
                                index: 36
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: 1
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 20
                                        choices: []
                                        index: 38
                            required: [value]
                        nachname:
                          match: {url: null}
                          schema:
                            index: 39
                            elements:
                              value:
                                choices: []
                                index: 41
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 45
                                        choices: []
                                        index: 43
                        vorsatzwort:
                          match: {url: null}
                          schema:
                            index: 44
                            elements:
                              value:
                                choices: []
                                index: 46
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 20
                                        choices: []
                                        index: 48
              given: {maxLength: 45, index: 49}
              prefix:
                maxLength: 20
                index: 50
                extensions:
                  prefix-qualifier:
                    url: null
                    _required: true
                    index: 52
                    elements:
                      value:
                        choices: []
                        index: 54
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                pattern: {type: Code, value: AC}
                                choices: []
                                index: 56
                elements:
                  extension:
                    index: 51
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        prefix-qualifier:
                          match: {url: null}
                          schema:
                            _required: true
                            index: 52
                            elements:
                              value:
                                choices: []
                                index: 54
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueCode:
                                      match: {}
                                      schema:
                                        pattern: {type: Code, value: AC}
                                        choices: []
                                        index: 56
              suffix: {index: 57}
            required: [given, family, use]
        geburtsname:
          match: {use: maiden}
          schema:
            type: HumanName
            index: 58
            elements:
              use:
                pattern: {type: Code, value: maiden}
                index: 59
              family:
                index: 60
                extensions:
                  namenszusatz:
                    url: null
                    index: 62
                    elements:
                      value:
                        choices: []
                        index: 64
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: 1
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 20
                                choices: []
                                index: 66
                    required: [value]
                  nachname:
                    url: null
                    index: 67
                    elements:
                      value:
                        choices: []
                        index: 69
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 45
                                choices: []
                                index: 71
                  vorsatzwort:
                    url: null
                    index: 72
                    elements:
                      value:
                        choices: []
                        index: 74
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 20
                                choices: []
                                index: 76
                elements:
                  extension:
                    index: 61
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        namenszusatz:
                          match: {url: null}
                          schema:
                            index: 62
                            elements:
                              value:
                                choices: []
                                index: 64
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: 1
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 20
                                        choices: []
                                        index: 66
                            required: [value]
                        nachname:
                          match: {url: null}
                          schema:
                            index: 67
                            elements:
                              value:
                                choices: []
                                index: 69
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 45
                                        choices: []
                                        index: 71
                        vorsatzwort:
                          match: {url: null}
                          schema:
                            index: 72
                            elements:
                              value:
                                choices: []
                                index: 74
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 20
                                        choices: []
                                        index: 76
              given: {index: 77}
              prefix: {index: 78}
              suffix: {index: 79}
            required: [family, use]
  telecom:
    elements:
      system: {index: 80}
      value: {index: 81}
    required: [value, system]
  gender:
    index: 82
    extensions:
      other-amtlich: {url: 'http://fhir.de/StructureDefinition/gender-amtlich-de|0.9.13', max: 1, type: Extension, index: 84}
    elements:
      extension:
        index: 83
        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.13', index: 84}
              max: 1
  birthDate:
    index: 85
    extensions:
      data-absent-reason:
        url: http://hl7.org/fhir/StructureDefinition/data-absent-reason
        type: Extension
        index: 87
        elements:
          value:
            choices: []
            index: 89
            slicing:
              rules: open
              discriminator:
              - {path: $this, type: type}
              min: null
              slices:
                valueCode:
                  match: {}
                  schema:
                    pattern: {type: Code, value: unknown}
                    choices: []
                    index: 91
    elements:
      extension:
        index: 86
        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: 87
                elements:
                  value:
                    choices: []
                    index: 89
                    slicing:
                      rules: open
                      discriminator:
                      - {path: $this, type: type}
                      min: null
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            pattern: {type: Code, value: unknown}
                            choices: []
                            index: 91
  address:
    index: 92
    slicing:
      rules: open
      discriminator:
      - {path: type, type: value}
      min: null
      slices:
        Strassenanschrift:
          match: {type: both}
          schema:
            type: Address
            index: 93
            extensions:
              Stadtteil: {url: null, short: In diesem Element soll der Stadt- oder Ortsteil meistens eines Stadtstaates dokumentiert werden., index: 95}
            elements:
              extension:
                index: 94
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    Stadtteil:
                      match: {url: null}
                      schema: {short: In diesem Element soll der Stadt- oder Ortsteil meistens eines Stadtstaates dokumentiert werden., index: 95}
              type:
                pattern: {type: Code, value: both}
                index: 96
              line:
                array: true
                max: 2
                index: 97
                extensions:
                  Strasse:
                    url: null
                    index: 99
                    elements:
                      value:
                        maxLength: 46
                        choices: []
                        index: 101
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 46
                                choices: []
                                index: 103
                  Hausnummer:
                    url: null
                    index: 104
                    elements:
                      value:
                        maxLength: 9
                        choices: []
                        index: 106
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 9
                                choices: []
                                index: 108
                  Adresszusatz:
                    url: null
                    index: 109
                    elements:
                      value:
                        choices: []
                        index: 111
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 40
                                choices: []
                                index: 113
                  Postfach: {url: null, max: 0, index: 114}
                elements:
                  extension:
                    index: 98
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        Strasse:
                          match: {url: null}
                          schema:
                            index: 99
                            elements:
                              value:
                                maxLength: 46
                                choices: []
                                index: 101
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 46
                                        choices: []
                                        index: 103
                        Hausnummer:
                          match: {url: null}
                          schema:
                            index: 104
                            elements:
                              value:
                                maxLength: 9
                                choices: []
                                index: 106
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 9
                                        choices: []
                                        index: 108
                        Adresszusatz:
                          match: {url: null}
                          schema:
                            index: 109
                            elements:
                              value:
                                choices: []
                                index: 111
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 40
                                        choices: []
                                        index: 113
                        Postfach:
                          match: {url: null}
                          schema: {index: 114}
                          max: 0
              city: {maxLength: 40, index: 115}
              postalCode: {maxLength: 10, index: 116}
              country:
                binding: {strength: extensible, valueSet: 'https://fhir.kbv.de/ValueSet/KBV_VS_BASE_GemRS_Anlage_8'}
                maxLength: 3
                index: 117
            required: [type]
        Postfach:
          match: {type: postal}
          schema:
            type: Address
            index: 118
            extensions:
              Stadtteil: {url: null, short: In diesem Element soll der Stadt- oder Ortsteil meistens eines Stadtstaates dokumentiert werden., index: 120}
            elements:
              extension:
                index: 119
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    Stadtteil:
                      match: {url: null}
                      schema: {short: In diesem Element soll der Stadt- oder Ortsteil meistens eines Stadtstaates dokumentiert werden., index: 120}
              type:
                pattern: {type: Code, value: postal}
                index: 121
              line:
                array: true
                max: 2
                index: 122
                extensions:
                  Strasse: {url: null, max: 0, index: 124}
                  Hausnummer: {url: null, max: 0, index: 125}
                  Adresszusatz: {url: null, max: 0, index: 126}
                  Postfach:
                    url: null
                    _required: true
                    index: 127
                    elements:
                      value:
                        choices: []
                        index: 129
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 8
                                choices: []
                                index: 131
                elements:
                  extension:
                    index: 123
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        Strasse:
                          match: {url: null}
                          schema: {index: 124}
                          max: 0
                        Hausnummer:
                          match: {url: null}
                          schema: {index: 125}
                          max: 0
                        Adresszusatz:
                          match: {url: null}
                          schema: {index: 126}
                          max: 0
                        Postfach:
                          match: {url: null}
                          schema:
                            _required: true
                            index: 127
                            elements:
                              value:
                                choices: []
                                index: 129
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 8
                                        choices: []
                                        index: 131
              city: {maxLength: 40, index: 132}
              postalCode: {maxLength: 10, index: 133}
              country:
                binding: {strength: extensible, valueSet: 'https://fhir.kbv.de/ValueSet/KBV_VS_BASE_GemRS_Anlage_8'}
                maxLength: 3
                index: 134
            required: [type]
  contact:
    elements:
      address:
        elements:
          country:
            short: Staat
            binding: {strength: extensible, valueSet: 'https://fhir.kbv.de/ValueSet/KBV_VS_BASE_GemRS_Anlage_8'}
            index: 135
  communication: {short: Bevorzugte Sprache, index: 136}
package_version: 1.1.2
class: profile
kind: resource
url: https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Patient
base: http://hl7.org/fhir/StructureDefinition/Patient
version: 1.1.2
required: [name, birthDate]