Philips Tasy Healthcare Systemの導入

Philips Tasy EMR HTML5(Tasy EMR)は、Philips Healthcareが開発した最先端のWebベースの電子医療記録(EMR)システムです。この高度なソフトウェアは、医療環境内の臨床データと非臨床データの両方を管理するように設計された医療機器プラットフォームとして機能します。

スタンドアロン・システムとして機能しますが、他の医療システムとのシームレスな統合機能も提供します。この柔軟性により、さまざまな医療分野の複数のユーザーがプラットフォームにアクセスして活用できるため、適応性が高く、医療の効率性と品質の向上に適しています。Tasy EMRシステムの主な使命は、患者情報の正確で安全な記録を確保することです。

Tasy EMRは、堅牢なOracleデータベースで実行される多層アプリケーションであり、PL/SQLルーチンの広範な使用状況を備えています。ユーザーフレンドリなHTML5フロントエンドは、AngularJSテクノロジを使用して構築されます。クライアント側とサーバー側間の通信は、SOAP/REST Webサービスを介して行われます。

アーキテクチャ

このアーキテクチャは、Tasy EMR医療システムを特徴としています。

Tasy EMRアーキテクチャの主なコンポーネントは次のとおりです。

  • クライアント・レイヤー
    • Tasy EMR HTML5: このWebベースのクライアント・アプリケーションは、Google Chromeブラウザ内でシームレスに動作します。独自のAPIを使用して、表現状態転送(REST)リクエストを介してTasy EMR Webサービスと通信します。
    • 統合: Tasy EMRは、HL7、SOAP、RESTリクエスト、または共有場所に格納されている単純なファイル交換を使用する機器とシームレスに統合できます。
  • サーバー・レイヤー
    • アプリケーション・サーバー: Tasyは、Apache TomcatやOracle WebLogic Serverなどのアプリケーション・サーバーと連携してミドルウェア・コンポーネントをホストします。Tomcatを選択すると、顧客はPhilipsアプリ・マネージャ・プラットフォームを利用して、パフォーマンスを向上させるためにTomcat上に構築された統合アプリケーション・コンテナを提供できます。
    • Tasy EMR Webサービス: この重要なWebサービスは、Tasy EMRユーザーが開始したすべてのリクエストの受信、処理および応答を担当します。
    • Tasy EMR Reports Webサービス: Reports Webサービスは、システム・レポートの生成のみのタスクです。分離された環境で動作し、レポート生成のためにTasy EMR Webサービスによってのみ呼び出されます。
    • 統合Webサービス: Tasy EMRのすべての統合要件を処理するこの汎用サービスは、HL7、SOAP、RESTおよびファイルベースの統合に対応します。すべての受信および送信メッセージを管理します。
  • ロード・バランサ: Oracle Cloud Infrastructure Load BalancingOracle Linux 8を実行しているコンピュート・インスタンス上の2つのサーバーと組み合せて利用すると、堅牢なアプリケーション・ロード・バランシングのためにHAProxy市場製品が採用され、高可用性が保証されます。
  • Oracle Databaseレイヤー: Tasy EMRのバックボーンとして機能するこのデータベースには、PL/SQLオブジェクトの形式でエンコードされたビジネス・ルールの大部分を含む、すべてのシステム情報が格納されます。推奨バージョンおよび同質バージョンはOracle Database 19cで、MDSを含めるとともに12および11がサポートされています。

ノート:

1,500人以上のコネクテッド・ユーザーを含むプロジェクトでは、Philipsは、承認されたインフラストラクチャ・パートナーの1つと関わることを強くお勧めします。これらのパートナーの連絡先情報は、商用部門から取得できます。

ノート:

300を超えるワークステーションがサービスを利用しているお客様には、Philipsのドキュメントでは、すべてのレイヤー(バランシング、アプリケーション・サーバー、データベース)で高可用性インフラストラクチャを推奨しています。


philips-tasy-diagram - oracle.zip

