How tigertim/hippomedica works
HippoMedica combines an interactive disease-risk assessment app with a reproducible training pipeline for diabetes, heart disease, and stroke. In the primary user flow, a person enters health information in the Streamlit app; the app prepares inputs, uses saved models, and presents risk predictions and model explanations. The pipeline obtains datasets, explores and preprocesses them, trains and evaluates model families, then saves model artifacts and metrics for app use. README capabilities are included where source excerpts are incomplete; the exact app-to-model loading and prediction wiring is not fully shown.
Main entry points: run_pipeline.py Pipeline Orchestrator · 05_model_storage.py Model Storage · app.py Streamlit Interface · raw Raw Datasets
Components 20
Risk Assessment App
- Streamlit Interface
web_app/app.py - Health Inputs
web_app/app.py - Risk Prediction
web_app/app.py - Results & Explanations
web_app/app.py - Performance View
web_app/app.py - Data Analysis View
web_app/app.py
Training Pipeline
- Pipeline Orchestrator
pipeline/run_pipeline.py - Dataset Download
pipeline/01_data_download.py - Exploratory Analysis
pipeline/02_exploratory_analysis.py - Data Preprocessing
pipeline/03_preprocessing.py - Model Training
pipeline/04_model_training.py - Model Storage
pipeline/05_model_storage.py
Disease Data
- Raw Datasets
datasets/raw - Processed Datasets
datasets/processed - EDA Outputs
pipeline/outputs/visualizations
Model Artifacts
- Trained Models
models/trained_models - Scalers & Features
models/scalers - Metrics & Importance
models/metadata
Other components
- App User
- Dataset Providers
Connections 27
- App User → Streamlit Interface: uses
- Streamlit Interface → Health Inputs: collects
- Health Inputs → Risk Prediction: submits
- Risk Prediction → Trained Models: loads models
- Risk Prediction → Scalers & Features: loads scaling data
- Risk Prediction → Results & Explanations: returns predictions
- Streamlit Interface → Performance View: displays
- Performance View → Metrics & Importance: reads metrics
- Streamlit Interface → Data Analysis View: displays
- Data Analysis View → Raw Datasets: reads datasets
- Data Analysis View → Processed Datasets: reads datasets
- Pipeline Orchestrator → Dataset Download: runs step
- Pipeline Orchestrator → Exploratory Analysis: runs step
- Pipeline Orchestrator → Data Preprocessing: runs step
- Pipeline Orchestrator → Model Training: runs step
- Pipeline Orchestrator → Model Storage: runs step
- Dataset Download → Dataset Providers: fetches data
- Dataset Download → Raw Datasets: writes datasets
- Exploratory Analysis → Raw Datasets: reads datasets
- Exploratory Analysis → EDA Outputs: writes analysis
- Data Preprocessing → Raw Datasets: reads datasets
- Data Preprocessing → Processed Datasets: writes datasets
- Model Training → Processed Datasets: reads datasets
- Model Training → Model Storage: returns results
- Model Storage → Trained Models: writes models
- Model Storage → Scalers & Features: writes scalers
- Model Storage → Metrics & Importance: writes metrics