File size: 1,808 Bytes
089d665
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"""
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())