Files
aivanov_CIM/SOLUTION_INTERFACE_WEB.md
2026-03-05 01:20:14 +01:00

5.2 KiB

Solution: Interface Web TIM - Problème d'Affichage

Date: 2026-02-12

Diagnostic Complet Effectué

Tests Réussis

  1. Serveur API démarré sur http://localhost:8001
  2. Endpoint de codage fonctionnel - Retourne les données correctement
  3. Documents accessibles - 3 documents disponibles pour le séjour 15_23096332
  4. Structure des données correcte:
    • DP: F05.0 (Délirium)
    • DR: K80 (Cholélithiase)
    • 25 DAS
    • 29 CCAM

🎯 Solution: Ouvrir l'Interface et Diagnostiquer

Étape 1: Accéder à l'Interface

Ouvrez votre navigateur et allez sur:

http://localhost:8001

Étape 2: Charger le Séjour

  1. Dans le champ de recherche, entrez: 15_23096332
  2. Cliquez sur "Charger le séjour"

Étape 3: Diagnostiquer si Rien ne s'Affiche

Si l'interface affiche "Chargement des données..." indéfiniment:

  1. Ouvrir la Console du Navigateur:

    • Appuyez sur F12 (ou Ctrl+Shift+I sur Linux/Windows, Cmd+Option+I sur Mac)
    • Allez dans l'onglet "Console"
  2. Chercher les Erreurs JavaScript (texte en rouge):

    • Erreurs de syntaxe
    • Erreurs de réseau (CORS, 404, etc.)
    • Erreurs de composants
  3. Vérifier les Logs de Diagnostic:

    // Vous devriez voir ces messages:
    "Application initialized, filters reset"
    "CodesPanel.render() called with stay: ..."
    "Stay codes: ..."
    
  4. Vérifier les Filtres (dans la console):

    // Taper dans la console:
    stateManager.getFilters()
    
    // Devrait afficher:
    { codeType: [], confidenceLevel: [], withoutEvidence: false }
    
    // Si les filtres sont incorrects, les réinitialiser:
    stateManager.setFilters({
      codeType: [],
      confidenceLevel: [],
      withoutEvidence: false
    });
    

🔧 Problèmes Courants et Solutions

Problème 1: "Failed to fetch" ou "Network Error"

Cause: Le serveur API n'est pas accessible

Solution:

# Vérifier que le serveur est démarré
curl http://localhost:8001/

# Si pas de réponse, démarrer le serveur:
python -m uvicorn pipeline_mco_pmsi.api.tim_api:app --host 0.0.0.0 --port 8001

Problème 2: "CORS policy" error

Cause: Le navigateur bloque les requêtes cross-origin

Solution: Le serveur API a déjà configuré CORS pour accepter toutes les origines. Si le problème persiste, vérifier que vous accédez bien à http://localhost:8001 et non à file:///...

Problème 3: "Cannot read property 'codes' of undefined"

Cause: La structure des données ne correspond pas à ce que le code attend

Solution: Vérifier dans la console que stay.codes existe:

// Dans la console après avoir chargé le séjour:
stateManager.getCurrentStay()
// Devrait afficher un objet avec stay.codes.dp, stay.codes.dr, etc.

Problème 4: Tous les filtres sont actifs

Cause: Le StateManager a des filtres actifs qui cachent tous les codes

Solution:

// Dans la console:
stateManager.setFilters({
  codeType: [],
  confidenceLevel: [],
  withoutEvidence: false
});

📋 Checklist de Vérification

  • Le serveur API est démarré (test avec curl http://localhost:8001/)
  • L'interface est accessible dans le navigateur (http://localhost:8001)
  • La console du navigateur est ouverte (F12)
  • Aucune erreur JavaScript n'apparaît en rouge dans la console
  • Les logs de diagnostic apparaissent dans la console
  • Les filtres du StateManager sont réinitialisés

🚀 Si Tout Fonctionne

Vous devriez voir:

  1. En-tête Patient (en haut):

    • Informations patient (ID anonymisé, âge, sexe, IMC)
    • Informations séjour (dates, durée, spécialité)
  2. Panneau Codes (gauche):

    • Indicateur de complétude
    • DP: F05.0 - Délirium...
    • DR: K80 - Cholélithiase
    • 25 DAS
    • 29 CCAM
  3. Panneau Documents (centre):

    • 3 documents disponibles
    • Contenu des documents
  4. Panneau Détails (droite):

    • "Sélectionnez un code pour voir ses détails"

📞 Si le Problème Persiste

  1. Copier les erreurs de la console et les partager
  2. Vérifier les logs du serveur:
    tail -f api_server.log
    
  3. Tester avec l'interface de diagnostic:
    firefox test_interface.html
    

🛠️ Scripts Utiles Créés

  1. start_api_server.sh - Démarre le serveur API
  2. test_interface_api.py - Teste que l'API fonctionne
  3. test_interface.html - Interface de diagnostic simple
  4. DIAGNOSTIC_INTERFACE_WEB.md - Documentation complète du diagnostic

📝 Commandes Rapides

# Démarrer le serveur
python -m uvicorn pipeline_mco_pmsi.api.tim_api:app --host 0.0.0.0 --port 8001

# Tester l'API
python test_interface_api.py

# Voir les logs du serveur
tail -f api_server.log

# Arrêter le serveur
pkill -f "uvicorn pipeline_mco_pmsi.api.tim_api"

Conclusion

L'API fonctionne parfaitement et retourne les bonnes données. Si l'interface ne s'affiche pas, c'est un problème JavaScript côté client. La console du navigateur (F12) vous donnera l'erreur exacte qui empêche l'affichage.

Prochaine étape: Ouvrir http://localhost:8001 dans votre navigateur et vérifier la console pour identifier l'erreur spécifique.