A l’époque où je travaillais dans la facturation de transports médicaux, les professionnels de santé (PS) envoyaient par télétransmission leurs factures à la sécurité sociale. Afin de vérifier l’état de paiement des factures, ils obtenaient ensuite des retours dit NOEMIE.

Ces retours étaient des mails envoyés sur une boite particulière fournie à la sécurité sociale, par le professionnel de santé. Ils contenaient des lignes de texte au format bien précis, qui est détaillé dans la norme NOEMIE.

Et donc, je m’étais lancé comme projet personnel de créer une application mobile sur iOS qui permettrait de récupérer ces retours Noemie.

S’en est suivi tout un travail de conception articulé autour de la norme NOEMIE que j’avais choisie d’implémenter – car il y en a plusieurs et elles ne sont pas destinées aux mêmes intervenants dans le domaine de la santé – la norme NOEMIE PS ( Microsoft Word – CDC-NOEMIE-PS- MAJ 13-06-2016-Ameli.doc)

Cette norme contient des Références. Il s’agit pour faire simple d’un format possible d’un retour NOEMIE, et chaque référence peut inclure des infos que d’autres n’incluent pas. Noeli était une application permettant de récupérer les retours de plusieurs boîtes mail mais surtout, sa conception permettrait d’accueillir dans un format unique un ensemble de références hétérogènes. Dit autrement, Noeli allait gommer toutes les différences existantes entre les références pour uniformiser leur représentation.

Un long travail d’analyse fut donc nécessaire. Oui, NOEMIE PS, c’est 130 pages.

L’application mobile Noeli fut donc codée sous Windev Mobile 21, et elle embarquait le coeur du système: un composant interne nommé ciRetourNoemie, codé en Windev 21.

Ce composant glouton, capable d’avaler n’importe quel retour NOEMIE de la norme PS, est capable de le restituer sous la forme d’un objet. Il travaille en mémoire exclusivement (même si ses résultats peuvent être stockés en base de données). Sa représentation unique d’un ensemble de référence permet ensuite de les présenter simplement à l’écran.

Architecture et langage de développement

Noeli a été entièrement développée en WLangage. Elle se compose de 2 parties:

-l’application mobile, développée avec Windev Mobile 21, et qui incorpore le moteur de réception des mails ainsi que toute la partie IHM

-le moteur de traitement des retours, un composant interne développé avec Windev 21. C’est le coeur de Noeli!

Organisation du projet

Avant même de plancher sur l’application mobile, il a fallu développer le composant qui serait le coeur du système. Une analyse approfondie de la norme NOEMIE PS (et un profond manque de sommeil) m’ont permis de sortir la première version de ce composant en 2 semaines (analyse, développement, et tests inclus)

Par la suite, l’application mobile a été développée. Cette seconde pièce du puzzle devait fournir l’interface, ainsi que le moteur de connexion aux boites mail. Là encore, une phase d’analyse a été nécessaire, suivie d’une phase de développement et d’une phase de tests. S’ajoutent à ça les éléments de design et les opérations inhérentes à la publication sur l’App Store.

Au total, environ 4 mois de travail ont été nécessaires pour en arriver à la version 1.1.1 de Noeli.

Le composant

Noeli fait appel à un composant pour interpréter les retours Noemie.

Entièrement codé en objet, il permet d’interpréter un retour de façon précise. Si on lui donne le contenu d’un retour, il peut renvoyer des tableaux d’objets complets qui contiennent les informations qu’on pouvait voir sur Noeli (en fait, il en renvoie bien plus, mais tout n’était pas visible depuis l’application). Il ne gère pas de base de données, et se contente simplement d’opérer en mémoire pour un maximum de rapidité. Sa seule fonction est de traiter un retour pour le restituer sous une forme beaucoup plus simple à exploiter.

Comme cité plus haut, une analyse approfondie de la norme NOEMIE PS a été nécessaire. Cette norme contient en effet plusieurs références. Chaque référence permet de présenter certaines données (toutes les références ne fournissent pas les mêmes informations), et sous une certaine forme. Le but du composant était donc de gommer, d’abstractiser ces différences, afin de fournir une présentation unique en dépit des différences existantes entre chaque référence.

L’app mobile

Une fois le composant prêt, restait à créer l’application qui allait l’utiliser. Par ailleurs, les retours NOEMIE sont des mails, il faut donc une interface permettant de paramétrer les boites mail, et un moteur pour récupérer les retours sur les boites. C’est l’application mobile qui remplissait ces fonctions.