編集

次の方法で共有


OMOP CDM で OHDSI を使用して患者の観察データを分析する

Azure Pipelines
Azure SQL データベース
Azure 仮想マシン スケール セット
Azure Blob Storage
Azure Container Registry

Observational Health Data Sciences and Informatics (OHDSI) は、臨床医療データを視覚化および分析するために、Observational Medical Outcomes Partnership Common Data Model (OMOP CDM) 標準と関連する OHDSI ソフトウェア ツールの作成と維持を行っています。 これらのツールにより、標準化された患者レベルの観察データに対する分析の設計と実行が容易になります。

Azure 上の OHDSI を使用すると、OMOP CDM と関連する分析ツールを使用する組織は、Azure プラットフォーム上でソリューションを簡単にデプロイして運用できます。

"Terraform" は、米国およびその他の国における HashiCorp の登録商標または商標です。 このマークを使用することは、HashiCorp による保証を意味するものではありません。

アーキテクチャ

OHDSI を使用して患者データを分析するためのアーキテクチャを示す図。

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

上の図は、ソリューション アーキテクチャの概要を示しています。 このソリューションは、次の 2 つの主要なリソース グループで構成されています。

  • ブートストラップ リソース グループ。 OMOP リソース グループのデプロイをサポートする Azure リソースの基本セットが含まれています。
  • OMOP リソース グループ。 OHDSI 固有の Azure リソースが含まれています。

Azure Pipelines によってすべてのデプロイ自動化が調整されます。

この記事は主に DevOps エンジニアリング チームを対象としています。 このシナリオのデプロイを計画している場合は、Azure portal と Azure DevOps の経験が必要です。

ワークフロー

  1. ブートストラップ リソース グループをデプロイして、OHDSI リソースのデプロイに必要なリソースとアクセス許可をサポートします。
  2. OHDSI 固有の Azure リソースの OMOP リソース グループをデプロイします。 この手順では、インフラストラクチャ関連のセットアップを完了する必要があります。
  3. OMOP CDM とボキャブラリをプロビジョニングしてデータ モデルをデプロイし、Azure SQL の CDM に OMOP 制御ボキャブラリを設定します。
  4. OHDSI アプリケーションをデプロイします。
    1. BroadSea WebTools イメージを使用して、Atlas UI と WebAPI を設定します。 Atlas は、さまざまな OHDSI アプリケーションの機能を統合する Web UI です。 これは WebAPI レイヤーでサポートされています。
    2. BroadSea Methods イメージを使用して Achilles と Synthea を設定します。 Achilles は、OMOP CDM でデータの特性と品質の評価を実行する R ベースのスクリプトです。 Synthea ETL スクリプトは、ユーザーが OMOP CDM に合成患者データを読み込めるようにするオプションのツールです。

コンポーネント

  • Microsoft Entra ID は、マルチテナントに対応したクラウドベースのディレクトリと ID の管理サービスです。 Microsoft Entra ID は、環境デプロイのアクセス許可を管理するために使用されます。
  • Azure Pipelines では、自動的にコード プロジェクトがビルドおよびテストされます。 この Azure DevOps サービスでは、継続的インテグレーション (CI) と継続的デリバリー (CD) が組み合わされます。 Azure Pipelines ではこれらのプラクティスを使用して、コードが継続的かつ一貫してテストおよびビルドされ、任意のターゲットに送られます。 Pipelines により、Azure 上の OHDSI に対してこのデプロイ アプローチが定義され実行されます。
  • Azure Virtual Machine Scale Sets を使用すると、負荷分散された異種仮想マシン (VM) のグループを作成して管理できます。 これらの VM により、環境のデプロイが調整されます。
  • Azure Blob Storage は、大量の非構造化データを格納するために最適化されているストレージ サービスです。 Blob Storage は、(CDM へのインジェストの前に) Terraform 状態ファイル と生 OMOP ボキャブラリ ファイル を格納するために使用されます。
  • Azure Key Vault は、強化されたセキュリティでシークレット、キー、証明書を安全に保存し、アクセスするための Azure サービスです。 Key Vault により、Microsoft Entra ID と統合されたロールベースのアクセス制御を通じて、HSM に支えられたセキュリティと監査されたアクセスが提供されます。 このアーキテクチャでは、Key Vault に API キー、パスワード、暗号化キー、証明書など、すべてのシークレットが格納されます。
  • Azure SQL Database は、フル マネージドのサービスとしてのプラットフォーム (PaaS) データベース エンジンです SQL Database により、アップグレード、パッチの適用、バックアップ、監視などのデータベース管理機能が処理されます。 このサービスには、OMOP CDM と関連するすべてのリレーショナル データが格納されます。
  • Azure Web Application Firewall は、OWASP の脆弱性、SQL インジェクション、クロスサイト スクリプティングなどの一般的な Web ベースの攻撃からアプリケーションを保護するのに役立ちます。 このテクノロジはクラウド ネイティブです。 ライセンスは必要ありません。従量課金制です。
  • Azure Container Registry を使用すると、あらゆる種類のコンテナー デプロイ用のプライベート レジストリにコンテナー イメージや成果物をビルド、保存、管理できます。 このソリューションでは、Azure App Service にデプロイするために OHDSI アプリケーション イメージ (BroadSea WebTools および BroadSea Methods) が格納されます。
  • Azure App Service は、Web アプリケーション、REST API、およびモバイル バックエンドをホストするための HTTP ベースのサービスです。 このサービスでは、OHDSI WebAPI アプリケーションと Atlas アプリケーションがサポートされます。

