次の方法で共有


Azure API for FHIR で FHIR データをエクスポートする

重要

Azure API for FHIR は、2026 年 9 月 30 日に廃止されます。 移行戦略に従って、その日までに Azure Health Data Services FHIR® サービスに切り替えてください。 Azure API for FHIR が廃止されたため、2025 年 4 月 1 日以降、新しいデプロイは許可されません。 Azure Health Data Services FHIR サービス は、お客様が他の Azure サービスへの統合を使用して、FHIR、DICOM、および MedTech サービスを管理できるようにする、進化したバージョンの Azure API for FHIR です。

一括エクスポート機能を使用すると、 FHIR 仕様に従って FHIR® サーバーからデータをエクスポートできます。

$exportを使用する前に、それを使用するように Azure API for FHIR が構成されていることを確認します。 エクスポート設定の構成と Azure ストレージ アカウントの作成については、 エクスポート データの構成に関するページを参照してください

Note

Azure API for FHIR の場合と同じサブスクリプション内のストレージ アカウントのみが、$export操作の宛先として登録できます。

$export コマンドの使用

エクスポート用に Azure API for FHIR を構成した後、 $export コマンドを使用して、サービスからデータをエクスポートできます。 データは、エクスポートの構成時に指定したストレージ アカウントに格納されます。 FHIR サーバーで $export コマンドを呼び出す方法については、 HL7 FHIR $export仕様のドキュメントを参照してください。

ジョブが正しくない状態でスタックした

状況によっては、ジョブが不適切な状態で停止することがあります。 これは、ストレージ アカウントのアクセス許可が正しく設定されていない場合に発生する可能性があります。 エクスポートを検証する 1 つの方法は、ストレージ アカウントを調べて、対応するコンテナー (つまり、 ndjson) ファイルが存在するかどうかを確認することです。 存在せず、実行中の他のエクスポート ジョブがない場合は、現在のジョブが不適切な状態でスタックしている可能性があります。 取り消し要求を送信してエクスポート ジョブを取り消し、ジョブをもう一度キューに入れ直す必要があります。 エクスポートが正しくない状態になった場合、停止して新しいジョブに移動するか、またはエクスポートを再試行するまでの既定の実行時間は 10 分です。

Azure API For FHIR では、次のレベルで $export がサポートされます。

  • システム: GET https://<<FHIR service base URL>>/$export>>
  • 患者: GET https://<<FHIR service base URL>>/Patient/$export>>
  • 患者のグループ* - Azure API for FHIR は関連するすべてのリソースをエクスポートしますが、グループの特性はエクスポートしません。 GET https://<<FHIR service base URL>>/Group/[ID]/$export>>

データは複数のファイルにエクスポートされ、それぞれに 1 つの種類のリソースのみが含まれます。 個々のファイル内のリソースの数は制限されます。 リソースの最大数は、システムのパフォーマンスに基づいています。 現在 5,000 に設定されていますが、変更される可能性があります。 その結果、リソースの種類に対して複数のファイルが取得される可能性があります。 ファイル名は、'resourceName-number-number.ndjson' の形式に従います。 ファイルの順序は、データベース内のリソースの順序に対応するとは限りません。

Note

リソースが複数のリソースから成るコンパートメント内にある場合、または複数のグループに存在する場合は、Patient/$exportGroup/[ID]/$export によって重複するリソースがエクスポートされることがあります。

さらに、キュー中に location ヘッダーによって返される URL を介したエクスポートの状態の確認と、実際のエクスポート ジョブの取り消しがサポートされています。

FHIR データを ADLS Gen2 にエクスポートする

現在、ADLS Gen2 対応ストレージ アカウントの $export はサポートされています。次の制限があります。

  • ユーザーは、 階層型名前空間を利用できません - コンテナー内の特定のサブディレクトリへのエクスポートをターゲットにする方法はありません。 特定のコンテナー (エクスポートごとに新しいフォルダーが作成される場所) のみを対象とする機能を提供します。
  • エクスポートが完了すると、そのフォルダーに再びエクスポートされることはありません。 同じコンテナーへの後続のエクスポートは、新しく作成されたフォルダー内に格納されます。

設定とパラメーター

ヘッダー

$export ジョブには、2 つの必須ヘッダー パラメーターを設定する必要があります。 値は、現在の $export 仕様で定義されています。

  • Accept - application/fhir+json
  • Prefer - respond-async

クエリ パラメーター

Azure API for FHIR では、次のクエリ パラメーターがサポートされています。 これらのパラメーターはすべて省略可能です。

