Delen via


SMART on FHIR

Vervangbare medische toepassingen en herbruikbare technologieën (SMART on FHIR) is een gezondheidszorgstandaard waarmee toepassingen toegang hebben tot klinische informatie via een gegevensarchief. Er wordt een beveiligingslaag toegevoegd op basis van open standaarden, waaronder OAuth2 en OpenID Verbinding maken, aan FHIR-interfaces om integratie met EHR-systemen mogelijk te maken. Het gebruik van SMART on FHIR biedt ten minste drie belangrijke voordelen:

  • Toepassingen hebben een bekende methode voor het verkrijgen van verificatie/autorisatie naar een FHIR-opslagplaats.
  • Gebruikers die toegang hebben tot een FHIR-opslagplaats met SMART on FHIR, zijn beperkt tot resources die zijn gekoppeld aan de gebruiker, in plaats van toegang te hebben tot alle gegevens in de opslagplaats.
  • Gebruikers hebben de mogelijkheid om toepassingen toegang te verlenen tot een beperkte set van hun gegevens met behulp van SLIMME klinische bereiken.

In de onderstaande zelfstudies worden stappen beschreven voor het inschakelen van SMART on FHIR-toepassingen met FHIR Service.

Vereisten

SMART on FHIR met behulp van Voorbeelden van Azure Health Data Services (SMART on FHIR (Enhanced))

Stap 1: FHIR SMART-gebruikersrol instellen

Volg de stappen in de sectie Gebruikers beheren: Gebruikers toewijzen aan rol. Elke gebruiker die aan deze rol is toegevoegd, kan toegang krijgen tot de FHIR-service, mits hun aanvragen voldoen aan de SMART on FHIR-implementatiehandleiding. De toegang die aan de gebruikers in deze rol wordt verleend, wordt vervolgens beperkt door de middelen die zijn gekoppeld aan hun fhirUser-compartiment en de beperkingen in de klinische bereiken.

Notitie

Smart on FHIR-implementatiehandleiding definieert de toegang tot FHIR-resourcetypen met bereiken. Deze bereiken zijn van invloed op de toegang die een toepassing kan hebben tot FHIR-resources. Gebruiker met SMART-gebruikersrol heeft toegang om lees-API-interacties uit te voeren op de FHIR-service. Smart-gebruikersrol verleent geen schrijftoegang tot de FHIR-service.

Stap 2: FHIR-serverintegratie met voorbeelden

Klik op de koppeling om naar azure Health Data en AI Samples Open source-oplossing te navigeren. Deze stap in het document maakt integratie van FHIR-server mogelijk met andere Azure-services (zoals APIM, Azure-functies en meer).

Notitie

Voorbeelden zijn opensource-code en u moet de informatie en licentievoorwaarden op GitHub bekijken voordat u deze gebruikt. Ze maken geen deel uit van de Azure Health Data Service en worden niet ondersteund door Microsoft Ondersteuning. Deze voorbeelden kunnen worden gebruikt om te laten zien hoe Azure Health Data Services en andere opensource-hulpprogramma's samen kunnen worden gebruikt om §170.315(g)(10) Gestandaardiseerde API voor naleving van patiënt- en populatieservices te demonstreren, met behulp van Microsoft Entra ID als werkstroom voor id-providers.

SMART on FHIR Proxy

Klik om uit te vouwen.

Notitie

Dit is een andere optie voor SMART on FHIR(Enhanced) met behulp van AHDS-voorbeelden die hierboven worden genoemd. We raden u aan SMART on FHIR(Enhanced) te gebruiken. DE OPTIE SMART on FHIR Proxy is verouderd. SMART on FHIR(Enhanced) biedt extra mogelijkheden dan SMART on FHIR-proxy. SMART on FHIR(Enhanced) kan worden beschouwd als voldoen aan vereisten met smart on FHIR-implementatiehandleiding (v 1.0.0) en §170.315(g)(10) gestandaardiseerde API voor het criterium voor patiënt- en populatieservices.

Als u SMART on FHIR wilt gebruiken, moet u eerst de app verifiëren en autoriseren. De eerste keer dat u SMART on FHIR gebruikt, moet u ook beheerderstoestemming krijgen om de app toegang te geven tot uw FHIR-resources.

Als u geen eigendomsrol in de app hebt, neemt u contact op met de eigenaar van de app en vraagt u hen om beheerderstoestemming voor u in de app te verlenen.

