Freigeben über


SMART on FHIR – Übersicht

Wichtig

Azure API for FHIR wird am 30. September 2026 eingestellt. Folgen Sie den Migrationsstrategien, um bis zu diesem Datum zum Azure Health Data Services-FHIR®-Dienst zu wechseln. Aufgrund der Einstellung von Azure API for FHIR werden neue Bereitstellungen ab dem 1. April 2025 nicht zugelassen. Der Azure Health Data Services-FHIR-Dienst ist die weiterentwickelte Version der Azure-API für FHIR, mit der Kundschaft FHIR-, DICOM- und Medizintechnikdienste mit Integrationen in andere Azure-Dienste verwalten kann.

Substitutable Medical Applications and Reusable Technologies (SMART on FHIR®) ist ein Standard im Gesundheitswesen, über den Anwendungen auf klinische Informationen über einen Datenspeicher zugreifen können. Er fügt den FHIR-Schnittstellen eine Sicherheitsschicht hinzu, die auf offenen Standards wie OAuth2 und OpenID Connect basiert, um die Integration mit EHR-Systemen zu ermöglichen. Die Verwendung von SMART on FHIR bietet wichtige Vorteile, unter anderem:

  • Anwendungen verfügen über eine bekannte Methode, um eine Authentifizierung/Autorisierung für ein FHIR-Repository zu erhalten.
  • Benutzer*innen, die mit SMART on FHIR auf ein FHIR-Repository zugreifen, können nur auf die Ressourcen zugreifen, die ihnen zugeordnet sind, und haben keinen Zugriff auf alle Daten im Repository.
  • Benutzer haben die Möglichkeit, Anwendungen mithilfe von klinischen Bereichen von SMART Zugriff auf einen weiteren begrenzten Satz ihrer Daten zu gewähren.

In den folgenden Tutorials werden die Schritte zur Aktivierung von SMART on FHIR-Anwendungen mit dem FHIR-Dienst beschrieben.

Voraussetzungen

SMART on FHIR mit Beispiel-OSS (SMART on FHIR (erweitert))

Schritt 1: Einrichten der FHIR SMART-Benutzerrolle

Führen Sie die aufgeführten Schritte unter Verwalten von Benutzern: Zuweisen von Benutzern zur Rolle aus. Jeder Benutzer, der der Rolle „FHIR SMART-Benutzer“ hinzugefügt wurde, kann auf den FHIR-Dienst zugreifen, wenn die Anforderungen der SMART on FHIR-Implementierungsanleitung entsprechen, beispielsweise eine Anforderung mit Zugriffstoken, das einen fhirUser-Anspruchs und einen Anspruch auf klinische Bereiche enthält. Der Zugriff, der den Benutzer*innen in dieser Rolle gewährt wird, wird durch die Ressourcen beschränkt, die ihrem fhirUser-Depot zugeordnet sind, und den Einschränkungen in den klinischen Bereichen.

Schritt 2: FHIR-Serverintegration mit Beispielen

Führen Sie die Schritte unter der Open-Source-Lösung „Azure Health Data und KI“ aus. Dies ermöglicht die Integration des FHIR-Servers in andere Azure-Dienste (z. B. APIM, Azure Functions und mehr).

Hinweis

Beispiele sind Open-Source-Code, und Sie sollten die Informationen und Lizenzierungsbedingungen auf GitHub überprüfen, bevor Sie ihn verwenden. Sie sind nicht Teil von Azure Health Data Service und werden vom Microsoft-Support nicht unterstützt. Anhand dieser Beispiele wird gezeigt, wie Azure Health Data Services und andere Open-Source-Tools zusammen verwendet werden können, um die Einhaltung von ONC (g)(10) unter Verwendung von Microsoft Entra ID als Identitätsanbieterworkflow zu demonstrieren.

SMART on FHIR-Proxy

Zum Erweitern klicken!

Hinweis

Dies ist ein weiterer Pfad zu SMART on FHIR (Erweitert), wie erwähnt. Durch die SMART on FHIR-Proxyoption wird nur die EHR-Startsequenz aktiviert.

Um SMART on FHIR zu verwenden, müssen Sie die App zuerst authentifizieren und autorisieren. Wenn Sie SMART on FHIR zum ersten Mal verwenden, müssen Sie auch die Administratoreinwilligung einholen, damit die App auf Ihre FHIR-Ressourcen zugreifen kann.

Wenn Sie keine Besitzerrolle in der App haben, wenden Sie sich an den*die App-Besitzer*in, und bitten Sie ihn*sie, die Administratoreinwilligung für Sie in der App zu erteilen.

