Partager via


Vue d’ensemble de SMART on FHIR

Important

L’API Azure pour FHIR sera mise hors service le 30 septembre 2026. Suivez les stratégies de migration pour passer au service FHIR® de Services de données de santé Azure d’ici à cette date. En raison de la mise hors service de l’API Azure pour FHIR, les nouveaux déploiements ne seront plus autorisés à compter du 1er avril 2025. Le service FHIR des Services de données de santé Azure est la version évoluée de l’API Azure pour FHIR qui permet aux clients de gérer les services FHIR, DICOM et MedTech avec des intégrations dans d’autres services Azure.

Les applications médicales substituables et les technologies réutilisables (SMART on FHIR®) sont une norme de santé grâce à laquelle les applications peuvent accéder aux informations cliniques via un magasin de données. Cela ajoute une couche de sécurité basée sur des normes ouvertes, notamment OAuth2 et OpenID Connect, aux interfaces FHIR pour permettre l’intégration avec les systèmes EHR. L'utilisation de SMART sur FHIR offre des avantages importants, notamment :

  • Les applications ont une méthode connue pour obtenir l’authentification/l’autorisation sur un référentiel FHIR.
  • Les utilisateurs accédant à un référentiel FHIR avec SMART on FHIR sont limités aux ressources associées à l’utilisateur, au lieu d’avoir accès à toutes les données du référentiel.
  • Les utilisateurs ont la possibilité d’accorder aux applications l’accès à un autre ensemble limité de leurs données à l’aide d’étendues cliniques SMART.

Les didacticiels suivants décrivent les étapes à suivre pour activer SMART sur les applications FHIR avec le service FHIR.

Prérequis

SMART on FHIR à l’aide d’échantillons OSS (SMART on FHIR(Amélioré))

Étape 1 : configurer le rôle d’utilisateur SMART FHIR

Suivez les étapes répertoriées sous Gérer les utilisateurs : Attribuer des utilisateurs à un rôle. Tout utilisateur ajouté au rôle « Utilisateur FHIR SMART » peut accéder au service FHIR si ses demandes sont conformes au guide de mise en œuvre SMART sur FHIR, comme une requête comportant un jeton d'accès, qui comprend une réclamation fhirUser et une réclamation de portée clinique. L'accès accordé aux utilisateurs dans ce rôle sera limité par les ressources associées à leur compartiment fhirUser et les restrictions dans les portées cliniques.

Étape 2 : intégration du serveur FHIR à des exemples

Suivez les étapes décrites dans les exemples d’OSS Azure Health Data et AI. Cela permet l’intégration du serveur FHIR avec d’autres services Azure (tels qu’APIM, les fonctions Azure et bien plus).

Remarque

Les exemples sont du code open source et vous devez passer en revue les informations et les conditions de licence sur GitHub avant de les utiliser. Ils ne font pas partie d’Azure Health Data Service et ne sont pas pris en charge par le Support Microsoft. Ces exemples peuvent être utilisés pour démontrer comment Services de données de santé Azure et d’autres outils open source peuvent être utilisés ensemble pour démontrer la conformité ONC (g)(10) en utilisant Microsoft Entra ID comme flux de travail du fournisseur d’identité.

SMART sur le proxy FHIR

Cliquez pour développer

Remarque

Il s’agit d’un autre chemin vers SMART sur FHIR (amélioré) comme mentionné. L'option SMART sur proxy FHIR active uniquement une séquence de lancement EHR.

Pour utiliser SMART on FHIR, vous devez d’abord authentifier et autoriser l’application. La première fois que vous utilisez SMART on FHIR, vous devez également obtenir le consentement administratif pour permettre à l’application d’accéder à vos ressources FHIR.

Si vous n’avez pas de rôle de propriété dans l’application, contactez le propriétaire de l’application et demandez-lui de vous accorder le consentement administrateur dans l’application.

