Files
aivanov_database/omop/INTERFACE_FEATURES.md
2026-03-05 01:20:15 +01:00

5.9 KiB
Raw Permalink Blame History

Fonctionnalités de l'Interface Web OMOP

État Actuel

L'interface web est entièrement fonctionnelle et connectée à l'API FastAPI.

🔗 Connexions API Actives

Toutes les pages sont connectées aux endpoints de l'API via React Query :

📊 Dashboard

  • Endpoint: /api/stats/summary - Statistiques globales (rafraîchissement auto toutes les 5s)
  • Endpoint: /api/stats/etl?limit=10 - Historique des 10 dernières exécutions ETL
  • Affichage:
    • Nombre de patients OMOP
    • Nombre de visites médicales
    • Nombre de conditions/diagnostics
    • Enregistrements en attente dans staging
    • Statistiques des exécutions 24h (total, réussies, échouées)
    • Tableau détaillé de l'historique ETL

⚙️ ETL Manager

  • Endpoint: POST /api/etl/run - Lancer un pipeline ETL
  • Endpoint: GET /api/etl/jobs - Liste des jobs en cours (rafraîchissement auto toutes les 2s)
  • Fonctionnalités:
    • Formulaire de configuration du pipeline
    • Sélection table source (staging) et cible (OMOP)
    • Configuration batch size et nombre de workers
    • Mode séquentiel optionnel
    • Suivi en temps réel des jobs actifs avec progression

🗄️ Schema Manager

  • Endpoint: POST /api/schema/create - Créer les schémas
  • Endpoint: GET /api/schema/validate - Valider les schémas
  • Endpoint: GET /api/schema/info - Informations sur les schémas
  • Fonctionnalités:
    • Création de tous les schémas ou individuellement (OMOP, Staging, Audit)
    • Validation automatique de la structure
    • Affichage du nombre de tables par schéma

Validation

  • Endpoint: POST /api/validation/run - Lancer la validation
  • Endpoint: GET /api/validation/unmapped-codes?limit=50 - Codes non mappés
  • Fonctionnalités:
    • Lancement de la validation des données
    • Liste des codes sources non mappés vers OMOP
    • Fréquence d'apparition et dernière occurrence

📝 Logs

  • Endpoint: GET /api/logs/?lines=X&level=Y - Logs système (rafraîchissement auto toutes les 3s)
  • Endpoint: GET /api/logs/errors?limit=50 - Erreurs de validation
  • Fonctionnalités:
    • Filtrage par nombre de lignes (50, 100, 200, 500)
    • Filtrage par niveau (INFO, WARNING, ERROR, CRITICAL)
    • Affichage console-style des logs
    • Tableau des erreurs de validation avec détails

🎯 Tooltips en Français

Tous les éléments de l'interface disposent maintenant d'infobulles explicatives en français :

Dashboard

  • Vue d'ensemble en temps réel du pipeline OMOP CDM
  • Explication de chaque statistique (patients, visites, conditions, en attente)
  • Détails sur les exécutions récentes (24h)
  • Historique ETL avec statuts et durées

ETL Manager

  • Explication du concept ETL (Extract-Transform-Load)
  • Table source : données brutes du staging
  • Table cible : tables OMOP standardisées
  • Taille de batch : impact sur performances et mémoire
  • Nombre de workers : parallélisation et charge CPU
  • Mode séquentiel : pour débogage ou petits volumes
  • Jobs en cours : suivi temps réel avec rafraîchissement auto

Schema Manager

  • Gestion des 3 schémas (OMOP, Staging, Audit)
  • Création individuelle ou complète
  • Validation automatique de la structure OMOP CDM 5.4

Validation

  • Vérification qualité et conformité OMOP
  • Processus de validation (intégrité, valeurs, vocabulaires)
  • Codes non mappés : nécessitent attention pour qualité

Logs

  • Consultation logs et erreurs système
  • Filtres par lignes et niveau de sévérité
  • Rafraîchissement automatique toutes les 3s
  • Erreurs de validation détaillées

🚀 Accès à l'Interface

🔧 Technologies Utilisées

Frontend

  • React 18 avec Vite
  • React Router pour la navigation
  • React Query (@tanstack/query) pour la gestion des appels API
  • Axios pour les requêtes HTTP
  • Recharts pour les graphiques
  • CSS personnalisé avec design moderne

Backend

  • FastAPI avec Uvicorn
  • SQLAlchemy pour l'ORM
  • PostgreSQL 16.11
  • Pydantic pour la validation

📦 Composants Réutilisables

Tooltip.jsx

Composant d'infobulle générique avec :

  • Affichage au survol
  • Style moderne avec ombre
  • Flèche de pointage
  • Support texte multiligne

HelpIcon.jsx

Icône d'aide (?) avec tooltip intégré :

  • Design circulaire bleu
  • Curseur "help"
  • Intégration facile dans n'importe quel élément

🎨 Design

  • Interface moderne et épurée
  • Navigation latérale avec icônes
  • Cartes pour regrouper les informations
  • Badges colorés pour les statuts
  • Grille responsive pour les statistiques
  • Tableaux stylisés pour les données
  • Console-style pour les logs

Fonctionnalités Avancées

  1. Rafraîchissement automatique : Dashboard, ETL jobs et logs se mettent à jour automatiquement
  2. Gestion d'état optimisée : React Query avec cache et invalidation intelligente
  3. Feedback utilisateur : Alertes pour succès/erreurs, états de chargement
  4. Validation formulaires : Contrôles côté client avant envoi
  5. Accessibilité : Tooltips informatifs pour tous les utilisateurs
  6. Internationalisation : Interface entièrement en français

📝 Notes pour les Collaborateurs

L'interface est conçue pour être intuitive et auto-explicative grâce aux tooltips en français. Chaque élément dispose d'une explication contextuelle accessible au survol de l'icône (?).

Les données affichées sont en temps réel et se rafraîchissent automatiquement sans nécessiter de rechargement de page.

Toutes les actions (création schémas, lancement ETL, validation) fournissent un feedback immédiat via des alertes et des mises à jour visuelles.