Documentation des guides d'implémentation de l'ANS
0.1.0 - ci-build

This page is part of the Documentation des guides d'implémentation de l'ANS (v0.1.0: Release) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 0.1.8. For a full list of available versions, see the Directory of published versions

Accueil

Official URL: https://interop.esante.gouv.fr/ig/documentation/ImplementationGuide/ans.fr.documentation Version: 0.1.0
Active as of 2023-05-05 Computable Name: Documentation

Bienvenue dans la documentation des guides d’implémentation de l’ANS, elle concerne principalement les volets du CI-SIS au format FHIR mais ne se limite pas à ceux-ci. Cette documentation contient l’ensemble des informations à propos de la modélisation, des outils FSH et IG publisher, ainsi que des tips dans le contexte français.

Ces travaux se placent dans une démarche d’élaboration continue. L’objectif étant de profiter de l’intelligence collective pour faire évoluer les spécifications versionnées.

Les guides d’implémentation

Selon la documentation FHIR, un Implementation Guide contient un ensemble cohérent de ressources de conformité pour répondre à une problématique particulière.

Un implementation guide est un ensemble cohérent regroupant une page web et une ressource FHIR. Il contient également de manière systématique un package, versionné, contenant l’ensemble des ressources de conformité.

La meilleure pratique consiste à créer un Implementation Guide par projet bien spécifique, cela permet:

  • De versionner séparément, on peut ainsi mettre à jour chacune des specs séparément sans avoir à mettre à jour celles qui ne sont pas concernées
  • Chacune des specs gère ses dépendances indépendamment des autres (aux ressources du ci-sis, aux profils interopsanté), chacune de ces dépendances peuvent être mises à jour séparément
  • Les urls sont claires, on sait directement de quelle spec est issue chaque profil, et on peut directement accéder à l’IG facilement
  • Les documentations génériques peuvent être surspécifiées pour réutiliser certains profils pour un autre cas d’usage, en héritant de tout ou partie, ou pour décrire une implémentation précise.
  • L’IG doit obligatoirement hériter des ressources françaises définies par InteropSanté et/ou par les profils définis par l’ANS

Documentation :

  • https://www.hl7.org/fhir/implementationguide.html
  • https://confluence.hl7.org/display/FHIR/NPM+Package+Specification

A qui est destiné ce wiki ?

Il est destiné à celles et ceux qui utilisent FHIR !

  • Les FHIR modelers, qui créent ces guides et profilent des ressources
  • Les FHIR implementers, qui lisent ces guides et développent des APIs
  • Les experts fonctionnels, qui challengent ces travaux.

Les experts fonctionnels ont également une plus value à connaître FHIR, la façon de profiler des ressources et de développer les APIs : c’est les personnes qui connaissent le mieux le besoin métier qui seront le plus à même de juger le travail de modélisation effectué par les experts interopérabilité.

Reporter un problème (une issue)

Vous avez identifié une erreur sur un des guides ? L’onglet issue permet de signaler un problème sur un projet donné.

image

Un lien est également disponible sous chaque guide d’implémentation pour accéder aux issues : image

L’issue doit contenir un titre, et une description très détaillée avec une proposition de changement.

Modeler : par où commencer ?

1/ Installer les dépendances grâce à la page “Installer les dépendances [Windows/mac]”

2/ Développer un Implementation Guide :

  • Si vous souhaitez créer un Implementation Guide pour publication : suivre la procédure Développement d’un nouvel IG
  • Si vous souhaitez modifier un Implementation Guide existant : cloner le GitHub repository désiré en local
  • Si vous souhaitez tester FSH et la génération d’Implementation Guide : cloner le GitHub repository IG-modele ou téléchargez-le au format zip

Outils et vocabulaire

FSH

FSH est la grammaire de définition des ressources FHIR (instance, StructureDefinition, SearchParameter, CapabilityStatement, ImplementationGuide, …)

SUSHI

Sushi est le logiciel permettant de générer les ressources au format json ou xml à partir de la grammaire FSH. Il est disponible en ligne : https://fshschool.org/ Ou bien en invite de commande : https://www.npmjs.com/package/fsh-sushi

Par défaut, sushi ne génère que les differential. Pour générer les snapshots, il faut utiliser l’option sushi -s .

GOFSH

GoFSH permet de faire la transformation inverse StructureDefinition –> FSH. Il est disponible en ligne : https://fshschool.org/ Ou bien en invite de commande : https://www.npmjs.com/package/gofsh

Par défaut, GoFSH ne traite que les fichiers json. Il va falloir rajouter l’option goFSH -t json-and-xml . pour traiter les deux

IG Publisher

L’IG publisher est l’outil permettant de générer les pages web de l’implementation guide (usage de jekyll, java, …). Il prend en entrée une arborescence de dossiers / fichiers bien définis, contenant : des pages en markdown, des fichiers fsh, des ressources FHIR au format json ou xml, des images…

La documentation est disponible ici : https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation

Liens utiles

Des exemples d’ImplementationGuide:

  • Us-core https://hl7.org/fhir/us/core/
    • https://github.com/HL7/US-Core
  • mcode https://build.fhir.org/ig/HL7/fhir-mCODE-ig/ (qui se base sur uscore)
    • https://github.com/HL7/fhir-mCODE-ig
  • SDC, IG qui définit des profils de la ressource FHIR Questionnaire. Ces profils rajoutent des fonctionnalités de : préremplissage des champs, indiquer un design de formulaire, calcul automatique…)
    • http://hl7.org/fhir/uv/sdc/index.html

Les éditeurs de profils :

  • FSH (Grammaire de définition de profils)
    • https://fshschool.org/
    • https://build.fhir.org/ig/HL7/fhir-shorthand/
  • Forge (définition de profils via interface graphique)
    • https://simplifier.net/forge

Autres :

  • IG publisher documentation (officiel HL7):
    • https://confluence.hl7.org/display/FHIR/IG+Publisher+Documentation
  • Doc CQL (langage d’expression FHIR, permettant par ex de décrire le calcul de l’IMC) :
    • https://build.fhir.org/ig/HL7/cqf-measures/using-cql.html
    • https://cql.hl7.org/