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 Connect, 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.
De volgende zelfstudies bevatten stappen voor het inschakelen van SMART on FHIR-toepassingen met FHIR Service.
Vereisten
- Een exemplaar van de FHIR-service
- .NET SDK 6.0
- Cors (Cross-Origin Resource Sharing) inschakelen
- Openbare clienttoepassing registreren in Microsoft Entra-id
- Nadat u de toepassing hebt geregistreerd, noteert u de toepassing voor de
applicationId
clienttoepassing.
- Nadat u de toepassing hebt geregistreerd, noteert u de toepassing voor de
- Zorg ervoor dat u toegang hebt tot een Azure-abonnement van de FHIR-service om resources te maken en roltoewijzingen toe te voegen.
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, heeft toegang tot de FHIR-service, mits de 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. Een gebruiker met de SMART-gebruikersrol heeft toegang tot het uitvoeren van lees-API-interacties op de FHIR-service. Smart-gebruikersrol verleent geen schrijftoegang tot de FHIR-service.
Stap 2: FHIR-serverintegratie met voorbeelden
Klik op deze koppeling om te navigeren naar de opensource-oplossing Azure Health Data en AI Samples. De stappen in het document maken integratie van de 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 worden gebruikt om te laten zien hoe Azure Health Data Services (AHDS) en andere opensource-hulpprogramma's samen kunnen worden gebruikt om §170.315(g)(10) gestandaardiseerde API voor naleving van patiënten- en populatieservices te demonstreren, met behulp van Microsoft Entra-id als de werkstroom van de id-provider.
SMART on FHIR Proxy
Klik om uit te vouwen.
Notitie
Dit is een andere optie voor SMART on FHIR(Enhanced) met behulp van de eerder genoemde AHDS-voorbeelden. We raden u aan SMART on FHIR(Enhanced) te gebruiken. DE OPTIE SMART on FHIR Proxy is een verouderde optie. SMART on FHIR(Enhanced) biedt extra mogelijkheden voor SMART on FHIR-proxy. SMART on FHIR(Enhanced) voldoet aan de vereisten in smart on FHIR-implementatiehandleiding (v 1.0.0) en §170.315(g)(10) gestandaardiseerde API voor het criterium voor patiënten- en populatieservices.
Stap 1: Beheerderstoestemming instellen voor uw clienttoepassing
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 gebruiken om andere gebruikers toe te voegen als eigenaren, zodat ze de app-registratie kunnen bekijken en bewerken.
Uzelf of een andere gebruiker toevoegen als eigenaar van een app:
- Ga in de Azure-portal naar Microsoft Entra-ID.
- Selecteer app-registratie in het linkermenu.
- Zoek de app-registratie die u hebt gemaakt en selecteer deze.
- Selecteer Eigenaren in het linkermenu onder Beheren.
- Selecteer Eigenaren toevoegen en voeg vervolgens uzelf of de gebruiker toe waarvoor u beheerderstoestemming wilt hebben.
- 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 vorm.
https://MYFHIRAPI.azurehealthcareapis.com/AadSmartOnFhirProxy/callback/aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA
In het antwoord aHR0cHM6Ly9sb2NhbGhvc3Q6NTAwMS9zYW1wbGVhcHAvaW5kZXguaHRtbA
is een url-veilige, base64-gecodeerde 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 zoals hieronder.
$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 de API nog niet hebt gebruikt en u geen gegevens in de database hebt, raadpleegt u De FHIR-service van Access met 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 startprogramma voor SMART on FHIR-apps 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 dotnet user-secrets
functie te gebruiken:
dotnet user-secrets set FhirServerUrl https://MYFHIRAPI.fhir.azurehealthcareapis.com
dotnet user-secrets set ClientId <APP-ID>
Gebruik de volgende opdracht om de toepassing uit te voeren:
dotnet run
Stap 5: de SMART on FHIR-proxy testen
Nadat u het startprogramma voor smart on FHIR-apps hebt gestart, kunt u uw browser laten verwijzen naar https://localhost:5001
, waar u het volgende zou moeten zien:
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ënt gegevens worden aangevraagd 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 en u ziet er ongeveer als volgt uit.
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.
Notitie
FHIR® is een geregistreerd handelsmerk van HL7 en wordt gebruikt met de machtiging HL7.