
Une vaste campagne de dépistage actif de la tuberculose au Cameroun dépiste des membres des communautés, des structures de santé primaire et des prisons dans sept régions, en saisissant les données dans cinq bases REDCap distinctes ainsi que plusieurs systèmes externes de laboratoire et de programme.
Les données d'un même participant étaient éclatées sur cinq projets REDCap, avec des identifiants QR doubles voire quadruples, des formulaires bilingues français/anglais et des flux externes (GeneXpert, issues de traitement, programme national) — rendant un reporting fiable et opportun presque impossible.
J'ai construit un pipeline Python en trois étapes (import → traitement → reporting) doté d'un moteur de validation des identifiants qui vérifie et corrige par expressions régulières chaque QR code, relie dépistage, prélèvement et résultat de laboratoire, normalise les champs bilingues, extrait les mesures de spirométrie depuis des PDF et intègre quatre sources de données externes — le tout orchestré chaque heure via Airflow.
Le programme s'appuie désormais sur un jeu de données participant unique, rafraîchi automatiquement tout au long de la journée, transformant cinq bases déconnectées et des dizaines d'exports bruts en un reporting prêt à l'analyse sur le dépistage, l'éligibilité et les résultats diagnostiques.