⚠ Work in Progress

Le niveau de qualité et la maturité des volets du CI-SIS sont des informations importantes pour inciter les éditeurs de solution à engager des développements sans craindre de futures évolutions majeures dans un avenir proche.

Le statut de maturitĂ© est une information indicative. Il est toujours prĂ©fĂ©rable de se baser sur des spĂ©cifications standards, mĂȘme si celles-ci sont peu matures. Les standards Ă©tant dĂ©veloppĂ©s par une communautĂ© d’experts, il est plus facile et plus sĂ©curisant de faire Ă©voluer des spĂ©cifications en parallĂšle des Ă©volutions d’un standard plutĂŽt de maintenir un standard propriĂ©taire.

Le cycle de vie et les statuts associés

Le cycle de vie dĂ©fini pour les des volets du CI-SIS s’appuie sur les pratiques internationales d’IHE et de HL7 adaptĂ©es aux besoins nationaux.

Quatre statuts sont dĂ©finis pour les spĂ©cifications d’interopĂ©rabilitĂ© de l’ANS : « draft » ou « version-de-travail », « public-comment » ou « en-concertation », « trial-implementation » ou « pour-implementation », et « final-text » ou « final ». Ces statuts sont repris des pratiques d’IHE, avec le libellĂ© anglais et sa traduction française. Pour des raisons d’uniformisation, les termes anglais seront utilisĂ©s dans la suite de ce document.

Les statuts « trial-implementation » et « final-text » reflĂštent la maturitĂ© des spĂ©cifications dans l’ordre indiquĂ©.

Le statut « draft » ou « version-de-travail »

Le statut « draft » correspond Ă  une spĂ©cification en cours de cours de crĂ©ation ou de modification. Ce statut est particuliĂšrement important pour les spĂ©cifications dĂ©veloppĂ©es sur GitHub car tous les travaux sont publics et donc accessibles Ă  tout moment : de la crĂ©ation du rĂ©pertoire GitHub Ă  la publication. C’est le statut d’une spĂ©cification publiĂ©e en mode intĂ©gration continue (ci-build).

Le statut « public-comment » ou « en-concertation »

La spĂ©cification est publiĂ©e au statut en concertation lors de ses phases de consultations publiques. La spĂ©cification en mode « public comment » risque d’évoluer suite aux commentaires des concertations et n’est pas faite pour ĂȘtre implĂ©mentĂ©e : elle est en attente de la validation de l’écosystĂšme pour publication. Une spĂ©cification en « final-text » ou en « trial-implementation » peut repasser en « public-comment » en cas d’évolution majeure (des cas d’usage, du standard sous-jacent 
)..

Le statut « trial-implementation » ou « pour-implémentation »

La spĂ©cification est passĂ©e par une ou plusieurs phases de concertation et est prĂȘte pour ĂȘtre mise en oeuvre en situation rĂ©elle. Ce statut est un reflet de la maturitĂ© : selon l’auteur, la spĂ©cification est prĂšte pour une premiĂšre mise en situation rĂ©elle.

Le statut « final-text » ou « final »

Les auteurs de la spĂ©cification ont estimĂ© qu’elle avait atteint le stade de maturitĂ© le plus Ă©levĂ©. Ce stade est atteint lorsque la spĂ©cification a dĂ©jĂ  Ă©tĂ© mise en Ɠuvre dans au moins un projet national ou testĂ©e lors d’un projectathon. La spĂ©cification a pu avoir des retours post-concertation, post-projectathon ou post-mise en oeuvre et a Ă©tĂ© corrigĂ©e. Ce statut indique Ă©galement que les critĂšres de maturitĂ© et de qualitĂ© dĂ©finis ci-dessous ont Ă©tĂ© respectĂ©s. Ce statut n’empĂšche pas de repasser au statut « trial-implementation », qui peut arriver dans le cas de changement majeur tel que la migration d’un nouveau standard, ou l’expression de nouveaux besoins.

Les autres statuts

Une spĂ©cification peut Ă©galement ĂȘtre « deprecated » ou « dĂ©prĂ©ciĂ©e » si celle-ci a Ă©tĂ© remplacĂ©e par une autre spĂ©cification ou « withdrawn » ou « retirĂ©e » aprĂšs avoir Ă©tĂ© dĂ©prĂ©ciĂ©e depuis un moment.

Le cycle de vie d’une spĂ©cification

Durant la vie d’une spĂ©cification, celle-ci passe par diffĂ©rents statuts exprimĂ©s dans le schĂ©ma ci-dessus.

