"""Handle vital signs queries."""
import json
from ..data import PatientDataLoader
def handle_list_vitals(patient_id: str, loader: PatientDataLoader) -> str:
"""List patient vital signs (summary with IDs and dates only)."""
if not loader.patient_exists(patient_id):
return json.dumps({"error": f"Patient {patient_id} not found"})
vitals = loader.get_vitals(patient_id)
summary = [
{
"id": vital.id,
"date": str(vital.date)
}
for vital in vitals
]
return json.dumps(summary, indent=2)
def handle_get_vital_details(patient_id: str, vital_id: str, loader: PatientDataLoader) -> str:
"""Get detailed information for a specific vital signs entry."""
if not loader.patient_exists(patient_id):
return json.dumps({"error": f"Patient {patient_id} not found"})
vitals = loader.get_vitals(patient_id)
for vital in vitals:
if vital.id == vital_id:
return json.dumps(vital.model_dump(mode='json'), indent=2, default=str)
return json.dumps({"error": f"Vital signs {vital_id} not found for patient {patient_id}"})