Système intelligent de dispatch et routage des urgences médicales pour Tunis - Algorithme A* temps réel
# 🚑 SmartEMS Tunisia
### Système Intelligent de Dispatch et Routage des Urgences Médicales
> Humanovators 2.0 Hackathon — Challenge 1 : Dynamic Vehicle Routing for EMS
---
## 🎯 Problème
Les services d'urgence en Tunisie souffrent de :
- Coordination manuelle sans algorithme de routage
- Pas de réoptimisation en temps réel
- Temps de réponse élevés aux heures de pointe
## 💡 Solution
SmartEMS Tunisia est un système intelligent qui :
- Reçoit les alertes d'un patch médical (niveaux 1 à 5)
- Dispatche automatiquement la meilleure ambulance
- Calcule la route optimale avec l'algorithme A*
- Rereoute dynamiquement en cas d'obstacle
- Change d'ambulance si aucune route n'est disponible
## 🏗️ Architecture
SmartEMS-Tunisia/
├── map_loader.py # Carte réelle de Tunis (OSMnx)
├── router.py # Algorithme A* + reroutage dynamique
├── triage_scorer.py # Score de priorité 1 à 5
├── dispatcher.py # Sélection meilleure ambulance
├── emergency_generator.py # Simulation multiple urgences
├── main.py # Chef d'orchestre
├── dashboard.py # Interface dispatcher
├── driver.py # Interface chauffeur
└── home.py # Page d'accueil
## ⚙️ Installation
pip install osmnx networkx folium streamlit streamlit-folium pandas numpy plotly scikit-learn
## 🚀 Lancement
# Page d'accueil
py -m streamlit run home.py --server.port 8500
# Dashboard dispatcher
py -m streamlit run dashboard.py --server.port 8501
# Interface chauffeur
py -m streamlit run driver.py --server.port 8502
## 🛠️ Stack Technique
| Outil | Rôle |
|---|---|
| OSMnx | Carte réelle de Tunis |
| NetworkX | Algorithme A* |
| Streamlit | Interface web |
| Folium | Carte interactive |
| Pandas | Traitement données |
## 👥 Équipe
Humanovators 2.0 — ENSIT IEEE Student Branch# SmartEMS-Tunisia-