RéalisationSanté, distribution de dispositifs médicaux2024-20265 min de lecture

Automatiser les retours SAV vers les fabricants, avec une trace de chaque demande

Les fiches de retour SAV de Santécie sont routées vers les bons formulaires fabricants et remplies automatiquement, avec une trace d’audit pour chaque demande.

SantécieIA · Projet qui intègre l’IA ou forme des équipes à l’IAEn production
Sommaire9

L’essentiel

En trente secondes
  1. EnjeuChaque retour SAV doit partir vers le fabricant sur son propre formulaire ; la recopie manuelle prenait du temps et exposait à des erreurs coûteuses.
  2. MécanismeDes règles de routage versionnées désignent les formulaires cibles, une automatisation déterministe les remplit, et l’IA ne voit que des échantillons synthétiques.
  3. PreuveDes dizaines de milliers de demandes traitées en production depuis septembre 2025, avec 100 % de complétion opérationnelle selon mon suivi d’exploitation.
  4. ImpactLa saisie devient de la configuration : au moins 500 heures évitées par tranche de 10 000 demandes, et un échec se rejoue isolément.
  5. LimitesLes indicateurs viennent du suivi d’exploitation que je déclare ; ils n’ont pas été audités de façon indépendante.
Client
Santécie
Mon rôle
Développeur principal, back-end et front-end
Cadre
Via un partenaireSilico
Équipe
Intégré à une équipe existante · 2 personnesIntégré à l’équipe projet, avec un second développeur sur 2024-2025.
Technologies

Le point de départ

Santécie distribue des dispositifs médicaux. Quand un appareil revient en SAV, le retour doit partir vers le fabricant avec le bon formulaire, rempli selon son modèle à lui : chaque fabricant a ses champs, ses versions et ses exigences. Les fiches de retour arrivent le plus souvent sous forme de fichiers Excel, et quelqu’un devait en reporter le contenu, formulaire après formulaire.

Ce travail n’exige aucun jugement, mais une attention constante, et une erreur de report coûte cher à corriger. La demande était donc double : supprimer la recopie, et savoir après coup ce qui a été envoyé, où et pourquoi.

Ce que j’ai construit

Le cœur du système n’est pas le remplissage, mais le routage. Une fiche peut concerner un formulaire, plusieurs, ou aucun selon son contenu. J’ai structuré le domaine autour de trois notions nettes : le groupe de formulaires, identifié par un code métier stable ; la configuration de routage, écrite comme une suite de conditions ; la cible de remplissage, qui associe un formulaire à une version précise.

Mock
Éditeur de routage : des blocs de conditions qui mènent chacun à un formulaire fabricant et à une version précise
Une règle de routage : des conditions IF, ELSE IF et ELSE sur les données reçues, chacune menant à un formulaire et à une version explicites. Rendu sur données fictives

Deux décisions ont pesé. Le routage se résout au moment de l’exécution, puis se fige avec elle : on corrige une règle sans réécrire l’histoire, et chaque formulaire rempli garde la règle qui l’a produit. J’ai aussi distingué, avec l’équipe, la complétion d’une demande, qui relance seulement ce qui a échoué, de son rejeu complet.

Une API NestJS avec Prisma porte le domaine, des files BullMQ absorbent les volumes, et une interface Vue 3 sert à gérer les formulaires, leurs versions et les règles. L’accès est réparti par rôle, opérateur ou administrateur, et les journaux comme les contenus traités ont une durée de conservation.

Où passe l’IA, et où elle ne passe pas

Sur des données de santé, la question n’est pas de savoir si l’IA peut aider, mais où elle a le droit d’intervenir. Les demandes de production passent par une automatisation déterministe, avec des règles et un schéma stricts. L’analyse assistée par IA sert uniquement, sur des échantillons synthétiques, à générer les modèles de correspondance entre les colonnes reçues et les champs d’un formulaire. La validation humaine porte en amont, sur la configuration, et non sur chaque demande.

Travailler dans l’équipe, pas à côté

J’ai rejoint ce projet comme on rejoint une équipe : par son code, son vocabulaire et ses habitudes, et j’en suis devenu l’auteur principal1. Le dépôt porte aujourd’hui ce qui permet à quelqu’un d’autre, humain ou agent, de le reprendre : un fichier de contexte à la racine, des décisions d’architecture consignées une par une, un audit des flux et un glossaire métier partagé avec les utilisateurs.

