Azure Health Data Services アーキテクチャ ガイド

Azure Health Data Services
Azure API Management
Azure Application Gateway
Azure Synapse Analytics
Azure Firewall

医療データを安全かつ効率的に管理することは、医療組織にとって重要です。 Azure Health Data Services では、これらの組織が厳しいセキュリティ標準およびコンプライアンス標準に準拠しながら機密データを格納、処理、分析するために使用できる、強力なプラットフォームが提供されます。 しかしながら、アーキテクチャと実装に関するリファレンス ガイドがないと、複雑なエンタープライズ環境で Health Data Services を展開するのが難しい場合があります。

この記事では、セキュリティ強化された Health Data Services を展開しそれを他の Azure サービスと統合するための、サンプル アーキテクチャ、付随するサンプル実装、ブループリントを提供します。 このガイドで説明されている慣例に従うと、よりしっかりと医療データを守ることができるようになります。

アーキテクチャ

Architecture diagram that shows how to deploy Health Data Services on Azure and integrate with other Azure services.

このアーキテクチャの Visio ファイルをダウンロードします。

ワークフロー

  1. Azure Application Gateway に、個々の高速ヘルスケア相互運用性リソース (FHIR) メッセージ (患者データなど) が、クライアント資格情報フローを使用するセキュリティ強化された TLS 接続を介して届けられます。 Application Gateway で、Azure API Management を介してそのデータが Health Data Services FHIR サービスに送信されます。ここでそのデータが保持されます。
  2. 同時に、クライアントが Postman などのツールを使用して、Application Gateway と API Management を介した TLS 接続で同じ FHIR データを読み取ることができます。
  3. 一括データ処理の場合は、クライアント資格情報フローを使用する TLS 接続を介して FHIR バンドルが Application Gateway に届き、そのデータがストレージ アカウントに読み込まれます。 仮想ネットワークと統合された FHIR ローダー Azure 関数により、FHIR バンドルが処理され、そのデータが FHIR サービスに読み込まれます。
  4. 受信データが HL7 バージョン 2 または C-CDA 形式である場合は、まず、FHIR サービスで $convert-data エンドポイントを使用してそれを FHIR 形式に変換できます。 その後、Application Gateway を使用してそのデータを FHIR サービスにポストできます。 プライベート エンドポイントを介して接続された Azure Container Registry は、HL7 v2 または C-CDA データを FHIR データに変換するためのカスタマイズされた Liquid テンプレートを、セキュリティを強化して格納するために使用されます。 Container Registry はアーキテクチャ図に示されていますが、$convert-data による HL7 v2/C-CDA から FHIR への変換は、サンプルの Bicep 実装テンプレートでは実装されません。
  5. FHIR to Synapse Sync Agent で、FHIR サービスからデータが抽出され (個々のデータ フローまたは一括データ フローを介して取り込まれたデータの場合)、抽出されたデータが階層 Parquet ファイルに変換され、それが Azure Data Lake Storage に書き込まれます。
  6. Azure Synapse Analytics で、サーバーレス SQL または Spark プールを使用して Data Lake Storage に接続して FHIR データのクエリと分析が実行されます。 Azure Synapse Analytics はアーキテクチャ図に示されていますが、それは Bicep 実装テンプレートでは実装されません。
  7. ハブ仮想ネットワークには、FHIR サービス構成へのアクセスのセキュリティを強化するためにジャンプボックス仮想マシン (VM) と Azure Bastion ホストが含まれています。 管理者とオペレーターは、ジャンプボックス VM を使用して、Application Gateway を介さずに FHIR サービス エンドポイントをテストすることや、Application Gateway をバイパスして Azure Storage 経由で手動で FHIR データを一括読み込みすることもできます。
  8. Azure ExpressRoute やサイト間 VPN を介してオンプレミスのネットワーク接続を確立する場合、オンプレミスのユーザーとサービスは、この接続で FHIR サービスに直接アクセスできます。

Note

必要な場合は Web Application Firewall (WAF) を Application Gateway に追加できますが、WAF で FHIR オブジェクトが誤って識別されそれらが悪意のあるコードとして扱われるという既知の問題があります。 WAF が必要な場合は、WAF ルールセットを手動で変更して、WAF で FHIR オブジェクトを使用できるようにする必要があります。

