---
{
  "title": "4 façons de téléverser des IGs dans Aidbox : avantages et inconvénients",
  "description": "Explorez les 4 façons possibles de configurer des IGs dans la plateforme FHIR Aidbox. Découvrez ce que fait chaque méthode, comment elle fonctionne et pourquoi elle pourrait répondre à vos besoins.",
  "date": "2024-06-03",
  "author": "Evgeny Mukha",
  "reading-time": "6 min read",
  "tags": [
    "FHIR Profiling",
    "Aidbox"
  ]
}
---
La spécification FHIR v5.0.0 offre un large éventail de ressources FHIR (157 exactement), d'API et de cadres, mais elle ne comporte presque aucune exigence obligatoire. Par exemple, tous les éléments de la ressource Patient sont facultatifs. Cela signifie en pratique que vous pouvez créer une ressource Patient sans aucune donnée. Or, c'est totalement impratique.

La spécification doit donc souvent être contrainte et étendue. C'est là qu'interviennent les Implementation Guides (IGs), qui restreignent et étendent les API, les ressources et les terminologies afin de répondre à des cas d'utilisation précis.

En plus des IGs régionaux ou nationaux comme le [US Core IG](/articles/how-to-enable-us-core-ig) pour les États-Unis et le [FHIR IG](/articles/how-to-build-ig) NHS pour le Royaume-Uni, il existe également des IGs propres à certains domaines qui fournissent des orientations pour l'utilisation des ressources FHIR dans des domaines de la santé particuliers ou pour des cas d'utilisation spécifiques, comme mCODE pour l'oncologie, les IGs du projet Argonaut pour l'échange de données entre prestataires et payeurs, le QI Core IG pour la représentation des mesures de qualité avec FHIR, les IGs DAF pour permettre aux patients d'accéder à leurs données de santé, l'IHE Mobile Access to Health Documents (MHD) IG pour le partage de documents entre entreprises, et bien d'autres. De plus, les organismes de santé peuvent créer leurs propres IGs pour répondre à des exigences ou à des flux de travail spécifiques.

Avec plus de 700 IGs disponibles, ils jouent un rôle essentiel dans la définition du comportement de votre serveur FHIR. Mais comment charger un IG dans un serveur FHIR et le faire fonctionner? C'est là que les choses se compliquent!

