"""Handle procedures queries."""
import json
from ..data import PatientDataLoader
def handle_list_procedures(patient_id: str, loader: PatientDataLoader) -> str:
"""List patient procedures (summary with IDs, names, and dates only)."""
if not loader.patient_exists(patient_id):
return json.dumps({"error": f"Patient {patient_id} not found"})
procedures = loader.get_procedures(patient_id)
summary = [
{
"id": proc.id,
"date": str(proc.date),
"name": proc.name,
"provider": proc.provider
}
for proc in procedures
]
return json.dumps(summary, indent=2)
def handle_get_procedure_details(patient_id: str, procedure_id: str, loader: PatientDataLoader) -> str:
"""Get detailed information for a specific procedure."""
if not loader.patient_exists(patient_id):
return json.dumps({"error": f"Patient {patient_id} not found"})
procedures = loader.get_procedures(patient_id)
for proc in procedures:
if proc.id == procedure_id:
return json.dumps(proc.model_dump(mode='json'), indent=2, default=str)
return json.dumps({"error": f"Procedure {procedure_id} not found for patient {patient_id}"})