この章では、Oracle SOA Suite for healthcare integrationについて概説します。Oracle SOA Suite for healthcare integrationは、各種医療システムの間でデータを伝送、変換するアプリケーションを作成するためのWebベースのユーザー・インタフェースを提供します。ユーザー・インタフェースでは、これらのシステム間で共有されたメッセージをモニタリングおよび管理する機能も提供されます。
この章には次のトピックが含まれます:
Oracle SOA Suite for healthcare integrationはOracle SOA Suiteのいくつかの機能を利用して、医療データを処理するアプリケーションの設計、作成および管理を支援します。Oracle SOA Suite for healthcare integrationには、ヘルスケア統合アプリケーションを作成および構成し、それらのアプリケーションで処理されたメッセージをモニターおよび管理できるWebベースのユーザー・インタフェースが用意されています。また、Oracle Document Editorを使用して、メッセージ構造を定義するドキュメント定義を作成および構成できます。Oracle SOA Suite for healthcare integrationユーザー・インタフェースには、追加のメッセージング・プロトコルのサポート、エンドポイントの作成と管理、ドキュメントの管理、マップセットの作成、Javaコールアウトの作成機能などの追加機能が用意されています。
ヘルスケア統合アプリケーションには、メッセージの受信、処理および伝送方法を定義するいくつかのコンポーネントがあります。ヘルスケア統合アプリケーションを構成するコンポーネントには、次のものがあります。ドキュメント定義およびエンドポイントは、ヘルスケア統合アプリケーションに必須のコンポーネントです。
ドキュメント定義: ドキュメント定義を使用して、医療トランザクションで使用されるメッセージの構造を定義します。Oracle Document Editorをインストールした場合は、HL7メッセージ用の定義済テンプレートが提供されます。ドキュメント定義はプロトコル、バージョンおよびタイプによって分類されます。
エンドポイント: エンドポイントは、これらすべてのコンポーネントを1つの外部システム向けにまとめます。エンドポイントは、Oracle SOA Suite for healthcare integrationによってメッセージが送受信中であるかどうか、トランスポート・プロトコル、確認処理、メッセージが検証または変換されているかどうかを定義します。エンドポイントはドキュメント定義と関連付けられ、オプションで内部デリバリ・チャネル、コールアウト、マップセット、SOA Suiteコンポジット・アプリケーションと関連付けられます。
マップセット: マップセットを使用して、あるネイティブ・フォーマットから別のフォーマットへのトランスフォーメーションを定義し、XMLへの変換およびXMLからの変換手順を省略します。たとえば、マップセットではHIPAA 4010ドキュメントのフィールドをHIPAA 5010ドキュメントに直接マップできます。マップセットにはマップ元およびマップ先のドキュメント定義と、マッピングを定義するファイルが含まれています。
内部デリバリ・チャネル: 内部デリバリ・チャネルは、ヘルスケア統合アプリケーションがJMSトピックまたはキューとの間でメッセージの送受信を行う場合に使用します。
ヘルスケア統合アプリケーションを作成し、デプロイした後は、Oracle SOA Suite for healthcare integrationのWebベースのユーザー・インタフェースを通じて、アプリケーションで処理されたメッセージを監視および管理できます。レポート機能を使用して処理されたメッセージのリストを表示し、メッセージ・コンテンツやプロトコル情報などのより深いレベルの詳細を確認できます。また、メッセージの再発行、自動再試行の構成、パートナ停止時間の構成、メタデータ・リポジトリ内のメッセージの選択的なパージを実行できます。
ダッシュボード機能を使用して、実行中の各エンドポイントに送信されたメッセージのサマリーを表示できます。さらに掘り下げて、特定の期間内に送信されたメッセージ、受信されたメッセージ、エラーが発生したメッセージの量を表示することもできます。この情報はさらに、ドキュメント・タイプによって分類できます。様々な条件に基づいて、カスタムのダッシュボードやレポートを作成できます。いくつかのデフォルトのレポートがすでに用意されています。
Oracle SOA Suite for healthcare integrationには、ビジネス・プロセスを医療システムに拡張するSOA機能およびコンポーネントが用意されています。Oracle SOA Suite for healthcare integrationをSOAコンポジット・アプリケーションで使用すると、エンドツーエンドのビジネス・プロセス統合をモデル化できます。
Oracle SOA Suiteには、コンポジット・アプリケーションを設計、デプロイおよび管理するためのサービス・インフラストラクチャ・コンポーネントの完全なセットが用意されています。コンポジット・アプリケーションに含まれる複数のテクノロジ・コンポーネントでは、単一のデプロイおよび管理モデルとツール、エンドツーエンドのセキュリティおよびユニファイド・メタデータ管理などの共通機能が共有されます。
SOAの実装では、Oracle SOA Suite for healthcare integrationはメッセージの送受信を可能にするネットワーク・プロトコルおよびサービスを使用するバインディング・コンポーネントとして機能します。サービス(インバウンド)として、SOAコンポジット・アプリケーションはOracle SOA Suite for healthcare integrationからメッセージを受信します。参照(アウトバウンド)として、SOAコンポジット・アプリケーションはOracle SOA Suite for healthcare integrationにメッセージを渡し、メッセージはそこから外部システムに送信されます。
Oracle SOA Suiteの詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。
Oracle SOA Suite for healthcare integrationインスタンス・データは、データベースのSOAINFRAスキーマ内で格納および管理されます。設計時および構成用のメタデータは、Oracle Fusion Middlewareで使用できるMetadata Services (MDS)を介して格納および管理されます。MDSの詳細は、Oracle Fusion Middleware管理者ガイドを参照してください。
メタデータ・リポジトリ内のヘルスケア統合データのストレージのため、表領域がいっぱいになる可能性があります。この場合は、表領域のサイズを増やします。大規模な構成をインポートする場合は、再実行ログ・ファイルのサイズを増やすことも、パフォーマンスの向上に役立ちます。大規模なログ・ファイルには、より大きい領域が必要ですが、アプリケーションによる操作の再試行の必要性は減少します。
Oracle SOA Suite for healthcare integrationのセキュリティはOracle WebLogic Serverによって処理されます。Oracle SOA Suite for healthcare integrationのコンポーネントを表示および変更する必要があるユーザーのユーザー・アカウントをWebLogic Serverで作成し、Oracle SOA Suite for healthcare integrationコンソールを使用してそれらのアカウントをプロビジョニングできます。healthcare integrationユーザー・インタフェースで編集を行うには、Oracle SOA Suite for healthcare integrationで管理者ロールまたは監視ロールが付与されている必要があります。
Oracle SOA Suiteをインストールしたら、Oracle SOA Suite for healthcare integrationを使用する前に、次に示すインストール後のタスクを実行する必要があります。
コマンド・プロンプトを開き、次の環境変数を設定します。
setenv ANT_HOME <Middleware_HOME
>/modules/org.apache.ant_1.7.1/ setenv PATH=$ANT_HOME/bin:$PATH setenv JAVA_HOME <Middleware_HOME
>/<jrockit_install_directory
> setenv PATH=$JAVA_HOME/bin:$PATH
Oracle Technology Network (OTN)またはeDeliveryから、次のものを含むHealthcareライブラリ(ofm_healthcare_lib_generic_11.1.1.7.0_disk1_1of1.zip)をダウンロードします。
StdMultiSetupInstOracle.exe (Windows用)
StdMultiSetupInstOracle.tar.gz (その他のオペレーティング・システム用)
オペレーティング・システムに応じて、次の場所にライブラリをコピーします
<Middleware_HOME>/<SOA_HOME>/soa/thirdparty/healthcare/stdlibrary/
コマンド・プロンプトで、次のコマンドを実行します。
cd <Middleware_HOME
>/<SOA_HOME
>/bin ant -f ant-soahc-postinstall.xml
antコマンドで要求された場合には、次の詳細を入力して、インストール後のプロセスを完了します。
Weblogic Serverのユーザー名(デフォルトはweblogic
)
Weblogic Serverのパスワード
Weblogic Serverのホスト名(デフォルトはlocalhost
)
管理サーバーのポート(デフォルトは7001
)
管理対象サーバーのポート(デフォルトは8001
)
管理サーバー名(デフォルトはAdminServer
)
Weblogic Serverのデプロイ・ターゲット(デフォルトはsoa_server1
)
Weblogic Serverのプラットフォーム(デフォルトはlinux64
)
データベース・タイプ(デフォルトはoracle
)
データベースのURL
SOAスキーマ・ユーザー名
SOAスキーマ・パスワード
管理サーバーと管理対象サーバーの両方を再起動します。
インストール後のタスクの実行に加えて、次のものもインストールする必要があります。
Oracle Document Editorの規格に基づいたテンプレートを使用して、ガイドライン・ファイルを作成します。次に、Oracle JDeveloperでHealthcareアダプタのバインディング・コンポーネントを使用して、図1-1に示すように、Healthcareコンポジットを作成してデプロイします。
図1-1 Oracle JDeveloper: SOAコンポジット・アプリケーションとHealthcareバインディング・コンポーネント
詳細は、次を参照してください:
Oracle SOA Suiteの一部としてのOracle SOA Suite for healthcare integrationのインストールについては、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteインストレーション・ガイド
Oracle Document Editorの「ヘルプ」・メニュー
Oracle JDeveloperの「ヘルプ」メニュー
以下の手順は、Oracle SOA Suite for healthcare integrationを含むOracle SOA Suiteがインストールされていることを前提としています。詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suiteインストレーション・ガイドを参照してください。
Oracle SOA Suite for healthcare integrationにログオンするには:
サポートされているWebブラウザを開き、次の場所にアクセスします。
http://host_name:port_number/healthcare
ここで
host_name
は、Oracle SOA Suiteがインストールされているホストの名前です。(クラスタ環境では、host_name
がフロントエンドのロード・バランサである場合があります)
port_number
は、管理対象サーバーによる通常のHTTP(非SSL)またはHTTPS(SSL)接続のリスニングに使用されるポート番号です。(クラスタ環境では、port_number
はルーター・ポートになります。)
詳細は、1.3.1項「ポート情報の検索」を参照してください。
/healthcare
はヘルスケア統合ユーザー・インタフェースにアクセスします。
ログイン・ページで、次の情報を入力します。
フィールド名 | 指定する情報 |
---|---|
ユーザー名 |
デフォルトの管理者ユーザー名を入力します。 |
パスワード |
Oracle Fusion Middleware 11gインストールの管理者パスワードを使用します。 |
Oracle Weblogic Server管理コンソールから:
コンソールにログオンします。
「ドメイン構造」ペインで、図1-2に示すように、「環境」を開いて「サーバー」をクリックします。
サーバーの「リスニング・ポート」列を書き留めます。
MW_HOME
/user_projects/domains/
your_domain_name
/config/config.xml
から
<server>
<name>soa_server1</name>
<ssl>
<name>soa_server1</name>
<listen-port>8002</listen-port>
</ssl>
<machine>LocalMachine</machine>
<listen-port>8001</listen-port>
<listen-address/>
</server>
Healthcareアクティビティは次のようにグループ化されています。
「デザイナ」タブの「構成」サブタブを使用して(図1-3を参照)、ドキュメント・プロトコル、エンドポイント、コールアウト、マップセットを構成し、「管理」サブタブを使用して、ランタイムおよびユーザー・インタフェース設定や内部デリバリ・チャネル設定の変更、メタデータのインポート、エクスポートおよびパージを行います。
「構成」タブの「ドキュメント・プロトコル」フォルダを使用して、ドキュメント・プロトコル、ドキュメント・プロトコル・バージョン、ドキュメント・タイプおよびドキュメント定義を作成、変更、削除できます(図1-4を参照)。これらのドキュメント定義は、後からエンドポイントに関連付けることができます。
ドキュメントおよびドキュメント・プロトコルの詳細は、第3章「ドキュメント・タイプおよびドキュメント・プロトコルの操作」を参照してください。
エンドポイントとは、メッセージの送受信が行われる場所です。URL、フォルダ、パスなどをエンドポイントにすることができます。「構成」タブの「エンドポイント」フォルダを使用して、エンドポイントの作成、変更、削除およびドキュメント定義にエンドポイントの関連付けを行うことができます。
図1-5は、エンドポイントの例を示しています。
エンドポイントの詳細は、第4章「エンドポイントの操作」を参照してください。
コールアウトは、メッセージ処理をカスタマイズするために使用します。たとえば、コールアウトを使用してメッセージを更新したり、リモート・エンドポイントのメッセージ形式を別の形式に変換できます。「構成」タブの「コールアウト」フォルダを使用して、コールアウトを作成、変更または削除できます。
図1-6は、コールアウトの例を示しています。
コールアウトの詳細は、第5章「コールアウトの操作」を参照してください。
マップセットを使用すると、あるネイティブ・データ形式を別のネイティブ形式に直接変換できます。「構成」タブの「マップセット」フォルダを使用して、マップセットを作成、変更または削除できます。
図1-7は、マップセットの例を示しています。
マップセットの詳細は、第6章「マップセットの操作」を参照してください。
内部デリバリ・チャネルは、内部の医療システムでのメッセージの使用を可能にするためのOracle SOA Suite for healthcare integrationからJMSトピックまたはキューへのメッセージの配信方法または外部システムからトピックまたはキューに送信されたメッセージのOracle SOA Suite for healthcare integrationへの配信方法を定義します。接続情報やトランスポート・プロトコルなどが定義されます。「管理」タブの「内部デリバリ・チャネル」を使用して、内部デリバリ・チャネルを作成および構成できます。
図1-8は、内部デリバリ・チャネルの例を示しています。
内部デリバリ・チャネルの詳細は、第7章「内部デリバリ・チャネルの操作」を参照してください。
Oracle SOA Suite for healthcare integrationでは、ランタイムおよびユーザー・インタフェースのプロパティを変更できます。「管理」タブの「設定」フォルダにある「ランタイム」アイコンと「UI」アイコンを使用して、これらのプロパティを変更できます。
ランタイム設定: 「ランタイム」アイコンをダブルクリックしてランタイム設定ページを開き、機能確認、大規模なペイロード、コールアウト・ディレクトリ名、ディスパッチャ数に関連するランタイム・パラメータを変更できます。
図1-9は、ランタイム設定ページを示しています。
ユーザー・インタフェース設定: 「UI」アイコンをクリックしてユーザー・インタフェース設定ページを開き、次の項目を指定できます。
時間スライダ期間: ダッシュボード・サマリー・ページの「時間範囲」で選択できるようにするため、最大9つの時間スライダ期間を選択できます。
「ダッシュボード・サマリー」設定: ダッシュボードの統計情報を表示する履歴の時間範囲、エンドポイント・ステータス・グリッドに使用する列数、ダッシュボード・サマリー・ビューの自動リフレッシュ間隔(秒単位)を指定できます。
「エンドポイント」設定: ドキュメント・タイプ統計情報の表示形式(ゲージまたは表)、ゲージ・グリッドで使用する列数、ダッシュボードのエンドポイント詳細ビューの自動リフレッシュ間隔(秒単位)を指定できます。
「レポート」設定: レポートの自動リフレッシュ間隔(秒単位)、レポート結果表に表示される1ページ当たりの行数、メッセージ・ペイロードの表示を指定できます。
図1-10は、ユーザー・インタフェース設定ページの例を示しています。
ランタイムおよびユーザー・インタフェース設定の詳細は、第13章「システム設定の構成」を参照してください。
リポジトリ管理ページでは、Oracle SOA Suite for healthcare integrationリポジトリ・データのエクスポートや、その他のエクスポート済ファイル(ドキュメント定義、マップセットまたはその他のhealthcare関連リポジトリ・データなど)のインポートを行うことができます。設計時および実行時のメタデータもパージできます。
Oracle SOA Suite for healthcare integrationリポジトリの管理の詳細は、第12章「リポジトリの管理」を参照してください。
アラートと連絡先ページでは、連絡先のリストを定義し、各連絡先に通知する必要があるイベントを関連付けることができます。実行時や設計時の様々なイベントに対しアラートを送信できます。
アラートおよび連絡先の管理の詳細は、第10章「アラートと連絡先の構成」を参照してください。
「ダッシュボード」タブをクリックすると、ダッシュボード・ページが表示されます。ダッシュボード・ページを初めて開くと、次のオプションが表示されます(図1-13を参照)。
タブが選択されたら表示するデフォルトのダッシュボードを設定: ダッシュボード・ページを開いたときにデフォルトで表示されるダッシュボードの名前を指定します
既存のダッシュボードを開くまたは編集: 使用可能なダッシュボードを開くか編集します
ダッシュボードの作成: 新しいダッシュボードを作成します
既存のダッシュボードの削除: ダッシュボードを削除します
その後ダッシュボード・ページにアクセスすると、前に指定したデフォルトのダッシュボード・ページが表示されます。このページには、特定のダッシュボードに関連付けられたすべてのエンドポイントが表示されます。このページではまた、エンドポイントの状態、エンドポイントが表示される列数、ダッシュボードの自動リフレッシュ間隔に関係なく、すべてのエンドポイントを表示するかどうかを指定できます。ページにあるダッシュボード・エディタ・ボタンを使用して、ダッシュボード名を変更したり、使用可能なエンドポイントのリストからダッシュボードに必要なエンドポイントを選択できます。
各エンドポイントには、エンドポイントのプロパティを表示したり、エンドポイントを構成するためのオプションがあります。特定のエンドポイントの情報アイコンにマウス・カーソルを合せると、エンドポイントのプロパティが表示されます。情報アイコンの横にある「このエンドポイントの構成」アイコンをクリックすると、関連するエンドポイントの編集ページにリダイレクトされます。
エンドポイント・ウィンドウの右上隅のアイコンをクリックして、詳細を表示できます。
図1-14は、ダッシュボード・ページの例を示しています。
ダッシュボードの詳細は、第8章「ダッシュボードの操作」を参照してください。
「レポート」タブをクリックすると、レポート・ページが表示されます。レポート・ページには、すべてのエンドポイントに関連する、すべての異なるタイプのインバウンド・メッセージとアウトバンド・メッセージ(ワイヤ、ビジネスおよびアプリケーション)が表示されます。また、このページでは次のことを実行できます。
使用可能なメッセージ全体を移動する
1ページ当たりに表示されるメッセージ数を指定する
メッセージ・フィルタ・エディタを開いてビジネス・メッセージ・レポート・フィルタを作成する
自動リフレッシュ間隔を指定する
リストのメッセージをクリックすると、下のペインに選択したメッセージのすべての異なるメッセージ・タイプ(ワイヤ・メッセージ、ビジネス・メッセージ、アプリケーション・メッセージ)が表示されます。各メッセージ・タイプをクリックすると、詳細が表示されます。
図1-15は、メッセージ・リスト、メッセージ・タイプの詳細、ビジネス・メッセージ・レポート・エディタが表示されたレポートの例を示しています。
レポートの詳細は、第9章「レポートの作業」を参照してください。