代替

より高いスケーラビリティまたは制御が必要な場合は、次の代替手段を検討してください。

シナリオの詳細

臨床患者データのフェデレーション、調和、視覚化、セグメント化、分析を行う機能は、医療業界で急速に普及しているユース ケースになっています。 学術機関、政府機関、民間部門の組織を含む多くの組織は、研究開発を加速するために患者の健康データを使用する方法を探しています。 残念ながら、ほとんどの IT チームは、研究者と効果的に共同作業を行い、研究者が生産的で権限が与えられていると感じることができる職場環境を提供することに苦労しています。

OHDSI は、70 か国/リージョン以上の何千人ものコラボレーターを含むイニシアチブです。 研究者向けにオープンソース形式で利用可能な数少ないソリューションの 1 つを提供しています。 OHDSI は、臨床医療データを視覚化および分析するために、OMOP CDM 標準と関連する OHDSI ソフトウェア ツールの作成と維持を行っています。

考えられるユース ケース

次のような数種類の医療機関が、このソリューションの恩恵を受けることができます。

  • 科学研究者が臨床データを使用して観察コーホート研究に取り組めるようにしたい学術機関。
  • 科学的発見を促進するために、量の異なるデータ ソースをフェデレーションしたい政府機関。
  • 臨床試験の潜在的な患者の特定を合理化したい民間部門の会社。

考慮事項

これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。

SQL Database には、ゾーン冗長データベース、フェールオーバー グループ、geo レプリケーション、自動バックアップなどの機能が用意されています。 これらの機能を使用すると、メンテナンス イベントやシステム停止が発生した場合でも、アプリケーションを実行し続けることができます。 詳細については、Azure SQL Database の可用性機能に関するセクションをご覧ください。

Application Insights を使用してアプリケーションの正常性を監視することを検討してください。 Application Insights を使用すると、カスタマー エクスペリエンスに影響を及ぼすパフォーマンスの問題についてアラートを生成し、対応することができます。 詳細については、「Application Insights とは何か」を参照してください。

信頼性の詳細については、「信頼性の高い Azure アプリケーションの設計」を参照してください。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。

このシナリオでは、Azure リソースのマネージド ID を使用します。これにより、アプリケーションが Microsoft Entra 認証をサポートするリソースに接続するときに使用する ID が提供されます。 マネージド ID により、各 Azure リソースのシークレットと資格情報を管理する必要がなくなります。

SQL Database では階層化されたアプローチを使用して、顧客データが保護されます。 それは、ネットワーク セキュリティ、アクセス管理、脅威に対する保護、情報保護に及びます。 SQL Database のセキュリティの詳細については、Azure SQL Database のセキュリティとコンプライアンスに関するセクションをご覧ください。

セキュリティの高いネットワークが重要な要件である場合は、Azure Private Link を使用して App Service を Azure SQL に接続することを検討してください。 これにより、一般的に使用される攻撃ベクトルである SQL データベースへのパブリック インターネット アクセスが削除されます。 Azure Storage のプライベート エンドポイントを使用して、セキュリティを強化した Azure Private Link 経由でデータにアクセスすることもできます。 これらの実装は現在ソリューションに含まれていませんが、必要に応じて追加できます。

セキュリティで保護されたソリューションの設計に関する一般的なガイダンスについては、「Azure のセキュリティのドキュメント」を参照してください。

コスト最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させることです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。

Azure でのこのシナリオの実行コストを詳しく知るには、Azure 料金計算ツールを使用します。 この見積もりでは、コードとしてのインフラストラクチャを介してデプロイされたすべての Azure リソースの既定の構成が使用されます。 これらのコストの見積もりは、データのサイズに基づいて、また Microsoft Entra ID や Azure DevOps など、共有される可能性のある組織内の他のリソースのために変更される可能性があります。

パフォーマンス効率

パフォーマンス効率とは、ユーザーによって行われた要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の柱の概要」を参照してください。

このシナリオでは、App Service を使用します。これを必要に応じて使用して、Atlas UI をサポートするインスタンスの数を自動的にスケーリングできます。 この機能を使用すると、エンドユーザーの需要に対応できます。 自動スケーリングの詳細については、「自動スケーリングのベスト プラクティス」を参照してください。

詳細については、「パフォーマンス効率のチェックリスト」を参照してください。

このシナリオのデプロイ

OHDSI ツール スイートのデプロイの詳細と、その他の詳細なドキュメントについては、次のリソースを参照してください。

共同作成者

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

プリンシパルの作成者:

その他の共同作成者:

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

次のステップ