PackagesCanonicalsLogsProblems
    Packages
    de.gematik.isik@5.0.0-rc
    https://gematik.de/fhir/isik/StructureDefinition/ISiKPersonImGesundheitsberuf
description: Dieses Profil ermöglicht die Nutzung von in Gesundheitsberufen tätigen Personen in ISiK Szenarien.\n### Motivation\n\nDas Profil ISIKPersonImGesundheitsberuf bildet alle denkbaren medizinischen Leistungserbringer und Fachexperten  ab. In den ISiK-FHIR-Profilen können PersonImGesundheitsberuf bspw. als Ausführende einer Prozedur auftreten, im Element `performer` der Procedure Ressource, oder als die Person, die eine Diagnose stellt, im Element `asserter` der Condition Ressource.\n\nIn FHIR werden PersonImGesundheitsberuf mit der [`Practitioner`](https://hl7.org/fhir/R4/practitioner.html)-Ressource\n repräsentiert.  \n Für das Profil ISIKPersonImGesundheitsberuf wird eine Kompatibilität mit folgenden Profilen angestrebt; allerdings kann nicht sichergestellt werden, dass Instanzen, die gegen ISIKPatient valide sind, auch valide sind gegen:\n* [Profil KBV_PR_Base_Practitioner der KBV Basisprofile](https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Practitioner). \n* [Profil HiGHmed_IC_Practitioner, MI Initiative - HiGHmed Use Case Infection Control der  Medizininformatik Initiative ](https://simplifier.net/medizininformatikinitiative-highmed-ic/highmed-ic-practitioner)\n\nHinweise zu Inkompatibilitäten können über die [Portalseite](https://service.gematik.de/servicedesk/customer/portal/16) gemeldet werden.
package_name: de.gematik.isik
derivation: constraint
name: ISiKPersonImGesundheitsberuf
type: Practitioner
elements:
  identifier:
    mustSupport: true
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: 1
      slices:
        Arztnummer:
          match:
            type:
              coding:
              - {code: LANR, system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
          schema:
            short: Lebenslange Arztnummer
            type: Identifier
            mustSupport: true
            array: true
            pattern:
              type: Identifier
              value:
                type:
                  coding:
                  - {code: LANR, system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
            index: 1
            elements:
              type: {index: 2}
            required: [type]
        EFN:
          match:
            type:
              coding:
              - {code: DN, system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
          schema:
            type: Identifier
            mustSupport: true
            pattern:
              type: Identifier
              value:
                type:
                  coding:
                  - {code: DN, system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
            index: 3
            elements:
              type: {index: 4}
            required: [type]
        TelematikId:
          match:
            type:
              coding:
              - {code: PRN, system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
          schema:
            type: Identifier
            mustSupport: true
            pattern:
              type: Identifier
              value:
                type:
                  coding:
                  - {code: PRN, system: 'http://terminology.hl7.org/CodeSystem/v2-0203'}
            index: 5
            elements:
              type: {index: 6}
            required: [type]
  name:
    mustSupport: true
    index: 7
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: 1
      slices:
        Name:
          match: {use: official}
          schema:
            short: Vollständiger Name
            type: HumanName
            mustSupport: true
            _required: true
            pattern:
              type: HumanName
              value: {use: official}
            index: 8
            elements:
              use:
                pattern: {type: Code, value: official}
                mustSupport: true
                index: 9
              family: {mustSupport: true, index: 10}
              given: {mustSupport: true, index: 11}
              prefix: {mustSupport: true, index: 12}
            required: [given, family, use]
        Geburtsname:
          match: {use: maiden}
          schema:
            type: HumanName
            pattern:
              type: HumanName
              value: {use: maiden}
            index: 13
            elements:
              use:
                pattern: {type: Code, value: maiden}
                mustSupport: true
                index: 14
              family: {index: 15}
              given: {index: 16}
              prefix: {index: 17}
            required: [family, use]
  telecom:
    elements:
      system: {index: 18}
      value: {index: 19}
    required: [value, system]
  address:
    mustSupport: true
    index: 20
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: null
      slices:
        Strassenanschrift:
          match: {type: both}
          schema:
            short: Straßenanschrift
            index: 21
            type: Address
            mustSupport: true
            array: true
            elements:
              extension:
                mustSupport: true
                index: 22
                slicing:
                  slices:
                    Stadtteil:
                      match: {}
                      schema: {mustSupport: true, index: 22}
              type: {mustSupport: true, index: 23}
              line:
                mustSupport: true
                index: 24
                extensions:
                  Strasse: {url: null, mustSupport: true, index: 25}
                  Hausnummer: {url: null, mustSupport: true, index: 26}
                  Adresszusatz: {url: null, mustSupport: true, index: 27}
                  Postfach: {url: null, max: 0, index: 28}
                elements:
                  extension:
                    mustSupport: true
                    index: 25
                    slicing:
                      slices:
                        Strasse:
                          match: {}
                          schema: {mustSupport: true, index: 25}
                        Hausnummer:
                          match: {}
                          schema: {mustSupport: true, index: 26}
                        Adresszusatz:
                          match: {}
                          schema: {mustSupport: true, index: 27}
                        Postfach:
                          match: {}
                          schema: {index: 28}
                          max: 0
              city: {mustSupport: true, index: 29}
              postalCode: {mustSupport: true, index: 30}
              country: {mustSupport: true, index: 31}
            extensions:
              Stadtteil: {url: null, mustSupport: true, index: 22}
            required: [country, city, postalCode, line, type]
            pattern:
              type: Address
              value: {type: both}
        Postfach:
          match: {type: postal}
          schema:
            short: Postfachanschrift
            type: Address
            mustSupport: true
            array: true
            pattern:
              type: Address
              value: {type: postal}
            index: 32
            elements:
              type: {mustSupport: true, index: 33}
              line:
                mustSupport: true
                index: 34
                extensions:
                  Strasse: {url: null, max: 0, index: 35}
                  Hausnummer: {url: null, max: 0, index: 36}
                  Adresszusatz: {url: null, max: 0, index: 37}
                  Postfach: {url: null, mustSupport: true, index: 38}
                elements:
                  extension:
                    index: 35
                    slicing:
                      slices:
                        Strasse:
                          match: {}
                          schema: {index: 35}
                          max: 0
                        Hausnummer:
                          match: {}
                          schema: {index: 36}
                          max: 0
                        Adresszusatz:
                          match: {}
                          schema: {index: 37}
                          max: 0
                        Postfach:
                          match: {}
                          schema: {mustSupport: true, index: 38}
              city: {mustSupport: true, index: 39}
              postalCode: {mustSupport: true, index: 40}
              country: {mustSupport: true, index: 41}
            required: [country, city, postalCode, line, type]
  gender:
    short: Ist das Geschlecht des Arztes bekannt, MUSS es bereitgestellt werden. Eine korrekte Kodierung des Geschlechtseintrags 'divers' MUSS per GenderOtherDE-Extension unterstüzt werden.
    mustSupport: true
    index: 42
    extensions:
      Geschlecht-Administrativ:
        url: http://fhir.de/StructureDefinition/gender-amtlich-de
        type: Extension
        mustSupport: true
        index: 43
        elements:
          value:
            mustSupport: true
            choices: []
            index: 45
    elements:
      extension:
        type: Extension
        mustSupport: true
        url: http://fhir.de/StructureDefinition/gender-amtlich-de
        index: 43
        slicing:
          slices:
            Geschlecht-Administrativ:
              match: {}
              schema:
                type: Extension
                mustSupport: true
                url: http://fhir.de/StructureDefinition/gender-amtlich-de
                index: 43
                elements:
                  value:
                    mustSupport: true
                    choices: []
                    index: 45
  qualification:
    elements:
      code: {index: 46}
package_version: 5.0.0-rc
class: profile
kind: resource
url: https://gematik.de/fhir/isik/StructureDefinition/ISiKPersonImGesundheitsberuf
base: http://hl7.org/fhir/StructureDefinition/Practitioner
version: 5.0.0-rc
required: [name, identifier]