Wenn Sie über Administratorrechte verfügen, führen Sie die folgenden Schritte aus, um sich selbst direkt die Administratoreinwilligung zu erteilen. (Sie können die Administratoreinwilligung auch später erteilen, wenn Sie in der App dazu aufgefordert werden.) Sie können dieselben Schritte ausführen, um andere Benutzer*innen als Besitzer*innen hinzuzufügen, damit sie diese App-Registrierung anzeigen und bearbeiten können.

So fügen Sie sich selbst oder eine*n andere*n Benutzer*in als Besitzer*in einer App hinzu:

  1. Navigieren Sie im Azure-Portal zu Microsoft Entra ID.
  2. Wählen Sie im linken Menü App-Registrierung aus.
  3. Suchen Sie nach der App-Registrierung, die Sie erstellt haben, und wählen Sie sie aus.
  4. Wählen Sie im Menü auf der linken Seite unter Verwalten die Option Besitzer*innen aus.
  5. Wählen Sie Besitzer*innen hinzufügen aus, und fügen Sie sich dann selbst oder den*die Benutzer*in hinzu, dem*der Sie die Administratoreinwilligung erteilen möchten.
  6. Wählen Sie Speichern aus.

Schritt 2: Aktivieren des SMART on FHIR-Proxys

SMART on FHIR erfordert, dass Audience einen Bezeichner-URI aufweist, der mit dem URI des FHIR-Diensts identisch ist. Bei der Standardkonfiguration von Azure API for FHIR wird https://azurehealthcareapis.com als Audience-Wert verwendet. Sie können aber auch einen Wert festlegen, der mit der spezifischen URL Ihres FHIR-Diensts übereinstimmt (z. B. https://MYFHIRAPI.azurehealthcareapis.com). Dies ist erforderlich, wenn Sie mit dem SMART on FHIR-Proxy arbeiten.

Aktivieren Sie den SMART on FHIR-Proxy in den Einstellungen zur Authentifizierung für Ihre Azure API for FHIR-Instanz, indem Sie das Kontrollkästchen SMART on FHIR-Proxy aktivieren.

Screenshot: Aktivieren von „SMART on FHIR-Proxy“

Der SMART on FHIR-Proxy fungiert als Vermittler zwischen der SMART on FHIR-App und Microsoft Entra ID. Die Authentifizierungsantwort (der Authentifizierungscode) muss an den SMART on FHIR-Proxy und nicht an die App selbst übergeben werden. Der Proxy leitet dann die Antwort an die App weiter.

Aufgrund dieser zweistufigen Weitergabe des Authentifizierungscodes müssen Sie die Antwort-URL (Rückruf) für Ihre Microsoft Entra-Clientanwendung auf eine URL festlegen, die eine Kombination aus der Antwort-URL für den SMART on FHIR-Proxy und der Antwort-URL für die SMART on FHIR-App ist. Die kombinierte Antwort-URL hat folgende Form.

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

In dieser Antwort ist aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA eine URL-sichere, Base64-codierte Version der Antwort-URL für die SMART on FHIR-App. Für das SMART on FHIR-App-Startprogramm lautet die Antwort-URL bei lokaler Ausführung der App https://localhost:5001/sampleapp/index.html.

Sie können die kombinierte Antwort-URL mithilfe eines Skripts wie dem folgenden generieren.

$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

Fügen Sie der öffentlichen Clientanwendung, die Sie zuvor für Microsoft Entra ID erstellt haben, die Antwort-URL hinzu.

Screenshot: Konfigurieren der Antwort-URL für den öffentlichen Client

Schritt 3: Abrufen von Testpatientendaten

Zum Testen von Azure API for FHIR und des SMART on FHIR-Proxys muss mindestens ein Patient in der Datenbank enthalten sein. Wenn Sie noch nicht mit der API interagiert haben und keine Daten in der Datenbank vorhanden sind, lesen Sie unter Zugriff auf den FHIR-Dienst mittels Postman nach, wie ein Patient geladen wird. Notieren Sie sich die ID eines bestimmten Patienten.

Schritt 4: Herunterladen des SMART on FHIR-App-Startprogramms

Das Repository für den Open-Source-FHIR-Server für Azure enthält ein einfaches SMART on FHIR-App-Startprogramm und eine SMART on FHIR-Beispiel-App. In diesem Tutorial verwenden Sie dieses SMART on FHIR-Startprogramm lokal, um die Einrichtung zu testen.

Mit den folgenden Befehlen können Sie das GitHub-Repository klonen und zur Anwendung wechseln.

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

Die Anwendung benötigt einige Konfigurationseinstellungen, die Sie in appsettings.json festlegen können:

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

Es wird empfohlen, die Funktion dotnet user-secrets zu verwenden.

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

Führen Sie die Anwendung mit dem folgenden Befehl aus.

dotnet run

Schritt 5: Testen des SMART on FHIR-Proxys

