SafetyGraph

Architecture Agentique Neo4j pour la Prévention SST

Système multi-agents de nouvelle génération combinant graphes de connaissances Neo4j et intelligence artificielle pour l'analyse prédictive des lésions professionnelles au Québec (CNESST, IRSST)

793K+
Incidents CNESST
5
Agents IA Spécialisés
12
Entités Graphe
-35%
Réduction Incidents

Architecture Système Globale

Pipeline complet d'ingestion, structuration et analyse prédictive avec Neo4j, Kafka, et agents IA

┌─────────────────────────────────────────────────────────────────┐
│                  COUCHE ACQUISITION DONNÉES                      │
│                                                                   │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐        │
│  │  CNESST  │  │  IRSST   │  │ Capteurs │  │ Système  │        │
│  │Open Data │  │Publications│ │   IoT    │  │   RH    │        │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └────┬─────┘        │
└───────┼─────────────┼──────────────┼──────────────┼──────────────┘
        │             │              │              │
        ▼             ▼              ▼              ▼
┌─────────────────────────────────────────────────────────────────┐
│             COUCHE INGESTION & TRANSFORMATION                    │
│                                                                   │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │         Apache Kafka (Event Streaming Bus)               │   │
│  │  Topics: cnesst_raw, irsst_docs, iot_events, rh_updates  │   │
│  └────────────────────┬─────────────────────────────────────┘   │
│                       │                                          │
│  ┌────────────────────▼─────────────────────────────────────┐   │
│  │       Pipeline ETL/ELT (Apache Spark + Python)           │   │
│  │  • Validation  • Normalisation  • Enrichissement         │   │
│  │  • Anonymisation  • Géocodage  • Taxonomie               │   │
│  └────────────────────┬─────────────────────────────────────┘   │
└────────────────────────┼──────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────────────────┐
│                 COUCHE GRAPHE DE CONNAISSANCES                   │
│                                                                   │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │            Neo4j Aura Enterprise (v5.x)                  │   │
│  │                                                          │   │
│  │  ╔════════════════════════════════════════════════════╗  │   │
│  │  ║  MODÈLE GRAPHE SAFETYGRAPH (12 entités-clés)      ║  │   │
│  │  ╠════════════════════════════════════════════════════╣  │   │
│  │  ║  • Travailleur   • Zone_Travail   • Équipement    ║  │   │
│  │  ║  • Incident_CNESST • Near_Miss    • Agent_IA      ║  │   │
│  │  ║  • Capteur_IoT   • Formation      • Procédure     ║  │   │
│  │  ║  • Document_IRSST • Norme_ISO     • Événement     ║  │   │
│  │  ╠════════════════════════════════════════════════════╣  │   │
│  │  ║  793,000+ incidents • 25+ types relations         ║  │   │
│  │  ║  Vector Search activé • Graph Analytics           ║  │   │
│  │  ╚════════════════════════════════════════════════════╝  │   │
│  └────────────────────┬─────────────────────────────────────┘   │
└────────────────────────┼──────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────────────────┐
│                COUCHE AGENTS INTELLIGENTS                        │
│                                                                   │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐        │
│  │ Agent A1 │  │ Agent A2 │  │ Agent A3 │  │ Agent A4 │        │
│  │  Vision  │  │   IoT    │  │ Contexte │  │    ML    │        │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └────┬─────┘        │
│       │             │              │              │              │
│       └─────────────┴──────────────┴──────────────┘              │
│                            │                                     │
│                   ┌────────▼────────┐                           │
│                   │  Agent Maestro  │                           │
│                   │  (Orchestrateur)│                           │
│                   └────────┬────────┘                           │
│                            │                                     │
│                   ┌────────▼────────┐                           │
│                   │   Agent A5      │                           │
│                   │  Notification   │                           │
│                   └─────────────────┘                           │
└─────────────────────────────────────────────────────────────────┘
                
🔄 Flux de Données Temps Réel

