A smart disease monitoring system that uses machine learning to forecast and map outbreaks of infectious diseases, specifically malaria and cholera in Kenya. It applies LSTM (Long Short-Term Memory) neural networks to analyze patterns over time and combines this with geospatial mapping to visually display where outbreaks are likely to occur.
# AI-Disease-Outbreak-Prediction-System
# DiseaseWatch Kenya
ML-powered disease surveillance system for predicting and visualizing malaria and cholera outbreaks across Kenya's 47 counties.
## 📌 Overview
DiseaseWatch is a full-stack machine learning–powered outbreak prediction and surveillance system for Kenya's public health sector. It transforms environmental data — temperature, rainfall, humidity, population density, and sanitation levels — into actionable malaria and cholera risk scores, combining a scikit-learn Random Forest prediction engine with an interactive, county-level geospatial dashboard.
## 🔑 Key Features
- 📊 **Predictive Engine** — malaria and cholera outbreak risk prediction using two independently trained `RandomForestRegressor` models, with confidence scores and Low/Medium/High severity classification.
- 🗺️ **Interactive Hotspot Map** — a Leaflet.js choropleth map visualizing real-time risk severity across all 47 Kenyan counties.
- 🔔 **Automated Alerting** — high-risk conditions (≥70% predicted risk) automatically generate alert records and notify subscribed users.
- 📈 **7-Day Risk Forecasting** — short-term outbreak trend projection with contextual, actionable recommendations for health officers.
- 👥 **Role-Based Access** — differentiated access for Health Officers, National Health Analysts, and System Administrators.
- 📄 **Reporting** — generate and download county- or period-level surveillance reports.
- ⚙️ **Personal Settings** — configurable notification preferences, risk thresholds, and display options per user.
## 🏗️ Tech Stack
### Backend
- **Flask** — lightweight Python web framework handling routing and application logic.
- **Flask-SQLAlchemy** — ORM-based data access layer over SQLite.
- **Flask-Login / Flask-Bcrypt** — session-based authentication and password hashing.
- **Flask-CORS** — cross-origin request handling for the REST API.
### Frontend
- **Jinja2** — server-side templating for dashboard, prediction, report, and settin …