Étude de cas : CareSentinel — Dashboard BI chirurgical pour l'AP-HP

17/03/2026
L'AP-HP (Assistance Publique — Hôpitaux de Paris) est le plus grand centre hospitalier universitaire d'Europe : 39 hôpitaux, plus de 20 000 lits, 100 000 professionnels de santé. En 2024, l'AP-HP a confié à Bob le développeur le développement de CareSentinel, un tableau de bord de Business Intelligence dédié au suivi et à l'analyse de l'activité chirurgicale.
Ce document détaille le contexte du projet, les fonctionnalités développées, les choix techniques, et ce que ce projet illustre sur le développement d'applications sur mesure pour les établissements de santé publics.
Le contexte
Les équipes chirurgicales de l'AP-HP avaient besoin d'un outil de pilotage de leur activité qui aille au-delà du reporting PMSI standard. Le besoin portait sur trois axes :
- Suivre l'activité chirurgicale mois par mois : nombre de patients, types d'interventions (programmées, ambulatoires, urgences), durées de séjour, revenus
- Détecter les écarts par rapport aux prédictions : comparer les taux de complications observés aux taux attendus, avec des seuils d'alerte automatiques
- Identifier les actes chirurgicaux à risque : savoir quelles procédures contribuent le plus aux complications, et si ces contributions sont statistiquement significatives
Les plateformes BI hospitalières standard (Hospivision, M-Data, Elap) couvrent le reporting PMSI et financier, mais pas l'analyse prédictive des complications par acte chirurgical. Le besoin était trop spécifique pour un produit packagé — c'est un cas typique où le développement sur mesure est la bonne réponse.
Ce qui a été développé
4 services chirurgicaux
CareSentinel couvre 4 services de chirurgie, chacun accessible de façon indépendante avec ses propres données et indicateurs :
| Service | Code | Spécialités couvertes |
|---|---|---|
| Chirurgie Digestive | dig | Hépatique, pancréatique, gastrique, colorectale — 27 procédures configurées |
| Chirurgie Thoracique | thor | Pulmonaire, thoracique |
| Chirurgie Orthopédique | ortho | Orthopédie, traumatologie |
| Chirurgie Urologique | uro | Urologie |
Chaque service dispose de son propre dashboard avec des données indépendantes. Le contrôle d'accès garantit qu'un praticien ne voit que les données du ou des services auxquels il est rattaché.
KPIs suivis
Données globales par service et par mois :
- Nombre de patients hospitalisés
- Sévérité moyenne des cas
- Durée moyenne de séjour
- Revenus mensuels
- Revenu moyen par patient
- Réadmissions à 30 jours
- Revenu moyen par jour-patient
Complications suivies :
- Complications hémorragiques
- Complications infectieuses
- Mortalité intra-hospitalière
Pour chaque métrique, CareSentinel affiche trois valeurs : la valeur du mois en cours, la valeur du même mois de l'année précédente (historique), et la moyenne. Un delta en pourcentage permet de visualiser immédiatement les tendances.
Timeseries sur 12 mois
Chaque indicateur est visualisé sur une courbe de 12 mois avec :
- La valeur observée (courbe principale)
- La valeur prédite (courbe de référence)
- L'intervalle de confiance (bande supérieure et inférieure)
La zone entre la prédiction et la borne supérieure est colorée en dégradé jaune → orange → rouge. La zone entre la borne inférieure et la prédiction est en vert. Ce code couleur permet de repérer visuellement les mois problématiques.
Système d'alertes à deux niveaux
CareSentinel génère automatiquement des alertes quand une métrique dépasse les seuils attendus :
- Alerte critique (rouge) : la valeur observée dépasse la borne supérieure de l'intervalle de confiance
- Alerte warning (orange) : la valeur observée est au-dessus de la prédiction mais reste dans l'intervalle de confiance
Chaque alerte est cliquable et amène directement au graphique concerné, avec les statistiques détaillées : valeur observée, valeur prédite, bornes de l'intervalle.
Analyse des contributeurs
Pour chaque mois et chaque service, CareSentinel identifie les procédures chirurgicales qui contribuent le plus aux complications :
- Top 10 : les 10 actes qui contribuent le plus aux complications totales
- Bottom 10 : les 10 actes les plus performants (contribution la plus faible)
Pour chaque acte, l'application affiche :
- Le taux de complications observé vs prédit
- La fréquence observée vs prédite
- Un indicateur de significativité statistique à 95% — l'écart entre observé et prédit est-il statistiquement significatif ou dû au hasard ?
Cette analyse permet aux équipes chirurgicales d'identifier précisément quels actes méritent une attention particulière.
Clusters chirurgicaux
En vue globale (tous services confondus), CareSentinel propose un découpage par clusters anatomiques :
- Foie (chirurgie hépatique)
- Sous-mésentérique (côlon, rectum)
- Sus-mésentérique (estomac, pancréas, voies biliaires)
- Autres chirurgies
Chaque cluster dispose de sa propre courbe de timeseries avec les mêmes indicateurs (observé, prédit, intervalles de confiance).
Résumés IA
CareSentinel génère des résumés mensuels narratifs pour chaque service, produits par un modèle de langage (LLM). Ces résumés synthétisent les points saillants du mois : évolutions notables, alertes déclenchées, actes contributeurs.
Vues multiples par service
Chaque service propose 4 onglets de navigation :
- Synthèse — Vue d'ensemble avec résumé IA, KPIs et alertes
- Groupes — Analyse par groupement de procédures
- Chirurgies uniques — Analyse par acte chirurgical individuel
- Ambulatoire — Suivi de la chirurgie ambulatoire
Widget de feedback
Un bouton flottant permet aux utilisateurs de soumettre des retours directement depuis n'importe quelle page de l'application. Les feedbacks sont collectés avec l'URL de la page et gérés via une interface d'administration dédiée.
Architecture et choix techniques
Stack
| Composant | Technologie |
|---|---|
| Framework | Next.js 14 (Pages Router) |
| Langage | TypeScript 5 |
| UI | Tailwind CSS 4 + shadcn/ui + Radix UI |
| Graphiques | Recharts 2.15 |
| State management | React Query (TanStack Query 5) |
| Authentification | Keycloak (OAuth2 + PKCE) |
| Formulaires | React Hook Form + Zod |
| Animations | Framer Motion |
| Analytics | Umami (self-hosted, respectueux de la vie privée) |
| Internationalisation | next-i18next (français) |
| Déploiement | Docker (Node 21-alpine) + nginx + Let's Encrypt |
Authentification et contrôle d'accès
L'authentification repose sur Keycloak avec le protocole OAuth2 + PKCE (Proof Key for Code Exchange), adapté aux applications frontend publiques.
Modèle de contrôle d'accès :
- Groupes (accès aux services) : chaque utilisateur est rattaché à un ou plusieurs services (dig, thor, ortho, uro) via les groupes Keycloak. Il ne voit que les données des services auxquels il appartient.
- Rôles (accès aux fonctionnalités) : le rôle
admindonne accès à la gestion des feedbacks et aux analytics. Le rôleuserest implicite pour tous les utilisateurs authentifiés.
Le token JWT contient les claims de groupe et de rôle, utilisés côté frontend pour le filtrage des services et l'affichage conditionnel des fonctionnalités.
Data fetching
Les données sont servies par un backend FastAPI (Python) qui expose les endpoints :
/v1/results/timeseries— Courbes 12 mois par service et par indicateur/v1/results/snapshots— KPIs du mois (valeur, historique, moyenne, delta)/v1/results/contributors— Top/bottom 10 contributeurs aux complications/v1/results/summary— Résumés IA mensuels/v1/results/exists— Vérification de disponibilité des données
React Query gère le cache (5-10 min), les requêtes parallèles, et le maintien des données affichées pendant les rechargements.
Déploiement
L'application est conteneurisée avec Docker et déployée derrière un reverse proxy nginx avec SSL (Let's Encrypt). L'infrastructure comprend :
- Le frontend Next.js (Docker)
- Le backend FastAPI (Docker)
- Keycloak (instance dédiée)
- Umami + PostgreSQL (analytics)
Une documentation de déploiement complète (1 050+ lignes) couvre l'ensemble du processus de mise en production.
Chiffres clés du projet
| Indicateur | Valeur |
|---|---|
| Durée | Juin 2024 — Février 2025 (9 mois) |
| Services couverts | 4 (digestive, thoracique, orthopédique, urologique) |
| Procédures configurées | 27 (chirurgie digestive) |
| Types de complications suivis | 3 (hémorragiques, infectieuses, mortalité) |
| KPIs globaux | 7 par service et par mois |
| Niveaux d'alerte | 2 (critique + warning) |
| Fichiers TypeScript | 335+ |
| Lignes de code | ~38 000 |
| Documentation | README + Getting Started + Deployment (1 050+ lignes) |
Ce que ce projet illustre
Le sur mesure est nécessaire pour l'analytics chirurgical avancé
Les plateformes BI hospitalières standard proposent des centaines d'indicateurs PMSI et financiers pré-calculés. Mais aucune ne propose de l'analytics prédictif chirurgical avec comparaison observé/attendu, alertes automatiques et analyse des contributeurs par acte. Ce type de besoin, propre à une organisation spécifique, ne peut être couvert que par un développement sur mesure.
La sécurité est non négociable en milieu hospitalier
Keycloak avec OAuth2+PKCE, RBAC par service, traçabilité des accès, hébergement sécurisé — ces choix ne sont pas optionnels. Un DSI hospitalier qui évalue un prestataire doit vérifier que ces exigences sont maîtrisées dès la conception.
Un projet hospitalier se documente
1 050+ lignes de documentation de déploiement. Un guide de démarrage. Un README détaillé. Dans le secteur hospitalier, la documentation n'est pas un bonus — c'est une exigence de continuité de service. L'équipe interne doit pouvoir reprendre le projet si nécessaire.
Comment Bob le développeur peut vous accompagner
Bob le développeur est une agence française de développement sur mesure fondée en 2017 à Station F. CareSentinel est un exemple concret de ce que l'agence développe pour les institutions de santé publiques : des applications métiers complémentaires aux SIH existants, conçues pour les besoins spécifiques des équipes hospitalières.
L'agence intervient sur :
- Tableaux de bord BI avec analytics prédictif
- Portails patients (pré-admission, suivi, télésuivi)
- Connecteurs d'interopérabilité (FHIR/HL7)
- Outils métiers départementaux
Facturation via Chorus Pro. Compatible marchés publics. Budget estimatif pour un projet BI hospitalier : 80 000 à 300 000 EUR.
Prenez rendez-vous pour discuter de votre projet.
Dernière mise à jour : mars 2026.
