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
+12-22Lines changed: 12 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ author: expekesheth
10
10
ms.date: 11/10/2022
11
11
---
12
12
13
-
# Overview : SMART on FHIR
13
+
# SMART on FHIR:
14
14
15
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.
16
16
@@ -45,27 +45,17 @@ If you do have administrative privileges, complete the following steps to grant
45
45
To add yourself or another user as owner of an app:
46
46
47
47
1. In the Azure portal, go to Azure Active Directory.
48
-
1. In the left menu, select **App Registration**.
49
-
1. Search for the app registration you created, and then select it.
50
-
1. In the left menu, under **Manage**, select **Owners**.
51
-
1. Select **Add owners**, and then add yourself or the user you want to have admin consent.
52
-
1. Select **Save**.
48
+
2. In the left menu, select **App Registration**.
49
+
3. Search for the app registration you created, and then select it.
50
+
4. In the left menu, under **Manage**, select **Owners**.
51
+
5. Select **Add owners**, and then add yourself or the user you want to have admin consent.
52
+
6. Select **Save**.
53
53
54
54
## Enable the SMART on FHIR proxy
55
55
56
-
Enable the SMART on FHIR proxy in the **Authentication** settings for your FHIR instance by selecting the **SMART on FHIR proxy** check box:
57
-
58
-
<!------>
59
-
60
-
## Enable CORS
61
-
62
-
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) for the Azure API for FHIR:
63
-
64
-
<!------>
65
-
66
-
## Configure the reply URL
67
-
68
-
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.
56
+
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)
58
+
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.
69
59
70
60
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:
Add the reply URL to the public client application that you created earlier for Azure AD:
82
+
Add the reply URL to the public client application that you created earlier for Azure AD
93
83
94
84
<!------>
95
85
@@ -135,7 +125,7 @@ dotnet run
135
125
136
126
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:
137
127
138
-
<!------>
128
+

139
129
140
130
When you enter **Patient**, **Encounter**, or **Practitioner** information, you'll notice that the **Launch context** is updated. When you're using the FHIR service, the launch context is simply a JSON document that contains information about patient, practitioner, and more. This launch context is base64 encoded and passed to the SMART on FHIR app as the `launch` query parameter. According to the SMART on FHIR specification, this variable is opaque to the SMART on FHIR app and passed on to the identity provider.
141
131
@@ -151,7 +141,7 @@ These fields are meant to provide guidance to the app, but they don't convey any
151
141
152
142
Notice that the SMART on FHIR app launcher updates the **Launch URL** information at the bottom of the page. Select **Launch** to start the sample app, and you should see something like this sample:
153
143
154
-
<!------>
144
+

155
145
156
146
Inspect the token response to see how the launch context fields are passed on to the app.
0 commit comments