この図は、データベースをサポートするロード・バランサ、アプリケーション層およびOracle Exadata Database Serviceで構成される3層トポロジを示しています。すべてのリソースは、OCIリージョンの単一の可用性ドメインにデプロイされます。ロード・バランサ層とアプリケーション層は、単一のVCN内の個別のサブネットに分離されます。ネットワーク・セキュリティ・グループは、各層のリソースとの間のネットワーク・トラフィックを規制します。各サブネットにアタッチされたルート表には、VCN外部のターゲットを宛先とするトラフィックを転送するルールが含まれます。

  • クライアント・リクエストは、インターネット・ゲートウェイを介してWAFおよびプライマリ・ロード・バランサに流れ込み、セカンダリ・ロード・バランシング層にリクエストを分散します。これにより、リクエストがアプリケーション層に送信されます。
  • アプリケーション層はコンピュート・インスタンスで構成されます。コンピュート・インスタンスは、アベイラビリティ・ドメイン内のすべてのフォルト・ドメインに均等に分散されます。アプリケーション層内のすべてのコンピュート・インスタンスがプライベート・サブネットにアタッチされます。
  • データベース層は、個別のVCN内のプライベート・サブネットにアタッチされたOracle Exadata Database Serviceデータベースで構成されます。

このアーキテクチャには次のコンポーネントがあります。

  • テナント

    テナンシは、Oracle Cloud Infrastructureのサインアップ時にOracle Cloud内でOracleによって設定される、安全で分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。

  • リージョン

    Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、長距離では(国や大陸をまたがって)それらを分離できます。

  • コンパートメント

    コンパートメントは、Oracle Cloud Infrastructureテナンシ内のクロスリージョン論理パーティションです。コンパートメントを使用して、Oracle Cloudでリソースを編成、リソースへのアクセスを制御および使用割当てを設定します。特定のコンパートメント内のリソースへのアクセスを制御するには、誰がリソースにアクセスできるか、どのアクションを実行できるかを指定するポリシーを定義します。

  • 可用性ドメイン

    可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、1つの可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響を及ぼすことはほとんどありません。

  • フォルト・ドメイン

    フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインに3つのフォルト・ドメインがあり、電源とハードウェアが独立しています。複数のフォルト・ドメインにリソースを分散すると、アプリケーションは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、ソフトウェアで定義されたカスタマイズ可能なネットワークです。VCNは、従来のデータ・センター・ネットワークと同様に、ネットワーク環境の完全な制御を可能にします。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • サービス・ゲートウェイ

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and never traverses the internet.

  • クラウド・ガード

    Oracle Cloud Guardを使用して、Oracle Cloud Infrastructure内のリソースのセキュリティをモニターおよびメンテナンスできます。クラウド・ガードはディテクタ・レシピを使用します。このレシピを定義すると、セキュリティの弱点についてリソースを調べたり、リスクのあるアクティビティについてオペレータとユーザーをモニターしたりできます。構成の誤りまたは安全でないアクティビティが検出された場合、クラウド・ガードは、ユーザーが定義できるレスポンダ・レシピに基づいて、修正アクションを推奨し、それらのアクションの実行を支援します。

  • オブジェクト・ストレージ

    オブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォーム内から、安全かつセキュアにデータを格納し、取得できます。パフォーマンスやサービスの信頼性を低下させることなく、シームレスにストレージを拡張できます。迅速、即時、頻繁にアクセスする必要がある「ホット」ストレージに標準ストレージを使用します。長期間保持し、ほとんどまたはめったにアクセスしないコールド・ストレージには、アーカイブ・ストレージを使用します。

  • 動的ルーティング・ゲートウェイ(DRG)

    DRGは、同じリージョン内のVCN間、VCNとリージョン外のネットワーク(別のOracle Cloud Infrastructureリージョン内のVCN、オンプレミス・ネットワーク、別のクラウド・プロバイダのネットワークなど)間のプライベート・ネットワーク・トラフィックのパスを提供する仮想ルーターです。

  • FastConnect

    Oracle Cloud Infrastructure FastConnectは、データ・センターとOracle Cloud Infrastructureとの間に専用のプライベート接続を簡単に作成する方法を提供します。FastConnectは、インターネット・ベースの接続と比較して、高帯域幅オプションと、より信頼性の高いネットワーキング・エクスペリエンスを提供します。

  • Exadata Databaseサービス

    Oracle Exadata Database Serviceを使用すると、クラウド内のExadataの機能を活用できます。ニーズの増加時にデータベース・コンピュート・サーバーおよびストレージ・サーバーをシステムに追加できるフレキシブルX8MおよびX9Mシステムをプロビジョニングできます。X8MおよびX9Mシステムでは、高帯域幅と低レイテンシを実現するRDMA over Converged Ethernet (RoCE)ネットワーク、永続メモリー(PMEM)モジュールおよびインテリジェントExadataソフトウェアを提供します。X8MおよびX9Mシステムは、クォータ・ラックのX8およびX9Mシステムと同等のシェイプを使用してプロビジョニングし、プロビジョニング後はいつでもデータベース・サーバーおよびストレージ・サーバーを追加できます。

    Oracle Exadata Database Service on Dedicated Infrastructureは、Oracle Cloud Infrastructure (OCI)データ・センターのサービスとしてOracle Exadata Database Machineを提供します。Oracle Exadata Database Service on Dedicated Infrastructureインスタンスは、OCIリージョンのExadataラックに存在する仮想マシン(VM)クラスタです。

    Oracle Exadata Database Service on Cloud@Customerには、データ・センターでホストされているOracle Exadata Database Serviceが用意されています。

  • セキュリティ・リスト

    サブネットごとに、サブネットの内外で許可される必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

  • ブロック・ボリューム

    ブロック・ストレージ・ボリュームでは、ストレージ・ボリュームを作成、アタッチ、接続および移動し、ボリューム・パフォーマンスを変更して、ストレージ、パフォーマンスおよびアプリケーションの要件を満たすことができます。ボリュームをインスタンスにアタッチおよび接続した後は、そのボリュームを通常のハード・ドライブのように使用できます。また、データを失うことなく、ボリュームを切断して別のインスタンスに接続することもできます。