Als u beheerdersbevoegdheden hebt, voert u de volgende stappen uit om beheerderstoestemming rechtstreeks aan uzelf te verlenen. (U kunt ook beheerderstoestemming verlenen aan uzelf wanneer u hierom wordt gevraagd in de app.) U kunt dezelfde stappen uitvoeren om andere gebruikers toe te voegen als eigenaren, zodat ze deze app-registratie kunnen bekijken en bewerken.

Uzelf of een andere gebruiker toevoegen als eigenaar van een app:

  1. Ga in de Azure-portal naar Microsoft Entra-ID.
  2. Selecteer app-registratie in het linkermenu.
  3. Zoek de app-registratie die u hebt gemaakt en selecteer deze.
  4. Selecteer Eigenaren in het linkermenu onder Beheren.
  5. Selecteer Eigenaren toevoegen en voeg vervolgens uzelf of de gebruiker toe waarvoor u beheerderstoestemming wilt hebben.
  6. Selecteer Opslaan

Stap 2: de SMART on FHIR-proxy inschakelen

Voor SMART on FHIR moet Audience een id-URI hebben die gelijk is aan de URI van de FHIR-service. De standaardconfiguratie van de FHIR-service maakt gebruik van een Audience waarde van https://fhir.azurehealthcareapis.com. U kunt echter ook een waarde instellen die overeenkomt met de specifieke URL van uw FHIR-service (bijvoorbeeld https://MYFHIRAPI.fhir.azurehealthcareapis.com). Dit is vereist bij het werken met de SMART on FHIR-proxy.

Als u de SMART on FHIR-proxy wilt inschakelen in de verificatie-instellingen voor uw FHIR-exemplaar , schakelt u het selectievakje SMART on FHIR-proxy in.

De SMART on FHIR-proxy fungeert als intermediair tussen de SMART on FHIR-app en Microsoft Entra-id. Het verificatieantwoord (de verificatiecode) moet in plaats van de app zelf naar de SMART on FHIR-proxy worden gestuurd. De proxy stuurt het antwoord vervolgens door naar de app.

Vanwege deze tweestapsrelais van de verificatiecode moet u de antwoord-URL (callback) voor uw Microsoft Entra-clienttoepassing instellen op een URL die een combinatie is van de antwoord-URL voor de SMART on FHIR-proxy en de antwoord-URL voor de SMART on FHIR-app. De gecombineerde antwoord-URL heeft de volgende indeling:

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

In dat antwoord is aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA een met Base64 gecodeerde, URL-veilige versie van de antwoord-URL voor de SMART on FHIR-app. Als de app lokaal wordt uitgevoerd, is https://localhost:5001/sampleapp/index.html de antwoord-URL voor het startprogramma van de SMART on FHIR-app.

U kunt de gecombineerde antwoord-URL genereren met behulp van een script dat er als volgt uitziet:

$replyUrl = "https://localhost:5001/sampleapp/index.html"
$fhirServerUrl = "https://MYFHIRAPI.fhir.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

Voeg de antwoord-URL toe aan de openbare clienttoepassing die u eerder hebt gemaakt voor Microsoft Entra-id

Stap 3: Een test patiënt ophalen

Als u de FHIR-service en de SMART on FHIR-proxy wilt testen, moet u ten minste één patiënt in de database hebben. Als u nog niet met de API hebt gecommuniceerd en u geen gegevens in de database hebt, raadpleegt u Access the FHIR service using Postman om een patiënt te laden. Noteer de id van een specifieke patiënt.

Stap 4: Het startprogramma voor smart on FHIR-apps downloaden

De open-source FHIR Server for Azure-opslagplaats bevat een eenvoudig startprogramma voor de SMART on FHIR-app en een SMART on FHIR-voorbeeldapp. In deze zelfstudie gebruikt u dit SMART on FHIR-startprogramma lokaal om de installatie te testen.

U kunt de GitHub-opslagplaats klonen en naar de toepassing gaan met behulp van de volgende opdrachten:

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

De toepassing heeft een aantal configuratie-instellingen nodig die u in appsettings.json kunt instellen:

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

U wordt aangeraden de functie dotnet user-secrets te gebruiken:

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

Gebruik deze opdracht om de toepassing uit te voeren:

dotnet run

Stap 5: de SMART on FHIR-proxy testen

Nadat u het startprogramma voor de SMART on FHIR-app hebt gestart, kunt u in uw browser naar https://localhost:5001 gaan, waar het volgende scherm wordt weergegeven:

Screenshot showing SMART on FHIR app launcher.

