Référentiels Ameli

09/11/2017

Explorations concrètes des propositions d'améliorations de la diffusion des référentiels Ameli CCAM, UCD et LPP : projet github, gestion de flux RSS et suivi des notifications des mises à jour.

Pour expérimenter ces propositions , le projet ref-ameli a été créé.

Description du projet ref-ameli

Les informations détaillées et le code sont disponibles en open source sur github.com/flrt/ref-ameli

En résumé, le programme permet de :

Utilisation

Diffusion d'un mail de d'information

A chaque détection d'une nouvelle version, en fonction de la configuration, un mail peut être envoyé. Voici un exemple de mail produit :

mail nouvelle notification

Ainsi, plus besoin de consulter régulièrement le site et les différentes rubriques concernant ces référentiels, une information arrive automatiquement dans la boîte aux lettres des personnes configurées.

Flux ATOM/RSS de syndication

Chaque référentiel consulté possède un flux ATOM XML permettant de suivre la diffusion des différentes versions.

Le flux peut être consulté par :

Exemple d'utilisation dans l'outil de mail

Les outils de consultation de mail comme thunderbird ou Outlook offrent la possibilité de consulter les flux de syndication web en présentant l'information de façon homogène avec les courriels habituels.

Exemple avec Thunderbird :

Flux Atom dans Thunderbird

Exemple d'utilisation du navigateur IE11

De tous les navigateurs actuels, IE11 est celui qui donne le meilleur rendu utilisateur pour les flux Atom et RSS. Il surpasse les navigateurs plus récents comme Edge, firefox, Chrome, Opera, etc.

Exemple d'affichage en ne copiant que l'adresse du flux dans la barre d'adresse :

Flux Atom dans IE11

Exemple d'utilisation du site web netvibes

Plusieurs sites internet permettent de centraliser la consultation des flux Atom/RSS. Exemple avec netvibes :

Flux Atom dans IE11

Exemple d'application sur MacOS

Utilisation de LuckNews :

afichage d'une nouvelle version dans LuckNews

Exemple d'utilisation par programme

Une fois que les informations sont disponibles sous forme d'un flux XML structuré, il est simple d'utiliser un programme informatique pour prendre en compte ces données.

Le programme peut :

Le projet ref-ameli-client disponible sur github, en open source, fournit un exemple simple de programme analysant les nouvelles versions via la consultation du flux ATOM.

Le programme est lancé avec une adresse de flux et un critère (date ou version). Il détecte si de nouvelles versions sont disponibles et indique les fichiers de données à traiter.

Exemple : Quelles sont les versions du référentiel UCD postérieure(s) au 20/10/2017

$ client.py -u https://www.opikanoba.org/feeds/ameli_ucd.xml --date 2017-10-20

Last updated (feed) : 2017-10-26 08:58:46

Nombre d'entrées avec une date supérieure à 2017-10-20 : 2
  Version : 382 du 26/10/2017
  ===========================
  Liens à télécharger
    http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_total_00382_20171025.dbf
    http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_histo_prix_00382_20171025.dbf
    http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_taux_00382_20171025.dbf
    http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_cout_sup_00382_20171025.dbf

  Version : 381 du 24/10/2017
  ===========================
  Liens à télécharger
    http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_total_00381_20171018.dbf
    http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_histo_prix_00381_20171018.dbf
    http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_taux_00381_20171018.dbf
    http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_cout_sup_00381_20171018.dbf
        

La liste des liens à prendre en compte peut être facilement déduite car l'information est présentée de façon structurée dans le flux ATOM.

L'entrée ATOM définissant la version 382 est la suivante

<entry>
  <title>Version 382</title>
  <link href="http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_total_00382_20171025.dbf" rel="related" type="application/dbase"/>
  <link href="http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_histo_prix_00382_20171025.dbf" rel="related" type="application/dbase"/>
  <link href="http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_taux_00382_20171025.dbf" rel="related" type="application/dbase"/>
  <link href="http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_cout_sup_00382_20171025.dbf" rel="related" type="application/dbase"/>
  <id>urn:ameli:ucd:v382</id>
  <content type="xhtml">
    <div xmlns="http://www.w3.org/1999/xhtml">
      <article>
        <div>
          <h1>Fichier à télécharger : </h1>
          <ul>
            <li>
              <a href="http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_total_00382_20171025.dbf">http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_total_00382_20171025.dbf</a>
            </li>
            <li>
              <a href="http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_histo_prix_00382_20171025.dbf">http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_histo_prix_00382_20171025.dbf</a>
            </li>
            <li>
              <a href="http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_taux_00382_20171025.dbf">http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_taux_00382_20171025.dbf</a>
            </li>
            <li>
              <a href="http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_cout_sup_00382_20171025.dbf">http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/retro_histo_cout_sup_00382_20171025.dbf</a>
            </li>
          </ul>
        </div>
      </article>
    </div>
  </content>
  <updated>2017-10-26T08:58:45.803232+00:00</updated>
  <summary>Version 382 disponible</summary>
</entry>

Le lien sur chaque fichier de données est défini par un élément link

<link href="http://www.codage.ext.cnamts.fr/f_mediam/fo/bdm_it/ucd_total_00382_20171025.dbf" 
  rel="related" 
  type="application/dbase"/>

L'attribut type="application/dbase" permet de connaître le type MIME de la ressource et de la traiter en conséquence.

Ainsi, la structuration de l'information permet aux programmes informatiques de traiter l'information de façon automatique et sécurisée. Un processus de mise à jour peut alors mis en place pour fiabiliser le traitement de ces données à la base d'une partie importante du financement des établissements de santé.