Spaces:
Sleeping
Sleeping
| from fastapi import APIRouter, HTTPException | |
| from pydantic import BaseModel | |
| from typing import Any, Dict, List | |
| from app.services.cameroon_data import get_cameroon_data | |
| router = APIRouter() | |
| class SimilarCasesRequest(BaseModel): | |
| query_text: str | |
| top_k: int = 10 | |
| def stats_overview() -> Dict[str, Any]: | |
| data = get_cameroon_data() | |
| return data.stats_overview() | |
| def stats_disease(disease_name: str) -> Dict[str, Any]: | |
| data = get_cameroon_data() | |
| return data.stats_disease(disease_name) | |
| def search_similar_cases(req: SimilarCasesRequest) -> Dict[str, Any]: | |
| data = get_cameroon_data() | |
| results = data.search_similar_cases(req.query_text, top_k=req.top_k) | |
| return { | |
| "similar_cases": [ | |
| { | |
| "summary_id": r.summary_id, | |
| "diagnosis": r.diagnosis, | |
| "age": r.age, | |
| "gender": r.gender, | |
| "summary_snippet": r.summary_snippet, | |
| "similarity_score": r.similarity_score, | |
| } | |
| for r in results | |
| ] | |
| } | |
| def patterns_seasonal() -> Dict[str, Any]: | |
| data = get_cameroon_data() | |
| return data.seasonal_patterns() | |
| def patterns_age_gender() -> Dict[str, Any]: | |
| data = get_cameroon_data() | |
| return data.age_gender_distribution() | |