レコメンデーション

次の推奨事項を開始点として使用します。お客様の要件は、ここで説明するアーキテクチャと異なる場合があります。
  • VCN

    VCNを作成する場合、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチする予定のリソースの数に基づいて各ブロックのサイズを決定します。標準のプライベートIPアドレス空間内にあるCIDRブロックを使用します。

    プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。

    VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。

    サブネットを設計するときには、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能する同じサブネットにアタッチします。

  • クラウド・ガード

    Oracleが提供するデフォルトのレシピをクローニングしてカスタマイズし、カスタム・ディテクタおよびレスポンダ・レシピを作成します。これらのレシピでは、警告を生成するセキュリティ違反のタイプと、それらに対して実行を許可するアクションを指定できます。たとえば、可視性がパブリックに設定されているオブジェクト・ストレージ・バケットを検出できます。

    クラウド・ガードをテナンシ・レベルで適用して、最も広い範囲をカバーし、複数の構成を維持する管理負担を軽減します。

    管理対象リスト機能を使用して、特定の構成をディテクタに適用することもできます。

  • セキュリティ・ゾーン

    最大限のセキュリティを必要とするリソースの場合、Oracleではセキュリティ・ゾーンを使用することをお薦めします。セキュリティ・ゾーンは、ベスト・プラクティスに基づくセキュリティ・ポリシーのOracle定義レシピに関連付けられたコンパートメントです。たとえば、セキュリティ・ゾーン内のリソースは、パブリック・インターネットからアクセスできず、顧客管理キーを使用して暗号化する必要があります。セキュリティ・ゾーンでリソースを作成および更新すると、Oracle Cloud Infrastructureでは、セキュリティ・ゾーン・レシピのポリシーに対して操作が検証され、ポリシーに違反する操作が拒否されます。

  • ネットワーク・セキュリティ・グループ(NSG)

    NSGを使用して、特定のVNICに適用されるイングレスおよびエグレス・ルールのセットを定義できます。NSGでは、VCNのサブネット・アーキテクチャをアプリケーションのセキュリティ要件から分離できるため、セキュリティ・リストではなくNSGを使用することをお薦めします。

  • ロード・バランサの帯域幅

    ロード・バランサの作成時に、固定帯域幅を提供する事前定義済シェイプを選択するか、帯域幅範囲を設定するカスタム(フレキシブル)シェイプを指定し、トラフィック・パターンに基づいてサービスで帯域幅を自動的にスケーリングできます。どちらの方法でも、ロード・バランサの作成後はいつでもシェイプを変更できます。

  • ブロック・ボリューム・バックアップ・ポリシー

    RPOを満たすために必要な頻度でブロック・ボリュームのバックアップを取るポリシーを構成します。

  • Data Guard

    Oracle Data Guardには、1つ以上のスタンバイ・データベースを作成、維持、管理および監視する包括的なサービス・セットが用意されています。これにより、本番のOracleデータベースを中断することなく使用可能にできます。Oracle Data Guardは、本番データベースのコピーとしてスタンバイ・データベースを維持します。その後、計画停止または計画外停止のために本番データベースを使用できなくなった場合、Oracle Data Guardは、スタンバイ・データベースを本番ロールに切り替えて、停止に関連するダウンタイムを最小限に抑えることができます。

