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
+21-30Lines changed: 21 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,31 +27,24 @@ One of the main purposes of the specifications is to describe how an application
27
27
28
28
Below tutorial describes steps to enable SMART on FHIR applications with FHIR Service.
29
29
30
-
<!--- ## Pre-requisite
31
-
Below are pre-requisite on enabling the SMART on FHIR:
32
-
<b>Prerequisites</b>
33
-
1. An instance of the Azure API for FHIR
34
-
2. Client application registration. Follow the instructions for configuring a [public client application in Azure AD](register-public-azure-ad-client-app.md)
35
-
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. --->
-[Register public client application in AAD ](/register-public-azure-ad-client-app.md)
36
+
- After registering the application, make note of the applicationId for client application.
37
+
38
+
<!--- Tutorial : To enable SMART on FHIR using APIM, follow below steps
39
+
Step 1 : Set up FHIR SMART user role
40
+
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.
42
41
43
-
## Configure Azure AD registrations
44
-
45
-
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.
46
-
47
-
You'll also need a client application registration. Most SMART on FHIR applications are single-page JavaScript applications. So you should follow the instructions for configuring a [public client application in Azure AD](register-public-azure-ad-client-app.md).
48
-
49
-
After you complete these steps, you should have:
50
-
51
-
- A FHIR server with the audience set to `https://MYFHIRAPI.fhir.azurehealthcareapis.com`, where `MYFHIRAPI` is the name of your FHIR service instance.
52
-
- A public client application registration. Make a note of the application ID for this client application.
42
+
Step 2 : Deploy the necessary components to set up the FHIR server integrated with APIM in production. Follow ReadMe
43
+
Step 3 : Load US Core profiles
44
+
Step 4 : Create AAD custom policy using this README --->
53
45
54
-
### Set admin consent for your app
46
+
Lets go over individual steps to enable SMART on FHIR
47
+
### Step 1 : Set admin consent for your client application
55
48
56
49
To use SMART on FHIR, you must first authenticate and authorize the app. The first time you use SMART on FHIR, you also must get administrative consent to let the app access your FHIR resources.
57
50
@@ -66,21 +59,18 @@ To add yourself or another user as owner of an app:
66
59
3. Search for the app registration you created, and then select it.
67
60
4. In the left menu, under **Manage**, select **Owners**.
68
61
5. Select **Add owners**, and then add yourself or the user you want to have admin consent.
69
-
6. Select **Save**.
62
+
6. Select **Save**
63
+
70
64
71
-
<!--- Tutorial : To enable SMART on FHIR using APIM, follow below steps
72
-
Step 1 : Set up FHIR SMART user role
73
-
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.
65
+
### Step 2 : Configure Azure AD registrations
74
66
75
-
Step 2 : Deploy the necessary components to set up the FHIR server integrated with APIM in production. Follow ReadMe
76
-
Step 3 : Load US Core profiles
77
-
Step 4 : Create AAD custom policy using this README --->
67
+
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.
78
68
79
-
## Enable the SMART on FHIR proxy
69
+
### Step 3: Enable the SMART on FHIR proxy
80
70
81
71
Enable the SMART on FHIR proxy in the **Authentication** settings for your FHIR instance by selecting the **SMART on FHIR proxy** check box.
82
72
83
-
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.
73
+
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.
84
74
85
75
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:
86
76
@@ -108,11 +98,12 @@ Add the reply URL to the public client application that you created earlier for
108
98
109
99
<!------>
110
100
111
-
## Get a test patient
101
+
102
+
### Step 4 : Get a test patient
112
103
113
104
To test the FHIR service and the SMART on FHIR proxy, 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.
114
105
115
-
## Download the SMART on FHIR app launcher
106
+
### Step 5 : Download the SMART on FHIR app launcher
116
107
117
108
The open-source [FHIR Server for Azure repository](https://github.com/Microsoft/fhir-server) includes a simple SMART on FHIR app launcher and a sample SMART on FHIR app. In this tutorial, use this SMART on FHIR launcher locally to test the setup.
118
109
@@ -146,7 +137,7 @@ Use this command to run the application:
146
137
dotnet run
147
138
```
148
139
149
-
## Test the SMART on FHIR proxy
140
+
## Step 6 : Test the SMART on FHIR proxy
150
141
151
142
After you start the SMART on FHIR app launcher, you can point your browser to `https://localhost:5001`, where you should see the following screen:
0 commit comments