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/azure-api-for-fhir/smart-on-fhir.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,13 +28,13 @@ Below tutorials describe steps to enable SMART on FHIR applications with FHIR Se
28
28
- After registering the application, make note of the applicationId for client application.
29
29
- Ensure you have access to Azure Subscription of FHIR service, to create resources and add role assignments.
30
30
31
-
## SMART on FHIR using AHDS Samples OSS (SMART on FHIR(Enhanced))
31
+
## SMART on FHIR using Samples OSS (SMART on FHIR(Enhanced))
32
32
33
33
### Step 1: Set up FHIR SMART user role
34
-
Follow the steps listed under section [Manage Users: Assign Users to Role](/azure/active-directory/fundamentals/active-directory-users-assign-role-azure-portal). Any user added to role - "FHIR SMART User" 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.
34
+
Follow the steps listed under section [Manage Users: Assign Users to Role](../../role-based-access-control/role-assignments-portal.md). Any user added to role - "FHIR SMART User" 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.
35
35
36
36
### Step 2: FHIR server integration with samples
37
-
[Follow the steps](https://aka.ms/azure-health-data-services-smart-on-fhir-sample) under Azure Health Data Service Samples OSS. This will enable integration of FHIR server with other Azure Services (such as APIM, Azure functions and more).
37
+
[Follow the steps](https://aka.ms/azure-health-data-services-smart-on-fhir-sample) under Azure Health Data and AI Samples OSS. This will enable integration of FHIR server with other Azure Services (such as APIM, Azure functions and more).
38
38
39
39
> [!NOTE]
40
40
> Samples are open-source code, and you should review the information and licensing terms on GitHub before using it. They are not part of the Azure Health Data Service and are not supported by Microsoft Support. These samples can be used to demonstrate how Azure Health Data Services and other open-source tools can be used together to demonstrate ONC (g)(10) compliance, using Azure Active Directory as the identity provider workflow.
@@ -45,7 +45,7 @@ Follow the steps listed under section [Manage Users: Assign Users to Role](/azur
45
45
<summary> Click to expand! </summary>
46
46
47
47
> [!NOTE]
48
-
> This is another option to SMART on FHIR(Enhanced) mentioned above. SMART on FHIR Proxy option only enables EHR launch sequence.
48
+
> This is another option to SMART on FHIR(Enhanced) mentioned above. SMART on FHIR Proxy option only enables EHR launch sequence.
49
49
### Step 1: Set admin consent for your client application
50
50
51
51
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.
@@ -158,6 +158,9 @@ These fields are meant to provide guidance to the app, but they don't convey any
158
158
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.
159
159
</details>
160
160
161
+
## Migrate from SMART on FHIR Proxy to SMART on FHIR (Enhanced)
162
+
[!INCLUDE [Migrate from SMART on FHIR Proxy to Enhanced](../includes/smart-on-fhir-proxy-migration.md)]
163
+
161
164
## Next steps
162
165
163
166
Now that you've learned about enabling SMART on FHIR functionality, see the search samples page for details about how to search using search parameters, modifiers, and other FHIR search methods.
Copy file name to clipboardExpand all lines: articles/healthcare-apis/fhir/smart-on-fhir.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ ms.date: 11/10/2022
12
12
13
13
# SMART on FHIR
14
14
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:
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
16
- Applications have a known method for obtaining authentication/authorization to a FHIR repository.
17
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
18
- Users have the ability to grant applications access to a limited set of their data by using SMART clinical scopes.
@@ -31,12 +31,10 @@ Below tutorials provide steps to enable SMART on FHIR applications with FHIR Ser
31
31
## SMART on FHIR using Azure Health Data Services Samples (SMART on FHIR (Enhanced))
32
32
33
33
### Step 1: Set up FHIR SMART user role
34
-
Follow the steps listed under section [Manage Users: Assign Users to Role](/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.
34
+
Follow the steps listed under section [Manage Users: Assign Users to Role](../../role-based-access-control/role-assignments-portal.md). Any user added to this role would be able to access the FHIR Service, provided their requests comply with the SMART on FHIR implementation Guide. 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.
35
35
36
36
### Step 2: FHIR server integration with samples
37
-
For integration with Azure Health Data Services samples, you would need to follow the steps in samples open source solution.
38
-
39
-
**[Click on the link](https://aka.ms/azure-health-data-services-smart-on-fhir-sample)** to navigate to Azure Health Data Service Samples OSS. This step listed in the document will enable integration of FHIR server with other Azure Services (such as APIM, Azure functions and more).
37
+
**[Click on the link](https://github.com/Azure-Samples/azure-health-data-and-ai-samples/tree/main/samples/smartonfhir)** to navigate to Azure Health Data and AI Samples Open source solution. This step listed in the document enables integration of FHIR server with other Azure Services (such as APIM, Azure functions and more).
40
38
41
39
> [!NOTE]
42
40
> Samples are open-source code, and you should review the information and licensing terms on GitHub before using it. They are not part of the Azure Health Data Service and are not supported by Microsoft Support. These samples can be used to demonstrate how Azure Health Data Services and other open-source tools can be used together to demonstrate [§170.315(g)(10) Standardized API for patient and population services criterion](https://www.healthit.gov/test-method/standardized-api-patient-and-population-services#ccg) compliance, using Azure Active Directory as the identity provider workflow.
@@ -104,7 +102,7 @@ Add the reply URL to the public client application that you created earlier for
104
102
105
103
### Step 3: Get a test patient
106
104
107
-
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.
105
+
To test the FHIR service and the SMART on FHIR proxy, you 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.
108
106
109
107
### Step 4: Download the SMART on FHIR app launcher
110
108
@@ -146,7 +144,7 @@ After you start the SMART on FHIR app launcher, you can point your browser to `h
146
144
147
145

148
146
149
-
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.
147
+
When you enter **Patient**, **Encounter**, or **Practitioner** information, you 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.
150
148
151
149
The SMART on FHIR proxy uses this information to populate fields in the token response. The SMART on FHIR app *can* use these fields to control which patient it requests data for and how it renders the application on the screen. The SMART on FHIR proxy supports the following fields:
152
150
@@ -165,6 +163,9 @@ Notice that the SMART on FHIR app launcher updates the **Launch URL** informatio
165
163
Inspect the token response to see how the launch context fields are passed on to the app.
166
164
</details>
167
165
166
+
## Migrate from SMART on FHIR Proxy to SMART on FHIR (Enhanced)
167
+
[!INCLUDE [Migrate from SMART on FHIR Proxy to Enhanced](../includes/smart-on-fhir-proxy-migration.md)]
168
+
168
169
## Next steps
169
170
170
171
Now that you've learned about enabling SMART on FHIR functionality, see the search samples page for details about how to search using search parameters, modifiers, and other FHIR search methods.
SMART on FHIR (Enhanced) provides more capabilities compared to SMART on FHIR proxy. SMART on FHIR(Enhanced) can be considered to meet requirements with [SMART on FHIR Implementation Guide (v 1.0.0)](https://hl7.org/fhir/smart-app-launch/1.0.0/) and [§170.315(g)(10) Standardized API for patient and population services criterion.](https://www.healthit.gov/test-method/standardized-api-patient-and-population-services#ccg)
13
+
The following table lists the difference between SMART on FHIR proxy and SMART on FHIR (Enhanced).
14
+
15
+
|Capability|SMART on FHIR (Enhanced)|SMART on FHIR proxy|
16
+
|---|---|---|
17
+
|Supports Standalone Launch|Yes|No|
18
+
|Supports EHR Launch|Yes|Yes|
19
+
|Supports scope restrictions|Yes|No|
20
+
|Relies on first party Azure products|Yes, Azure products such as Azure API Management (APIM) need to be integrated|No|
21
+
|Microsoft Support|Supported for FHIR service.Open-source sample support needs to be reported and monitored via [GitHub](https://github.com/Azure-Samples/azure-health-data-and-ai-samples/issues)|Supported for FHIR service|
22
+
23
+
### Migration Steps from SMART on FHIR Proxy to SMART on FHIR (Enhanced)
24
+
* Step 1: Set up FHIR SMART user role
25
+
Follow the steps listed under section [Manage Users: Assign Users to Role](/azure/active-directory/fundamentals/active-directory-users-assign-role-azure-portal). Any user added to SMART user role is able to access the FHIR Service, if their requests comply with the SMART on FHIR implementation Guide.
26
+
* Step 2: Deploy SMART on FHIR sample under [Azure Health Data and AI OSS samples](https://github.com/Azure-Samples/azure-health-data-and-ai-samples/tree/main/samples/smartonfhir)
27
+
* Step 3: Update endpoint of the FHIR service url to '{{BASEURL_FROM_APIM}}/smart.'
28
+
* Step 4: Uncheck the SMART on FHIR proxy setting under Authentication blade for the FHIR service.
29
+
30
+
If you have questions, you can get answers from community experts in [Microsoft Q&A](https://aka.ms/SMARTonFHIRproxydeprecation). For technical support, you can also create a [support request](https://portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade/newsupportrequest).
0 commit comments