A l’issue d’une concertation, une spĂ©cification peut passer au statut « final-text » ou « trial-implementation ». Ce choix dĂ©pend du respect de critĂšre de qualitĂ©, de maturitĂ©, et de la dĂ©cision de l’auteur. Pour passer au statut « final-text », la spĂ©cification doit :

  1. Avoir été publiée au moins une fois en « trial-implementation »
  2. Avoir été mise en oeuvre au niveau national ou testée lors de projectathons avec des retours mineurs
  3. Respecter les critÚres de qualité et de maturité
  4. Avoir l'aval de l'auteur qui juge la spécification suffisamment mature et qualitative pour passer à ce statut

Notes :

  • Une spĂ©cification au statut « final-text » peut repasser au statut « trial-implementation », par exemple en cas de changement majeur comme une refactorisation de la spĂ©cification (passage au format guide d'implĂ©mentation FHIR, Ă  une version supĂ©rieure du standard sous-jacent, Ă  un changement de standard, ...). Cela signifie que l'ancienne version en « final-text » ne doit plus ĂȘtre utilisĂ©e pour diverses raisons, comme une situation internationale nĂ©cessitant de grandes Ă©volutions. Dans ce cas, une note explicative sera associĂ©e Ă  la publication de la nouvelle spĂ©cification.
  • Lorsqu'une nouvelle version d'une spĂ©cification est publiĂ©e, il est recommandĂ© aux Ă©diteurs de l'adopter dans les 1 Ă  2 ans suivant sa publication.
  • Le statut du cycle de vie n'est pas associĂ© Ă  la version semver d'une spĂ©cification. Le numĂ©ro de version d'une spĂ©cification est systĂ©matiquement incrĂ©mentĂ© Ă  chaque release et est indĂ©pendant du statut du cycle de vie. Par exemple, si une faute d'orthographe est corrigĂ©e entraĂźnant une incrĂ©mentation mineure du numĂ©ro de version, cela ne justifie pas un changement de statut. A chaque publiation, une Ă©tude pour Ă©valuer un Ă©ventuel changement de statut du cycle de vie est effectuĂ©e en suivant le schĂ©ma ci-dessus.

Définition des critÚres de maturité

Une spĂ©cification avec la majoritĂ© des critĂšres de maturitĂ© respectĂ©s indiquent sa clartĂ© et sa facilitĂ© de mise en oeuvre. C’est le signe d’une plus grande pĂ©rennitĂ© de la spĂ©cification. Cependant, la pĂ©rennitĂ© d’une spĂ©cification ne peut jamais ĂȘtre garantie. Les spĂ©cifications jugĂ©es matures ont nĂ©anmoins une plus faible probabilitĂ© de subir des Ă©volutions non rĂ©trocompatibles.

Les critÚres de maturité identifiés :

  • Respect de l'ensemble des critĂšres de qualitĂ© mentionnĂ©s ci-dessous
  • (Etude en cours) Nombre d'implĂ©mentations obtenu par dĂ©claration (par convergence ou par les DSI). IdĂ©alement avec des retours d'expĂ©rience sur l'implĂ©mentation des spĂ©cifications
  • Nombre de passage en projectathons, nombre de tests rĂ©alisĂ©s lors de projectathon, et nombre de partenaires
  • Nombre d'issues et rĂ©solutions sur le repo GitHub
  • Nombre de commentaires lors des phases de concertation

Définition des critÚres de qualité

Les critĂšres de qualitĂ© reprĂ©sentent un ensemble de rĂšgles Ă  respecter pour produire des spĂ©cifications de niveau de qualitĂ© conforme aux attentes nationales. Outre le respect Ă  la doctrine (structuration d’une spĂ©cification d’interopĂ©rabilitĂ©, respect de la trajectoire nationale, du choix du standard, 
), les critĂšres de qualitĂ© sont spĂ©cifiques Ă  chaque standard.

Il n’est pas toujours possible de respecter strictement ces critĂšres de qualitĂ©, car l’écosystĂšme national ne peut pas contrĂŽler les spĂ©cifications internationales, qui ne respectent pas forcĂ©ment l’ensemble de ces critĂšres. De plus, certaines spĂ©cifications historiques nĂ©cessitent du temps pour Ă©voluer. L’objectif de ces critĂšres est de les respecter et tendre le plus possible vers eux lors de la crĂ©ation ou mise Ă  jour de spĂ©cifications.

Les critÚres de qualité FHIR sont :

  • Respect des rĂšgles de nommages indiquĂ©es ci-dessous
  • Respect des bonnes pratiques internationales
  • Respecter la stratĂ©gie nationale du choix des versions FHIR
  • Chaque ressource de conformitĂ© doit avoir une description
  • L'ensemble des ressources de conformitĂ© doit avoir une description prĂ©cise de son usage
  • Publication de l'IG sans erreurs (cf session Q/A de chaque IG)
  • Ne pas recrĂ©er des artefacts qui existent dĂ©jĂ  au niveau national et international. La crĂ©ation d'artefacts FHIR nĂ©cessite de l'expertise, de la veille et de faire une analyse prĂ©cise de l'existant international.

Ces rĂšgles de nommage ont Ă©tĂ© Ă©tablies en s’inspirant des ressources us-core.

ParamÚtre Objet concerné RÚgle Exemple us-core
id Ressources de conformité  Utiliser le format kebab-case, ex : fr-core-patient.. Lors de la crĂ©ation d’un IG pour un projet en particulier, il est possible de prĂ©fixer l’ensemble des ressources de conformitĂ© par le trigramme du projet (ex : « ror-  ») us-core-patient
title Ressources de conformité  Similaire au nom, avec espaces. Ex : Fr Core Patient US Core Patient Profile
name Ressources de conformité  Utiliser le format PascalCase sans espace. Ex : FrCorePatient USCorePatientProfile
url Ressources de conformité  [base]/[ResourceType]/[id] (généré automatiquement par SUSHI - SUSHI Unshortens Short Hand Inputs). A noter que [ResourceType] doit respecter le nom et la casse des ressources définies dans FHIR core (ex: StructureDefinition). http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient
code SearchParameter Toujours en minuscule, mots séparés par des tirets « - » gender-identity
name Slice S’il s’agit d’une extension, utiliser son id, sinon utiliser le format lowerCamelCase us-core-genderIdentity
id Package Utiliser des minuscules hl7.fhir.us.core lien vers la documentation

La documentation officielle se trouve sur le confluence d’HL7

Les critÚres de qualité CDA sont :

A remplir par l’équipe CDA

DĂ©finition des mĂ©tadonnĂ©es associĂ©es Ă  une spĂ©cification d’interopĂ©rabilitĂ©

Les métadonnées correspondent aux données annexées aux spécifications. Elles sont utiles à des fins de recherche notamment.

Nom Description Cardinalité Exemples
identifiant Identifiant ou URL identifiante d’accĂšs Ă  la spĂ©cification 1..1 https://interop.esante.gouv.fr/ig/fhir/pdsm
statut Statut de la spĂ©cification selon les statuts dĂ©finis par l’ANS. Les statuts peuvent ĂȘtre rĂ©digĂ©s en anglais ou en français. 1..1 « draft », « public-comment », « trial-implementation », « final-text »
version Version au format semver 1..1 1.0.0
code Code qui définit la spécification 1..1 GAP, CR-BIO
titre Titre de la spĂ©cification 1..1 Gestion d’Agendas PartagĂ©s
description Description succinte du pĂ©rimĂštre de la spĂ©cification 1..1 Ce guide d’implĂ©mentation a pour objet de permettre la gestion de ressources (personnes, lieux ou objets), la gestion des disponibilitĂ©s de ces ressources, la consultation et la synchronisation d’agenda et la prise de rendez-vous.
date de derniÚre mise à jour Date de derniÚre publication de la spécification 1..1 2024-04-29
Standards principaux Standards syntaxiques et sĂ©mantiques, profils sur lesquels s’appuent la spĂ©cification 0..* CDA, FHIR, SNOMED CT
Contexte projet Projet national ou rĂ©fĂ©rentiel notable oĂč la spĂ©cification est utilisĂ©e 0..1 Mon Espace SantĂ©
CatĂ©gorie CatĂ©gorie mĂ©tier de la spĂ©cification (Ă©quivalent des technical frameworks IHE) correspondant aux prĂ©fixes des spĂ©cifications CDA 0..* Liste des catĂ©gories : ANEST - AnesthĂ©sie, AVC - Accident vasculaire cĂ©rĂ©bral, BIO - Biologie, CANCER - Cancer, CARD - Cardiologie, IMG - Imagerie, OBP - ObstĂ©trique et pĂ©rinatalitĂ©, OPH - Ophtalmologie, TLM - TĂ©lĂ©mĂ©decine, VAC - Vaccination (Demande d’ajout de nouvelles catĂ©gories : issues GitHub)
Type Type de spĂ©cification 0..* Document mĂ©dical, dĂ©finition d’APIs, outillage, couche mĂ©tier, couche service, couche transport, documentation, 

Utilisations connues Formulaire d’auto-dĂ©claration de conformitĂ© pour les Ă©diteurs (Ă  dĂ©finir) 0..* Ă  dĂ©finir
Porteur Permet d’afficher le porteur de la spĂ©cification. ParticuliĂšrement important dans le cas de l’UP externe 1..1 ANS, Interop’SantĂ©, EDESS, GCS E-santĂ© Bretagne
Contact Permet d’afficher le contact de la spĂ©cification. ParticuliĂšrement important dans le cas de l’UP externe 1..1 ci-sis@esante.gouv.fr