Skip to Content
L’échange d’apprentissage de HIC débute le 13 Juillet 2026. Voir le programme
AtelierÉlément 19 sur 22 · 2 h

Atelier : Construire l’analytique MMR dans Superset

Tout ce qui se construit dans Superset suit la même recette en quatre étapes : enregistrer un jeu de données, définir un indicateur, transformer l’indicateur en graphique, puis assembler les graphiques en tableau de bord. Cet atelier applique cette recette de bout en bout au ratio de mortalité maternelle, pour aboutir au tableau de bord national d’analyse situationnelle maternelle. Chaque graphique de ce tableau de bord a été construit exactement de cette manière : une fois la recette maîtrisée, elle se transfère à n’importe quel autre indicateur.

Ce que vous apprendrez
  • Enregistrer un dataset d’événements maternels dans Superset et l’enrichir avec des champs MPCDSR au niveau des cas
  • Écrire et enregistrer un indicateur MMR réutilisable en SQL personnalisé, partagé par tous les graphiques du tableau de bord
  • Transformer l’indicateur enregistré en courbe de tendance et en tuiles grand format nationales
  • Assembler les graphiques dans le tableau de bord Analyse situationnelle maternelle à neuf onglets
  • Interpréter les résultats descriptifs et diagnostiques du tableau de bord terminé
Avant de commencer
  • Un accès à une instance Apache Superset connectée à l’entrepôt de données contenant les données de santé maternelle déjà ingérées (DHIS2 + MPCDSR), avec les droits nécessaires pour créer des datasets, des graphiques et des tableaux de bord
  • Avoir terminé Fondamentaux de l’analytique — cet atelier s’appuie directement sur les quatre types d’analytique et les quatre questions analytiques qui y sont présentés
  • Une familiarité de base avec les requêtes SQL d’agrégation (GROUP BY, FILTER/CASE, NULLIF)

Enregistrer le jeu de données

Commencez par déterminer les éléments de données requis, puis enregistrez-les dans Superset sous forme de Dataset — une table physique ou une vue SQL. Le jeu de données devient la source unique que chaque graphique interroge, ce qui garantit la cohérence des définitions sur l’ensemble du tableau de bord.

Depuis DHIS2, le modèle a besoin de :

  • Naissances vivantes — le dénominateur
  • Décès maternels — le numérateur
  • Cause du décès
  • Établissement et type d’établissement
  • Province et district
  • Date du décès

Enrichissez ensuite le jeu de données avec les champs MPCDSR au niveau des cas : les trois retards, le statut de référence, l’évitabilité, l’âge et la parité. Les données de routine donnent les taux ; les champs de surveillance apportent la profondeur diagnostique.

Point de contrôleJeu de données enregistré dans Superset
Vous devriez voir :
Dataset : maternal_events Colonnes (12) live_births bigint maternal_deaths bigint cause_of_death varchar facility varchar facility_type varchar province varchar district varchar date_of_death date delay_1 / delay_2 / delay_3 varchar referral_status varchar avoidability varchar age integer parity integer
Vous ne voyez pas cela ?
  • Les champs MPCDSR (retards, statut de référence, évitabilité) sont absents — vous avez enregistré l’export DHIS2 brut avant que la jointure d’enrichissement n’ait tourné. Relancez l’étape d’enrichissement, puis resynchronisez les colonnes du dataset dans Superset.
  • live_births ou maternal_deaths apparaissent en varchar au lieu d’un type numérique — corrigez le type de colonne dans Edit dataset → Columns, sinon le calcul du MMR ci-dessous échoue silencieusement.

Estimer le MMR à partir des données de routine

Le ratio de mortalité maternelle correspond aux décès maternels divisés par les naissances vivantes, multipliés par 100 000. Vous pouvez obtenir ce même chiffre par deux chemins — le prototyper dans SQL Lab, ou le définir directement comme indicateur Superset sur le dataset. Dans les deux cas, cela devient la formule unique que réutilise chaque graphique du tableau de bord, sans aucune dérive entre les graphiques.

Exécutez la requête d’agrégation complète sur le dataset enregistré pour vérifier les chiffres avant d’enregistrer quoi que ce soit :

-- Maternal Mortality Ratio (per 100,000 live births) SELECT year, facility_type, COUNT(*) FILTER (WHERE event = 'maternal_death') AS deaths, COUNT(*) FILTER (WHERE event = 'live_birth') AS births, ROUND( COUNT(*) FILTER (WHERE event = 'maternal_death')::numeric / NULLIF(COUNT(*) FILTER (WHERE event = 'live_birth'), 0) * 100000, 0 ) AS mmr FROM maternal_events GROUP BY year, facility_type ORDER BY year;

Le NULLIF protège contre la division par zéro lorsque les naissances sont manquantes.

Point de contrôleIndicateur MMR enregistré
Vous devriez voir :
Metric : mmr (SQL personnalisé) Aperçu du résultat de la requête year | facility_type | deaths | births | mmr ------+----------------+--------+---------+------ 2019 | tertiary | 612 | 48 000 | 1275 2023 | tertiary | 354 | 48 000 | 737
Vous ne voyez pas cela ?
  • L’aperçu renvoie mmr = NULL pour une ligne au lieu d’un nombre — ce couple facility_type/année a zéro naissance vivante ; vérifiez que la protection NULLIF est bien dans le SQL du metric enregistré, pas seulement dans la requête ad hoc testée.
  • Le metric n’apparaît que sous “Simple”, pas sous “Custom SQL” — vous l’avez enregistré sur l’agrégat par défaut du dataset au lieu de coller le SQL dans Add metric → Custom SQL.

