Development of an oral referral system for 0-6-year-old children in South Africa (Honours Project)
# OralSmart
OralSmart is a Django web application for pediatric oral health risk assessment with AI-powered predictions. It provides comprehensive dental and dietary screening with machine learning-based risk classification for healthcare professionals.
## Key Features
- **Patient Management** – Registration and demographic tracking
- **Comprehensive Screening** – Dental and dietary assessments with save-as-draft
- **AI Risk Assessment** – 3-class prediction (Low / Medium / High risk)
- **Dual Report System** – Patient-friendly and professional versions with PDF export
- **Referral System** – Multi-method delivery (email, API, SMS, portal) with audit trails
- **In-App Notifications** – Real-time referral alerts with bell icon and badge counter
- **ML Model Training** – Advanced feature selection and hyperparameter tuning
- **Clinical Decision Support** – Evidence-based recommendations
## Documentation
| Document | Contents |
|----------|----------|
| ML_AND_CLINICAL_GUIDE.md | Clinical risk algorithm, synthetic dataset details, ML training commands, complete workflow |
| REFERRALS_AND_NOTIFICATIONS.md | Referral system setup, delivery methods, in-app notifications, API endpoints |
| DEPLOYMENT_AND_SECURITY.md | Docker deployment, environment config, security settings, security testing |
| USER_GUIDE.md | Application features, usability improvements, test practitioner accounts |
| tests/README.md | E2E testing framework, test suites, running instructions |
| docs/flowcharts/oralsmart_mini_flowcharts.md | Mermaid flowcharts for auth, screening, and referral flows |
## Tech Stack
| Layer | Technology |
|-------|-----------|
| Backend | Python 3.11, Django 3.2.25 |
| Database | SQLite (dev) / MySQL (prod) |
| ML | MLPClassifier (scikit-learn), Neural Network |
| Cache | Redis |
| Frontend | HTML/CSS (Django templates), Bootstrap 5 |
| Container | Docker, Nginx, Gunicorn |
## Quick Setup
```bash
# 1. Clone and create environment
git clone
github.com …