đ Cycle de vie des spĂ©cifications
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 :
- Avoir été publiée au moins une fois en « trial-implementation »
- Avoir été mise en oeuvre au niveau national ou testée lors de projectathons avec des retours mineurs
- Respecter les critÚres de qualité et de maturité
- 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 |