一括インポート設定を構成する
FHIR サービスでは、ストレージ アカウントから FHIR サービスにデータをインポートできる$import操作がサポートされています。 インポートでは、最適なパフォーマンスを得るために入力ファイルが複数のデータ ストリームに分割され、リソースの処理順序は保証されません。 現在サポートされている$importには 2 つのモードがあります。
初期モードは、空の FHIR サーバーに FHIR リソースを読み込むためのモードです。 初期モードでは CREATE 操作のみがサポートされ、有効になっている場合は、FHIR サーバーへの API 書き込みをブロックします。
増分モードは、データを FHIR サーバーに定期的に読み込むよう最適化されており、API による書き込みをブロックしません。 また、リソース Meta から lastUpdated と versionId を読み込むこともできます (リソース JSON に存在する場合)。
このドキュメントでは、FHIR サービスでのインポート設定の構成に使用される 3 つの手順について説明します。
- FHIR サービスでマネージド ID を有効にします。
- Azure ストレージ アカウントを作成するか、既存のストレージ アカウントを使用して、FHIR サービスにアクセス許可を付与します。
- FHIR サービスでインポート構成を設定します。
手順 1: FHIR サービスでマネージド ID を有効にする
最初の手順では、サービスでシステム全体のマネージド ID を有効にします。 これは、FHIR サービスにストレージ アカウントへのアクセス権を付与するために使用されます。 Azure のマネージド ID の詳細については、Azure リソースのマネージド ID の概要に関するページを参照してください。
FHIR サービスでマネージド ID を有効にする手順に従います
- Azure portalで FHIR サービスを参照します。
- [ID] ブレード を 選択します。
- [ 状態 ] オプションを [オン] に選択し、[保存] を選択 します。
- [ はい] を 選択して、FHIR サービスのマネージド ID を有効にします。
システム ID が有効になると、システム割り当て GUID 値が表示されます。
手順 2: ストレージ アカウントにアクセスするためのアクセス許可を FHIR サービスに割り当てる
ストレージ アカウントにアクセスするためのアクセス許可を割り当てるには、次の手順に従います。
- ストレージ アカウントのAccess Control (IAM) を参照します。
- [ロールの割り当ての追加] を選択します。 この手順では、[ロールの割り当ての追加] オプションが淡色表示されている場合は、この手順を実行するためのアクセス許可を Azure 管理者に割り当てるように依頼する必要があります。 Azure portal でロールに割り当てる方法の詳細については Azure 組み込みロールに関するページを参照してください。
- ロール Storage BLOB データ共同作成者を FHIR サービスに追加します。
- [保存] を選択します。
これで、インポートするストレージ アカウントを選択する準備ができました。
手順 3: FHIR サービスのインポート構成を設定する
注意
FHIR サービスにストレージ アクセス許可を割り当てていない場合、インポート操作 ($import) は失敗します。
この手順では、要求 URL と JSON 本文を取得する必要があります。 以下の指示に従ってください
- FHIR サービスのAzure portalを参照します。
- [概要] を選択します。
- [JSON ビュー] を選択します。
- API バージョンを 2022-06-01 以降のバージョンに選択します。
JSON ビューで Azure Storage アカウントを指定するには、 REST API を使用して FHIR サービスを更新する必要があります。
次の手順では、初期インポート モードと増分インポート モードの構成の設定について説明します。 ユース ケースに適したインポート モードを選択します。
手順 3a: 初期インポート モードのインポート構成を設定します。
JSON に対して次の変更を行います。
- importConfiguration で有効に設定を true に設定します。
- integrationDataStore をターゲット ストレージ アカウント名で更新します。
- importConfiguration の initialImportMode を true に設定 します。
- provisioningState を削除します。
この最後の手順を完了すると、$importを使用して 初期モード のインポートを実行する準備が整います。
手順 3b: 増分インポート モードのインポート構成を設定します。
JSON に対して次の変更を行います。
- importConfiguration で有効に設定を true に設定します。
- integrationDataStore をターゲット ストレージ アカウント名で更新します。
- importConfiguration の initialImportMode を false に設定 します。
- provisioningState を削除します。
この最後の手順を完了すると、$importを使用して 増分モード のインポートを実行する準備が整います。
[Azure にデプロイ] ボタンを使用して、$importの構成を更新するカスタム Resource Manager テンプレートを開くこともできます。
FHIR サービスの$import操作のセキュリティ保護
ADLS Gen2 アカウントから FHIR データを FHIR サービスに安全にインポートするには、次の 2 つのオプションがあります。
オプション 1: Microsoft 信頼済みサービスとして FHIR サービスを有効にする。
オプション 2: FHIR サービスに関連付けられている特定の IP アドレスにストレージ アカウントへのアクセスを許可する。 このオプションでは、ストレージ アカウントが FHIR サービスと同じ Azure リージョンにあるかどうかに応じて、2 つの異なる構成が許可されます。
オプション 1: Microsoft 信頼済みサービスとして FHIR サービスを有効にする。
Azure portalで ADLS Gen2 アカウントに移動し、[ネットワーク] ブレードを選択します。 [ファイアウォールと仮想ネットワーク] タブで、選択した仮想ネットワークと IP アドレスから [有効] を選択します。
[リソースの種類] ドロップダウン リストから [Microsoft.HealthcareApis/workspaces] を選択し、[インスタンス名] ドロップダウン リストからワークスペースを選択します。
[ 例外 ] セクションで、[ 信頼されたサービスの一覧で Azure サービスにこのストレージ アカウントへのアクセスを許可する] ボックスを選択します。 必ず [ 保存 ] をクリックして設定を保持します。
次に、次の PowerShell コマンドを実行して、ローカル環境に Az.Storage
PowerShell モジュールをインストールします。 これにより、PowerShell を使用して Azure ストレージ アカウントを構成できます。
Install-Module Az.Storage -Repository PsGallery -AllowClobber -Force
次に、次の PowerShell コマンドを使用して、選択した FHIR サービス インスタンスをストレージ アカウントの信頼できるリソースとして設定します。 一覧表示されているすべてのパラメーターが PowerShell 環境で定義されていることを確認します。
ローカル環境で管理者としてコマンドを Add-AzStorageAccountNetworkRule
実行する必要があることに注意してください。 詳細については、Azure Storage ファイアウォールおよび仮想ネットワークの構成に関する記事を参照してください。
$subscription="xxx"
$tenantId = "xxx"
$resourceGroupName = "xxx"
$storageaccountName = "xxx"
$workspacename="xxx"
$fhirname="xxx"
$resourceId = "/subscriptions/$subscription/resourceGroups/$resourceGroupName/providers/Microsoft.HealthcareApis/workspaces/$workspacename/fhirservices/$fhirname"
Add-AzStorageAccountNetworkRule -ResourceGroupName $resourceGroupName -Name $storageaccountName -TenantId $tenantId -ResourceId $resourceId
上記のコマンドを実行すると、[リソース インスタンス] の [ファイアウォール] セクションの [インスタンス名] ドロップダウン リストに 2 が選択されています。 これらは、Microsoft 信頼できるリソースとして登録したワークスペース インスタンスと FHIR サービス インスタンスの名前です。
これで、ストレージ アカウントから FHIR データを安全にインポートする準備ができました。 ストレージ アカウントは、選択したネットワーク上にあり、パブリックにアクセスできません。 ファイルに安全にアクセスするには、ストレージ アカウント のプライベート エンドポイント を有効にします。
オプション 2:
他の Azure リージョンからの特定の IP アドレスに Azure ストレージ アカウントへのアクセスを許可する
Azure portalで、ADLS Gen2 アカウントに移動し、[ネットワーク] ブレードを選択します。
[選択した仮想ネットワークと IP アドレスから有効] を選択します。 [ファイアウォール] セクションで、 [アドレス範囲] ボックスに IP アドレスを指定します。 インターネットまたはオンプレミスのネットワークからのアクセスを許可する IP 範囲を追加します。 次の表に、FHIR サービスがプロビジョニングされている Azure リージョンの IP アドレスを示します。
Azure リージョン | パブリック IP アドレス |
---|---|
オーストラリア東部 | 20.53.44.80 |
カナダ中部 | 20.48.192.84 |
米国中部 | 52.182.208.31 |
米国東部 | 20.62.128.148 |
米国東部 2 | 20.49.102.228 |
米国東部 2 EUAP | 20.39.26.254 |
ドイツ北部 | 51.116.51.33 |
ドイツ中西部 | 51.116.146.216 |
東日本 | 20.191.160.26 |
韓国中部 | 20.41.69.51 |
米国中北部 | 20.49.114.188 |
北ヨーロッパ | 52.146.131.52 |
南アフリカ北部 | 102.133.220.197 |
米国中南部 | 13.73.254.220 |
東南アジア | 23.98.108.42 |
スイス北部 | 51.107.60.95 |
英国南部 | 51.104.30.170 |
英国西部 | 51.137.164.94 |
米国中西部 | 52.150.156.44 |
西ヨーロッパ | 20.61.98.66 |
米国西部 2 | 40.64.135.77 |
特定の IP アドレスが同じリージョン内の Azure ストレージ アカウントにアクセスできるようにする
同じリージョン内の IP アドレスの構成プロセスは、クラスレス Inter-Domain ルーティング (CIDR) 形式の特定の IP アドレス範囲 (つまり、100.64.0.0/10) が代わりに使用される点を除き、上記と同じです。 IP アドレス範囲 (100.64.0.0 – 100.127.255.255) を指定する必要があるのは、操作要求が行われるたびに FHIR サービスの IP アドレスが割り当てられるためです。
注意
10.0.2.0/24 の範囲内のプライベート IP アドレスが使用される可能性がありますが、このような場合に操作が成功する保証はありません。 操作要求が失敗した場合は再試行できますが、100.64.0.0/10 の範囲内の IP アドレスが使用されるまで、要求は成功しません。 この IP アドレス範囲のネットワーク動作は仕様です。 代替策として、ストレージ アカウントを別のリージョンで構成する方法があります。
次の手順
この記事では、FHIR サービスが$import操作をサポートし、ストレージ アカウントから FHIR サービスにデータをインポートする方法について説明しました。 また、FHIR サービスでインポート設定を構成する際に使用される 3 つの手順についても学習しました。 データを FHIR に変換する方法、ストレージ アカウントを設定するための設定をエクスポートする方法、データをAzure Synapseに移動する方法の詳細については、「」を参照してください。
FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。