Dans cet article de blogue, nous explorerons les 4 façons possibles de configurer des IGs dans la [plateforme FHIR Aidbox](https://www.health-samurai.io/aidbox). Cela comprend le téléversement d'un IG :
- Depuis le registre de paquets Aidbox
- En tant que paquet NPM FHIR
- À l'aide de l'API FHIR CRUD
- À l'aide de l'utilitaire UploadFIG

**Découvrons ce que fait chaque méthode, comment elle fonctionne et pourquoi elle pourrait répondre à vos besoins.**

## Point de difficulté

Le téléversement d'IGs vers un serveur FHIR peut souvent sembler complexe, car la spécification FHIR ne fournit pas encore d'instructions précises. Les responsables de la mise en œuvre font face à plusieurs défis, notamment :
- Quel registre de paquets devrais-je utiliser?
- Puis-je faire confiance à la qualité du paquet npm FHIR et de son manifeste?
- Comment résoudre les dépendances entre paquets?
- Et que faire en cas de conflits de canoniques?

Du côté des utilisateurs, les méthodes de téléversement des IGs varient selon le serveur, avec des options comme le référencement d'un paquet depuis un registre ou la création manuelle de ressources. En général, les serveurs ne prennent en charge qu'une seule méthode, et ces méthodes s'excluent souvent mutuellement.

Des initiatives existent au sein de la communauté FHIR pour normaliser ce processus, comme l'utilitaire [UploadFIG](https://brianpos.com/2023/08/04/deploying-a-fhir-implementation-guide/) de Brian Postlethwaite, ingénieur logiciel principal chez Microsoft. Toutefois, ces efforts en sont encore à leurs débuts, et tous les serveurs FHIR ne les prennent pas en charge.

Dans cette version d'Aidbox, nous introduisons toutes les façons possibles de relever ces défis. Passons en revue chacune d'elles et examinons leurs avantages et inconvénients.

Commençons par activer la nouvelle interface, également disponible dans cette version. Pour en savoir plus sur la nouvelle interface, [regardez la vidéo sur notre chaîne YouTube](https://youtu.be/Q0tF61rBKvM).

![](image-1.avif)
## 1. Téléverser un IG depuis le registre de paquets Aidbox

Il s'agit de la façon la plus simple d'activer un IG spécifique dans Aidbox. Il suffit de rechercher l'IG requis dans l'interface et de le sélectionner. Aidbox téléchargera alors l'IG et ses dépendances, puis l'activera. Le contenu sous-jacent du [guide de mise en œuvre](/blog/how-to-create-a-fhir-implementation-guide) provient de notre registre de paquets, qui est un miroir de packages2.fhir.org, se synchronisant quotidiennement pour s'assurer que les paquets sont traités, normalisés et optimisés pour une utilisation par Aidbox. Pour en savoir plus sur les paquets disponibles dans le registre Aidbox, [consultez cette page](https://www.health-samurai.io/docs/aidbox/modules-1/profiling-and-validation/fhir-schema-validator/supported-implementation-guides).

![](image-2.avif)

**Avantages :** Vous n'avez qu'à sélectionner l'IG dont vous avez besoin, et toutes les dépendances se chargent automatiquement.

**Inconvénients :** Si l'IG dont vous avez besoin n'est pas disponible sur packages2.fhir.org, il sera également absent de notre registre, ce qui peut poser problème.

**👉 Cliquez ici pour en savoir plus dans la [documentation Aidbox.](https://www.health-samurai.io/docs/aidbox/modules-1/profiling-and-validation/fhir-schema-validator/upload-fhir-implementation-guide/aidbox-ui/ig-package-from-aidbox-registry)**

Que faire si l'IG dont vous avez besoin est absent du registre de paquets Aidbox? Pas de problème, voici des méthodes alternatives pour téléverser un IG dans Aidbox.

Pour explorer cette méthode concrètement, essayez la [version gratuite d'Aidbox](https://www.health-samurai.io/aidbox#run). Elle fournit un environnement complet pour tester toutes les fonctionnalités sans limitations, ce qui en fait un outil idéal pour le développement et l'expérimentation.

## 2. Téléverser un IG en tant que paquet NPM FHIR

Pour cette approche, vous avez d'abord besoin d'un paquet NPM FHIR valide au format tar.gz (tarball). Vous pouvez obtenir cet artefact depuis [Simplifier.net](https://simplifier.net/), le produire à l'aide d'une compilation SUSHI ou d'IG Publisher, ou le créer manuellement en ajoutant un manifeste de paquet à vos ressources de conformité et en les plaçant dans une archive tar.gz. Pour plus d'informations sur les paquets NPM FHIR et les manifestes de paquets, veuillez consulter la [spécification](https://confluence.hl7.org/display/FHIR/NPM+Package+Specification) des paquets NPM FHIR.

Par exemple, pour obtenir le paquet NPM FHIR du US Core Implementation Guide, exécutez la commande suivante :


```javascript
npm --registry https://packages.simplifier.net view 
hl7.fhir.us.core@6.1.0
```


La sortie contiendra un lien vers un fichier tarball. Vous pouvez ensuite fournir ce lien à Aidbox ou téléverser le fichier tarball téléchargé. Aidbox traitera le lien ou l'archive fourni, obtiendra les paquets dont dépend le paquet téléversé depuis le registre de paquets Aidbox, et activera cet IG dans Aidbox.

Vous vous demandez peut-être : « Et si mon IG référence un autre IG comme dépendance, qui est également absent du registre de paquets Aidbox? » Pas de souci, vous pouvez téléverser plusieurs paquets NPM FHIR à la fois en fournissant plusieurs liens ou fichiers d'archive.

![](image-3.avif)

**Avantages :** Si un IG (ou des IGs) n'est pas publié sur des registres publics, vous pouvez quand même le charger grâce à une approche simple nécessitant quelques préparatifs.

**Inconvénients :** Nécessite une certaine préparation, notamment l'obtention de l'artefact du paquet NPM FHIR.

👉 **Cliquez ici pour en savoir plus dans la [documentation Aidbox.](https://www.health-samurai.io/docs/aidbox/modules-1/profiling-and-validation/fhir-schema-validator/upload-fhir-implementation-guide/aidbox-ui/public-url-to-ig-package)**

Une autre option consiste à créer manuellement le contenu de l'IG, comme des StructureDefinitions et des SearchParameters.

Pour explorer cette méthode concrètement, essayez la [version gratuite d'Aidbox](https://www.health-samurai.io/aidbox#run). Elle fournit un environnement complet pour tester toutes les fonctionnalités sans limitations, ce qui en fait un outil idéal pour le développement et l'expérimentation.

## 3. Téléverser un IG à l'aide de l'API FHIR CRUD

Vous pouvez facilement téléverser vos StructureDefinitions ou SearchParameters en utilisant l'API FHIR CRUD d'Aidbox. Ce [tutoriel](https://www.health-samurai.io/docs/aidbox/modules-1/profiling-and-validation/fhir-schema-validator/upload-fhir-implementation-guide/aidbox-fhir-api) fournit des exemples clairs sur la façon d'utiliser cette méthode. Il convient de noter que si votre profil référence des profils externes, comme us-core-patient comme base, vous devez précharger us-core dans Aidbox. De même, lorsque vous traitez une chaîne de ressources StructureDefinition interdépendantes, assurez-vous qu'elles sont publiées dans le bon ordre.

**Avantages :** Utilisez facilement l'API FHIR CRUD pour le téléversement.

**Inconvénients :** Nécessite le préchargement des IGs externes si vos profils en dépendent.

**👉 Cliquez ici pour en savoir plus dans la [documentation Aidbox.](https://www.health-samurai.io/docs/aidbox/modules-1/profiling-and-validation/fhir-schema-validator/upload-fhir-implementation-guide/aidbox-fhir-api)**

Cela nous amène à un effet intéressant : lorsqu'un serveur FHIR prend en charge la création en temps réel de ressources de conformité, il prend automatiquement en charge l'utilitaire UploadFIG. Il s'agit de la dernière méthode de téléversement d'IG que nous souhaitons aborder.

## 4. Téléverser un IG à l'aide de l'utilitaire UploadFIG

UploadFIG, créé par Brian Postlethwaite, utilise l'API FHIR CRUD pour les ressources de conformité. Il prépare les paquets, obtient les dépendances, pré-valide les ressources de conformité, et bien plus encore avant de les publier sur le serveur FHIR. Pour obtenir des instructions sur l'utilisation de cet utilitaire, veuillez consulter [ce tutoriel](https://www.health-samurai.io/docs/aidbox/modules-1/profiling-and-validation/fhir-schema-validator/upload-fhir-implementation-guide/uploading-fhir-ig-using-uploadfig-library) dans notre documentation.

**Avantages** : UploadFIG prend en charge une grande partie du travail en arrière-plan, vous permettant simplement de fournir l'identifiant du paquet pour le charger dans le serveur FHIR.

**Inconvénients** : En début de développement, peu répandu, et nécessite l'installation de la plateforme .NET.

## Maîtrisez les meilleures pratiques de configuration des IGs avec Aidbox

Dans cet article de blogue, nous avons exploré 4 façons efficaces de configurer des IGs dans [Aidbox](https://www.health-samurai.io/aidbox). Ces méthodes comprennent le téléversement d'un IG depuis le registre de paquets Aidbox, en tant que paquet NPM FHIR, à l'aide de l'API FHIR CRUD, et en utilisant l'utilitaire UploadFIG. Chaque approche a ses propres avantages et inconvénients, offrant la flexibilité nécessaire pour répondre à divers besoins.

Conseils :
- Utilisez le registre de paquets Aidbox pour la méthode la plus simple et la plus automatisée.
- Téléversez des paquets NPM FHIR pour plus de contrôle et de flexibilité.
- Tirez parti de l'API FHIR CRUD pour la création manuelle de contenu IG.
- Essayez l'utilitaire UploadFIG pour une gestion complète des paquets.

Vous avez maintenant un plan — la prochaine étape consiste à le mettre en pratique. Essayez ces méthodes dans la plateforme FHIR Aidbox et simplifiez votre processus de mise en œuvre des IGs.

> **Prêt à maîtriser la configuration des IGs? [Essayez-le dans Aidbox dès aujourd'hui](https://hubs.li/Q02zhyz50)!**

*Auteur* : 
[**Evgeny Mukha**](https://www.linkedin.com/in/evgeny-mukha-192293228), 
Ingénieur logiciel fullstack chez Health Samurai