PackagesCanonicalsLogsProblems
    Packages
    de.gematik.fhir.directory@1.2.0
    https://gematik.de/fhir/directory/StructureDefinition/EndpointDirectory
description: Endpoints for applications in the gematik Directory
package_name: de.gematik.fhir.directory
derivation: constraint
name: EndpointDirectory
type: Endpoint
elements:
  id: {mustSupport: true, index: 0}
  meta:
    elements:
      tag:
        constraint:
          CodingSytemCodeInv: {human: System and Code SHOULD be present, source: 'https://gematik.de/fhir/directory/StructureDefinition/EndpointDirectory', severity: warning, expression: system.exists() and code.exists()}
        mustSupport: true
        index: 1
        slicing:
          rules: open
          discriminator:
          - {path: system, type: pattern}
          min: 1
          slices:
            Origin:
              match: {system: 'https://gematik.de/fhir/directory/CodeSystem/Origin'}
              schema:
                binding: {strength: required, valueSet: 'https://gematik.de/fhir/directory/ValueSet/OriginVS'}
                mustSupport: true
                _required: true
                index: 2
                elements:
                  system:
                    pattern: {type: Uri, value: 'https://gematik.de/fhir/directory/CodeSystem/Origin'}
                    index: 3
                required: [system]
    required: [tag]
  extension:
    index: 4
    slicing:
      rules: open
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: null
      slices:
        endpointVisibility:
          match: {url: null}
          schema: {type: Extension, mustSupport: true, url: 'https://gematik.de/fhir/directory/StructureDefinition/EndpointVisibility', index: 5}
          min: 0
        ownerTelematikId:
          match: {url: null}
          schema: {type: Extension, mustSupport: true, url: 'https://gematik.de/fhir/directory/StructureDefinition/OwnerTelematikIdEx', index: 6}
          min: 0
        endpointFADId:
          match: {url: null}
          schema: {type: Extension, mustSupport: true, url: 'https://gematik.de/fhir/directory/StructureDefinition/EndpointFADIdEx', index: 7}
          min: 0
  status: {mustSupport: true, index: 8}
  connectionType:
    binding: {strength: required, valueSet: 'https://gematik.de/fhir/directory/ValueSet/EndpointConnectionTypeVS'}
    constraint:
      CodingSytemCodeInv: {human: System and Code SHOULD be present, source: 'https://gematik.de/fhir/directory/StructureDefinition/EndpointDirectory', severity: warning, expression: system.exists() and code.exists()}
      KimConnectionTypeInv: {human: 'If the kimVersion extension is used on connectionType, then connectionType must be #kim from EndpointDirectoryConnectionType.', source: 'https://gematik.de/fhir/directory/StructureDefinition/EndpointDirectory', severity: error, expression: 'extension(''https://gematik.de/fhir/directory/StructureDefinition/ConnectionTypeKimVersionEx'').exists() implies (code = ''kim'' and system = ''https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType'')'}
      KimConnectionTypeRequiresVersionInv: {human: 'If connectionType is #kim from EndpointDirectoryConnectionType, then the kimVersion extension must be present.', source: 'https://gematik.de/fhir/directory/StructureDefinition/EndpointDirectory', severity: error, expression: '(code = ''kim'' and system = ''https://gematik.de/fhir/directory/CodeSystem/EndpointDirectoryConnectionType'') implies extension(''https://gematik.de/fhir/directory/StructureDefinition/ConnectionTypeKimVersionEx'').exists()'}
    mustSupport: true
    index: 9
    extensions:
      kimVersion: {url: 'https://gematik.de/fhir/directory/StructureDefinition/ConnectionTypeKimVersionEx', min: 0, max: 1, type: Extension, mustSupport: true, index: 10}
    elements:
      extension:
        type: Extension
        mustSupport: true
        url: https://gematik.de/fhir/directory/StructureDefinition/ConnectionTypeKimVersionEx
        index: 10
        slicing:
          slices:
            kimVersion:
              match: {}
              schema: {type: Extension, mustSupport: true, url: 'https://gematik.de/fhir/directory/StructureDefinition/ConnectionTypeKimVersionEx', index: 10}
              min: 0
              max: 1
      system: {mustSupport: true, index: 11}
      code: {mustSupport: true, index: 12}
  name: {mustSupport: true, index: 13}
  payloadType:
    binding: {strength: required, valueSet: 'https://gematik.de/fhir/directory/ValueSet/EndpointPayloadTypeVS'}
    mustSupport: true
    index: 14
    elements:
      coding:
        constraint:
          CodingSytemCodeInv: {human: System and Code SHOULD be present, source: 'https://gematik.de/fhir/directory/StructureDefinition/EndpointDirectory', severity: warning, expression: system.exists() and code.exists()}
        index: 15
  address: {mustSupport: true, index: 16}
package_version: 1.2.0
extensions:
  endpointVisibility: {url: 'https://gematik.de/fhir/directory/StructureDefinition/EndpointVisibility', min: 0, type: Extension, mustSupport: true, index: 5}
  ownerTelematikId: {url: 'https://gematik.de/fhir/directory/StructureDefinition/OwnerTelematikIdEx', min: 0, type: Extension, mustSupport: true, index: 6}
  endpointFADId: {url: 'https://gematik.de/fhir/directory/StructureDefinition/EndpointFADIdEx', min: 0, type: Extension, mustSupport: true, index: 7}
class: profile
kind: resource
url: https://gematik.de/fhir/directory/StructureDefinition/EndpointDirectory
base: http://hl7.org/fhir/StructureDefinition/Endpoint
version: 1.2.0
required: [name]