Incident Terrain → Capteur IoT / Caméra → KafkaAgents A1/A2Agent A3 Contexte (requêtes Neo4j) → Agent A4 Prédiction (ML) → Maestro DecisionAgent A5 Notification → Superviseur/Travailleur

Modèle Graphe Neo4j

12 entités-clés interconnectées avec 25+ types de relations pour analyse contextuelle avancée

👷
Travailleur
• ID anonymisé
• Âge tranche, ancienneté
• Historique incidents
• Score risque individuel
• Certifications, formations
🏭
Zone_Travail
• Risques identifiés
• Score risque dynamique
• Couverture capteurs
• Historique incidents
• Conformité ISO
⚙️
Équipement
• Type, état, capacité
• Maintenance préventive
• Historique pannes
• Capteurs embarqués
• Score fiabilité
🚨
Incident_CNESST
• N° dossier CNESST
• Type lésion, gravité
• Causes principale/secondaire
• Jours perdus, coût
• Mesures correctives
⚠️
Near_Miss
• Type détection
• Gravité potentielle
• Agent détecteur
• Conséquence évitée
• Leçon apprise
🤖
Agent_IA
• Spécialité (vision, IoT, ML)
• Modèle ML, version
• Métriques performance
• Niveau autonomie
• Taux faux positifs
📡
Capteur_IoT
• Type (bracelet, caméra)
• Métriques captées
• Fréquence mesure
• État, batterie
• Protocole communication
🎓
Formation
• Titre, organisme
• Durée, validité
• Objectifs pédagogiques
• Conformité CNESST
• Taux réussite
📋
Procédure_SST
• Version, niveau critique
• Étapes détaillées
• Équipements requis
• Normes référence
• Indicateurs conformité
📚
Document_IRSST
• Référence (R-XXX)
• Auteurs, année
• Embedding vectoriel
• Entités extraites (NLP)
• Citations scientifiques
📐
Norme_ISO
• Code ISO/TR 12295
• Méthodes évaluation
• Seuils risque (zones)
• Application secteurs
• Normes associées
Événement
• Timestamp, type, priorité
• Données brutes capteur
• Contexte enrichi Neo4j
• Prédiction ML
• Actions recommandées
// Exemple Requête Cypher : Enrichissement Contexte
MATCH (e:Evenement {id: 'EVT_2025_10_26_142318'})
MATCH (e)-[:IMPLIQUE]->(t:Travailleur)
MATCH (e)-[:SURVIENT_DANS]->(z:Zone_Travail)

// Historique incidents travailleur (90 jours)
OPTIONAL MATCH (t)<-[:IMPLIQUE]-(i_t:Incident_CNESST)
WHERE i_t.date_incident > datetime() - duration({days: 90})

// Historique near-miss (30 jours)
OPTIONAL MATCH (t)<-[:CONCERNE]-(nm:Near_Miss)
WHERE nm.date_detection > datetime() - duration({days: 30})

// Formations valides
OPTIONAL MATCH (t)-[:PARTICIPE_A]->(f:Formation)
WHERE f.date_expiration > date()

RETURN {
  travailleur: {
    nb_incidents_historique: count(DISTINCT i_t),
    nb_near_miss_30j: count(DISTINCT nm),
    formations_valides: collect(DISTINCT f.titre)
  },
  zone: {
    score_risque_dynamique: z.score_risque_dynamique,
    risques_identifies: z.risques_identifies
  }
} AS contexte_enrichi

Agents IA Spécialisés

5 agents autonomes orchestrés par Maestro pour détection, analyse et prédiction temps réel

📹

Agent A1 - Vision

Détection Postures à Risque

Analyse vidéo temps réel avec YOLOv8 Pose Estimation pour détecter postures dangereuses (flexion dos, bras élevés) selon ISO/TR 12295 et calcul OCRA Index.

Modèle ML YOLOv8 Pose
Latence <50ms
Précision 89%
F1-Score 90%