Historique Git du dépôt : 113 des…

Historique Git du dépôt : 113 des 193 commits sont les miens, de juillet 2024 à septembre 2026. Un second développeur a contribué en 2024 et 2025. Un nombre de commits ne mesure ni l’effort ni la qualité.

Ce glossaire a compté plus qu’il n’y paraît. Une « demande » n’est pas un « lot », un « rejeu » n’est pas une « complétion ». Le jour où un utilisateur demande pourquoi un formulaire a été rempli deux fois, la réponse tient dans ces distinctions.

Ce que montrent les preuves

L’automatisation tourne en production depuis septembre 2025. Les chiffres ci-dessous viennent de mon suivi d’exploitation2, et ils ne se lisent qu’avec leur définition.

Comptages agrégés issus du suivi d’exploitation…

Comptages agrégés issus du suivi d’exploitation, que je déclare. Le volume exact et un export anonymisé des comptages se communiquent sur demande.

La trace, elle, se consulte à tout moment : pour une demande donnée, l’outil montre quelle règle s’est appliquée, quelle branche a été retenue et quelles conditions ont été évaluées.

Mock
Test d’une règle de routage : cible résolue, branche retenue et liste des conditions évaluées
« Tester le routage » rejoue une règle sur une demande d’exemple, sans rien enregistrer : cible résolue, branche retenue, chaque condition évaluée. Rendu sur données fictives
de demandes traitées en production depuis septembre 2025
des dizaines de milliers
de complétion opérationnelle, au sens défini ci-dessus
100 %
échec opérationnel, pannes externes suivies à part
0
de saisie évitées par tranche de 10 000 demandes (estimation)
≥ 500 h

Ce que cela change

La ressaisie se déplace vers la configuration : une règle se paramètre une fois et s’applique à chaque fiche reçue. À raison de 3 à 5 minutes de saisie manuelle par formulaire, chaque tranche de 10 000 demandes représente entre 500 et 830 heures de saisie évitées3.

10 000 demandes × 3 minutes =…

10 000 demandes × 3 minutes = 500 heures ; × 5 minutes = environ 830 heures. La durée de 3 à 5 minutes est une estimation du remplissage manuel, pas une mesure.

Quand une fiche échoue, on sait quelle règle l’a dirigée où, et on la complète ou on la rejoue sans reprendre le lot entier.

Mock
Liste des exécutions avec leur formulaire, leur version, leur statut, leur mode et un bouton pour les rejouer
L’onglet Exécutions : chaque exécution garde son formulaire, sa version, son statut et son mode, réel ou test, et peut être rejouée. Rendu sur données fictives

Le système continue d’évoluer, avec des travaux récents sur l’intégration au routage SAP et sur le déploiement. J’y travaille en indépendant, intégré à l’équipe projet : d’abord en micro-entreprise, puis via MC Studio depuis janvier 2026.

Limites

  • Les comptages sont les miens : ils n’ont pas fait l’objet d’un audit indépendant, et le volume exact se communique sur demande.
  • Le taux de complétion mesure l’exécution de bout en bout avec sa trace, pas la justesse de chaque correspondance.
  • Le temps évité est une estimation fondée sur une durée de saisie manuelle, pas une mesure avant et après.
  • Le projet est mené en équipe : les choix de produit ont été partagés, et je n’en revendique pas seul la direction.

Partager et réutiliser

Le lien, le texte brut et des visuels prêts pour LinkedIn.

Intégrer cette carte

Collez ce code dans une page web pour afficher une carte de ce contenu.

<iframe src="https://mc-stud.io/embed/realisations/robotform-formulaires-sav" title="Automatiser les retours SAV vers les fabricants, avec une trace de chaque demande" width="100%" height="360" style="border:0;border-radius:16px;max-width:640px" loading="lazy"></iframe>

Parlons de ce que l’IA pourrait changer chez vous

Un échange découverte de 30 minutes, en visio et sans engagement, pour parler de votre projet, de vos contraintes et de la meilleure suite à lui donner.

contact@mc-stud.io