You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/healthcare-apis/fhir/smart-on-fhir.md
+25-5Lines changed: 25 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,18 +12,30 @@ ms.date: 11/10/2022
12
12
13
13
# SMART on FHIR
14
14
15
-
[SMART on FHIR](https://docs.smarthealthit.org/) is a set of open specifications to integrate partner applications with FHIR servers and electronic medical records systems that have Fast Healthcare Interoperability Resources (FHIR®) interfaces. One of the main purposes of the specifications is to describe how an application should discover authentication endpoints for an FHIR server and start an authentication sequence.
15
+
Substitutable Medical Applications and Reusable Technologies [SMART on FHIR](https://docs.smarthealthit.org/) is a healthcare standard through which applications can access clinical information through a data store. It adds a security layer based on open standards including OAuth2 and OpenID Connect, to FHIR interfaces to enable integration with EHR systems. Using SMART on FHIR provides at least three important benefits:
16
+
• Applications have a known method for obtaining authentication/authorization to a FHIR repository
17
+
• Users accessing a FHIR repository with SMART on FHIR are restricted to resources associated with the user, rather than having access to all data in the repository
18
+
• Users have the ability to grant applications access to an further limited set of their data by using SMART clinical scopes.
16
19
17
-
Authentication is based on OAuth2. But because SMART on FHIR uses parameter naming conventions that aren’t immediately compatible with Azure Active Directory (Azure AD), the Azure API for FHIR has a built-in Azure AD SMART on FHIR proxy that enables a subset of the SMART on FHIR launch sequences. Specifically, the proxy enables the [EHR launch sequence](https://hl7.org/fhir/smart-app-launch/#ehr-launch-sequence).
20
+
<!---SMART Implementation Guide v1.0.0 is now fully supported by Azure API for FHIR and Azure API Management (APIM). This is our recommended approach, as it enabled Health IT developers to comply with 21st Century Act Criterion §170.315(g)(10) Standardized API for patient and population services.--->
18
21
19
-
This tutorial describes how to use the proxy to enable SMART on FHIR applications with FHIR Service.
22
+
One of the main purposes of the specifications is to describe how an application should discover authentication endpoints for an FHIR server and start an authentication sequence. Authentication is based on OAuth2. But because SMART on FHIR uses parameter naming conventions that aren’t immediately compatible with Azure Active Directory (Azure AD), the Azure API for FHIR has a built-in Azure AD SMART on FHIR proxy that enables a subset of the SMART on FHIR launch sequences. Specifically, the proxy enables the [EHR launch sequence](https://hl7.org/fhir/smart-app-launch/#ehr-launch-sequence).
23
+
24
+
Below tutorial describes steps to enable SMART on FHIR applications with FHIR Service.
25
+
26
+
<!--- ## Pre-requisite
27
+
Below are pre-requisite on enabling the SMART on FHIR:
28
+
<b>Prerequisites</b>
29
+
1. An instance of the Azure API for FHIR
30
+
2. Client application registration. Follow the instructions for configuring a [public client application in Azure AD](register-public-azure-ad-client-app.md)
31
+
3. Test Data : To test the Azure API for FHIR and the SMART on FHIR, you'll need to have at least one patient in the database. If you've not interacted with the API yet, and you don't have data in the database, see [Access the FHIR service using Postman](./../fhir/use-postman.md) to load a patient. Make a note of the ID of a specific patient. --->
SMART on FHIR requires that `Audience` has an identifier URI equal to the URI of the FHIR service. The standard configuration of the FHIR service uses an `Audience` value of `https://azurehealthcareapis.com`. However, you can also set a value matching the specific URL of your FHIR service (for example `https://MYFHIRAPI.fhir.azurehealthcareapis.com`). This is required when working with the SMART on FHIR proxy.
29
41
@@ -51,10 +63,18 @@ To add yourself or another user as owner of an app:
51
63
5. Select **Add owners**, and then add yourself or the user you want to have admin consent.
52
64
6. Select **Save**.
53
65
66
+
<!--- Tutorial : To enable SMART on FHIR using APIM, follow below steps
67
+
Step 1 : Set up FHIR SMART user role
68
+
Follow the steps listed under section [Manage Users: Assign Users to Role](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-users-assign-role-azure-portal). Any user added to this role will be able to access the FHIR Service if their requests comply with the SMART on FHIR implementation Guide, such as request having access token which includes a fhirUser claim and a clinical scopes claim. The access granted to the users in this role will then be limited by the resources associated to their fhirUser compartment and the restrictions in the clinical scopes.
69
+
70
+
Step 2 : Deploy the necessary components to set up the FHIR server integrated with APIM in production. Follow ReadMe
71
+
Step 3 : Load US Core profiles
72
+
Step 4 : Create AAD custom policy using this README --->
73
+
54
74
## Enable the SMART on FHIR proxy
55
75
56
76
Enable the SMART on FHIR proxy in the **Authentication** settings for your FHIR instance by selecting the **SMART on FHIR proxy** check box.
57
-
Enable CORS : Because most SMART on FHIR applications are single-page JavaScript apps, you need to [enable cross-origin resource sharing (CORS)](configure-cross-origin-resource-sharing.md)
77
+
Enable CORS : Most SMART on FHIR applications are single-page JavaScript apps, you need to [enable cross-origin resource sharing (CORS)](configure-cross-origin-resource-sharing.md)
58
78
Configure the reply URL: The SMART on FHIR proxy acts as an intermediary between the SMART on FHIR app and Azure AD. The authentication reply (the authentication code) must go to the SMART on FHIR proxy instead of the app itself. The proxy then forwards the reply to the app.
59
79
60
80
Because of this two-step relay of the authentication code, you need to set the reply URL (callback) for your Azure AD client application to a URL that is a combination of the reply URL for the SMART on FHIR proxy and the reply URL for the SMART on FHIR app. The combined reply URL takes this form:
0 commit comments