Agent A2 - IoT

Monitoring Fatigue Physiologique

Analyse continue via bracelets connectés : fréquence cardiaque, variabilité HRV, température cutanée pour détection fatigue et stress.

Capteurs Bracelets, RFID
Fréquence 1 Hz
Métriques FC, HRV, Temp
Seuil Alerte Score >7.0
🔍

Agent A3 - Contexte

Enrichissement Neo4j

Enrichit événements temps réel avec historique graphe : incidents passés, near-miss, formations, équipements. Recherche similarité vectorielle.

Requêtes Cypher 15+ patterns
Latence Query <200ms
Vector Search Cosine 1536D
Profondeur 3 niveaux
🧠

Agent A4 - Prédiction ML

Analyse Prédictive Incidents

Prédit probabilité incident à 7 jours avec XGBoost, LightGBM, GNN. Estimation gravité et recommandations actions SHAP-expliquées.

Modèles XGBoost + GNN
F1-Score 80.5%
AUC-ROC 0.87
Latence <50ms
🎼

Agent Maestro - Orchestrateur

Coordination Workflow Multi-Agents

Coordonne tous les agents, gère états workflows (Kafka event bus), résout conflits, applique logique métier, monitoring santé système, retry/circuit breaker.

Event Bus Apache Kafka
State Machine Redis Cache
Workflows 3 principaux
Throughput >50 events/s
Latence E2E <500ms P95
Disponibilité >99%
📢

Agent A5 - Notification

Alertes Intelligentes Multi-Canaux

Routage alertes selon priorité (P1/P2/P3) vers superviseurs, travailleurs, CoSS. Canaux : SMS (Twilio), Push (Firebase), Email (SendGrid), Dashboard temps réel.

Canaux SMS + Push + Email
Latence Envoi <500ms
Taux Livraison >98%
Réponse Moy. <2min

Workflow Multi-Agents

Pipeline orchestré par Maestro : détection → enrichissement → prédiction → alerte

1
🔍 Détection Événement
Agents A1 (Vision) et A2 (IoT) détectent simultanément posture à risque (angle dos >65°) et fatigue élevée (score 7.8). Publication événement Kafka.
2
📊 Enrichissement Contexte
Agent A3 interroge Neo4j : historique travailleur (2 incidents lombaires passés), zone à risque (score 8.2), formations valides, équipements disponibles. Latence <200ms.
3
🧠 Prédiction ML
Agent A4 calcule probabilité incident 7j = 72% avec XGBoost + GNN. Gravité estimée 6.5/10. Confiance 82%. Facteurs : historique + fatigue + posture.
4
🎼 Decision Maestro
Maestro évalue : probabilité >50% + gravité >6 → Priorité P1. Décision : alerte immédiate superviseur + notification travailleur + log Neo4j.
5
📢 Notification
Agent A5 envoie SMS superviseur, push mobile travailleur, alerte dashboard CoSS. Actions recommandées : repos immédiat + formation ergonomie planifiée.
6
✅ Intervention & Feedback
Superviseur intervient <15min. Travailleur affecté tâches légères 48h. Formation ergonomie planifiée J+3. Incident évité → Near-Miss enregistré Neo4j.
⚡ Performance Pipeline E2E
<500ms
Latence P95
50+
Events/sec
99%
Disponibilité
<10%
Faux Positifs

Analyse Prédictive

Modèles ML entraînés sur 793K+ incidents CNESST pour prédiction probabiliste et estimation gravité

XGBoost Classifier

Prédiction Risque 7 Jours

Modèle de classification binaire : incident probable / non-probable dans les 7 jours suivants. Features : historique 90j, near-miss 30j, fatigue, postures, équipements, formations.

82%
Précision
79%
Rappel
80.5%
F1-Score
0.87
AUC-ROC
LightGBM Regressor

Estimation Gravité

Modèle de régression : score gravité 1-10 (aligné échelle CNESST). Prend en compte type lésion probable, partie corps, contexte, historique similaire.

