We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/akiani/mock-epic-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
"""Handle medication queries."""
import json
from typing import Optional
from ..data import PatientDataLoader
def handle_list_medications(
patient_id: str,
loader: PatientDataLoader,
status: Optional[str] = None
) -> str:
"""List patient medications (summary with IDs, status, and dates only)."""
if not loader.patient_exists(patient_id):
return json.dumps({"error": f"Patient {patient_id} not found"})
medications = loader.get_medications(patient_id, status=status)
summary = [
{
"id": med.id,
"name": med.name,
"status": med.status,
"start_date": str(med.start_date),
"end_date": str(med.end_date) if med.end_date else None
}
for med in medications
]
return json.dumps(summary, indent=2)
def handle_get_medication_details(patient_id: str, medication_id: str, loader: PatientDataLoader) -> str:
"""Get detailed information for a specific medication."""
if not loader.patient_exists(patient_id):
return json.dumps({"error": f"Patient {patient_id} not found"})
medications = loader.get_medications(patient_id)
for med in medications:
if med.id == medication_id:
return json.dumps(med.model_dump(mode='json'), indent=2, default=str)
return json.dumps({"error": f"Medication {medication_id} not found for patient {patient_id}"})