PackagesCanonicalsLogsProblems
    Packages
    de.dit-connectathon.r4@0.3.0
    https://www.medizininformatik-initiative.de/fhir/core/modul-person/StructureDefinition/Patient
description: Dieses Profil beschreibt eine PatientIn in der Medizininformatik-Initiative.
package_name: de.dit-connectathon.r4
derivation: constraint
name: PatientIn
type: Patient
elements:
  address:
    mustSupport: true
    index: 79
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: 1
      max: 1
      slices:
        Strassenanschrift:
          match: {type: both}
          schema:
            type: Address
            mustSupport: true
            pattern:
              type: Address
              value: {type: both}
            index: 80
            extensions:
              Stadtteil: {url: null, mustSupport: true, index: 82}
            elements:
              extension:
                index: 81
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    Stadtteil:
                      match: {url: null}
                      schema: {mustSupport: true, index: 82}
              type:
                pattern: {type: Code, value: both}
                mustSupport: true
                index: 83
              line:
                mustSupport: true
                index: 84
                extensions:
                  Strasse: {url: null, mustSupport: true, index: 86}
                  Hausnummer: {url: null, mustSupport: true, index: 87}
                  Adresszusatz: {url: null, mustSupport: true, index: 88}
                  Postfach: {url: null, max: 0, index: 89}
                elements:
                  extension:
                    index: 85
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        Strasse:
                          match: {url: null}
                          schema: {mustSupport: true, index: 86}
                        Hausnummer:
                          match: {url: null}
                          schema: {mustSupport: true, index: 87}
                        Adresszusatz:
                          match: {url: null}
                          schema: {mustSupport: true, index: 88}
                        Postfach:
                          match: {url: null}
                          schema: {index: 89}
                          max: 0
              city:
                mustSupport: true
                index: 90
                extensions:
                  gemeindeschluessel: {url: 'http://fhir.de/StructureDefinition/destatis/ags', max: 1, type: Extension, mustSupport: true, index: 92}
                elements:
                  extension:
                    index: 91
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        gemeindeschluessel:
                          match: {url: null}
                          schema: {type: Extension, mustSupport: true, url: 'http://fhir.de/StructureDefinition/destatis/ags', index: 92}
                          max: 1
              postalCode: {mustSupport: true, index: 93}
              country:
                constraint:
                  pat-cnt-2or3-char: {human: 'The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.', source: 'https://www.medizininformatik-initiative.de/fhir/core/StructureDefinition/Patient', severity: warning, expression: 'matches(''^[A-Z]{2,3}$'')'}
                mustSupport: true
                index: 94
            required: [country, city, postalCode, line, type]
        Postfach:
          match: {type: postal}
          schema:
            type: Address
            mustSupport: true
            pattern:
              type: Address
              value: {type: postal}
            index: 95
            extensions:
              Stadtteil: {url: null, mustSupport: true, index: 97}
            elements:
              extension:
                index: 96
                slicing:
                  rules: open
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    Stadtteil:
                      match: {url: null}
                      schema: {mustSupport: true, index: 97}
              type:
                pattern: {type: Code, value: postal}
                mustSupport: true
                index: 98
              line:
                mustSupport: true
                index: 99
                extensions:
                  Strasse: {url: null, max: 0, index: 101}
                  Hausnummer: {url: null, max: 0, index: 102}
                  Adresszusatz: {url: null, max: 0, index: 103}
                  Postfach: {url: null, mustSupport: true, index: 104}
                elements:
                  extension:
                    index: 100
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        Strasse:
                          match: {url: null}
                          schema: {index: 101}
                          max: 0
                        Hausnummer:
                          match: {url: null}
                          schema: {index: 102}
                          max: 0
                        Adresszusatz:
                          match: {url: null}
                          schema: {index: 103}
                          max: 0
                        Postfach:
                          match: {url: null}
                          schema: {mustSupport: true, index: 104}
              city:
                mustSupport: true
                index: 105
                extensions:
                  gemeindeschluessel: {url: 'http://fhir.de/StructureDefinition/destatis/ags', max: 1, type: Extension, mustSupport: true, index: 107}
                elements:
                  extension:
                    index: 106
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        gemeindeschluessel:
                          match: {url: null}
                          schema: {type: Extension, mustSupport: true, url: 'http://fhir.de/StructureDefinition/destatis/ags', index: 107}
                          max: 1
              postalCode: {mustSupport: true, index: 108}
              country:
                constraint:
                  pat-cnt-2or3-char: {human: 'The content of the country element (if present) SHALL be selected EITHER from ValueSet ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2 OR MAY be selected from ISO Country Alpha-3 Value Set http://hl7.org/fhir/ValueSet/iso3166-1-3, IF the country is not specified in value Set ISO Country Alpha-2 http://hl7.org/fhir/ValueSet/iso3166-1-2.', source: 'https://www.medizininformatik-initiative.de/fhir/core/StructureDefinition/Patient', severity: warning, expression: 'matches(''^[A-Z]{2,3}$'')'}
                mustSupport: true
                index: 109
            required: [country, city, postalCode, line, type]
  meta:
    mustSupport: true
    index: 1
    elements:
      source: {mustSupport: true, index: 2}
      profile: {mustSupport: true, index: 3}
  name:
    mustSupport: true
    index: 48
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: 1
      slices:
        name:
          match: {use: official}
          schema:
            type: HumanName
            mustSupport: true
            pattern:
              type: HumanName
              value: {use: official}
            _required: true
            index: 49
            elements:
              use:
                pattern: {type: Code, value: official}
                mustSupport: true
                index: 50
              family:
                mustSupport: true
                index: 51
                extensions:
                  namenszusatz: {url: null, mustSupport: true, index: 53}
                  nachname: {url: null, mustSupport: true, index: 54}
                  vorsatzwort: {url: null, mustSupport: true, index: 55}
                elements:
                  extension:
                    index: 52
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        namenszusatz:
                          match: {url: null}
                          schema: {mustSupport: true, index: 53}
                        nachname:
                          match: {url: null}
                          schema: {mustSupport: true, index: 54}
                        vorsatzwort:
                          match: {url: null}
                          schema: {mustSupport: true, index: 55}
              given: {mustSupport: true, index: 56}
              prefix:
                mustSupport: true
                index: 57
                extensions:
                  prefix-qualifier: {url: null, max: 1, mustSupport: true, index: 59}
                elements:
                  extension:
                    index: 58
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        prefix-qualifier:
                          match: {url: null}
                          schema: {mustSupport: true, index: 59}
                          max: 1
            required: [given, family, use]
        geburtsname:
          match: {use: maiden}
          schema:
            type: HumanName
            mustSupport: true
            pattern:
              type: HumanName
              value: {use: maiden}
            index: 60
            elements:
              use:
                pattern: {type: Code, value: maiden}
                mustSupport: true
                index: 61
              family:
                mustSupport: true
                index: 62
                extensions:
                  namenszusatz: {url: null, mustSupport: true, index: 64}
                  nachname: {url: null, mustSupport: true, index: 65}
                  vorsatzwort: {url: null, mustSupport: true, index: 66}
                elements:
                  extension:
                    index: 63
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        namenszusatz:
                          match: {url: null}
                          schema: {mustSupport: true, index: 64}
                        nachname:
                          match: {url: null}
                          schema: {mustSupport: true, index: 65}
                        vorsatzwort:
                          match: {url: null}
                          schema: {mustSupport: true, index: 66}
              given: {index: 67}
              prefix:
                index: 68
                extensions:
                  prefix-qualifier: {url: null, max: 1, mustSupport: true, index: 70}
                elements:
                  extension:
                    index: 69
                    slicing:
                      rules: open
                      discriminator:
                      - {path: url, type: value}
                      min: null
                      slices:
                        prefix-qualifier:
                          match: {url: null}
                          schema: {mustSupport: true, index: 70}
                          max: 1
            required: [family, use]
  birthDate:
    mustSupport: true
    index: 74
    extensions:
      data-absent-reason: {url: 'http://hl7.org/fhir/StructureDefinition/data-absent-reason', type: Extension, mustSupport: true, index: 76}
    elements:
      extension:
        index: 75
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            data-absent-reason:
              match: {url: null}
              schema: {type: Extension, mustSupport: true, url: 'http://hl7.org/fhir/StructureDefinition/data-absent-reason', index: 76}
  deceased:
    mustSupport: true
    choices: []
    index: 78
  link:
    mustSupport: true
    index: 110
    elements:
      other: {type: Reference, mustSupport: true, index: 111}
      type: {mustSupport: true, index: 112}
  id: {mustSupport: true, index: 0}
  identifier:
    mustSupport: true
    index: 4
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: 1
      slices:
        versichertenId_GKV:
          match:
            type:
              coding:
              - {code: GKV, system: 'http://fhir.de/CodeSystem/identifier-type-de-basis'}
          schema:
            type: Identifier
            mustSupport: true
            pattern:
              type: Identifier
              value:
                type:
                  coding:
                  - {code: GKV, system: 'http://fhir.de/CodeSystem/identifier-type-de-basis'}
            index: 5
            elements:
              type:
                mustSupport: true
                index: 6
                elements:
                  coding:
                    mustSupport: true
                    index: 7
                    slicing:
                      slices:
                        GKV-Type:
                          match: {}
                          schema:
                            mustSupport: true
                            index: 8
                            elements:
                              system: {mustSupport: true, index: 9}
                              code: {mustSupport: true, index: 10}
              system: {mustSupport: true, index: 11}
              value: {mustSupport: true, index: 12}
              assigner:
                mustSupport: true
                index: 13
                elements:
                  identifier:
                    type: Identifier
                    mustSupport: true
                    index: 14
                    elements:
                      type:
                        mustSupport: true
                        index: 15
                        elements:
                          coding:
                            mustSupport: true
                            index: 16
                            slicing:
                              slices:
                                XX-Type:
                                  match: {}
                                  schema:
                                    mustSupport: true
                                    index: 17
                                    elements:
                                      system: {mustSupport: true, index: 18}
                                      code: {mustSupport: true, index: 19}
                      system: {mustSupport: true, index: 20}
                      value: {mustSupport: true, index: 21}
                required: [identifier]
            required: [assigner]
        pid:
          match:
            type:
              coding:
              - {code: MR, system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
          schema:
            type: Identifier
            mustSupport: true
            pattern:
              type: Identifier
              value:
                type:
                  coding:
                  - {code: MR, system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
            index: 22
            elements:
              type:
                mustSupport: true
                index: 23
                elements:
                  coding:
                    mustSupport: true
                    index: 24
                    slicing:
                      slices:
                        MR-Type:
                          match: {}
                          schema:
                            mustSupport: true
                            index: 25
                            elements:
                              system: {mustSupport: true, index: 26}
                              code: {mustSupport: true, index: 27}
              system: {mustSupport: true, index: 28}
              value: {mustSupport: true, index: 29}
              assigner:
                type: Reference
                mustSupport: true
                index: 30
                elements:
                  identifier:
                    elements:
                      type:
                        elements:
                          coding:
                            mustSupport: true
                            index: 31
                            slicing:
                              rules: open
                              discriminator:
                              - {path: system, type: value}
                              min: 1
                              slices:
                                XX-Type:
                                  match: {system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                                  schema:
                                    mustSupport: true
                                    _required: true
                                    index: 32
                                    elements:
                                      system:
                                        pattern: {type: Uri, value: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
                                        mustSupport: true
                                        index: 33
                                      code:
                                        pattern: {type: Code, value: XX}
                                        mustSupport: true
                                        index: 34
                                    required: [system, code]
                        required: [coding]
                      system:
                        constraint:
                          mii-pat-1: {human: Entweder IKNR oder MII Core Location Identifier soll verwendet werden, source: 'https://www.medizininformatik-initiative.de/fhir/core/modul-person/StructureDefinition/Patient', severity: error, expression: '$this = ''http://fhir.de/NamingSystem/arge-ik/iknr'' or $this = ''https://www.medizininformatik-initiative.de/fhir/core/CodeSystem/core-location-identifier'''}
                        index: 35
        versicherungsnummer_pkv:
          match:
            type:
              coding:
              - {code: PKV, system: 'http://fhir.de/CodeSystem/identifier-type-de-basis'}
          schema:
            type: Identifier
            mustSupport: true
            pattern:
              type: Identifier
              value:
                type:
                  coding:
                  - {code: PKV, system: 'http://fhir.de/CodeSystem/identifier-type-de-basis'}
            index: 36
            elements:
              use: {mustSupport: true, index: 37}
              type:
                mustSupport: true
                index: 38
                elements:
                  coding:
                    mustSupport: true
                    index: 39
                    slicing:
                      slices:
                        PKV-Type:
                          match: {}
                          schema:
                            mustSupport: true
                            index: 40
                            elements:
                              system: {mustSupport: true, index: 41}
                              code: {mustSupport: true, index: 42}
              value: {mustSupport: true, index: 43}
              assigner:
                mustSupport: true
                index: 44
                elements:
                  identifier:
                    elements:
                      system: {mustSupport: true, index: 45}
                      value: {mustSupport: true, index: 46}
                  display: {mustSupport: true, index: 47}
  gender:
    mustSupport: true
    index: 71
    extensions:
      other-amtlich: {url: 'http://fhir.de/StructureDefinition/gender-amtlich-de', max: 1, type: Extension, mustSupport: true, index: 73}
    elements:
      extension:
        index: 72
        slicing:
          rules: open
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            other-amtlich:
              match: {url: null}
              schema: {type: Extension, mustSupport: true, url: 'http://fhir.de/StructureDefinition/gender-amtlich-de', index: 73}
              max: 1
package_version: 0.3.0
class: profile
kind: resource
url: https://www.medizininformatik-initiative.de/fhir/core/modul-person/StructureDefinition/Patient
base: http://hl7.org/fhir/StructureDefinition/Patient
version: '1.0'
required: [gender, name, address, identifier, birthDate]