Teilen ü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 mindestens drei wichtige Vorteile:

  • 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 unter Abschnitt Verwalten von Benutzer*innen : Zuweisen von Benutzer*innen zur Rolle aufgeführten Schritte 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 dann 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 AI“ 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 eine weitere Option für die oben erwähnte SMART on FHIR-Lösung (erweitert). Durch die SMART on FHIR-Proxyoption wird nur die EKA-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:5001navigieren. 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) [!INCLUDE [Migrieren vom SMART on FHIR-Proxy zu „Erweitert“](../includes/smart-on-fhir-proxy-migration.md)]

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.

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