File size: 803 Bytes
f52ffa0
b9a9c97
f52ffa0
 
 
b9a9c97
 
 
 
 
 
 
 
 
 
 
 
f52ffa0
 
 
 
 
b9a9c97
 
f52ffa0
 
b9a9c97
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from typing import Any, Dict
import os

from app.rules import ecg_rules

USE_ENHANCED_RULES = os.getenv("USE_ENHANCED_RULES", "true").lower() == "true"

if USE_ENHANCED_RULES:
    try:
        from app.rules.medical_rules import evaluate_medical_rules
        _evaluator = evaluate_medical_rules
    except ImportError:
        _evaluator = None
        USE_ENHANCED_RULES = False
else:
    _evaluator = None


def evaluate_ecg_rules(
    patient_context: Dict[str, Any],
    model_output: Dict[str, Any],
) -> Dict[str, Any]:
    if USE_ENHANCED_RULES and _evaluator:
        return _evaluator(patient_context, model_output)

    result = ecg_rules.apply_rules(patient_context, model_output)
    return {"alert_level": result.get("alert_level", "none"), "explanations": result.get("explanations", [])}