"""Handle conditions/diagnoses queries."""
import json
from ..data import PatientDataLoader
def handle_list_conditions(patient_id: str, loader: PatientDataLoader) -> str:
"""List patient conditions (summary with IDs, status, and dates only)."""
if not loader.patient_exists(patient_id):
return json.dumps({"error": f"Patient {patient_id} not found"})
conditions = loader.get_conditions(patient_id)
summary = [
{
"id": condition.id,
"name": condition.name,
"status": condition.status,
"onset_date": str(condition.onset_date),
"severity": condition.severity
}
for condition in conditions
]
return json.dumps(summary, indent=2)
def handle_get_condition_details(patient_id: str, condition_id: str, loader: PatientDataLoader) -> str:
"""Get detailed information for a specific condition."""
if not loader.patient_exists(patient_id):
return json.dumps({"error": f"Patient {patient_id} not found"})
conditions = loader.get_conditions(patient_id)
for condition in conditions:
if condition.id == condition_id:
return json.dumps(condition.model_dump(mode='json'), indent=2, default=str)
return json.dumps({"error": f"Condition {condition_id} not found for patient {patient_id}"})