PackagesCanonicalsLogsProblems
    Packages
    de.gematik.sterbefall@1.0.0-beta.2
    http://gematik.de/fhir/oegd/stf/StructureDefinition/StfArzt
description: Informationen über Ärzte und Ärztinnen, die im Kontext der STF relevant sind
package_name: de.gematik.sterbefall
derivation: constraint
name: StfArzt
type: Practitioner
elements:
  identifier:
    mustSupport: true
    index: 0
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: pattern}
      min: null
      slices:
        ID:
          match:
            type:
              coding:
              - {code: ArztId, system: 'http://gematik.de/fhir/oegd/stf/CodeSystem/StfArztIdentifierType'}
          schema:
            mustSupport: true
            pattern:
              type: Identifier
              value:
                type:
                  coding:
                  - {code: ArztId, system: 'http://gematik.de/fhir/oegd/stf/CodeSystem/StfArztIdentifierType'}
            index: 1
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: ArztId, system: 'http://gematik.de/fhir/oegd/stf/CodeSystem/StfArztIdentifierType'}
                index: 2
              system: {mustSupport: true, index: 3}
              value: {mustSupport: true, index: 4}
            required: [value, system]
        ANR:
          match: {system: 'https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR'}
          schema:
            type: Identifier
            mustSupport: true
            pattern:
              type: Identifier
              value: {system: 'https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR'}
            index: 5
            elements:
              type:
                mustSupport: true
                index: 6
                elements:
                  coding:
                    mustSupport: true
                    index: 7
                    elements:
                      system: {mustSupport: true, index: 8}
                      code: {mustSupport: true, index: 9}
                    required: [system, code]
                required: [coding]
            required: [type]
        Zulassungsnummer:
          match:
            type:
              coding:
              - {code: Zulassungsnr, system: 'http://gematik.de/fhir/oegd/stf/CodeSystem/StfArztIdentifierType'}
          schema:
            mustSupport: true
            pattern:
              type: Identifier
              value:
                type:
                  coding:
                  - {code: Zulassungsnr, system: 'http://gematik.de/fhir/oegd/stf/CodeSystem/StfArztIdentifierType'}
            index: 10
            elements:
              type:
                pattern:
                  type: CodeableConcept
                  value:
                    coding:
                    - {code: Zulassungsnr, system: 'http://gematik.de/fhir/oegd/stf/CodeSystem/StfArztIdentifierType'}
                index: 11
              system: {mustSupport: true, index: 12}
              value: {mustSupport: true, index: 13}
            required: [value, system]
  name:
    mustSupport: true
    index: 14
    slicing:
      rules: open
      discriminator:
      - {path: use, type: value}
      min: 1
      slices:
        name:
          match: {use: official}
          schema:
            type: HumanName
            mustSupport: true
            _required: true
            index: 15
            elements:
              use:
                pattern: {type: Code, value: official}
                index: 16
              text: {mustSupport: true, index: 17}
              family: {mustSupport: true, index: 18}
              given: {mustSupport: true, index: 19}
              prefix: {mustSupport: true, index: 20}
            required: [given, family, use]
  telecom:
    mustSupport: true
    index: 21
    slicing:
      rules: open
      discriminator:
      - {path: system, type: value}
      min: null
      slices:
        Telefon:
          match: {system: phone}
          schema:
            mustSupport: true
            index: 22
            elements:
              system:
                pattern: {type: Code, value: phone}
                index: 23
              value: {mustSupport: true, index: 24}
            required: [system]
        Telefax:
          match: {system: fax}
          schema:
            mustSupport: true
            index: 25
            elements:
              system:
                pattern: {type: Code, value: fax}
                index: 26
              value: {mustSupport: true, index: 27}
            required: [system]
  address:
    mustSupport: true
    index: 28
    slicing:
      rules: open
      discriminator:
      - {path: type, type: value}
      min: 1
      slices:
        Strassenanschrift:
          match: {type: both}
          schema:
            type: Address
            mustSupport: true
            array: true
            min: 1
            _required: true
            index: 29
            elements:
              type:
                pattern: {type: Code, value: both}
                index: 30
              line:
                mustSupport: true
                index: 31
                extensions:
                  Strasse: {url: null, min: 1, mustSupport: true, _required: true, index: 33}
                  Hausnummer: {url: null, min: 1, mustSupport: true, _required: true, index: 34}
                  Adresszusatz: {url: null, mustSupport: true, index: 35}
                  Postfach: {url: null, max: 0, index: 36}
                elements:
                  extension:
                    array: true
                    min: 2
                    index: 32
                    slicing:
                      slices:
                        Strasse:
                          match: {}
                          schema: {mustSupport: true, _required: true, index: 33}
                          min: 1
                        Hausnummer:
                          match: {}
                          schema: {mustSupport: true, _required: true, index: 34}
                          min: 1
                        Adresszusatz:
                          match: {}
                          schema: {mustSupport: true, index: 35}
                        Postfach:
                          match: {}
                          schema: {index: 36}
                          max: 0
              city: {mustSupport: true, index: 37}
              postalCode: {mustSupport: true, index: 38}
              country: {mustSupport: true, index: 39}
            required: [city, postalCode, type]
        Postfach:
          match: {type: postal}
          schema:
            type: Address
            mustSupport: true
            array: true
            index: 40
            elements:
              type:
                pattern: {type: Code, value: postal}
                index: 41
              line:
                mustSupport: true
                index: 42
                extensions:
                  Strasse: {url: null, max: 0, index: 43}
                  Hausnummer: {url: null, max: 0, index: 44}
                  Adresszusatz: {url: null, max: 0, index: 45}
                  Postfach: {url: null, mustSupport: true, index: 46}
                elements:
                  extension:
                    index: 43
                    slicing:
                      slices:
                        Strasse:
                          match: {}
                          schema: {index: 43}
                          max: 0
                        Hausnummer:
                          match: {}
                          schema: {index: 44}
                          max: 0
                        Adresszusatz:
                          match: {}
                          schema: {index: 45}
                          max: 0
                        Postfach:
                          match: {}
                          schema: {mustSupport: true, index: 46}
              city: {mustSupport: true, index: 47}
              postalCode: {mustSupport: true, index: 48}
              country: {mustSupport: true, index: 49}
            required: [type]
  qualification:
    mustSupport: true
    index: 50
    elements:
      code:
        binding: {strength: required, valueSet: 'http://gematik.de/fhir/oegd/stf/ValueSet/StfBerufsgruppeVS'}
        mustSupport: true
        index: 51
package_version: 1.0.0-beta.2
class: profile
kind: resource
url: http://gematik.de/fhir/oegd/stf/StructureDefinition/StfArzt
base: http://hl7.org/fhir/StructureDefinition/Practitioner
version: 1.0.0-beta.1
required: [name, address]