Wanneer u informatie over patiënten, ontmoeting of beoefenaar invoert, ziet u dat de startcontext wordt bijgewerkt. Wanneer u de FHIR-service gebruikt, is de startcontext gewoon een JSON-document met informatie over patiënt, beoefenaar en meer. Deze startcontext wordt base64-gecodeerd en doorgegeven aan de SMART on FHIR-app als de queryparameter launch. Volgens de specificaties voor SMART on FHIR, is de variabele ondoorzichtig voor de SMART on FHIR-app en wordt deze doorgegeven aan de id-provider.

De SMART on FHIR-proxy gebruikt deze informatie voor het invullen van velden in het tokenantwoord. De SMART on FHIR app kan deze velden gebruiken om te bepalen voor welke patiënten deze gegevens opvraagt en hoe de toepassing op het scherm wordt weergegeven. De SMART on FHIR-proxy ondersteunt de volgende velden:

  • patient
  • encounter
  • practitioner
  • need_patient_banner
  • smart_style_url

Deze velden zijn bedoeld om richting te geven aan de app, maar ze bevatten geen beveiligingsgegevens. Een SMART on FHIR-toepassing kan ze negeren.

U ziet dat het startprogramma voor de SMART on FHIR-app de gegevens voor de Start-URL onderaan de pagina bijwerkt. Selecteer Starten om de voorbeeld-app te starten. U zou iets vergelijkbaars met het volgende voorbeeld moeten zien:

Screenshot showing SMART on FHIR app.

Inspecteer de tokenrespons om te zien hoe de startcontextvelden worden doorgegeven aan de app.

Migreren van SMART on FHIR-proxy naar SMART on FHIR (Enhanced)

Belangrijk

DE SMART on FHIR-proxy wordt in september 2026 buiten gebruik gesteld en gaat tegen die datum over op de SMART on FHIR (Enhanced). Vanaf september 2026 rapporteren toepassingen die afhankelijk zijn van SMART on FHIR-proxy fouten bij het openen van de FHIR-service.

SMART on FHIR (Enhanced) biedt meer mogelijkheden in vergelijking met SMART on FHIR-proxy. SMART on FHIR(Enhanced) kan worden beschouwd als voldoen aan vereisten met smart on FHIR-implementatiehandleiding (v 1.0.0) en §170.315(g)(10) gestandaardiseerde API voor het criterium voor patiënt- en populatieservices. De volgende tabel bevat het verschil tussen SMART on FHIR-proxy en SMART on FHIR (Enhanced).

Mogelijkheid SMART on FHIR (Enhanced) SMART on FHIR-proxy
Biedt ondersteuning voor zelfstandig starten Ja Nr.
Ondersteunt het starten van EHR Ja Ja
Biedt ondersteuning voor bereikbeperkingen Ja Nr.
Is afhankelijk van Azure-producten van de eerste partij Ja, Azure-producten zoals Azure API Management (APIM) moeten worden geïntegreerd Nee
Microsoft Ondersteuning Ondersteund voor de FHIR-service. Opensource-voorbeeldondersteuning moet worden gerapporteerd en bewaakt via GitHub Ondersteund voor FHIR-service

Migratiestappen

  • Stap 1: Stel de FHIR SMART-gebruikersrol in. Volg de stappen in de sectie Gebruikers beheren: Gebruikers toewijzen aan rol. Elke gebruiker die is toegevoegd aan de SMART-gebruikersrol, heeft toegang tot de FHIR-service als hun aanvragen voldoen aan de IMPLEMENTATIEhandleiding voor SMART on FHIR.
  • Stap 2: SMART on FHIR-voorbeeld implementeren onder Voorbeelden van Azure Health Data en AI OSS
  • Stap 3: Eindpunt van de FHIR-service-URL bijwerken naar {{BASEURL_FROM_APIM}}/smart.'
  • Stap 4: Schakel de instelling van de SMART on FHIR-proxy uit onder de blade Verificatie voor de FHIR-service.

Hebt u vragen? Laat ze beantwoorden door de communityexperts in Microsoft Q&A. Voor technische ondersteuning kunt u ook een ondersteuningsaanvraag maken.

Volgende stappen

Nu u hebt geleerd hoe u SMART on FHIR-functionaliteit inschakelt, raadpleegt u de pagina met zoekvoorbeelden voor meer informatie over het zoeken met behulp van zoekparameters, modifiers en andere FHIR-zoekmethoden.

FHIR® is een geregistreerd handelsmerk van HL7 en wordt gebruikt met de machtiging HL7.