PackagesCanonicalsLogsProblems
    Packages
    kbv.mio.diga@1.0.0-festlegung
    https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_DIGA_RelatedPerson
description: Dieses Profil bildet eine Kontaktperson ab.
package_name: kbv.mio.diga
derivation: constraint
name: KBV_PR_MIO_DIGA_RelatedPerson
type: RelatedPerson
elements:
  patient:
    type: Reference
    mustSupport: true
    refers: ['https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_DIGA_Patient|1.0.0']
    index: 27
    elements:
      reference: {mustSupport: true, index: 28}
      type: {index: 29}
      identifier: {index: 30}
      display: {index: 31}
    required: [reference]
  address:
    mustSupport: true
    index: 79
    slicing:
      rules: closed
      discriminator:
      - {path: type, type: value}
      min: null
      slices:
        Postfach:
          match: {type: postal}
          schema:
            type: Address
            mustSupport: true
            index: 80
            extensions:
              Stadtteil:
                url: null
                mustSupport: true
                index: 82
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 84
                    slicing:
                      rules: open
                      discriminator:
                      - {path: $this, type: type}
                      min: null
                      slices:
                        valueString:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 86
            elements:
              use: {index: 87}
              city: {mustSupport: true, index: 99}
              type:
                pattern: {type: Code, value: postal}
                index: 88
              state: {index: 100}
              extension:
                index: 81
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: 0
                  slices:
                    Stadtteil:
                      match: {url: null}
                      schema:
                        mustSupport: true
                        index: 82
                        elements:
                          value:
                            mustSupport: true
                            choices: []
                            index: 84
                            slicing:
                              rules: open
                              discriminator:
                              - {path: $this, type: type}
                              min: null
                              slices:
                                valueString:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: []
                                    index: 86
              line:
                mustSupport: true
                array: true
                max: 2
                index: 89
                extensions:
                  Strasse: {url: null, min: 0, max: 0, index: 91}
                  Hausnummer: {url: null, min: 0, max: 0, index: 92}
                  Adresszusatz: {url: null, min: 0, max: 0, index: 93}
                  Postfach:
                    url: null
                    mustSupport: true
                    _required: true
                    index: 94
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 96
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                mustSupport: true
                                choices: []
                                index: 98
                elements:
                  extension:
                    index: 90
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: 1
                      slices:
                        Strasse:
                          match: {url: null}
                          schema: {index: 91}
                          min: 0
                          max: 0
                        Hausnummer:
                          match: {url: null}
                          schema: {index: 92}
                          min: 0
                          max: 0
                        Adresszusatz:
                          match: {url: null}
                          schema: {index: 93}
                          min: 0
                          max: 0
                        Postfach:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            _required: true
                            index: 94
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 96
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        mustSupport: true
                                        choices: []
                                        index: 98
                required: [extension]
              postalCode: {mustSupport: true, index: 101}
              period: {index: 103}
              country: {mustSupport: true, index: 102}
            required: [type]
        Strassenanschrift:
          match: {type: both}
          schema:
            type: Address
            mustSupport: true
            index: 104
            extensions:
              Stadtteil:
                url: null
                mustSupport: true
                index: 106
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 108
                    slicing:
                      rules: closed
                      discriminator:
                      - {path: $this, type: type}
                      min: null
                      slices:
                        valueString:
                          match: {}
                          schema:
                            mustSupport: true
                            choices: []
                            index: 110
            elements:
              use: {index: 111}
              city: {mustSupport: true, index: 131}
              type:
                pattern: {type: Code, value: both}
                index: 112
              state: {index: 132}
              extension:
                index: 105
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    Stadtteil:
                      match: {url: null}
                      schema:
                        mustSupport: true
                        index: 106
                        elements:
                          value:
                            mustSupport: true
                            choices: []
                            index: 108
                            slicing:
                              rules: closed
                              discriminator:
                              - {path: $this, type: type}
                              min: null
                              slices:
                                valueString:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    choices: []
                                    index: 110
              line:
                mustSupport: true
                array: true
                max: 2
                index: 113
                extensions:
                  Strasse:
                    url: null
                    mustSupport: true
                    index: 115
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 117
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                mustSupport: true
                                choices: []
                                _required: true
                                index: 119
                              min: 1
                  Hausnummer:
                    url: null
                    mustSupport: true
                    index: 120
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 122
                        slicing:
                          rules: closed
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                mustSupport: true
                                choices: []
                                _required: true
                                index: 124
                              min: 1
                  Adresszusatz:
                    url: null
                    mustSupport: true
                    index: 125
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 127
                        slicing:
                          rules: open
                          discriminator:
                          - {path: $this, type: type}
                          min: null
                          slices:
                            valueString:
                              match: {}
                              schema:
                                mustSupport: true
                                choices: []
                                _required: true
                                index: 129
                              min: 1
                  Postfach: {url: null, min: 0, max: 0, index: 130}
                elements:
                  extension:
                    index: 114
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        Strasse:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            index: 115
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 117
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        mustSupport: true
                                        choices: []
                                        _required: true
                                        index: 119
                                      min: 1
                        Hausnummer:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            index: 120
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 122
                                slicing:
                                  rules: closed
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        mustSupport: true
                                        choices: []
                                        _required: true
                                        index: 124
                                      min: 1
                        Adresszusatz:
                          match: {url: null}
                          schema:
                            mustSupport: true
                            index: 125
                            elements:
                              value:
                                mustSupport: true
                                choices: []
                                index: 127
                                slicing:
                                  rules: open
                                  discriminator:
                                  - {path: $this, type: type}
                                  min: null
                                  slices:
                                    valueString:
                                      match: {}
                                      schema:
                                        mustSupport: true
                                        choices: []
                                        _required: true
                                        index: 129
                                      min: 1
                        Postfach:
                          match: {url: null}
                          schema: {index: 130}
                          min: 0
                          max: 0
              postalCode: {mustSupport: true, index: 133}
              period: {index: 135}
              country: {mustSupport: true, index: 134}
            required: [city, postalCode, type]
  meta:
    index: 0
    elements:
      versionId: {index: 1}
      lastUpdated: {index: 2}
      source: {index: 3}
      profile:
        pattern: {type: Canonical, value: 'https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_DIGA_RelatedPerson|1.0.0'}
        index: 4
      security: {index: 5}
      tag: {index: 6}
    required: [lastUpdated, versionId, profile]
  name:
    type: HumanName
    mustSupport: true
    index: 40
    elements:
      use: {index: 41}
      family:
        mustSupport: true
        index: 42
        extensions:
          namenszusatz:
            url: null
            mustSupport: true
            index: 44
            elements:
              value:
                mustSupport: true
                choices: []
                index: 46
              valueString:
                mustSupport: true
                index: 47
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {mustSupport: true, _required: true, index: 47}
                      min: 1
            required: [valueString, value]
          nachname:
            url: null
            mustSupport: true
            _required: true
            index: 48
            elements:
              value:
                mustSupport: true
                choices: []
                index: 50
              valueString:
                mustSupport: true
                index: 51
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {mustSupport: true, _required: true, index: 51}
                      min: 1
            required: [valueString]
          vorsatzwort:
            url: null
            mustSupport: true
            index: 52
            elements:
              value:
                mustSupport: true
                choices: []
                index: 54
              valueString:
                mustSupport: true
                index: 55
                slicing:
                  slices:
                    valueString:
                      match: {}
                      schema: {mustSupport: true, _required: true, index: 55}
                      min: 1
            required: [valueString]
        elements:
          extension:
            index: 43
            slicing:
              rules: open
              discriminator:
              - {path: url, type: value}
              min: 1
              slices:
                namenszusatz:
                  match: {url: null}
                  schema:
                    mustSupport: true
                    index: 44
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 46
                      valueString:
                        mustSupport: true
                        index: 47
                        slicing:
                          slices:
                            valueString:
                              match: {}
                              schema: {mustSupport: true, _required: true, index: 47}
                              min: 1
                    required: [valueString, value]
                nachname:
                  match: {url: null}
                  schema:
                    mustSupport: true
                    _required: true
                    index: 48
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 50
                      valueString:
                        mustSupport: true
                        index: 51
                        slicing:
                          slices:
                            valueString:
                              match: {}
                              schema: {mustSupport: true, _required: true, index: 51}
                              min: 1
                    required: [valueString]
                vorsatzwort:
                  match: {url: null}
                  schema:
                    mustSupport: true
                    index: 52
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 54
                      valueString:
                        mustSupport: true
                        index: 55
                        slicing:
                          slices:
                            valueString:
                              match: {}
                              schema: {mustSupport: true, _required: true, index: 55}
                              min: 1
                    required: [valueString]
        required: [extension]
      given: {mustSupport: true, index: 56}
      prefix:
        mustSupport: true
        index: 57
        extensions:
          prefix-qualifier:
            url: null
            mustSupport: true
            _required: true
            index: 58
            elements:
              value:
                mustSupport: true
                choices: []
                index: 60
                slicing:
                  slices:
                    valueCode:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: []
                        _required: true
                        index: 60
                      min: 1
            required: [value]
        elements:
          extension:
            mustSupport: true
            index: 58
            slicing:
              slices:
                prefix-qualifier:
                  match: {}
                  schema:
                    mustSupport: true
                    _required: true
                    index: 58
                    elements:
                      value:
                        mustSupport: true
                        choices: []
                        index: 60
                        slicing:
                          slices:
                            valueCode:
                              match: {}
                              schema:
                                mustSupport: true
                                choices: []
                                _required: true
                                index: 60
                              min: 1
                    required: [value]
        required: [extension]
      suffix: {index: 61}
      period: {index: 62}
    required: [given, family]
  implicitRules: {index: 7}
  birthDate: {index: 78}
  relationship:
    mustSupport: true
    index: 32
    elements:
      coding:
        mustSupport: true
        index: 33
        elements:
          system: {index: 34}
          version: {index: 35}
          code: {index: 36}
          display: {index: 37}
          userSelected: {index: 38}
        required: [version, display, system, code]
      text: {mustSupport: true, index: 39}
  contained: {index: 11}
  photo: {index: 136}
  language: {index: 8}
  active: {index: 26}
  communication: {index: 138}
  identifier:
    mustSupport: true
    index: 12
    elements:
      use: {index: 13}
      type:
        pattern:
          type: CodeableConcept
          value:
            coding:
            - {code: RI, system: 'http://terminology.hl7.org/CodeSystem/v2-0203', display: Resource identifier, version: '2.9'}
        index: 14
        elements:
          coding:
            index: 15
            elements:
              system: {index: 16}
              version: {index: 17}
              code: {index: 18}
              display: {index: 19}
              userSelected: {index: 20}
            required: [version, display, system, code]
          text: {index: 21}
        required: [coding]
      system:
        pattern: {type: Uri, value: 'urn:ietf:rfc:3986'}
        mustSupport: true
        index: 22
      value: {mustSupport: true, index: 23}
      period: {index: 24}
      assigner: {index: 25}
    required: [value, type, system]
  telecom:
    mustSupport: true
    index: 63
    elements:
      system:
        mustSupport: true
        index: 64
        extensions:
          anzeigenameSystem:
            url: https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Terminology_German
            type: Extension
            mustSupport: true
            index: 66
            extensions:
              content:
                url: null
                _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:
                            mustSupport: true
                            choices: []
                            index: 72
            elements:
              extension:
                index: 67
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    content:
                      match: {url: null}
                      schema:
                        _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:
                                    mustSupport: true
                                    choices: []
                                    index: 72
            required: [extension]
        elements:
          extension:
            index: 65
            slicing:
              rules: open
              discriminator:
              - {path: url, type: value}
              min: 1
              slices:
                anzeigenameSystem:
                  match: {url: null}
                  schema:
                    type: Extension
                    mustSupport: true
                    url: https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Terminology_German
                    index: 66
                    extensions:
                      content:
                        url: null
                        _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:
                                    mustSupport: true
                                    choices: []
                                    index: 72
                    elements:
                      extension:
                        index: 67
                        slicing:
                          rules: open
                          discriminator:
                          - {path: url, type: value}
                          min: 1
                          slices:
                            content:
                              match: {url: null}
                              schema:
                                _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:
                                            mustSupport: true
                                            choices: []
                                            index: 72
                    required: [extension]
        required: [extension]
      value: {mustSupport: true, index: 73}
      use: {index: 74}
      rank: {index: 75}
      period: {index: 76}
    required: [value, system]
  gender: {index: 77}
  period: {index: 137}
  text:
    index: 9
    elements:
      status:
        pattern: {type: Code, value: extensions}
        index: 10
package_version: 1.0.0-festlegung
class: profile
kind: resource
url: https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_DIGA_RelatedPerson
base: http://hl7.org/fhir/StructureDefinition/RelatedPerson
version: 1.0.0
required: [identifier, meta]