Inspiration Dans les dispensaires ruraux, les sages-femmes remplissent à la main des registres maternels. Ces données vitales (tension, hémoglobine, rendez-vous) restent sur papier : impossibles à suivre, à partager, ou à transformer en alerte. Il faut les numériser sans changer leurs habitudes, sans internet fiable, et sans jamais exposer les données des patientes.

Ce que fait Iris

La sage-femme photographie une page du registre et l'envoie sur WhatsApp, même hors ligne : la photo part au retour du réseau, avec l'heure réelle de prise de vue. Iris lit la page entièrement en local et produit un dossier structuré. Chaque champ a une valeur, un statut (connu, non fourni, illisible, à vérifier…) et une confiance. Iris montre ce qu'elle a compris (✅) et pose des questions quand elle doute (🟠 « TA : 106/77 ou 166/77 ? »). Elle ne devine jamais. La sage-femme relie le dossier à la bonne patiente. Iris ne crée jamais de patiente toute seule. Les noms, téléphones et adresses sont ignorés et jamais stockés (🔒). ⚠️ Iris signale les signes d'alerte, comme une suspicion de pré-éclampsie ou une anémie, sur les valeurs confirmées. [si terminé] Testé sur un vrai carnet de vaccination ivoirien : manuscrit, tamponné, sur papier de sécurité. [si terminé]

Comment on l'a construit

Serveur : FastAPI, SQLAlchemy et SQLite, branchés sur la WhatsApp Cloud API par un webhook signé (HMAC) et idempotent. Fiabilité : une file d'envoi persistante et un worker de rattrapage, pour ne rien perdre quand le réseau coupe. Machine à états : capture → lecture IA → révision → validation → liaison → synchronisation. Un serveur central simulé permet de tester les coupures réseau. Lecture en équipe : EasyOCR lit le texte et les chiffres ; OpenCV lit les cases à cocher en mesurant l'encre, sans IA ; un modèle de vision local (Qwen2.5-VL via Ollama) donne un deuxième avis sur les champs critiques. Confidentialité : images chiffrées (Fernet), accès par rôle journalisé, liste blanche des champs autorisés. Vérification : une page locale /verif affiche la photo à côté des données extraites, comparées au corrigé.

Défis rencontrés

Le modèle de vision seul était trop lent (400 s par page) et se trompait sur les grands tableaux. En passant à l'hybride OCR + OpenCV + deuxième avis, on est descendu à 24 s par page. La compression des photos par WhatsApp rend l'écriture minuscule. Il fallait éviter les « erreurs silencieuses » : une valeur fausse affichée comme sûre est pire qu'une question. L'API Meta a été difficile à configurer depuis le Québec.

Ce dont on est fiers

74 % des champs lus correctement, et 98,6 % de justesse quand Iris se dit sûre. 100 % de précision sur les cases à cocher. 0 identifiant stocké. Un parcours complet qui fonctionne sur un vrai téléphone, avec plus de 180 tests automatisés.

Ce qu'on a appris Dans la santé, la confiance compte plus que la performance brute : un outil qui dit « je ne sais pas » est plus utile qu'un outil qui devine. Et chaque outil doit faire ce qu'il fait le mieux.

La suite

Apprendre de chaque correction de sage-femme pour entraîner un modèle local spécialisé dans leur écriture. Une conversation en arabe et en darija. De nouveaux carnets ajoutés par un simple fichier modèle. Un tableau de bord anonymisé pour les superviseurs de district.

Built With

Share this project:

Updates

Submission history