<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="DuplicateMatchMetadata" />
  <url value="https://emiga.rki.de/fhir/common/StructureDefinition/DuplicateMatchMetadata" />
  <version value="0.1.0" />
  <name value="DuplicateMatchMetadata" />
  <title value="Dublettenprüfung Metadaten" />
  <status value="active" />
  <experimental value="false" />
  <date value="2026-05-12" />
  <publisher value="Robert Koch-Institut" />
  <description value="Metadaten zur Dublettenprüfung einer Resource." />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="Bundle.entry.search" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="Dublettenprüfung Metadaten" />
      <definition value="Metadaten zur Dublettenprüfung einer Resource." />
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <description value="Extensions are always sliced by (at least) url" />
        <rules value="closed" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Extension.extension:matchScore">
      <path value="Extension.extension" />
      <sliceName value="matchScore" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:matchScore.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:matchScore.url">
      <path value="Extension.extension.url" />
      <fixedUri value="matchScore" />
    </element>
    <element id="Extension.extension:matchScore.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="decimal" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:algorithm">
      <path value="Extension.extension" />
      <sliceName value="algorithm" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:algorithm.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:algorithm.url">
      <path value="Extension.extension.url" />
      <fixedUri value="algorithm" />
    </element>
    <element id="Extension.extension:algorithm.value[x]">
      <path value="Extension.extension.value[x]" />
      <short value="Dublettenprüfungsalgorithmus" />
      <definition value="Algorithmus, der zur Dublettenprüfung verwendet wurde" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:algorithmVersion">
      <path value="Extension.extension" />
      <sliceName value="algorithmVersion" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:algorithmVersion.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:algorithmVersion.url">
      <path value="Extension.extension.url" />
      <fixedUri value="algorithmVersion" />
    </element>
    <element id="Extension.extension:algorithmVersion.value[x]">
      <path value="Extension.extension.value[x]" />
      <short value="Dublettenprüfungsalgorithmus Version" />
      <definition value="Version des Algorithmus, der zur Dublettenprüfung verwendet wurde" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:triggerReason">
      <path value="Extension.extension" />
      <sliceName value="triggerReason" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:triggerReason.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:triggerReason.url">
      <path value="Extension.extension.url" />
      <fixedUri value="triggerReason" />
    </element>
    <element id="Extension.extension:triggerReason.value[x]">
      <path value="Extension.extension.value[x]" />
      <short value="Dublettenprüfungsgrund" />
      <definition value="Grund, warum die Dublettenprüfung ausgelöst wurde" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://emiga.rki.de/fhir/ValueSet/DuplicateMatchTriggerReasonsVS" />
      </binding>
    </element>
    <element id="Extension.extension:triggerReason.value[x].system">
      <path value="Extension.extension.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:triggerReason.value[x].version">
      <path value="Extension.extension.value[x].version" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:triggerReason.value[x].code">
      <path value="Extension.extension.value[x].code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:triggerReason.value[x].display">
      <path value="Extension.extension.value[x].display" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:matchedCriteria">
      <path value="Extension.extension" />
      <sliceName value="matchedCriteria" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:matchedCriteria.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:matchedCriteria.url">
      <path value="Extension.extension.url" />
      <fixedUri value="matchedCriteria" />
    </element>
    <element id="Extension.extension:matchedCriteria.value[x]">
      <path value="Extension.extension.value[x]" />
      <short value="Dublettenprüfungsübereinstimmungskriterium" />
      <definition value="Kriterium, das bei der Dublettenprüfung übereinstimmend war" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://emiga.rki.de/fhir/ValueSet/DuplicateMatchCriteriaVS" />
      </binding>
    </element>
    <element id="Extension.extension:matchedCriteria.value[x].system">
      <path value="Extension.extension.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:matchedCriteria.value[x].version">
      <path value="Extension.extension.value[x].version" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:matchedCriteria.value[x].code">
      <path value="Extension.extension.value[x].code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:matchedCriteria.value[x].display">
      <path value="Extension.extension.value[x].display" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:nonMatchedCriteria">
      <path value="Extension.extension" />
      <sliceName value="nonMatchedCriteria" />
      <min value="0" />
      <max value="*" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:nonMatchedCriteria.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:nonMatchedCriteria.url">
      <path value="Extension.extension.url" />
      <fixedUri value="nonMatchedCriteria" />
    </element>
    <element id="Extension.extension:nonMatchedCriteria.value[x]">
      <path value="Extension.extension.value[x]" />
      <short value="Dublettenprüfungsnichtübereinstimmungskriterium" />
      <definition value="Kriterium, das bei der Dublettenprüfung nicht übereinstimmend war" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://emiga.rki.de/fhir/ValueSet/DuplicateMatchCriteriaVS" />
      </binding>
    </element>
    <element id="Extension.extension:nonMatchedCriteria.value[x].system">
      <path value="Extension.extension.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:nonMatchedCriteria.value[x].version">
      <path value="Extension.extension.value[x].version" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:nonMatchedCriteria.value[x].code">
      <path value="Extension.extension.value[x].code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:nonMatchedCriteria.value[x].display">
      <path value="Extension.extension.value[x].display" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="https://emiga.rki.de/fhir/common/StructureDefinition/DuplicateMatchMetadata" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>