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/use-smart-on-fhir-proxy.md
+17-18Lines changed: 17 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,15 +17,7 @@ Substitutable Medical Applications and Reusable Technologies([SMART on FHIR](htt
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 further limited set of their data by using SMART clinical scopes.
19
19
20
-
<!---SMART Implementation Guide v1.0.0 is supported by Azure Health Data Services 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.
21
-
22
-
Sample demonstrates and list steps that can be referenced to pass ONC G(10) with Inferno test suite.
23
-
24
-
--->
25
-
26
-
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. 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).
27
-
28
-
Below tutorial describes steps to enable SMART on FHIR applications with FHIR Service.
20
+
Below tutorials describe steps to enable SMART on FHIR applications with FHIR Service.
29
21
30
22
## Prerequisites
31
23
@@ -35,16 +27,23 @@ Below tutorial describes steps to enable SMART on FHIR applications with FHIR Se
35
27
-[Register public client application in Azure AD](https://learn.microsoft.com/azure/healthcare-apis/azure-api-for-fhir/register-public-azure-ad-client-app)
36
28
- After registering the application, make note of the applicationId for client application.
37
29
38
-
<!--- Tutorial : To enable SMART on FHIR using APIM, follow below steps
30
+
## SMART on FHIR using samples (Preferred approach)
39
31
As a pre-requisite , ensure you have access to Azure Subscription of FHIR service, to create resources and add role assignments.
40
32
41
-
Step 1 : Set up FHIR SMART user role
33
+
### Step 1 : Set up FHIR SMART user role
42
34
Follow the steps listed under section [Manage Users: Assign Users to Role](https://learn.microsoft.com/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.
43
35
44
-
Step 2 : [Follow the steps](https://github.com/microsoft/fhir-server/tree/feature/smart-onc-g10-sample/samples/smart) for setting up the FHIR server integrated with APIM in production. --->
36
+
### Step 2 : FHIR server integration with samples
37
+
[Follow the steps](https://github.com/Azure-Samples/azure-health-data-services-samples/blob/main/samples/Patient%20and%20Population%20Services%20G10/docs/deployment.md) 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).
38
+
39
+
This is our preferred approach, as it demonstrates to Health IT developers steps needed to comply with 21st Century Act Criterion §170.315(g)(10) Standardized API for patient and population services criterion.
40
+
41
+
> [!NOTE]
42
+
> These 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.
43
+
45
44
46
-
Lets go over individual steps to enable SMART on FHIR
47
-
## Step 1 : Set admin consent for your client application
45
+
## SMART on FHIR Proxy
46
+
###Step 1 : Set admin consent for your client application
48
47
49
48
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.
50
49
@@ -61,7 +60,7 @@ To add yourself or another user as owner of an app:
61
60
5. Select **Add owners**, and then add yourself or the user you want to have admin consent.
62
61
6. Select **Save**
63
62
64
-
## Step 2: Enable the SMART on FHIR proxy
63
+
###Step 2: Enable the SMART on FHIR proxy
65
64
66
65
SMART on FHIR requires that `Audience` has an identifier URI equal to the URI of the FHIR service. The standard configuration of the Azure API for FHIR 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.azurehealthcareapis.com`). This is required when working with the SMART on FHIR proxy.
67
66
@@ -97,11 +96,11 @@ Add the reply URL to the public client application that you created earlier for
97
96
98
97

99
98
100
-
## Step 3: Get a test patient
99
+
###Step 3: Get a test patient
101
100
102
101
To test the Azure API for FHIR 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.
103
102
104
-
## Step 4: Download the SMART on FHIR app launcher
103
+
###Step 4: Download the SMART on FHIR app launcher
105
104
106
105
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.
107
106
@@ -135,7 +134,7 @@ Use this command to run the application:
135
134
dotnet run
136
135
```
137
136
138
-
## Step 5: Test the SMART on FHIR proxy
137
+
###Step 5: Test the SMART on FHIR proxy
139
138
140
139
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