Transformer l’indicateur en graphique

Choisissez un type de graphique adapté à la question. Une question de tendance appelle une courbe ; une question de classement appelle un diagramme en barres ; un chiffre phare unique appelle une tuile grand format. En traçant l’indicateur MMR enregistré par année pour les établissements tertiaires, et sous forme de tuiles nationales grand format, on obtient les chiffres clés :

ChiffreValeur
MMR des établissements tertiaires, début de la période de rapportage1 275 pour 100 000 naissances vivantes
MMR des établissements tertiaires, fin de la période de rapportage737 pour 100 000 naissances vivantes
MMR national actuel77 pour 100 000 naissances vivantes
Plafond HSSP V pour 2025/2686 pour 100 000 naissances vivantes

Le MMR des établissements tertiaires diminue régulièrement sur la période de rapportage, et le chiffre national de 77 se maintient confortablement sous le plafond de 86 fixé pour 2025/26.

Point de contrôleGraphique de tendance MMR et tuiles grand format construits
Vous devriez voir :
Courbe "MMR des établissements tertiaires par année" 2019 ● 1 275 pour 100 000 naissances vivantes 2023 ● 737 pour 100 000 naissances vivantes tendance : baissière Tuile Big Number "MMR national" → 77 pour 100 000 naissances vivantes Tuile Big Number "Plafond HSSP V" → 86 pour 100 000 naissances vivantes
Vous ne voyez pas cela ?
  • La courbe est plate ou n’affiche qu’un seul point — la dimension du graphique pointe vers une autre colonne que year, ou un filtre issu d’une exploration précédente restreint encore l’affichage à une seule année.
  • La tuile grand format affiche une valeur très éloignée de 77 — elle interroge le dataset brut au lieu de l’indicateur mmr enregistré ; repointez le champ metric du graphique vers l’indicateur enregistré.

Assembler le tableau de bord

Enfin, regroupez les graphiques en onglets de tableau de bord. Les onglets du tableau de bord d’analyse situationnelle maternelle reflètent les quatre questions analytiques de la session sur les fondamentaux — de la vue d’ensemble de la mortalité jusqu’aux circonstances des décès et au continuum de soins.

OngletQuestion analytique traitée
Mortalité maternelleVue d’ensemble — tendance et MMR phare
Vue d’ensemble des accouchementsVue d’ensemble — volumes d’accouchements derrière le dénominateur
Investigation régionaleVue d’ensemble — distribution géographique et par hôpital
Audit des décès maternelsCauses — décès directs vs indirects par cause
Caractéristiques des mèresFacteurs associés — âge, parité, profil de risque
Circonstances du décèsFacteurs associés — retards, référence, évitabilité
Analyse par établissementVue d’ensemble et comparaison — performance par établissement et type d’établissement
SurveillanceComparaison — chiffres de routine face aux estimations de surveillance et d’enquête
ANC et PNCFacteurs associés — soins avant et après l’accouchement
Point de contrôleTableau de bord Analyse situationnelle maternelle assemblé
Vous devriez voir :
Dashboard : Analyse situationnelle maternelle Onglets (9) 1. Mortalité maternelle 2. Vue d’ensemble des accouchements 3. Investigation régionale 4. Audit des décès maternels 5. Caractéristiques des mères 6. Circonstances du décès 7. Analyse par établissement 8. Surveillance 9. ANC et PNC
Vous ne voyez pas cela ?
  • Moins de 9 onglets apparaissent — un graphique n’a pas été rattaché à un onglet avant la publication ; ouvrez Edit dashboard et vérifiez que chaque graphique est bien placé dans un onglet, pas laissé en dehors.
  • Un onglet s’affiche sans graphique — les filtres propres au graphique ne correspondent pas au cross-filter de l’onglet (par exemple facility_type restreint à une valeur qui exclut toutes les lignes).

Ce que le tableau de bord révèle

Le tableau de bord fini livre les deux types d’analytique par lesquels le programme commence.

Descriptif — ce qui s’est passé. Le classement des décès obstétricaux directs par cause montre que l’hémorragie obstétricale domine, avec 445 décès — loin devant les troubles hypertensifs (157), les infections liées à la grossesse (144), les autres complications (131), les issues abortives (105) et la prise en charge imprévue (53).

Diagnostique — pourquoi c’est arrivé. La vue des circonstances des décès montre que 81 % des décès étaient potentiellement évitables, que 72 % sont survenus en post-partum, que 65 % concernaient une grossesse à haut risque et que 97 % des cas avaient été référés. Ensemble, c’est l’élément probant qui déclenche l’action : les décès se concentrent après l’accouchement, la plupart auraient pu être évités, et le circuit de référence est l’endroit où le système est le plus sous tension.

Prochaines étapes

Du tableau de bord aux décisions, quatre chantiers font avancer le travail :

  1. Finaliser les définitions des éléments de données DHIS2 avec l’équipe S&E.
  2. Valider le MMR de routine par rapport à l’estimation de l’enquête DHS.
  3. Étendre l’analytique à la prévision prédictive vers la cible de 86.
  4. Opérationnaliser une revue mensuelle du tableau de bord avec les équipes cliniques et programmatiques.