{
  "resourceType": "StructureDefinition",
  "url": "http://fhir.de/StructureDefinition/icd-10-gm-diagnosesicherheit",
  "version": "0.9",
  "name": "ICD10GMDiagnosesicherheit",
  "title": "Extension zur Erfassung der Diagnosesicherheit gemäß KBV-Kodierrichtlinien",
  "status": "draft",
  "date": "2019-08-07",
  "fhirVersion": "4.0.0",
  "kind": "complex-type",
  "abstract": false,
  "context": [
    {
      "type": "element",
      "expression": "CodeableConcept.coding"
    },
    {
      "type": "element",
      "expression": "Coding"
    }
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "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": "Extension"
          },
          {
            "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": "Extension"
          },
          {
            "key": "icd-6",
            "severity": "warning",
            "human": "Wenn die Diagnosesicherheit \"V (Verdacht auf)\" verwendet wird, dann muss clinicalStatus auf \"active\" und verificationStatus auf \"provisional\" gesetzt werden.",
            "expression": "code!='V' or (%resource.clinicalStatus.coding.where(code='active').exists() and %resource.verificationStatus.coding.where(code='provisional').exists())",
            "source": "Extension"
          },
          {
            "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": "Extension"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://fhir.de/ValueSet/kbv/s-icd-diagnosesicherheit"
        }
      }
    ]
  }
}