PackagesCanonicalsLogsProblems
    Packages
    kbv.itv.evdga@1.0.0-cc
    https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient
description: null
package_name: kbv.itv.evdga
derivation: constraint
name: KBV_PR_FOR_Patient
type: Patient
elements:
  address:
    mustSupport: true
    index: 100
    slicing:
      rules: closed
      discriminator:
      - {path: type, type: value}
      min: 1
      max: 1
      slices:
        Strassenanschrift:
          match: {type: null}
          schema:
            mustSupport: true
            index: 101
            extensions:
              Stadtteil: {url: null, max: 0, index: 103}
            elements:
              use: {index: 104}
              city: {maxLength: 40, mustSupport: true, index: 124}
              type: {mustSupport: true, index: 105}
              state: {index: 125}
              extension:
                index: 102
                slicing:
                  rules: closed
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    Stadtteil:
                      match: {url: null}
                      schema: {index: 103}
                      max: 0
              line:
                mustSupport: true
                array: true
                max: 2
                index: 107
                extensions:
                  Strasse:
                    url: null
                    mustSupport: true
                    index: 109
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 111
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 46
                                mustSupport: true
                                choices: []
                                index: 113
                  Hausnummer:
                    url: null
                    mustSupport: true
                    index: 114
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 116
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 9
                                mustSupport: true
                                choices: []
                                index: 118
                  Adresszusatz:
                    url: null
                    mustSupport: true
                    index: 119
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 121
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 40
                                mustSupport: true
                                choices: []
                                index: 123
                elements:
                  extension:
                    index: 108
                    slicing:
                      rules: closed
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        Strasse:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            index: 109
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 111
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 46
                                        mustSupport: true
                                        choices: []
                                        index: 113
                        Hausnummer:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            index: 114
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 116
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 9
                                        mustSupport: true
                                        choices: []
                                        index: 118
                        Adresszusatz:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            index: 119
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 121
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 40
                                        mustSupport: true
                                        choices: []
                                        index: 123
              postalCode: {maxLength: 10, mustSupport: true, index: 126}
              period: {index: 128}
              country: {mustSupport: true, index: 127}
              text: {index: 106}
        Postfach:
          match: {type: null}
          schema:
            mustSupport: true
            index: 129
            extensions:
              Stadtteil: {url: null, max: 0, index: 131}
            elements:
              use: {index: 132}
              city: {maxLength: 40, mustSupport: true, index: 142}
              type: {mustSupport: true, index: 133}
              state: {index: 143}
              extension:
                index: 130
                slicing:
                  rules: closed
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    Stadtteil:
                      match: {url: null}
                      schema: {index: 131}
                      max: 0
              line:
                mustSupport: true
                index: 135
                extensions:
                  Postfach:
                    url: null
                    mustSupport: true
                    _required: true
                    index: 137
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 139
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 8
                                mustSupport: true
                                choices: []
                                index: 141
                elements:
                  extension:
                    index: 136
                    slicing:
                      rules: closed
                      discriminator:
                      - {path: url, type: value}
                      min: 1
                      slices:
                        Postfach:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            _required: true
                            index: 137
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 139
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 8
                                        mustSupport: true
                                        choices: []
                                        index: 141
                required: [extension]
              postalCode: {maxLength: 10, mustSupport: true, index: 144}
              period: {index: 146}
              country: {mustSupport: true, index: 145}
              text: {index: 134}
  meta:
    mustSupport: true
    index: 1
    elements:
      versionId: {index: 2}
      lastUpdated: {index: 3}
      source: {index: 4}
      profile:
        mustSupport: true
        pattern: {type: Canonical, value: 'https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.2'}
        index: 5
      security: {index: 6}
      tag: {index: 7}
    required: [profile]
  managingOrganization: {index: 154}
  name:
    mustSupport: true
    index: 57
    slicing:
      rules: closed
      discriminator:
      - {path: use, type: value}
      min: null
      max: 1
      slices:
        name:
          match: {use: null}
          schema:
            mustSupport: true
            index: 58
            elements:
              use: {mustSupport: true, index: 59}
              text: {index: 60}
              family:
                mustSupport: true
                index: 61
                extensions:
                  namenszusatz:
                    url: null
                    mustSupport: true
                    index: 63
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 65
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: 1
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 20
                                mustSupport: true
                                choices: []
                                index: 67
                    required: [value]
                  nachname:
                    url: null
                    mustSupport: true
                    _required: true
                    index: 68
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 70
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 45
                                mustSupport: true
                                choices: []
                                index: 72
                  vorsatzwort:
                    url: null
                    mustSupport: true
                    index: 73
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 75
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                maxLength: 20
                                mustSupport: true
                                choices: []
                                index: 77
                elements:
                  extension:
                    index: 62
                    slicing:
                      rules: closed
                      discriminator:
                      - {path: url, type: value}
                      min: 1
                      slices:
                        namenszusatz:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            index: 63
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 65
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: 1
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 20
                                        mustSupport: true
                                        choices: []
                                        index: 67
                            required: [value]
                        nachname:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            _required: true
                            index: 68
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 70
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 45
                                        mustSupport: true
                                        choices: []
                                        index: 72
                        vorsatzwort:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            index: 73
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 75
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        maxLength: 20
                                        mustSupport: true
                                        choices: []
                                        index: 77
                required: [extension]
              given: {maxLength: 45, mustSupport: true, index: 78}
              prefix:
                maxLength: 20
                mustSupport: true
                index: 79
                extensions:
                  prefix-qualifier:
                    url: null
                    mustSupport: true
                    index: 81
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 83
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                mustSupport: true
                                choices: []
                                index: 85
                elements:
                  extension:
                    index: 80
                    slicing:
                      rules: closed
                      discriminator:
                      - {path: url, type: value}
                      min: 1
                      slices:
                        prefix-qualifier:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            index: 81
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 83
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueCode:
                                      match: {}
                                      schema:
                                        mustSupport: true
                                        choices: []
                                        index: 85
                required: [extension]
              suffix: {index: 86}
              period: {index: 87}
            required: [given]
        geburtsname:
          match: {use: null}
          schema: {index: 88}
          max: 0
  implicitRules: {index: 8}
  birthDate:
    mustSupport: true
    index: 91
    extensions:
      data-absent-reason:
        url: null
        mustSupport: true
        index: 93
        elements:
          value:
            mustSupport: true
            choices: []
            index: 95
            slicing:
              rules: closed
              discriminator:
              - {path: $this, type: type}
              min: null
              slices:
                valueCode:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: []
                    index: 97
    elements:
      extension:
        index: 92
        slicing:
          rules: closed
          discriminator:
          - {path: url, type: value}
          min: 0
          slices:
            data-absent-reason:
              match: {url: null}
              schema:
                mustSupport: true
                index: 93
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 95
                    slicing:
                      rules: closed
                      discriminator:
                      - {path: $this, type: type}
                      min: null
                      slices:
                        valueCode:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 97
  multipleBirth:
    choices: []
    index: 149
  deceased:
    choices: []
    index: 99
  contained: {index: 11}
  photo: {index: 150}
  language: {index: 9}
  link: {index: 155}
  active: {index: 56}
  communication: {index: 152}
  id: {mustSupport: true, index: 0}
  identifier:
    mustSupport: true
    index: 12
    slicing:
      rules: closed
      discriminator:
      - {path: type, type: pattern}
      min: null
      max: 1
      slices:
        pid:
          match: {type: null}
          schema:
            index: 13
            elements:
              system:
                pattern: {type: Uri, value: PID}
                index: 14
        versichertenId_GKV:
          match: {type: null}
          schema:
            mustSupport: true
            index: 15
            elements:
              type:
                mustSupport: true
                index: 16
                elements:
                  coding:
                    mustSupport: true
                    index: 17
                    elements:
                      system: {mustSupport: true, index: 18}
                      version: {index: 19}
                      code: {mustSupport: true, index: 20}
                      display: {index: 21}
                      userSelected: {index: 22}
                  text: {index: 23}
              system: {mustSupport: true, index: 24}
              value:
                constraint:
                  -for-LaengeVersichertenIdGKV: {human: Der unveränderliche Teil der GKV-VersichertenId muss 10-stellig sein und mit einem Großbuchstaben anfangen., severity: error, expression: 'matches(''^[A-Z][0-9]{9}$'' )'}
                mustSupport: true
                index: 25
              period: {index: 26}
              assigner: {index: 27}
        versichertennummer_pkv:
          match: {type: null}
          schema:
            index: 28
            elements:
              system:
                pattern: {type: Uri, value: VPKV}
                index: 29
        reisepassnummer:
          match: {type: null}
          schema:
            index: 30
            elements:
              system:
                pattern: {type: Uri, value: REISEPASSNUMMER}
                index: 31
        versichertennummer_kvk:
          match: {type: null}
          schema:
            mustSupport: true
            index: 32
            elements:
              type:
                mustSupport: true
                index: 33
                elements:
                  coding:
                    mustSupport: true
                    index: 34
                    elements:
                      system: {mustSupport: true, index: 35}
                      version: {index: 36}
                      code: {mustSupport: true, index: 37}
                      display: {index: 38}
                      userSelected: {index: 39}
                  text: {index: 40}
              period: {index: 41}
              assigner: {index: 42}
        versichertenId_PKV:
          match: {type: null}
          schema:
            mustSupport: true
            index: 43
            elements:
              type:
                mustSupport: true
                index: 44
                elements:
                  coding:
                    mustSupport: true
                    index: 45
                    elements:
                      system: {mustSupport: true, index: 46}
                      version: {index: 47}
                      code: {mustSupport: true, index: 48}
                      display: {index: 49}
                      userSelected: {index: 50}
                    required: [system, code]
                  text: {index: 51}
              system: {mustSupport: true, index: 52}
              value:
                constraint:
                  -for-LaengeVersichertenIdPKV: {human: Der unveränderliche Teil der PKV-VersichertenId muss 10-stellig sein und mit einem Großbuchstaben anfangen., severity: error, expression: 'matches(''^[A-Z][0-9]{9}$'' )'}
                mustSupport: true
                index: 53
              period: {index: 54}
              assigner: {index: 55}
            required: [type]
  telecom: {index: 89}
  generalPractitioner: {index: 153}
  gender: {index: 90}
  maritalStatus: {index: 147}
  contact: {index: 151}
  text: {index: 10}
package_version: 1.0.0-cc
class: profile
kind: resource
url: https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient
base: https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Patient|1.4.0
version: 1.2.0_cc
required: [id, address, meta]