コンポーネント

  • Microsoft Entra ID は、マルチテナントに対応したクラウドベースのディレクトリと ID の管理サービスです。 クライアント アプリケーションは Microsoft Entra ID に登録され、Azure Health Data Services FHIR サービスへのアクセスに使用できます。

  • Application Gateway は、リバースプロキシ サービスとして機能できる、サービスとしてのプラットフォーム (PaaS) のレイヤー 7 ロード バランサーです。 内部ユーザーと外部ユーザーは、Application Gateway を使用して API Management 経由で FHIR API にアクセスします。

  • API Management は、あらゆる環境にわたり API を管理するためのハイブリッド マルチクラウド プラットフォームです。 Swagger API 定義を使用すると、FHIR API を API Management にインポートできます。 API Management を使用すると、インバウンド呼び出しの調整、ユーザーの認証/承認、その他のタスクを実行できます。

  • Health Data Services は、オープン スタンダードとフレームワークに基づくマネージド API サービスのセットであり、医療を改善するワークフローを実現し、スケーラブルでセキュリティが強化された医療ソリューションを提供します。 Health Data Services FHIR サービスは、それに仮想ネットワークのみから、または外部ユーザーが Application Gateway を使用してインターネット経由でアクセスできるようにするために、プライベート エンドポイントを使用して展開されます。

  • FHIR ローダーは、FHIR バンドル (圧縮および非圧縮) と NDJSON ファイルを FHIR サービスにインポートするためのサービスを提供する Azure Functions ソリューションです。

  • Azure Key Vault は、強化されたセキュリティでシークレット、キー、証明書を安全に保存し、アクセスするための Azure サービスです。 Key Vault により、Microsoft Entra ID と統合されたロールベースのアクセス制御を通じて、HSM に支えられたセキュリティと監査されたアクセスが提供されます。 このアーキテクチャにおいては、Key Vault で、ジャンプボックス資格情報、Application Gateway 証明書、FHIR サービスの詳細、FHIR ローダーの詳細が格納されます。

  • Container Registry は、オープンソースの Docker Registry 2.0 に基づくマネージド レジストリ サービスです。 このアーキテクチャでは、Liquid テンプレートをホストするために使用されます。 FHIR サービスで $convert-data カスタム エンドポイントを使用すると、医療データを HL7 v2 や C-CDA から FHIR に変換できます。 $convert-data 操作では、FHIR データ変換のために FHIR コンバーターからの Liquid テンプレートが使用されます。

  • FHIR to Synapse Sync Agent は、FHIR リソース API で FHIR サーバーからデータを抽出しそれを階層 Parquet ファイルに変換してほぼリアルタイムで Data Lake Storage に書き込む Azure コンテナー アプリです。 それには、それらの Parquet ファイルを指し示す、Azure Synapse Analytics サーバーレス SQL プール内の外部テーブルおよびビューを作成するためのスクリプトも含まれています。 アーキテクチャ図には Synapse Sync Agent、Data Lake Storage、Azure Synapse Analytics に対する FHIR が示されていますが、この Bicep 実装には、現在、これらのサービスを展開するためのコードは含まれていません。

  • Azure Firewall は、Azure 内のクラウド ワークロードに脅威保護を提供する、クラウドネイティブでインテリジェントなネットワーク ファイアウォール サービスです。 このアーキテクチャでは、ルート テーブルを使用して、Azure Firewall を介してハブ仮想ネットワークからのエグレス トラフィックをルーティングし、データ流出が発生しないようにしています。 同様に、公衆衛生情報 (PHI) データの流出を防ぐために、ルート テーブルのルートを作成し、必要に応じてそれらをスポーク仮想ネットワーク サブネットにアタッチできます。

  • ジャンプボックスは、管理者とオペレーターがリモート デスクトップ プロトコル (RDP) や Secure Shell (SSH) を使用して接続できる、Linux または Windows が実行されている Azure VM です。 このアーキテクチャにおけるほとんどのサービス (Health Data Services、API Management、Key Vault など) はプライベート エンドポイントを使用して展開されるため、構成の変更やこれらのサービスのテストにはジャンプボックス VM が必要になります。 ジャンプボックスには、Azure Bastion を介してのみアクセスできます。

  • Azure Bastion を使用すると、ブラウザー、Azure portal、またはご使用のコンピューター上のネイティブ SSH/RDP クライアントで VM に接続できます。 この実装では、Azure Bastion によってジャンプボックス VM へのアクセスのセキュリティが強化されています。

  • Defender for CloudHIPAA および HITRUST コンプライアンス ポリシーの取り組みは、Azure インフラストラクチャの展開が Microsoft クラウド セキュリティ ベンチマークと医療業界のコンプライアンス要件に準拠するようにするために役立ちます。

シナリオの詳細

このソリューションでは、セキュリティ強化された Health Data Services を展開し、FHIR データを個別や一括で取り込み、そのデータを Health Data Services FHIR サービスに保持する方法について、ガイダンスが提供されます。

このソリューションを使用すると、セキュリティ強化された Application Gateway 接続を使用して、FHIR メッセージを個別や一括で FHIR サービスに読み込むことができます。

FHIR データを分析し分析情報を抽出するには、図に示すように、FHIR to Synapse Sync Agent を展開します。 Azure Synapse Analytics では、Data Lake Storageに接続して FHIR データのクエリと分析を実行できます。

Health Data Services MedTech サービスを使用すると、医療機器やウェアラブル デバイスからデータを受信するようにソリューションを拡張できます。 このサービスを使用すると、Azure Synapse Analytics で分析情報を抽出できるように、データを FHIR 形式に変換し、それを FHIR サービスに保持できます。

Liquid テンプレート (Container Registry に格納できる) を使用すると、FHIR 以外のデータ (HL7 v2 や C-CDA) を取り込んでそれを FHIR に変換し FHIR サービスに保持するようにソリューションを拡張できます。

このソリューションをデプロイする

このソリューションを展開するには、「入門ガイド」内の手順に従ってください。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

その他の共同作成者:

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