""" GEMEO World Model — Quickstart Minimal example: build a digital twin from a free-text clinical case and inspect each inference mode. ⚠️ Research only — not a medical device. No clinical use. """ import asyncio import sys # This repo lays out the module under src/. Either install it or: sys.path.insert(0, "src") from gemeo import build_gemeo # noqa: E402 async def main() -> None: twin = await build_gemeo( case_text=( "Menino, 5 anos, ataxia progressiva desde os 18 meses, " "telangiectasia ocular, AFP sérica 320 ng/mL, " "infecções respiratórias recorrentes." ), patient_info={"age": 5, "sex": "M"}, context={"sus_region": "SP"}, ) print("=== Diagnostic mode ===") for i, dx in enumerate(twin.diagnoses[:5], 1): print(f" {i}. {dx}") print("\n=== Cohort retrieval (patients-like-mine) ===") for member in twin.cohort.members[:5]: print(f" - {member}") print("\n=== Trajectory horizons ===") print(f" 6m: {twin.trajectory.horizons.get('6m')}") print(f" 12m: {twin.trajectory.horizons.get('12m')}") print(f" 24m: {twin.trajectory.horizons.get('24m')}") print("\n=== Risk / survival ===") sc = twin.risk.survival_curve print(f" 12m alive: {sc.get('12m')}") print(f" 36m alive: {sc.get('36m')}") print(f" 72m alive: {sc.get('72m')}") print("\n=== Drug repurposing candidates ===") for d in twin.drugs.candidates[:5]: print(f" - {d}") print("\n=== Active-learning: next best questions ===") for q in twin.next_questions[:3]: print(f" - {q}") print("\n=== SUS / PCDT compliance ===") print(f" PCDT URL: {twin.sus_check.pcdt_url}") if __name__ == "__main__": asyncio.run(main())