How sakethgottimukkula/t1dm works
Glucose Horizon forecasts CGM glucose at four horizons and evaluates clinical safety. The main user workflow is dashboard-to-API forecasting: the FastAPI service validates requests, builds CGM features, runs horizon-specific models, and returns predictions; users can also inspect cases and backtest forecasts. Separate training and evaluation tools support the model lifecycle, while Clarke Error Grid metrics capture clinical risk. Edges reflect the excerpts, source index, and README; unsampled routes and frontend request details limit some implementation-level links.
Main entry points: main.py REST API · train_models.py Model Training · features.py CGM Features · evaluate.py Model Evaluation
Components 19
Clinical Dashboard
- Dashboard Logic
Frontend/script.js - Dashboard Page
Frontend/index.html - Dashboard Styling
Frontend/style.css
Forecasting Service
- REST API
backend/app/main.py - API Contracts
backend/app/schemas.py - CGM Features
backend/app/features.py - Model Inference
backend/app/predictor.py - Case Data
backend/app/casedata.py - Timestamp Parsing
backend/app/timeutil.py - Runtime Configuration
backend/app/config.py
Clinical Evaluation
- Published Metrics
backend/models/metrics.json - Metric Calculation
backend/app/metrics.py - Clarke EGA
backend/app/ega.py - Metrics Validation
backend/app/metricsfile.py
Model Lifecycle
- Forecast Models
backend/models - Model Training
backend/scripts/train_models.py - Model Evaluation
backend/scripts/evaluate.py
Other components
- Dashboard User
- Test CGM Data
Connections 22
- Dashboard User → Dashboard Logic: uses
README.md - Dashboard Page → Dashboard Logic: hosts
README.md - Dashboard Logic → REST API: requests forecasts
README.md - REST API → API Contracts: validates responses
backend/app/main.py - REST API → CGM Features: builds features
backend/app/main.py - REST API → Model Inference: runs inference
backend/app/main.py - Model Inference → CGM Features: uses feature columns
backend/app/predictor.py - Model Inference → Forecast Models: loads models
- REST API → Case Data: serves cases
backend/app/main.py - Case Data → Timestamp Parsing: parses timestamps
backend/app/casedata.py - Test CGM Data → Case Data: supplies CGM rows
- REST API → Metric Calculation: runs backtests
backend/app/main.py - Metric Calculation → Clarke EGA: classifies zones
backend/app/metrics.py - REST API → Metrics Validation: loads metrics
backend/app/main.py - Metrics Validation → Published Metrics: reads metrics
- Model Training → CGM Features: prepares training data
backend/scripts/train_models.py - Model Training → Runtime Configuration: uses horizons
backend/scripts/train_models.py - Model Training → Clarke EGA: evaluates safety
backend/scripts/train_models.py - Model Training → Forecast Models: writes models
- Model Evaluation → CGM Features: prepares evaluation data
backend/scripts/evaluate.py - Model Evaluation → Metric Calculation: summarizes forecasts
backend/scripts/evaluate.py - Model Evaluation → Published Metrics: writes evaluation metrics