Si vous disposez de privilèges administratifs, effectuez les étapes suivantes pour accorder le consentement administrateur à vous-même directement. (Vous pouvez également accorder votre consentement administrateur ultérieurement lorsque vous y êtes invité dans l'application.) Vous pouvez effectuer les mêmes étapes pour ajouter d’autres utilisateurs en tant que propriétaires, afin qu’ils puissent afficher et modifier cette inscription d’application.

Pour vous ajouter vous-même ou un autre utilisateur en tant que propriétaire d’une application :

  1. Dans le portail Azure, accédez à Microsoft Entra ID.
  2. Dans le menu de gauche, sélectionnez Inscription de l’application.
  3. Recherchez l’inscription de l’application que vous avez créée, puis sélectionnez-la.
  4. Dans le menu de gauche, sous Gérer, sélectionnez Propriétaires.
  5. Sélectionnez Ajouter des propriétaires, puis ajoutez-vous ou ajoutez l’utilisateur pour lequel vous souhaitez obtenir le consentement administrateur.
  6. Cliquez sur Enregistrer

Étape 2 : activer le proxy SMART on FHIR

SMART on FHIR exige que Audience possède un URI d’identificateur égal à l’URI du service FHIR. La configuration standard de l’API Azure pour FHIR utilise la valeur https://azurehealthcareapis.com pour Audience. Cependant, vous pouvez aussi définir une valeur correspondant à l’URL spécifique de votre service FHIR (par exemple https://MYFHIRAPI.azurehealthcareapis.com). Cela est nécessaire quand le proxy SMART on FHIR est utilisé.

Pour activer le proxy SMART sur FHIR dans les paramètres d’Authentification de votre instance Azure API pour FHIR, cochez la case Proxy SMART sur FHIR.

Capture d’écran montrant l’activation du proxy SMART on FHIR.

Le proxy SMART on FHIR joue le rôle d’intermédiaire entre l’application SMART on FHIR et Microsoft Entra ID. La réponse d’authentification (code d’authentification) doit accéder au proxy SMART on FHIR à la place de l’application proprement dite. Le proxy transmet ensuite la réponse à l’application.

Du fait de ce relais en deux étapes du code d’authentification, vous devez définir l’URL de réponse (rappel) de votre application cliente Microsoft Entra sur une URL qui combine l’URL de réponse du proxy SMART on FHIR et l’URL de réponse de l’application SMART on FHIR. L’URL de réponse combinée prend la forme suivante.

https://MYFHIRAPI.azurehealthcareapis.com/AadSmartOnFhirProxy/callback/aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA

Dans la réponse, aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA est une version codée en URL et en base64 de l’URL de réponse de l’application SMART on FHIR. Pour le lanceur d’application SMART on FHIR, quand l’application s’exécute localement, l’URL de réponse est https://localhost:5001/sampleapp/index.html.

Vous pouvez générer l’URL de réponse combinée à l’aide d’un script comme suit.

$replyUrl = "https://localhost:5001/sampleapp/index.html"
$fhirServerUrl = "https://MYFHIRAPI.azurewebsites.net"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($ReplyUrl)
$encodedText = [Convert]::ToBase64String($bytes)
$encodedText = $encodedText.TrimEnd('=');
$encodedText = $encodedText.Replace('/','_');
$encodedText = $encodedText.Replace('+','-');

$newReplyUrl = $FhirServerUrl.TrimEnd('/') + "/AadSmartOnFhirProxy/callback/" + $encodedText

Ajoutez l’URL de réponse à l’application cliente publique que vous avez créée précédemment pour Microsoft Entra ID.

Capture d’écran montrant comment l’URL de réponse peut être configurée pour le client public.

Étape 3 : obtenir un patient test

Pour tester l’API Azure pour FHIR et le proxy SMART sur FHIR, vous devez avoir au moins un patient dans la base de données. Si vous n'avez pas encore interagi avec l'API et que vous n'avez pas de données dans la base de données, consultez Accéder au service FHIR à l'aide de Postman pour charger un patient. Notez l’ID d’un patient spécifique.

Étape 4 : télécharger le lanceur d’applications SMART on FHIR

Le dépôt FHIR Server pour Azure open source comporte un lanceur d’application SMART on FHIR simple et un exemple d’application SMART on FHIR. Dans ce tutoriel, utilisez ce lanceur SMART on FHIR localement pour tester la configuration.

Vous pouvez cloner le référentiel GitHub et accéder à l’application à l’aide des commandes suivantes.

git clone https://github.com/Microsoft/fhir-server
cd fhir-server/samples/apps/SmartLauncher

L’application a besoin de quelques paramètres de configuration, que vous pouvez définir dans appsettings.json :

{
    "FhirServerUrl": "https://MYFHIRAPI.azurehealthcareapis.com",
    "ClientId": "APP-ID",
    "DefaultSmartAppUrl": "/sampleapp/launch.html"
}

Nous vous recommandons d'utiliser cette fonctionnalité dotnet user-secrets.

dotnet user-secrets set FhirServerUrl https://MYFHIRAPI.azurehealthcareapis.com
dotnet user-secrets set ClientId <APP-ID>

Utilisez cette commande pour exécuter l'application.

dotnet run

Étape 5 : tester le proxy SMART on FHIR

Après avoir démarré le lanceur d’applications SMART on FHIR, vous pouvez pointer votre navigateur vers https://localhost:5001, où vous devriez voir l’écran suivant.

Capture d’écran de SMART sur le lanceur d’applications FHIR.

Lorsque vous saisissez des informations sur le Patient, la Rencontre ou le Praticien, notez que le contexte de Lancement est mis à jour. Quand vous utilisez l’API Azure pour FHIR, le contexte de lancement est simplement un document JSON qui contient des informations notamment sur le patient et le médecin. Ce contexte de lancement est encodé en base64 et transmis à l’application SMART on FHIR en tant que paramètre de requête launch. Conformément à la spécification SMART on FHIR, cette variable est inintelligible pour l’application SMART on FHIR et est transmise au fournisseur d’identité.

Le proxy SMART on FHIR se sert de ces informations pour compléter les champs de la réponse de jeton. L’application SMART on FHIR peut utiliser ces champs pour contrôler sur quel patient porte la demande de données et sur la façon dont l’application s’affiche à l’écran. Le proxy SMART on FHIR prend en charge les champs suivants.

  • patient
  • encounter
  • practitioner
  • need_patient_banner
  • smart_style_url

Ces champs visent à fournir des indications à l’application, mais ils ne véhiculent pas d’information de sécurité. Une application SMART on FHIR peut les ignorer.

Notez que le lanceur d’application SMART on FHIR met à jour l’information Launch URL (URL de lancement) au bas de la page.

Sélectionnez Lancer pour démarrer l’exemple d’application.

Migrer du proxy SMART on FHIR vers SMART on FHIR (amélioré)

Important

Le proxy SMART on FHIR sera mis hors service en septembre 2026, transitionnant à SMART on FHIR (amélioré) à cette date. À compter de septembre 2026, les applications qui s’appuient sur le proxy SMART on FHIR signaleront des erreurs lors de l’accès au service FHIR.

SMART on FHIR (amélioré) fournit plus de capacités par rapport au proxy SMART on FHIR. SMART on FHIR (amélioré) peut être considéré comme répondant aux exigences du Guide d’implémentation SMART on FHIR (v 1.0.0) et de l’API standardisée §170.315(g)(10) pour les critères des services de patients et de population. Le tableau suivant répertorie la différence entre le proxy SMART on FHIR et SMART on FHIR (amélioré).

Fonctionnalité SMART on FHIR (amélioré) SMART sur le proxy FHIR
Prend en charge le lancement autonome Oui Non
Prend en charge le lancement EHR Oui Oui
Prend en charge les restrictions d’étendue Oui Non
S’appuie sur des produits Azure de premiers tiers Oui, les produits Azure tels que Gestion des API Azure (APIM) doivent être intégrés Non
Support Microsoft Pris en charge pour le service FHIR. La prise en charge de l’exemple open source doit être signalé et surveillé via GitHub Pris en charge pour le service FHIR

Étapes de migration

  • Étape 1 : configurer le rôle d’utilisateur SMART FHIR. Suivez les étapes répertoriées dans la section Gérer les utilisateurs : attribuer des utilisateurs au rôle. Tout utilisateur ajouté au rôle d'utilisateur SMART peut accéder au service FHIR, à condition que ses requêtes soient conformes au guide d’implémentation SMART on FHIR.
  • Étape 2 : déployer l’exemple SMART on FHIR sous les exemples OSS Données et IA de santé Azure
  • Étape 3 : mettre à jour le point de terminaison de l’URL du service FHIR sur « {{BASEURL_FROM_APIM}}/smart ».
  • Étape 4 : décochez le paramètre du proxy SMART on FHIR sous le panneau Authentification du service FHIR.

Si vous avez des questions, vous pouvez les poser aux experts de la communauté dans Microsoft Q&A. Pour le support technique, vous pouvez également créer une demande de support.

Étapes suivantes

Maintenant que vous avez découvert comment activez les fonctionnalité de SMART on FHIR, consultez la page d’exemples de recherche pour plus d’informations sur la façon de rechercher à l’aide de paramètres de recherche, de modificateurs et d’autres méthodes de recherche FHIR.

Remarque

FHIR® est une marque déposée de HL7 utilisé avec l’autorisation de HL7.