🏥 Système de Diagnostic Médical par IA

Architecture Conforme UML 2.0

PHASE 1

Mise à jour et Entraînement (Flux Synchrone)

Respect des normes UML : Notez l'usage strict des traits pleins pour les requêtes (Control Flow) et des traits pointillés pour les retours de données (Data Flow).
sequenceDiagram autonumber actor Admin as Administrateur participant UI as Interface Web participant API as Backend API participant DB as Base de Données participant IA as Module Training IA %% Pré-condition visuelle Note over Admin, UI: [Ref: Authentification System]
L'Admin doit posséder un Token valide Admin->>UI: Cliquer "Mettre à jour & Entraîner" activate UI UI->>API: POST /api/train-model activate API %% Interaction Base de données rect rgb(240, 248, 255) Note right of API: Persistance des nouvelles données API->>DB: INSERT (New Data) activate DB DB-->>API: Confirmation (Success) deactivate DB API->>DB: SELECT (All Training Data) activate DB DB-->>API: DataSet Complet (JSON/CSV) deactivate DB end %% Interaction Module IA API->>IA: initTraining(DataSet) activate IA IA->>IA: Pré-traitement & Normalisation IA->>IA: Exécution Algorithme (Epochs) IA-->>API: Modèle Serialisé (.pkl/.h5) deactivate IA API-->>UI: Statut 200 OK (Entraînement terminé) deactivate API UI-->>Admin: Afficher notification "Succès" deactivate UI
PHASE 2

Processus de Diagnostic (Inférence)

Respect des normes UML : Utilisation d'un bloc alt (alternative) pour gérer le cas où l'IA ne trouve pas de correspondance fiable (Gestion d'erreur).
sequenceDiagram autonumber actor Doc as Docteur participant App as Application Client participant Engine as Moteur Inférence IA Note over Doc, App: [Ref: Authentification]
Session active requise Doc->>App: Saisir symptômes (Formulaire) activate App Doc->>App: Valider le diagnostic App->>Engine: predict(SymptômesVectorisés) activate Engine Engine->>Engine: Chargement Modèle Engine->>Engine: Calcul Probabilités (Softmax) %% Bloc Alternative UML (Logique conditionnelle) alt Confiance > Seuil (ex: 50%) Engine-->>App: Liste Maladies {Nom, Score} else Confiance Insuffisante Engine-->>App: Exception: "Diagnostic non concluant" end deactivate Engine App-->>Doc: Affichage Résultats ou Avertissement deactivate App