1.2
MAE
1.6
RMSE
0.73
<50ms
Latence
📈 Scénarios Prédictifs Typiques
🔴 Lombalgie
Détection : 3x postures >65°, fatigue 7.5, historique 2 incidents lombaires
Proba 72% → Intervention immédiate
🟠 Collision Chariot
Détection : Maintenance retardée, trafic +35%, 5x near-miss piéton-chariot
Proba 68% → Maintenance forcée
🟡 TMS Cumulatif
Détection : OCRA 18→24 (M-3), fatigue chronique 3 travailleurs
Proba 81% → Analyse ergonomique

Conformité Réglementaire

Respect strict LSST, ISO/TR 12295, Loi 25/RGPD, C-25 Standards avec audit trail complet

⚖️
LSST Québec
Loi sur la Santé et Sécurité du Travail : déclaration CNESST automatique <24h, programme prévention, formation travailleurs, comité SST.
✓ Conforme
📐
ISO/TR 12295
Ergonomie manutention : évaluation OCRA, zones risque (Verte/Jaune/Rouge), actions correctives selon seuils, traçabilité complète.
✓ Conforme
🔒
Loi 25 / RGPD
Protection données personnelles : pseudonymisation, anonymisation K-anonymat, rétention 24 mois, droit à l'oubli, audit trail.
✓ Conforme
// Auto-génération déclaration CNESST (Python)
def generate_cnesst_declaration(incident_id):
    with neo4j_driver.session() as session:
        # Requête incident complet
        incident_data = session.run("""
            MATCH (i:Incident_CNESST {id: $incident_id})
            MATCH (i)-[:IMPLIQUE]->(t:Travailleur)
            MATCH (i)-[:SURVIENT_DANS]->(z:Zone_Travail)
            RETURN i, t, z
        """, incident_id=incident_id).single()
        
        # Formulaire CNESST
        cnesst_form = {
            'no_dossier': incident_data['i']['no_dossier_cnesst'],
            'date_incident': incident_data['i']['date_incident'].isoformat(),
            'lesion': {
                'nature': incident_data['i']['nature_lesion'],
                'gravite': incident_data['i']['gravite']
            }
        }
        
        # Envoi API CNESST
        response = requests.post(
            'https://api.cnesst.gouv.qc.ca/declarations',
            json=cnesst_form
        )
        
        return response.status_code == 200

Bénéfices Mesurables

Impacts quantifiables sur réduction incidents, coûts SST, et conformité réglementaire

📉
Réduction Incidents
-20 à -35%
Diminution drastique incidents dans les 12 premiers mois grâce à détection précoce, prédiction probabiliste et interventions proactives. Validation sites pilotes.
💰
Retour sur Investissement
>200%
ROI positif sur 12 mois : économies coûts incidents (arrêts travail, soins, cotisations CNESST) + gains productivité + réduction primes assurance.
🎯
Détection Near-Miss
>50
Identification 50+ quasi-accidents sur 3 mois grâce aux agents A1/A2/A3. Leçons apprises → Amélioration continue procédures et formations.
Conformité 100%
100%
Déclarations CNESST complètes <24h, audit trail exhaustif, anonymisation automatique, documentation ISO 45001, zéro non-conformité majeure.
Temps Intervention
<15min
Délai moyen intervention superviseur après alerte P1/P2. Notifications multi-canaux (SMS, Push) pour réactivité maximale.
📊
Précision Prédiction
80.5%
F1-Score modèle prédictif. Balance optimale précision/rappel pour minimiser faux positifs tout en captant incidents probables.

Transformez Votre Gestion SST

Rejoignez les entreprises innovantes qui ont choisi SafetyGraph pour réduire drastiquement leurs accidents de travail et créer un environnement plus sûr pour leurs employés.

📧 tech@genaisafety.com | 📞 1-800-SST-SAFE | 🌐 safetygraph.genaisafety.com