{
  "resourceType": "StructureDefinition",
  "id": "icd-10-gm-diagnosesicherheit",
  "url": "http://fhir.de/StructureDefinition/icd-10-gm-diagnosesicherheit",
  "version": "1.6.0-ballot",
  "name": "ExtensionICD10GMDiagnosesicherheit",
  "title": "Extension zur Erfassung der Diagnosesicherheit gemäß KBV-Kodierrichtlinien",
  "status": "active",
  "experimental": false,
  "date": "2025-12-23",
  "publisher": "HL7 Deutschland e.V. (Technisches Komitee FHIR)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.de/technische-komitees/fhir/"
        }
      ]
    }
  ],
  "copyright": "HL7 Deutschland e.V.",
  "fhirVersion": "4.0.1",
  "kind": "complex-type",
  "abstract": false,
  "context": [
    {
      "type": "element",
      "expression": "Condition.code.coding"
    }
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "fixedUri": "http://fhir.de/StructureDefinition/icd-10-gm-diagnosesicherheit"
      },
      {
        "id": "Extension.value[x]",
        "path": "Extension.value[x]",
        "min": 1,
        "type": [
          {
            "code": "Coding"
          }
        ],
        "constraint": [
          {
            "key": "icd-4",
            "severity": "warning",
            "human": "Wenn die Diagnosesicherheit \"A (Ausschluss)\" verwendet wird, dann muss clinicalStatus leer bleiben und verificationStaus auf \"refuted\" gesetzt werden.",
            "expression": "code!='A' or (%resource.verificationStatus.coding.where(code='refuted').exists() and %resource.clinicalStatus.empty())",
            "source": "http://fhir.de/StructureDefinition/icd-10-gm-diagnosesicherheit"
          },
          {
            "key": "icd-5",
            "severity": "warning",
            "human": "Wenn die Diagnosesicherheit \"G (Gesichert)\" verwendet wird, dann muss clinicalStatus auf \"active\" und verificationStatus auf \"confirmed\" gesetzt werden.",
            "expression": "code!='G' or (%resource.clinicalStatus.coding.where(code='active').exists() and %resource.verificationStatus.coding.where(code='confirmed').exists())",
            "source": "http://fhir.de/StructureDefinition/icd-10-gm-diagnosesicherheit"
          },
          {
            "key": "icd-6",
            "severity": "warning",
            "human": "Wenn die Diagnosesicherheit \"V (Verdacht auf)\" verwendet wird, dann muss clinicalStatus auf \"active\" und verificationStatus auf \"provisional\" oder \"differential\" gesetzt werden.",
            "expression": "code!='V' or (%resource.clinicalStatus.coding.where(code='active').exists() and (%resource.verificationStatus.coding.where(code='provisional').exists() or %resource.verificationStatus.coding.where(code='differential').exists()))",
            "source": "http://fhir.de/StructureDefinition/icd-10-gm-diagnosesicherheit"
          },
          {
            "key": "icd-7",
            "severity": "warning",
            "human": "Wenn die Diagnosesicherheit \"Z (Zustand nach)\" verwendet wird, dann muss clinicalStatus auf \"resolved\" und verificationStatus auf \"confirmed\" gesetzt werden.",
            "expression": "code!='Z' or (%resource.clinicalStatus.coding.where(code='resolved').exists() and %resource.verificationStatus.coding.where(code='confirmed').exists())",
            "source": "http://fhir.de/StructureDefinition/icd-10-gm-diagnosesicherheit"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_ICD_DIAGNOSESICHERHEIT"
        }
      }
    ]
  }
}