Query parameter (クエリ パラメーター) FHIR 仕様で定義されている 説明
_outputFormat はい 現在、FHIR 仕様に合わせて 3 つの値 (application/fhir+ndjson、application/ndjson、または ndjson) がサポートされています。 すべてのエクスポート ジョブは ndjson を返し、渡された値はコードの動作には影響しません。
_から はい 指定された時刻以降に変更されたリソースのみをエクスポートできます。
_type はい どの種類のリソースを含めるかを指定できます。 たとえば、_type=Patient は患者リソースのみを返します。
_typefilter はい きめ細かいフィルター処理を要求するには、_typefilterを _type パラメーターと共に使用できます。 _typeFilter パラメーターの値は、結果をさらに制限する FHIR クエリのコンマ区切りの一覧です。
_コンテナ いいえ データのエクスポート先となる、構成済みストレージ アカウント内のコンテナーを指定します。 コンテナーが指定されている場合、データはそのコンテナー内のフォルダーにエクスポートされます。 コンテナーが指定されていない場合、データは新しいコンテナーにエクスポートされます。
_耕す いいえ 指定された時刻まで変更されたリソースのみをエクスポートできます。 このパラメーターは、システム レベルのエクスポートにのみ適用されます。 この場合、履歴バージョンが無効または消去されていない場合は、エクスポートによって真のスナップショット ビューが保証されます。 つまり、時間移動を有効にします。
includeAssociatedData いいえ 履歴と論理的に削除されたリソースをエクスポートできます。 このフィルターは、'_typeFilter' クエリ パラメーターでは機能しません。 履歴 (最新バージョン管理されていない) リソースをエクスポートするには、値を "_history" として含めます。 論理的に削除されたリソースをエクスポートするには、値を "_deleted" として含めます。
_isparallel いいえ "_isparallel" クエリ パラメーターをエクスポート操作に追加して、スループットを向上させることができます。 並列化を有効にするには、値を true に設定する必要があります。 注: このパラメーターを使用すると、エクスポートの有効期間中に要求ユニットの消費量が増加する可能性があります。

Note

$export操作には既知の問題があり、その結果、状態が成功するとエクスポートが不完全になる可能性があります。 この問題は、is_parallel フラグが使用されたときに発生します。 2024 年 2 月 13 日以降、_isparallel クエリ パラメーターで実行されたエクスポート ジョブは、この問題の影響を受けます。

Azure Storage へのセキュア エクスポート

Azure API for FHIR では、セキュア エクスポート操作がサポートされます。 次の 2 つのオプションのいずれかを選択します。

  • Azure API for FHIR を Microsoft 信頼済みサービスとして Azure ストレージ アカウントにアクセスできるようにする。

  • Azure API for FHIR に関連付けられている特定の IP アドレスが Azure ストレージ アカウントにアクセスできるようにします。 このオプションでは、ストレージ アカウントが Azure API for FHIR と同じか異なる場所にあるかに応じて、2 つの異なる構成が提供されます。

Azure API for FHIR を Microsoft 信頼済みサービスとして許可する

Azure portal からストレージ アカウントを選択し、続いて [ネットワーク] ブレードを選択します。 [ファイアウォールと仮想ネットワーク] タブで [選択されたネットワーク] を選択します。

重要

マネージド ID を使用して、Azure API for FHIR のストレージ アカウントへのアクセス許可が付与されていることを確認します。 詳細については、「 エクスポート設定の構成とストレージ アカウントの設定」を参照

Azure Storage の [ネットワーク] の設定。

[例外] セクションで、[信頼された Microsoft サービスによるこのストレージ アカウントに対するアクセスを許可します] を選択し、設定を保存します。

信頼された Microsoft サービスによるこのストレージ アカウントに対するアクセスを許可します。

これで、ストレージ アカウントに FHIR データを安全にエクスポートする準備ができました。 注: ストレージ アカウントは、選択したネットワーク上にあり、パブリックにアクセスできません。 ファイルにアクセスするには、ストレージ アカウントのプライベート エンドポイントを有効にして使用するか、ストレージ アカウントのすべてのネットワークを短時間有効にすることします。

重要

ユーザー インターフェイスは後で更新され、Azure API for FHIR のリソースの種類と特定のサービス インスタンスを選択できるようになります。

特定の IP アドレスが他の Azure リージョンから Azure ストレージ アカウントにアクセスできるようにする

  1. Azure portal で、Azure Data Lake Storage Gen2 アカウントに移動します。

  2. 左側のメニューで、[ネットワーク] を選択します。

  3. [選択した仮想ネットワークと IP アドレスから有効] を選択します。

  4. [ ファイアウォール セクションの [ アドレス範囲 ボックスに、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

同じリージョン内の Azure ストレージ アカウントへのアクセスを特定の IP アドレスに許可する

同じリージョンの IP アドレスの構成プロセスは前の手順と同じですが、代わりにクラスレスドメイン間ルーティング (CIDR) 形式で特定の IP アドレス範囲を使用する点が異なります (つまり、100.64.0.0/10)。 操作要求を行うたびに FHIR サービスの IP アドレスが割り当てられるため、IP アドレス範囲 (100.64.0.0 から 100.127.255.255) を指定する必要があります。

Note

10.0.2.0/24 の範囲内でプライベート IP アドレスを使用することはできますが、このような場合に操作が成功する保証はありません。 操作要求が失敗した場合は再試行できますが、100.64.0.0/10 の範囲内の IP アドレスを使用するまで、要求は成功しません。

IP アドレス範囲に対するこのネットワーク動作は仕様です。 代替策として、ストレージ アカウントを別のリージョンで構成する方法があります。

次のステップ

この記事では、 $export コマンドを使用して FHIR リソースをエクスポートする方法について説明しました。 次に、識別解除されたデータをエクスポートする方法については、以下を参照してください。

Note

FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。