考慮事項

トポロジを設計するときは、次の要因を考慮してください。

  • パフォーマンス

    最高のパフォーマンスを得るには、適切な帯域幅の適切なコンピュート・シェイプを選択します。

  • セキュリティ

    ポリシーを使用して、自社が所有するOCIリソースにアクセスできるユーザー、およびそのリソースへのアクセス方法を制限します。暗号化は、デフォルトでOCI Object Storageに対して有効化されており、オフにできません。

  • 可用性

    デプロイメント要件およびリージョンに基づいて高可用性オプションを使用することを検討してください。オプションには、リージョン内の複数の可用性ドメインの使用やフォルト・ドメインの使用が含まれます。

  • ディザスタ・リカバリ

    サービスを使用する300を超えるワークステーションを使用するお客様は、クロス・リージョン・ボリューム・レプリケーション(さらに参照)およびOracle Data Guardを使用してディザスタ・リカバリ環境を作成することをお薦めします。

  • コスト

    Oracle Exadata Database Serviceインスタンスは、より高いコストで必要なCPU性能を提供します。要件を評価して、CPUスケール・アップおよびスケール・ダウンを使用する方法を選択します(ホット・ダウン時、ダウンタイムなしに変更)。

  • サイジングのヒント

    顧客のリファレンス・ケースに基づいて使用されるサイズ設定を次に示します。これは情報提供のみを目的としています。すべてのサイジングとアーキテクチャは、Philips Healthcareが承認したチームとともに作成する必要があることに注意してください。

セッション Size 環境 ロール # VMs OCPU数 メモリー数(GB) ディスク数(GB) VMシェイプ OCPU合計 MEM合計(GB) 合計ディスク(GB) ノード(単一/RAC) OCPUデータベース数 OCPU DB合計 ディスク数(GB) DB フレキシブル・ロード・バランシング
100 Users S PROD Philips-App-Manager 2 4 48 150 VM.Standard.E4.Flex 8 96 300 1 4 4 712 1
300 Users M PROD Philips-App-Manager 2 4 48 150 VM.Standard.E4.Flex 8 96 300 1 6 6 968 1
500 Users L PROD Philips-App-Manager 4 4 48 150 VM.Standard.E4.Flex 16 192 600 1 8 8 1736 1
700 Users XL PROD Philips-App-Manager 6 4 48 150 VM.Standard.E4.Flex 24 288 900 2 10 20 2760 1
1000 Users 2XL PROD Philips-App-Manager 8 4 48 150 VM.Standard.E4.Flex 32 384 1200 2 10 20 5320 1
1200 Users 3XL PROD Philips-App-Manager 12 4 48 150 VM.Standard.E4.Flex 48 576 1800 2 12 24 10440 1
1500 Users 4XL PROD Philips-App-Manager 14 4 48 150 VM.Standard.E4.Flex 56 672 2100 2 14 28 16584 1
100 Users S PROD Tomcat統合WSI 1 4 4 150 VM.Standard.E4.Flex 4 4 150 -- -- -- -- --
100人以上のユーザー -- PROD Tomcat統合WSI 1 8 32 150 VM.Standard.E4.Flex 8 32 150 -- -- -- -- --
100 Users S PROD 統合TIE 1 4 4 150 VM.Standard.E4.Flex 4 4 150 -- -- -- -- --
100人以上のユーザー -- PROD 統合TIE 1 8 32 150 VM.Standard.E4.Flex 8 32 150 -- -- -- -- --
100 Users S QA Philips-App-Manager 1 4 48 150 VM.Standard.E4.Flex 4 48 150 1 4 4 712 --
100 Users S QA Tomcat統合Webサービス 1 4 16 150 VM.Standard.E4.Flex 4 16 150 -- -- -- -- --

ノート:

非表示列を表示するには、この表の下部にあるスクロール・バーを使用します。

謝辞

Authors: Diego Mariano, Lucas Fernandes

Contributors: Guilherme Teló, John Sulyok