Ce tableau de bord est une démo fonctionnelle avec données fictives. Voici ce qui est nécessaire pour le déployer en production avec de vraies données PIH Haïti.
This is a working demo with synthetic data. Below is everything needed to deploy it in production with real PIH Haiti data.
Toutes les données sont déjà dans CommCare. Un administrateur CommCare doit activer l'API REST et fournir des identifiants (clé API ou OAuth2). Cela permet d'interroger les formulaires USN, PTA, PNS et les données patient en temps réel, sans export manuel Excel.
All data already lives in CommCare. A CommCare admin needs to enable the REST API and provide credentials (API key or OAuth2). This allows querying USN/PTA/PNS forms and patient data in real time, eliminating manual Excel exports.
Contact: Administrateur CommCare PIH Haïti · Documentation API CommCare →
Mettre en place une base de données PostgreSQL simple qui reçoit les données de CommCare via webhook (mise à jour en temps réel à chaque soumission de formulaire) ou via synchronisation quotidienne. PostgreSQL est gratuit, fiable et facile à maintenir.
Set up a simple PostgreSQL database that receives CommCare data via webhook (real-time on every form submission) or daily sync. PostgreSQL is free, reliable, and low-maintenance.
Options d'hébergement: Render.com (gratuit pour petites charges), Railway, Supabase (PostgreSQL gratuit inclus).
La relation entre un ASC et ses patients n'existe pas encore dans les données CommCare. Il faut ajouter un champ "ASC assigné" dans les formulaires CommCare, ou créer une table de correspondance séparée. Sans cette donnée, la vue ASC du tableau de bord ne peut pas être personnalisée par individu.
The CHW-to-patient relationship does not yet exist in the CommCare data. A field "assigned CHW" must be added to CommCare forms, or a separate mapping table created. Without this, the CHW view cannot be personalized per individual.
Action requise: Équipe CommCare + responsables terrain / CommCare team + field supervisors.
Les données historiques existent sous forme de fichiers Excel (comme celui fourni pour cette démo). Un script de migration unique peut importer ces données dans la base de données de production pour permettre l'analyse des cohortes passées.
Historical data exists as Excel files (like the one provided for this demo). A one-time migration script can import this data into the production database to enable retrospective cohort analysis.
En production, chaque utilisateur doit se connecter avec ses propres identifiants. Un superviseur voit tous les sites. Un médecin voit son site. Un ASC voit uniquement ses patients. Options recommandées: Auth0 (simple, gratuit jusqu'à 7000 utilisateurs) ou integration avec le système d'identité existant PIH.
In production, each user must log in with their own credentials. A supervisor sees all sites. A doctor sees their site. A CHW sees only their patients. Recommended: Auth0 (simple, free up to 7000 users) or integration with PIH's existing identity system.
Ce tableau de bord contient des données de patients — il doit être hébergé sur un serveur sécurisé, derrière authentification, avec HTTPS. Options adaptées à PIH: Render.com, Railway, ou un serveur PIH existant. GitHub Pages (utilisé pour la démo) n'est pas adapté pour des données patients réelles.
This dashboard will contain patient data — it must be hosted on a secure server, behind authentication, with HTTPS. Suitable options for PIH: Render.com, Railway, or an existing PIH server. GitHub Pages (used for this demo) is not suitable for real patient data.
Le système d'alertes de la démo est simulé. En production: WhatsApp Business API via Twilio ou 360dialog pour les ASC et les alertes urgentes. Email via SendGrid ou Mailgun pour les rapports hebdomadaires et les escalades. Les deux sont peu coûteux à l'échelle de ce programme.
The demo alert system is simulated. In production: WhatsApp Business API via Twilio or 360dialog for CHWs and urgent alerts. Email via SendGrid or Mailgun for weekly reports and escalations. Both are low-cost at this program's scale.
Alternative à considérer: Application mobile dédiée ASC (voir ci-dessous).
WhatsApp est le bon point de départ pour les alertes ASC. Mais à terme, une Progressive Web App (PWA) — une application web qui fonctionne hors ligne et peut être enregistrée sur l'écran d'accueil sans passer par un store — permettrait aux ASC de: voir leur liste de patients hors ligne, enregistrer des visites directement depuis le terrain, recevoir des alertes séparées de leurs messages personnels, et éventuellement remplacer CommCare pour la saisie ASC.
WhatsApp is the right starting point. But a Progressive Web App — a web app that works offline and can be saved to the home screen without an app store — would allow CHWs to: view their patient list offline, log visits directly from the field, receive alerts separate from personal messages, and potentially replace CommCare for CHW data entry.
Les seuils utilisés dans la démo (MUAC <115mm, gain de poids <5g/kg/jour, délai de visite 7/14 jours) sont basés sur les protocoles WHO/Sphere standard pour SAM et MAM. Ces seuils doivent être revus et validés par l'équipe clinique PIH Haïti, qui peut avoir des protocoles locaux adaptés au contexte.
Thresholds used in this demo are based on standard WHO/Sphere protocols for SAM and MAM. These must be reviewed and validated by the PIH Haiti clinical team, who may have locally adapted protocols.
PIH utilise déjà Power BI pour certains rapports nutritionnels. Ce tableau de bord n'est pas conçu pour remplacer Power BI, mais pour compléter ses capacités là où Power BI est limité: alertes en temps réel, vue par rôle, score de risque patient, vue du parcours complet. Il est possible de connecter les deux à la même base de données PostgreSQL.
PIH already uses Power BI for some nutrition reports. This dashboard is not designed to replace Power BI, but to complement it where Power BI falls short: real-time alerts, role-based views, patient risk scores, full journey view. Both can connect to the same PostgreSQL database.
Avant déploiement avec de vraies données, s'assurer de la conformité avec les politiques de confidentialité de PIH, les réglementations haïtiennes applicables, et les exigences des bailleurs de fonds. Cela inclut: chiffrement des données au repos et en transit, politique de rétention des données, et accès limité par rôle.
Before deploying with real data, ensure compliance with PIH privacy policies, applicable Haitian regulations, and donor requirements. This includes: data encryption at rest and in transit, data retention policy, and role-based access restrictions.
| Phase | Étape / Step | Responsable / Owner | Effort estimé | Priorité |
|---|---|---|---|---|
| 1 | Accès API CommCare | Admin CommCare PIH | Faible / Low | Haute |
| 1 | Base de données PostgreSQL | Développeur | Moyen / Med | Haute |
| 1 | Assignation ASC ↔ patients | Équipe terrain + CommCare | Faible / Low | Haute |
| 1 | Import historique Excel | Développeur | Faible / Low | Haute |
| 2 | Authentification / RBAC | Développeur | Moyen / Med | Moyenne |
| 2 | Hébergement sécurisé | IT PIH + Développeur | Faible / Low | Moyenne |
| 2 | Alertes WhatsApp + Email | Développeur | Moyen / Med | Moyenne |
| 3 | Application PWA pour ASC | Développeur | Élevé / High | Basse |
| 3 | Validation seuils cliniques | Équipe clinique PIH | Faible / Low | Basse |
| 3 | Relation Power BI | Équipe données PIH | Faible / Low | Basse |
| 3 | Conformité / Privacy | Direction PIH + IT | Moyen / Med | Basse |