{
  "resourceType": "StructureDefinition",
  "id": "MaiaRuleBasedEvaluation",
  "url": "https://tiplu.de/fhir/maia/StructureDefinition/MaiaRuleBasedEvaluation",
  "version": "1.0.0",
  "name": "MaiaRuleBasedEvaluation",
  "title": "Maia Rule Based Evaluation",
  "status": "active",
  "experimental": false,
  "date": "2025-04-30",
  "publisher": "Tiplu GmbH",
  "description": "Tiplu presumed diagnoses are generated and displayed based on a set of rules derived from medical guidelines and literature (state-of-the-art medicine). \n\nCustomised presumptive diagnoses can be created and released to all MAIA users in the hospital by physicians trained by the manufacturer, known as Medical Administrators, using a rules editor built into MAIA. These function similarly to Tiplu presumed diagnoses, but additionally provide the option to include therapy and diagnostic information. Medical administrators can enable/disable these rules only for patients within the departments for which they have access rights.\n\n*German:*\nTiplu-Verdachtsdiagnosen werden auf der Grundlage eines von Leitlinien und Fachliteratur (State-of-the-Art Medizin) basierenden Regelwerkes generiert und angezeigt. \n\nVom Hersteller geschulte Ärzte, so genannte Medical Administrators, können mithilfe eines in MAIA integrierten Regeleditors benutzerdefinierte Verdachtsdiagnosen erstellen und für alle MAIA-Benutzer im Krankenhaus freigeben. Diese funktionieren analog zu Tiplu-Verdachtsdiagnosen, bieten jedoch zusätzlich die Möglichkeit, Therapie- und Diagnostikinformationen zu hinterlegen.  Medizinische Administrator:innen können dabei entsprechende Hinweise nur für Patient:innen der Fachabteilungen aktivieren/deaktivieren, auf deren Patient:innen sie ein Zugriffsrecht haben.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "RiskAssessment",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/RiskAssessment",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "RiskAssessment.text",
        "path": "RiskAssessment.text",
        "short": "human-readable narrative",
        "comment": "HTML representation of this rule-based evaluation",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.text.status",
        "path": "RiskAssessment.text.status",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.text.div",
        "path": "RiskAssessment.text.div",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.extension",
        "path": "RiskAssessment.extension",
        "min": 2
      },
      {
        "id": "RiskAssessment.extension:ReviewStatus",
        "path": "RiskAssessment.extension",
        "sliceName": "ReviewStatus",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://tiplu.de/fhir/maia/StructureDefinition/MaiaRuleBasedEvaluationReviewStatus"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.extension:ReviewStatus.value[x]",
        "path": "RiskAssessment.extension.value[x]",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.extension:DefinitionReference",
        "path": "RiskAssessment.extension",
        "sliceName": "DefinitionReference",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://tiplu.de/fhir/maia/StructureDefinition/MaiaRiskAssessmentDefinitionReference"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.extension:DefinitionReference.value[x]",
        "path": "RiskAssessment.extension.value[x]",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.modifierExtension:HiddenReason",
        "path": "RiskAssessment.modifierExtension",
        "sliceName": "HiddenReason",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://tiplu.de/fhir/maia/StructureDefinition/MaiaHiddenReason"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.modifierExtension:HiddenReason.value[x]",
        "path": "RiskAssessment.modifierExtension.value[x]",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.modifierExtension:HiddenReason.value[x].coding:Reason",
        "path": "RiskAssessment.modifierExtension.value[x].coding",
        "sliceName": "Reason",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.modifierExtension:HiddenReason.value[x].coding:Reason.system",
        "path": "RiskAssessment.modifierExtension.value[x].coding.system",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.modifierExtension:HiddenReason.value[x].coding:Reason.code",
        "path": "RiskAssessment.modifierExtension.value[x].coding.code",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.modifierExtension:HiddenReason.value[x].coding:Reason.display",
        "path": "RiskAssessment.modifierExtension.value[x].coding.display",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.modifierExtension:HiddenReason.value[x].text",
        "path": "RiskAssessment.modifierExtension.value[x].text",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.parent",
        "path": "RiskAssessment.parent",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://tiplu.de/fhir/maia/StructureDefinition/MaiaRuleBasedEvaluation"
            ]
          }
        ]
      },
      {
        "id": "RiskAssessment.status",
        "path": "RiskAssessment.status",
        "short": "Status of the rule-based evaluation",
        "comment": "Status 'preliminary' is default set for rule-based evaluation.",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.method",
        "path": "RiskAssessment.method",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.method.coding",
        "path": "RiskAssessment.method.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.method.coding:AssessmentMethod",
        "path": "RiskAssessment.method.coding",
        "sliceName": "AssessmentMethod",
        "short": "Assessment method used for this RiskAssessment",
        "min": 1,
        "max": "1",
        "patternCoding": {
          "system": "https://tiplu.de/fhir/maia/CodeSystem/MaiaAssessmentMethod"
        },
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://tiplu.de/fhir/maia/ValueSet/MaiaAssessmentMethodVS"
        }
      },
      {
        "id": "RiskAssessment.method.coding:AssessmentMethod.system",
        "path": "RiskAssessment.method.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.method.coding:AssessmentMethod.code",
        "path": "RiskAssessment.method.coding.code",
        "min": 1,
        "patternCode": "TRBE",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.method.coding:AssessmentMethod.display",
        "path": "RiskAssessment.method.coding.display",
        "min": 1,
        "patternString": "Tiplu rule-based evaluation",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.code",
        "path": "RiskAssessment.code",
        "definition": "Code of the assessed rule-based evaluation",
        "min": 1,
        "constraint": [
          {
            "key": "MaiaTrbeCodeOrText",
            "severity": "error",
            "human": "A code from MaiaPresumedDiagnosisAssessmentType and a free-text display (code.text) must not be used at the same time.",
            "expression": "coding.where(system = 'https://tiplu.de/fhir/maia/CodeSystem/MaiaPresumedDiagnosisAssessmentType').exists() xor text.exists()",
            "source": "https://tiplu.de/fhir/maia/StructureDefinition/MaiaRuleBasedEvaluation"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.code.coding",
        "path": "RiskAssessment.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.code.coding:AssessmentType",
        "path": "RiskAssessment.code.coding",
        "sliceName": "AssessmentType",
        "short": "Coding of the Tiplu presumed diagnosis",
        "min": 0,
        "max": "1",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://tiplu.de/fhir/maia/ValueSet/MaiaPresumedDiagnosisAssessmentTypeVS"
        }
      },
      {
        "id": "RiskAssessment.code.coding:AssessmentType.system",
        "path": "RiskAssessment.code.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.code.coding:AssessmentType.code",
        "path": "RiskAssessment.code.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.code.coding:AssessmentType.display",
        "path": "RiskAssessment.code.coding.display",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.code.text",
        "path": "RiskAssessment.code.text",
        "short": "Name of the custom presumed diagnosis",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.subject",
        "path": "RiskAssessment.subject",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://tiplu.de/fhir/maia/StructureDefinition/MaiaPatient"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.subject.identifier",
        "path": "RiskAssessment.subject.identifier",
        "short": "Patient ID of the referenced patient",
        "comment": "The MAIA FHIR endpoints don't have the possibility to get the patient resource. For this, the resource identifier is mandatory.",
        "min": 1,
        "type": [
          {
            "code": "Identifier",
            "profile": [
              "http://fhir.de/StructureDefinition/identifier-pid"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.subject.identifier.type",
        "path": "RiskAssessment.subject.identifier.type",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.subject.identifier.system",
        "path": "RiskAssessment.subject.identifier.system",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.subject.identifier.value",
        "path": "RiskAssessment.subject.identifier.value",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.encounter",
        "path": "RiskAssessment.encounter",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://tiplu.de/fhir/maia/StructureDefinition/MaiaKontaktGesundheitseinrichtung"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.encounter.extension",
        "path": "RiskAssessment.encounter.extension",
        "min": 1
      },
      {
        "id": "RiskAssessment.encounter.extension:AccountIdentifier",
        "path": "RiskAssessment.encounter.extension",
        "sliceName": "AccountIdentifier",
        "short": "Account Identifier (German: Fallnummer/Abrechnungsnummer) of the referenced account",
        "comment": "The MAIA FHIR endpoints don't have the possibility to get the account or encounter resource. For this, the resource identifier is mandatory.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://tiplu.de/fhir/maia/StructureDefinition/MaiaAccountIdentifier"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.encounter.extension:AccountIdentifier.value[x]",
        "path": "RiskAssessment.encounter.extension.value[x]",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.encounter.extension:AccountIdentifier.value[x].type",
        "path": "RiskAssessment.encounter.extension.value[x].type",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.encounter.extension:AccountIdentifier.value[x].system",
        "path": "RiskAssessment.encounter.extension.value[x].system",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.encounter.extension:AccountIdentifier.value[x].value",
        "path": "RiskAssessment.encounter.extension.value[x].value",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.occurrence[x]",
        "path": "RiskAssessment.occurrence[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "RiskAssessment.occurrence[x]:occurrenceDateTime",
        "path": "RiskAssessment.occurrence[x]",
        "sliceName": "occurrenceDateTime",
        "short": "Last calculation of MAIA",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.performer",
        "path": "RiskAssessment.performer",
        "comment": "A Device example with valid MAIA information can be found in the Simplifier project.",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Device"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction",
        "path": "RiskAssessment.prediction",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction.outcome",
        "path": "RiskAssessment.prediction.outcome",
        "comment": "Not Must-Support and not expected to be populated. Rule-based evaluations do not predict a future clinical outcome; they assess whether a defined diagnostic pattern is currently met. The result is fully expressed through qualitativeRisk (severity level) and code (the assessed rule). The outcome element is therefore not applicable in this context."
      },
      {
        "id": "RiskAssessment.prediction.qualitativeRisk",
        "path": "RiskAssessment.prediction.qualitativeRisk",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction.qualitativeRisk.coding",
        "path": "RiskAssessment.prediction.qualitativeRisk.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open"
        },
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction.qualitativeRisk.coding:QualitativeRisk",
        "path": "RiskAssessment.prediction.qualitativeRisk.coding",
        "sliceName": "QualitativeRisk",
        "min": 1,
        "max": "1",
        "patternCoding": {
          "system": "http://terminology.hl7.org/CodeSystem/risk-probability"
        },
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/fhir/ValueSet/risk-probability"
        }
      },
      {
        "id": "RiskAssessment.prediction.qualitativeRisk.coding:QualitativeRisk.system",
        "path": "RiskAssessment.prediction.qualitativeRisk.coding.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction.qualitativeRisk.coding:QualitativeRisk.code",
        "path": "RiskAssessment.prediction.qualitativeRisk.coding.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction.qualitativeRisk.coding:QualitativeRisk.display",
        "path": "RiskAssessment.prediction.qualitativeRisk.coding.display",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction.when[x]",
        "path": "RiskAssessment.prediction.when[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "RiskAssessment.prediction.when[x]:whenPeriod",
        "path": "RiskAssessment.prediction.when[x]",
        "sliceName": "whenPeriod",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction.when[x]:whenPeriod.start",
        "path": "RiskAssessment.prediction.when[x].start",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction.when[x]:whenPeriod.end",
        "path": "RiskAssessment.prediction.when[x].end",
        "mustSupport": true
      },
      {
        "id": "RiskAssessment.prediction.rationale",
        "path": "RiskAssessment.prediction.rationale",
        "short": "Reasoning",
        "comment": "Provides the patient-specific relevant data points for the result provided by the rule-based evaluation from the patient record if possible.",
        "mustSupport": true
      }
    ]
  }
}