FHIR データをエクスポートする方法

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

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

$export コマンドの使用

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

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

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

FHIR サービスでは、次のレベルでの $export がサポートされています。

  • システム:
  • 患者:
  • 患者のグループ * -fhir サービスでは、関連するすべてのリソースがエクスポートされますが、グループの特性はエクスポートされません。

データがエクスポートされると、リソースの種類ごとに個別のファイルが作成されます。 エクスポートされたファイルが大きくなりすぎないようにするために、 エクスポートされた 1 つのファイルのサイズが 64 MB を超えたら新しいファイルを作成します。 この結果、リソースの種類ごとに複数のファイルが取得され、列挙されます (つまり、Patient-1.ndjson、Patient-2.ndjson)。

注意

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

さらに、キュー登録中に場所ヘッダーによって返された URL を介したエクスポートの状態の確認と、現行のエクスポート ジョブのキャンセルもサポートされています。

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

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

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

ファイアウォールの背後にあるストレージアカウントにデータをエクスポートするには、「 エクスポートの設定を構成する」を参照してください。

設定とパラメーター

ヘッダー

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

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

クエリ パラメーター

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

Query parameter (クエリ パラメーター) FHIR 仕様で定義されている 説明
_outputFormat はい 現在、FHIR 仕様に合わせた 3 つの値 (application/fhir+ndjson、application/ndjson、または単にndjson) がサポートされています。 すべてのエクスポート ジョブは ndjson を返し、渡された値はコードの動作に影響を与えません。
_since はい 指定された時間以降に変更されたリソースのみをエクスポートできます
_type はい どの種類のリソースを含めるかを指定できます。 たとえば、_type = 患者は患者のリソースのみを返します。
_typefilter はい 粒度の細かいフィルター処理を要求するには、_type パラメーターと共に _typefilter を使用できます。 _TypeFilter パラメーターの値は、結果をさらに限定する FHIR クエリのコンマ区切りリストです。
_container No データのエクスポート先となる、構成済みストレージ アカウント内のコンテナーを指定します。 コンテナーが指定されている場合は、そのコンテナーのフォルダーにデータがエクスポートされます。 コンテナーが指定されていない場合は、新しいコンテナーにデータがエクスポートされます。

注意

$export 操作の宛先として登録できるのは、FHIR サービスと同じサブスクリプション内のストレージ アカウントだけです。

次のステップ

この記事では、$export コマンドを使用して FHIR リソースをエクスポートする方法について説明しました。 識別されていないエクスポートを設定して使用する方法、または Azure API for FHIR から Azure Synapse Analytics にデータをエクスポートする方法の詳細については、「」を参照してください。