Nachdem Sie das SMART on FHIR-App-Startprogramm gestartet haben, können Sie in Ihrem Browser zu https://localhost:5001 navigieren. Es sollte der folgende Bildschirm angezeigt werden.

Screenshot: SMART on FHIR-App-Startfeld

Wenn Sie Informationen zu Patient, Untersuchung oder Arzt eingeben, werden Sie feststellen, dass der Startkontext aktualisiert wird. Wenn Sie Azure API for FHIR verwenden, ist der Startkontext einfach ein JSON-Dokument, das Informationen zum Patienten, Arzt und vielem mehr enthält. Dieser Startkontext ist Base64-codiert und wird als launch-Abfrageparameter an die SMART on FHIR-App übergeben. Gemäß der SMART on FHIR-Spezifikation ist diese Variable für die SMART on FHIR-App nicht transparent und wird an den Identitätsanbieter weitergeleitet.

Der SMART on FHIR-Proxy verwendet diese Informationen, um Felder in der Tokenantwort aufzufüllen. Die SMART on FHIR-App kann mithilfe dieser Felder steuern, für welchen Patienten die Daten angefordert werden und wie die Anwendung auf dem Bildschirm gerendert wird. Der SMART on FHIR-Proxy unterstützt die folgenden Felder.

  • patient
  • encounter
  • practitioner
  • need_patient_banner
  • smart_style_url

Diese Felder sollen Richtlinien für die App bereitstellen, vermitteln aber keine Sicherheitsinformationen. Eine SMART on FHIR-Anwendung kann diese ignorieren.

Beachten Sie, dass die Informationen für Start-URL am unteren Rand der Seite durch das SMART on FHIR-App-Startprogramm aktualisiert werden.

Wählen Sie Starten aus, um die Beispiel-App zu starten.

Migrieren vom SMART on FHIR-Proxy zu SMART on FHIR (erweitert)

Wichtig

Der SMART on FHIR-Proxy wird im September 2026 eingestellt. Wechseln Sie bis zu diesem Datum zu SMART on FHIR (erweitert). Ab September 2026 melden Anwendungen, die den SMART on FHIR-Proxy nutzen, Fehler beim Zugriff auf den FHIR-Dienst.

SMART on FHIR (erweitert) bietet im Vergleich zum SMART on FHIR-Proxy mehr Funktionen. SMART on FHIR (erweitert) kann als Erfüllung der Anforderungen des SMART on FHIR-Implementierungsleitfaden (v 1.0.0) und des Kriteriums „§170.315(g)(10) Standardized API for patient and population services“ angesehen werden. In der folgenden Tabelle sind die Unterschiede zwischen dem SMART für FHIR-Proxy und SMART on FHIR (erweitert) aufgeführt.

Funktion SMART on FHIR (erweitert) SMART on FHIR-Proxy
Unterstützt eigenständigen Start Ja Nein
Unterstützt EHR-Start Ja Ja
Unterstützt Bereichseinschränkungen Ja Nein
Nutzt Azure-Erstanbieterprodukte Ja, Azure-Produkte wie Azure API Management (APIM) müssen integriert werden. Nein
Microsoft-Support Unterstützt für den FHIR-Dienst. Die Open-Source-Beispielunterstützung muss über GitHub gemeldet und überwacht werden. Unterstützt für den FHIR-Dienst

Migrationsschritte

  • Schritt 1: Einrichten der FHIR SMART-Benutzerrolle. Führen Sie die unter Abschnitt Verwalten von Benutzer*innen : Zuweisen von Benutzer*innen zur Rolle aufgeführten Schritte aus. Alle Benutzer*innen, die der SMART-Benutzerrolle hinzugefügt werden, können auf den FHIR-Dienst zugreifen, sofern ihre Anforderungen dem SMART on FHIR-Implementierungsleitfaden entsprechen.
  • Schritt 2: Bereitstellen des SMART on FHIR-Beispiels unter Azure Health Data and AI OSS samples
  • Schritt 3: Aktualisieren des Endpunkts der FHIR-Dienst-URL auf „{{BASEURL_FROM_APIM}}/smart“
  • Schritt 4: Deaktivieren der SMART on FHIR-Proxyeinstellung unter dem Blatt „Authentifizierung“ für den FHIR-Dienst

Wenden Sie sich mit Fragen an die Communityexperten auf Microsoft Q&A. Für technischen Support können Sie auch eine Supportanfrage erstellen.

Nächste Schritte

Nachdem Sie nun erfahren haben, wie die SMART on FHIR-Funktionalität aktiviert wird, finden Sie auf der Seite mit den Suchbeispielen Details zur Suche mit Suchparametern, Modifizierern und anderen FHIR-Suchmethoden.

Hinweis

FHIR® ist eine eingetragene Marke von HL7 und wird mit Genehmigung von HL7 verwendet.