Skip to content

Commit 9fbd49d

Browse files
authored
Merge pull request #208017 from v-pbartley/AHDS_docs_update
Ahds docs update
2 parents 29ad70f + d8dce51 commit 9fbd49d

File tree

5 files changed

+96
-85
lines changed

5 files changed

+96
-85
lines changed

articles/healthcare-apis/fhir/configure-export-data.md

Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -6,127 +6,128 @@ ms.service: healthcare-apis
66
ms.subservice: fhir
77
ms.topic: reference
88
ms.custom: references_regions, subject-rbac-steps
9-
ms.date: 08/03/2022
9+
ms.date: 08/12/2022
1010
ms.author: mikaelw
1111
---
1212

1313
# Configure export settings and set up a storage account
1414

15-
FHIR service supports the $export command that allows you to export the data out of the FHIR service account to a storage account.
15+
The FHIR service supports the `$export` operation [specified by HL7](https://hl7.org/fhir/uv/bulkdata/export/index.html) for exporting FHIR data from a FHIR server. In the FHIR service implementation, calling the `$export` endpoint causes the FHIR service to export data into a pre-configured Azure storage account.
1616

17-
The three steps below are used in configuring export data in the FHIR service:
17+
There are three steps in setting up the `$export` operation for the FHIR service:
1818

19-
- Enable managed identity for the FHIR service.
20-
- Create an Azure storage account or use an existing storage account, and then grant permissions to the FHIR service to access them.
21-
- Select the storage account in the FHIR service as the destination.
19+
- Enable a managed identity for the FHIR service.
20+
- Configure a new or existing Azure Data Lake Storage Gen2 (ADLS Gen2) account and give permission for the FHIR service to access the account.
21+
- Set the ADLS Gen2 account as the export destination for the FHIR service.
2222

23-
## Enable managed identity on the FHIR service
23+
## Enable managed identity for the FHIR service
2424

25-
The first step in configuring the FHIR service for export is to enable system wide managed identity on the service, which will be used to grant the service to access the storage account. For more information about managed identities in Azure, see [About managed identities for Azure resources](../../active-directory/managed-identities-azure-resources/overview.md).
25+
The first step in configuring your environment for FHIR data export is to enable a system-wide managed identity for the FHIR service. This managed identity is used to authenticate the FHIR service to allow access to the ADLS Gen2 account during an `$export` operation. For more information about managed identities in Azure, see [About managed identities for Azure resources](../../active-directory/managed-identities-azure-resources/overview.md).
2626

27-
In this step, browse to your FHIR service in the Azure portal, and select the **Identity** blade. Select the **Status** option to **On** , and then select **Save**. **Yes** and **No** buttons will display. Select **Yes** to enable the managed identity for FHIR service. Once the system identity has been enabled, you'll see a system assigned GUID value.
27+
In this step, browse to your FHIR service in the Azure portal and select the **Identity** blade. Set the **Status** option to **On**, and then click **Save**. When the **Yes** and **No** buttons display, select **Yes** to enable the managed identity for the FHIR service. Once the system identity has been enabled, you'll see an **Object (principal) ID** value for your FHIR service.
2828

2929
[![Enable Managed Identity](media/export-data/fhir-mi-enabled.png)](media/export-data/fhir-mi-enabled.png#lightbox)
3030

31-
## Assign permissions to the FHIR service to access the storage account
31+
## Give permission in the storage account for FHIR service access
3232

33-
1. Select **Access control (IAM)**.
33+
1. Go to your ADLS Gen2 storage account in the Azure portal.
3434

35-
1. Select **Add > Add role assignment**. If the **Add role assignment** option is grayed out, ask your Azure administrator to assign you permission to perform this task.
35+
2. Select **Access control (IAM)**.
36+
37+
3. Select **Add > Add role assignment**. If the **Add role assignment** option is grayed out, ask your Azure administrator for help with this step.
3638

3739
:::image type="content" source="../../../includes/role-based-access-control/media/add-role-assignment-menu-generic.png" alt-text="Screenshot that shows Access control (IAM) page with Add role assignment menu open.":::
3840

39-
1. On the **Role** tab, select the [Storage Blob Data Contributor](../../role-based-access-control/built-in-roles.md#storage-blob-data-contributor) role.
41+
4. On the **Role** tab, select the [Storage Blob Data Contributor](../../role-based-access-control/built-in-roles.md#storage-blob-data-contributor) role.
4042

4143
[![Screen shot showing user interface of Add role assignment page.](../../../includes/role-based-access-control/media/add-role-assignment-page.png)](../../../includes/role-based-access-control/media/add-role-assignment-page.png#lightbox)
4244

43-
1. On the **Members** tab, select **Managed identity**, and then select **Select members**.
45+
5. On the **Members** tab, select **Managed identity**, and then click **Select members**.
4446

45-
1. Select your Azure subscription.
47+
6. Select your Azure subscription.
4648

47-
1. Select **System-assigned managed identity**, and then select the FHIR service.
49+
7. Select **System-assigned managed identity**, and then select the managed identity that you enabled earlier for your FHIR service.
4850

49-
1. On the **Review + assign** tab, select **Review + assign** to assign the role.
51+
8. On the **Review + assign** tab, click **Review + assign** to assign the **Storage Blob Data Contributor** role to your FHIR service.
5052

5153
For more information about assigning roles in the Azure portal, see [Azure built-in roles](../../role-based-access-control/role-assignments-portal.md).
5254

53-
Now you're ready to select the storage account in the FHIR service as a default storage account for export.
55+
Now you're ready to configure the FHIR service with the ADLS Gen2 account as the default storage account for export.
5456

55-
## Specify the export storage account for FHIR service
57+
## Specify the storage account for FHIR service export
5658

57-
The final step is to assign the Azure storage account that the FHIR service will use to export the data to.
59+
The final step is to specify the ADLS Gen2 account that the FHIR service will use when exporting data.
5860

5961
> [!NOTE]
60-
> If you haven't assigned storage access permissions to the FHIR service, the export operations ($export) will fail.
62+
> In the storage account, if you haven't assigned the **Storage Blob Data Contributor** role to the FHIR service, the `$export` operation will fail.
63+
64+
1. Go to your FHIR service settings.
65+
66+
2. Select the **Export** blade.
6167

62-
To do this, select the **Export** blade in FHIR service and select the storage account. To search for the storage account, enter its name in the text field. You can also search for your storage account by using the available filters **Name**, **Resource group**, or **Region**.
68+
3. Select the name of the storage account from the list. If you need to search for your storage account, use the **Name**, **Resource group**, or **Region** filters.
6369

6470
[![Screen shot showing user interface of FHIR Export Storage.](media/export-data/fhir-export-storage.png)](media/export-data/fhir-export-storage.png#lightbox)
6571

66-
After you've completed this final step, you're ready to export the data using $export command.
72+
After you've completed this final configuration step, you're ready to export data from the FHIR service. See [How to export FHIR data](./export-data.md) for details on performing `$export` operations with the FHIR service.
6773

6874
> [!Note]
69-
> Only storage accounts in the same subscription as that for FHIR service are allowed to be registered as the destination for $export operations.
75+
> Only storage accounts in the same subscription as the FHIR service are allowed to be registered as the destination for `$export` operations.
7076
71-
## Use Azure storage accounts behind firewalls
77+
## Securing the FHIR service `$export` operation
7278

73-
FHIR service supports a secure export operation. Choose one of the two options below:
79+
For securely exporting from the FHIR service to an ADLS Gen2 account, there are two main options:
7480

75-
* Allowing FHIR service as a Microsoft Trusted Service to access the Azure storage account.
81+
* Allowing the FHIR service to access the storage account as a Microsoft Trusted Service.
7682

77-
* Allowing specific IP addresses associated with FHIR service to access the Azure storage account.
78-
This option provides two different configurations depending on whether the storage account is in the same location as, or is in a different location from that of the FHIR service.
83+
* Allowing specific IP addresses associated with the FHIR service to access the storage account.
84+
This option permits two different configurations depending on whether or not the storage account is in the same Azure region as the FHIR service.
7985

8086
### Allowing FHIR service as a Microsoft Trusted Service
8187

82-
Select a storage account from the Azure portal, and then select the **Networking** blade. Select **Selected networks** under the **Firewalls and virtual networks** tab.
88+
Go to your ADLS Gen2 account in the Azure portal and select the **Networking** blade. Select **Enabled from selected virtual networks and IP addresses** under the **Firewalls and virtual networks** tab.
8389

8490
:::image type="content" source="media/export-data/storage-networking-1.png" alt-text="Screenshot of Azure Storage Networking Settings." lightbox="media/export-data/storage-networking-1.png":::
8591

86-
Select **Microsoft.HealthcareApis/workspaces** from the **Resource type** dropdown list and your workspace from the **Instance name** dropdown list.
92+
Select **Microsoft.HealthcareApis/workspaces** from the **Resource type** dropdown list and then select your workspace from the **Instance name** dropdown list.
8793

88-
Under the **Exceptions** section, select the box **Allow trusted Microsoft services to access this storage account** and save the setting.
94+
Under the **Exceptions** section, select the box **Allow Azure services on the trusted services list to access this storage account**. Make sure to click **Save** to retain the settings.
8995

9096
:::image type="content" source="media/export-data/exceptions.png" alt-text="Allow trusted Microsoft services to access this storage account.":::
9197

92-
Next, specify the FHIR service instance in the selected workspace instance for the storage account using the PowerShell command.
98+
Next, run the following PowerShell command to install the `Az.Storage` PowerShell module in your local environment. This will allow you to configure your Azure storage account(s) using PowerShell.
9399

94-
```
100+
```PowerShell
101+
Install-Module Az.Storage -Repository PsGallery -AllowClobber -Force
102+
```
103+
104+
Now, use the PowerShell command below to set the selected FHIR service instance as a trusted resource for the storage account. Make sure that all listed parameters are defined in your PowerShell environment.
105+
106+
Note that you'll need to run the `Add-AzStorageAccountNetworkRule` command as an administrator in your local environment. For more information, see [Configure Azure Storage firewalls and virtual networks](../../storage/common/storage-network-security.md).
107+
108+
```PowerShell
95109
$subscription="xxx"
96110
$tenantId = "xxx"
97111
$resourceGroupName = "xxx"
98112
$storageaccountName = "xxx"
99113
$workspacename="xxx"
100114
$fhirname="xxx"
101-
$resourceId = "/subscriptions/$subscription/resourceGroups/$resourcegroup/providers/Microsoft.HealthcareApis/workspaces/$workspacename/fhirservices/$fhirname"
115+
$resourceId = "/subscriptions/$subscription/resourceGroups/$resourceGroupName/providers/Microsoft.HealthcareApis/workspaces/$workspacename/fhirservices/$fhirname"
102116
103117
Add-AzStorageAccountNetworkRule -ResourceGroupName $resourceGroupName -Name $storageaccountName -TenantId $tenantId -ResourceId $resourceId
104118
```
105119

106-
You can see that the networking setting for the storage account shows **two selected** in the **Instance name** dropdown list. One is linked to the workspace instance and the second is linked to the FHIR service instance.
120+
After running this command, in the **Firewall** section under **Resource instances** you will see **2 selected** in the **Instance name** dropdown list. These are the names of the workspace instance and FHIR service instance that you just registered as Microsoft Trusted Resources.
107121

108122
:::image type="content" source="media/export-data/storage-networking-2.png" alt-text="Screenshot of Azure Storage Networking Settings with resource type and instance names." lightbox="media/export-data/storage-networking-2.png":::
109123

110-
Note that you'll need to install "Add-AzStorageAccountNetworkRule" using an administrator account. For more information, see [Configure Azure Storage firewalls and virtual networks](../../storage/common/storage-network-security.md)
111-
112-
`
113-
Install-Module Az.Storage -Repository PsGallery -AllowClobber -Force
114-
`
115-
116-
You're now ready to export FHIR data to the storage account securely. Note that the storage account is on selected networks and isn't publicly accessible. To access the files, you can either enable and use private endpoints for the storage account, or enable all networks for the storage account to access the data there if possible.
117-
118-
> [!IMPORTANT]
119-
> The user interface will be updated later to allow you to select the Resource type for FHIR service and a specific service instance.
124+
You're now ready to securely export FHIR data to the storage account. Note that the storage account is on selected networks and isn't publicly accessible. To securely access the files, you can enable private endpoints for the storage account.
120125

121-
### Allowing specific IP addresses for the Azure storage account in a different region
126+
### Allowing specific IP addresses from other Azure regions to access the Azure storage account
122127

123-
Select **Networking** of the Azure storage account from the
124-
portal.
128+
In the Azure portal, go to the ADLS Gen2 account and select the **Networking** blade.
125129

126-
Select **Selected networks**. Under the Firewall section, specify the IP address in the **Address range** box. Add IP ranges to
127-
allow access from the internet or your on-premises networks. You can
128-
find the IP address in the table below for the Azure region where the
129-
FHIR service is provisioned.
130+
Select **Enabled from selected virtual networks and IP addresses**. Under the Firewall section, specify the IP address in the **Address range** box. Add IP ranges to allow access from the internet or your on-premises networks. You can find the IP address in the table below for the Azure region where the FHIR service is provisioned.
130131

131132
|**Azure Region** |**Public IP Address** |
132133
|:----------------------|:-------------------|
@@ -155,17 +156,16 @@ FHIR service is provisioned.
155156
> [!NOTE]
156157
> The above steps are similar to the configuration steps described in the document **Converting your data to FHIR**. For more information, see [Configure ACR firewall](./convert-data.md#configure-acr-firewall).
157158
158-
### Allowing specific IP addresses for the Azure storage account in the same region
159+
### Allowing specific IP addresses to access the Azure storage account in the same region
159160

160-
The configuration process is the same as above except a specific IP
161-
address range in Classless Inter-Domain Routing (CIDR) format is used instead, 100.64.0.0/10. The reason why the IP address range, which includes 100.64.0.0 – 100.127.255.255, must be specified is because the actual IP address used by the service varies, but will be within the range, for each $export request.
161+
The configuration process for IP addresses in the same region is just like above except a specific IP address range in Classless Inter-Domain Routing (CIDR) format is used instead (i.e., 100.64.0.0/10). The reason why the IP address range (100.64.0.0 – 100.127.255.255) must be specified is because an IP address for the FHIR service will be allocated each time an `$export` request is made.
162162

163163
> [!Note]
164-
> It is possible that a private IP address within the range of 10.0.2.0/24 may be used instead. In that case, the $export operation will not succeed. You can retry the $export request, but there is no guarantee that an IP address within the range of 100.64.0.0/10 will be used next time. That's the known networking behavior by design. The alternative is to configure the storage account in a different region.
164+
> It is possible that a private IP address within the range of 10.0.2.0/24 may be used, but there is no guarantee that the `$export` operation will succeed in such a case. You can retry if the `$export` request fails, but until an IP address within the range of 100.64.0.0/10 is used, the request will not succeed. This network behavior for IP address ranges is by design. The alternative is to configure the storage account in a different region.
165165
166166
## Next steps
167167

168-
In this article, you learned about the three steps in configuring export settings that allow you to export data out of FHIR service account to a storage account. For more information about the Bulk Export feature that allows data to be exported from the FHIR service, see
168+
In this article, you learned about the three steps in configuring your environment to allow export of data from your FHIR service to an Azure storage account. For more information about Bulk Export capabilities in the FHIR service, see
169169

170170
>[!div class="nextstepaction"]
171171
>[How to export FHIR data](export-data.md)

articles/healthcare-apis/fhir/convert-data.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: ginalee-dotcom
66
ms.service: healthcare-apis
77
ms.subservice: fhir
88
ms.topic: overview
9-
ms.date: 08/02/2022
9+
ms.date: 08/15/2022
1010
ms.author: ranku
1111
ms.custom: subject-rbac-steps
1212
---
@@ -21,11 +21,11 @@ The `$convert-data` custom endpoint in the FHIR service enables converting healt
2121
2222
## Using the `$convert-data` endpoint
2323

24-
The `$convert-data` operation is integrated into the FHIR service as a RESTful API action. Calling the `$convert-data` endpoint causes the FHIR service to perform a conversion on health data sent in an API request:
24+
The `$convert-data` operation is integrated into the FHIR service as a RESTful API action. You can call the `$convert-data` endpoint as follows:
2525

2626
`POST {{fhirurl}}/$convert-data`
2727

28-
The health data is delivered to the FHIR service in the body of the `$convert-data` request. If the request is successful, the FHIR service will return a FHIR `Bundle` response with the data converted to FHIR.
28+
The health data for conversion is delivered to the FHIR service in the body of the `$convert-data` request. If the request is successful, the FHIR service will return a FHIR `Bundle` response with the data converted to FHIR.
2929

3030
### Parameters Resource
3131

0 commit comments

Comments
 (0)