Le AP-HP - DM (acronyme pour Data Management) est une initiative visant à rassembler l'ensemble des connaissances sur la couche sémantique du Hub de donnée de santé.
Ce référentiel contient le AP-HP - DM Implementation Guide (IG). Un IG est "un ensemble de règles sur comment les ressources FHIR sont utilisées (ou devraient être utilisées) pour résoudre un problème particulier, avec la documentation associée pour supporter et clarifier les usages" (source).
Pour plus d'information :
- Si vous êtes nouveau dans la communauté et l'écosystème FHIR, ce tutoriel explique FHIR, le profilage, et les guides d'implementation
Ce guide d'implémentation présente une méthodlogie visant la construction d'une couche sémantique pour un Hub de donnée de santé en utilisant comme langage commun : *FHIR.
"Construction de l'IG" signifie générer une représentation web, lisible par un humain, des informations structurées et de la documentation d'accompagnement définies dans ce référentiel. Cela se fait via le FHIR Implementation Guide Publisher ("IG Publisher"), un programme Java fourni par l'équipe FHIR pour la construction de guides d'implementation dans une présentation standardisée.
Si vous souhaitez le générer localement, ouvrez une fenêtre de commande et naviguer où le référentiel a été cloné. Exécutez ensuite cette commande :
- Linux/macOS:
./gradlew buildIG
- Windows:
.\gradlew.bat buildIG
Ce script fera automatiquement deux choses pour vous :
- Exécuter SUSHI. L'IG AP-HP - EDS est développé en FHIR Shorthand (FSH), un langage spécifique de domaine (DSL) permettant de définir le contenu des FHIR IG. SUSHI transpile les fichiers FSH en fichiers JSON attendus par IG Publisher
- Exécuter IG Publisher
Vous aurez besoin d'une connexion Internet active pour construire l'IG. Cela prend jusqu'à 30 minutes pour construire pour la première fois ; les versions suivantes devraient être plus rapides (5 à 7 minutes) sur un ordinateur portable moderne.
Lorsque la construction est terminée, vous pouvez ouvrir output/index.html
dans votre navigateur pour voir l'IG
construit localement.
- Vous avez besoin d'installer java 21
- Vous avez besoin d'installer jekyll
Si vous souhaitez exécuter SUSHI sans créer l'intégralité de l'IG, vous pouvez exécuter la tâche gradle runSushi
.
Bien que cela ne soit normalement pas nécessaire, vous pouvez supprimer les dossiers suivants pour obtenir une version propre :
fsh-generated/
(sortie SUSHI - contient notamment les fichiers json généré à partir des fichier en FSH)output/
(sortie IG Publisher - contient notamment le site web construit par 'buildIG')input-cache/
(cache local de l'IG Publisher ; notez que sa suppression augmentera considérablement le temps de génération de la prochaine version)
- Les fichiers FHIR Shorthand (
.fsh
) définissant les ressources dans cet IG se trouvent dansinput/fsh/
.- Il existe une extension de coloration syntaxique FSH pour VSCode. Les fichiers FSH sont préfixés en fonction de ce qu'ils contiennent.
- Les pages principales de l'IG construit sont générées à partir de Markdown
trouvé dans
input/pagecontent/
. Ces pages doivent également être incluses danssushi-config.yaml
pour être compilées en HTML par l'IG Publisher. - Il existe un certain nombre d'autres options de configuration importantes dans
sushi-config.yaml
, y compris le contenu du menu de l'IG construit. - La source des diagrammes UML dans l'IG se trouve dans
input/images-source/
et DOIT avoir une extension.plantuml
. Ceux-ci sont automatiquement convertis en SVG par l'éditeur IG et insérés en ligne dans les fichiers Markdown à l'aide de{%include some-diagram.svg%}
(qui correspond àinput/images-source/some-diagram.plantuml
).
- IG : Implementation Guide
- FHIR : Fast Healthcare Interoperability Resources
- FIG : FHIR Implementation Guide
- HL7 : Health Level Seven
- AP-HP : Assistance Publique - Hôpitaux de Paris
- EDS : Entrepôt de Données de Santé
Vous trouverez la liste des dépendances dans sushi-config.yaml
dans la section dependencies
du fichier.
TODO FormBuilder
TODO FormBuilder
Dans les FIG de l'AP-HP, les StructureMap sont rédigées en fml, disponibles dans le dossier input/fml.
La validation de ces fml recouvre :
- la transformation en ressource StructureMap
- la validation de la conformité de la ressource StructureMap
- l'éxecution de l'opération $transform appliquant la ressource StructureMap à une source, et l'obtention d'une target
- La validation de la conformité de la target au profil correspondant.
Plusieurs options permettent de couvrir ces niveaux de validation :
- Le plugin VSCode "FHIR MapBuilder"couvre les trois premiers niveaux de validation (sous réserve de disposer d'une source testable)et facilite la rédaction des maps grace à ses fonctions de coloration syntaxique et d'aide au codage.
- La construction de l'IG va générer la ressource StructureMap et valider la conformité des ressources (la StructureMap, et, si disponibles, les ressources sources et target).
- L'utilisation de la solution Matchbox, plus compliquée.