プロダクションの構成
この章では、HL7 ルーティング・インタフェースを扱うようにプロダクションを構成する方法について説明します。また、プロダクションをまだ作成していない場合に、新しい HL7 ルーティング・プロダクションを作成する方法についても説明します。この章は以下のトピックで構成されています。
この章では、Ensemble, プロダクション構成 ページで実行するタスクについて説明します。次の章で追加のタスクについて説明します。
新しい HL7 ルーティング・プロダクションの作成
新しい HL7 ルーティング・プロダクションは、以下のように作成することができます。
-
管理ポータルで、該当するネームスペースに切り替えます。
そのためには、タイトル・バーの [切り替え] をクリックし、対象のネームスペースをクリックして [OK] をクリックします。
-
[Ensemble] をクリックします。
-
[構成する] をクリックします。
-
[プロダクション] をクリックし、[進む] をクリックします。
最後にアクセスしたプロダクションが、Ensemble, プロダクション構成 ページに表示されます。
-
[新規作成] をクリックして、プロダクション・ウィザードを呼び出します。
-
[パッケージ名]、[プロダクション名]、および [説明] に入力します。
-
[HL7メッセージ] オプションを選択し、[OK] をクリックします。
スタータ・プロダクションには 1 つのインタフェースがあり、その要素は以下のとおりです。
-
[HL7FileService] — デフォルト設定で無効になっている HL7 ファイル・サービス
-
[MsgRouter] — 空のルーティング・ルール・セットの HL7 ルーティング・プロセス
-
[HL7FileOperation] — デフォルト設定で無効になっている HL7 ファイル・オペレーション
HL7 ルーティング・プロダクションを構築するときは、このようなインタフェースを数多く作成および構成します。開始するには、これらのスタータ要素を有効にし、これらをコピーして名前を変更し、ニーズに合わせて変更します。インタフェースの構築の際、ある項目の構成中にまだ作成していない別の項目の名前を入力する必要が生じることが頻繁にあります。混乱を回避するには明確な命名規則が不可欠です。参考情報は、"Ensemble のベスト・プラクティス" の “命名規則” を参照してください。規則については、"Ensemble プロダクションの構成" の “構成名” を参照してください。
インタフェース要素のほかに、スタータ・プロダクションでは、HL7 メッセージをルーティングするのではなくプロダクションのサポート機能を提供するいくつかの要素を用意しています。
-
[不正メッセージ・ハンドラ] — 検証に失敗したメッセージ用の組み込みの宛先
-
[Ens.Alert] — 企業のスケジュールおよび手順に合わせ、アラートのソース (つまり、障害のある要素を持つもの) およびさまざまな条件 (時刻など) によって異なる電子メールのビジネス・オペレーションにアラート・メッセージをルーティングするよう設定できるルーティング・ルール・セットを使用するルーティング・プロセス
-
[PagerAlert] および [EmailAlert] — テキスト・メッセージ (アラートなど) を携帯電話または電子メール・アドレスに送信するよう設定できる電子メールのビジネス・オペレーション
HL7 ビジネス・サービスの追加
プロダクションが Ensemble の外部から HL7 メッセージを受信するためには、プロダクション構成に HL7 ビジネス・サービスを追加する必要があります。HL7 ビジネス・サービスをプロダクションに追加するには、それを作成してプロダクションに統合し、必要に応じて構成する必要があります。以降の項で詳細を説明します。
HL7 ビジネス・サービスの作成
HL7 ビジネス・サービスをプロダクションに追加するには、以下の操作を行います。
-
そのプロダクションを管理ポータルの Ensemble, プロダクション構成 ページで表示します。このページにアクセスするには、[Ensemble]、[構成する]、[プロダクション] の順にクリックし、[進む] をクリックします。
-
[サービス] 列で、[追加] ボタン (プラス記号) をクリックします。
ダイアログ・ボックスが表示されます。
-
[HL7入力] タブをクリックします。
-
[入力タイプ] リストから以下のいずれかをクリックします。
-
TCP
-
File
-
FTP
-
HTTP
-
SOAP
この選択によって、ビジネス・サービスのホスト・クラスが選択されます。
-
-
[HL7 サービス名] に、このビジネス・サービスの名前を入力します。ビジネス・サービス間で一意の名前でなければなりません。ピリオドと空白文字は使用できません。
デフォルトでは、このサービスの基本となるクラス名が使用されます。
-
[HL7 サービス・ターゲット] で、以下のいずれかを選択します。
-
[新しいルータの作成] — Ensemble によってルーティング・プロセスがプロダクションに追加され、そのプロセスをターゲットとして使用するようにビジネス・サービスが構成されます。後から、詳細を編集できます。
-
[今はなし] — このビジネス・サービスのターゲットは指定されません。
-
[リストから選択] — この場合、ドロップダウン・リストから既存のビジネス・ホストも選択します。
-
-
[OK] をクリックします。
Ensemble には、ここで使用されている HL7 ビジネス・サービスのほかに、EnsLib.File.PassthroughServiceOpens in a new tab と EnsLib.FTP.PassthroughServiceOpens in a new tab という 2 つの簡単なビジネス・サービスも用意されています。単にプロダクションを通じてファイルを渡すことだけが必要であり、ファイルを HL7 として解析またはフォーマットする必要がない場合は、これらのどちらでも選択できます。
HL7 メッセージでないデータをプロダクションで受信する場合は、"Ensemble プロダクションの開発" の “ビジネス・サービスの定義” を参照してください。また、"Ensemble の紹介" の “接続オプション” も参照してください。
HL7 ビジネス・サービスの統合と構成
新しい HL7 ビジネス・サービスを Ensemble プロダクションに統合するには、メッセージを渡すルーティング・プロセスまたはビジネス・オペレーションにこれを関連付ける必要があります。さらに、ビジネス・サービスで非標準のメッセージ構造を受信する場合、これらのメッセージを解析および検証するためのカスタムの HL7 スキーマ定義を作成する必要があります。これを行うには、以下を実行します。
-
HL7 ビジネス・サービスで必要となる [ターゲット構成名] 項目または [メッセージ・スキーマ・カテゴリ] 項目を作成する手順に従います。項目は以下のとおりです。
-
HL7 ルーティング・プロセス (ルーティング・インタフェース用)。次の節を参照してください。
-
HL7 ビジネス・オペレーション (設計上、このインタフェースのルーティング・プロセスを省略し、受信ビジネス・サービスから送信ビジネス・オペレーションに単にメッセージを渡すだけの場合)。この章の “HL7 ビジネス・オペレーションの追加” を参照してください。
-
カスタムの HL7 スキーマ定義 (受信 HL7 メッセージの解析用)。カスタム・スキーマ・カテゴリの作成に関する情報は、"Ensemble 仮想ドキュメント" の “カスタム・スキーマ・カテゴリの作成” を参照してください。
-
-
Ensemble, プロダクション構成 ページのダイアグラムに戻ります。新しい HL7 ビジネス・サービスを選択します。[ターゲット構成名] フィールドおよび [メッセージ・スキーマ・カテゴリ] フィールドが以前空白だった場合、これらをここで設定し、[適用] をクリックします。
-
必要に応じて、ビジネス・サービスの追加の設定を構成します。詳細は、“リファレンス” の “HL7 ビジネス・サービスの設定” を参照してください。
HL7 ルーティング・プロセスの追加
HL7 ルーティング・プロセスをプロダクションに追加するには、それを作成してプロダクションに統合し、必要に応じて構成する必要があります。以降の項で詳細を説明します。
HL7 ルーティング・プロセスの作成
HL7 ルーティング・プロセスをプロダクションに追加するには、以下の操作を行います。
-
そのプロダクションを管理ポータルの Ensemble, プロダクション構成 ページで表示します。このページにアクセスするには、[Ensemble]、[構成する]、[プロダクション] の順にクリックし、[進む] をクリックします。
-
[プロセス] 列で、[追加] ボタン (プラス記号) をクリックします。
ダイアログ・ボックスが表示されます。
-
ビジネス・プロセス・オプションとして [HL7メッセージ・ルータ] をクリックします。ルータ・クラスのデフォルト値は EnsLib.HL7.MsgRouter.RoutingEngineOpens in a new tab です。
-
[HL7 ルータ名] に、このビジネス・プロセスの名前を入力します。ビジネス・プロセス間で一意の名前でなければなりません。ピリオドと空白文字は使用できません。
デフォルトでは、このプロセスの基本となるクラス名が使用されます。
-
[ルーティング・ルール名] で、以下のいずれかの操作を行います。
-
[ルーティング・ルール名] ドロップダウン・リストから既存のルーティング・ルールを選択します。
-
[ルールの自動作成] を選択して、[ルーティング・ルール名] にルール名を入力します。この場合、ウィザードによって、プロダクションと同じパッケージにルーティング・ルール・クラスが作成されます。
-
-
[OK] をクリックします。
HL7 ルーティング・プロセスの統合と構成
新しい HL7 ルーティング・プロセスを Ensemble プロダクションに統合するには、受信メッセージを受け取るビジネス・サービス、およびこれらのメッセージに基づいてそのアクションを決定するルーティング・ルール・セットにこれを関連付ける必要があります。これを行うには、以下を実行します。
-
HL7 ビジネス・サービスを選択します。画面の右側のメニューで、[設定] タブをクリックし [基本設定] メニューを開きます。[ターゲット構成名] フィールドに、新しい HL7 ルーティング・プロセスの名前を入力します。
-
次の章の説明に従って、ルーティング・ルール・セットを作成します。構成ダイアグラム内のルーティング・プロセスを選択します。[ビジネス・ルール名] フィールドに新しいルーティング・ルール・セットの完全名を入力します。
-
必要に応じて、ルーティング・プロセスの追加の設定を構成します。詳細は、“リファレンス” の “HL7 ルーティング・プロセスの設定” を参照してください。
HL7 シーケンス・マネージャの追加
さまざまな理由で HL7 メッセージは順序を外れることがあります。これは特に複数のプロセッサでメッセージを処理している場合に起こります。場合によっては、HL7 メッセージが確実に正しい順序で処理されるようにするのが望ましいことがあります。このような場合は、プロダクションの該当する部分に HL7 シーケンス・マネージャを追加します。
HL7 シーケンス・マネージャは、(場合によっては複数のソースから) 着信する HL7 メッセージを受け入れ、そのメッセージをメッセージ内の MSH:13 SequenceNumbers フィールドで指定された順序でターゲットの構成項目に転送するビジネス・プロセスです。
シーケンス・マネージャには、複製メッセージと、メッセージ間のタイミング・ギャップを検出する機能があります。連続するメッセージ間のタイミング・ギャップが、問題であることを示すのに十分であるタイミングも判断します。検出感度のレベルは、構成設定により調整することができます。
HL7 メッセージ・ルーティング・プロダクションで使用する HL7 シーケンス・マネージャを構築するには、それを作成して構成し、プロダクションに統合する必要があります。このトピックでは、各手順について説明します。
Ensemble HL7 シーケンス・マネージャは、HL7 と互換性のある蓄積交換型アプリケーションであり、"HL7 Standard" の第 2 章 2.10.1 節で定義されている HL7 シーケンス番号プロトコルをサポートしていません。
HL7 シーケンス・マネージャの作成
HL7 シーケンス・マネージャをプロダクションに追加するには、以下の操作を行います。
-
そのプロダクションを管理ポータルの Ensemble, プロダクション構成 ページで表示します。このページにアクセスするには、[Ensemble]、[構成する]、[プロダクション] の順にクリックし、[進む] をクリックします。
-
[プロセス] 列で、[追加] ボタン (プラス記号) をクリックします。
ダイアログ・ボックスが表示されます。
-
[ProcessClass] リストから EnsLib.HL7.SequenceManagerOpens in a new tab を選択します。
-
[名前] に、このビジネス・プロセスの名前を入力します。ビジネス・プロセス間で一意の名前でなければなりません。ピリオドと空白文字は使用できません。
デフォルトでは、このプロセスの基本となるクラス名が使用されます。
-
[OK] をクリックします。
必要に応じて、1 つのプロダクションで複数のシーケンス・マネージャを使用できます。
HL7 シーケンス・マネージャの統合と構成
新しい HL7 シーケンス・マネージャを Ensemble プロダクションに統合するには、適切なシーケンスを整えた後で、受信メッセージを受け取るビジネス・サービスおよびメッセージを送信するターゲットの宛先にこれを関連付ける必要があります。これを行うには、以下を実行します。
-
HL7 ビジネス・サービスを選択します。[ターゲット構成名] フィールドに、新しい HL7 シーケンス・マネージャの名前を入力します。
-
HL7 シーケンス・マネージャの構成に戻ります。成功したメッセージの [出力ターゲット構成名] のリストに指定します。
-
シーケンス・マネージャで複製メッセージをチェックする場合は、[メッセージ重複チェック有効] を真に設定します。
トラブルシューティングのために複製メッセージを保存する場合は、これらを受け取る HL7 ビジネス・オペレーションを作成します。[重複したメッセージターゲット] フィールドに、新しい HL7 ビジネス・オペレーションの名前を入力します。
-
シーケンス・マネージャで順序を外れたメッセージをチェックするには、[シーケンス番号チェックを実施 On] を Sender または Receiver に設定し、[ラージギャップサイズ] および [メッセージウェイトタイムアウト] の値を設定してシーケンス・チェックの詳細を設定します。変換しない場合は、[シーケンス番号チェックを実施 On] を None に設定します。
トラブルシューティングのために順序を外れたメッセージを保存する場合は、これらを受け取る HL7 ビジネス・オペレーションを作成します。[メッセージターゲットのシーケンス範囲外] フィールドに、新しい HL7 ビジネス・オペレーションの名前を入力します。
-
Ensemble 外部に送信する前に、シーケンス・マネージャでメッセージを変換する場合は、[出力変換を実施 On] を Sender または Receiver に設定し、[出力ファシリティアプリケーション] の値を設定します。変換しない場合は、[出力変換を実施 On] を None に設定します。
-
シーケンス・マネージャがチェックや変換を行わず、単に [出力ターゲット構成名] に送信するだけの任意の [パススルーメッセージタイプ] を指定します。
-
必要に応じて、シーケンス・マネージャの追加の設定を構成します。詳細は、“リファレンス” の “HL7 シーケンス・マネージャの設定” を参照してください。
HL7 シーケンス・データへのプログラム処理によるアクセス
SQL を使用して、シーケンス・マネージャの実行時データにアクセスできます。そのためには、テーブル EnsLib_HL7.SM.RuntimeData.Thread に対してクエリを実行します。このテーブルには以下の文字列フィールドがあります。
HL7 メッセージから取得した送信または受信アプリケーションの名前。
HL7 メッセージから取得した送信または受信機能の名前。
以下のいずれかの文字列。
-
main
-
resend
以下のいずれかの文字列。
-
Sender
-
Receiver
指定した機能、アプリケーション、スレッド、およびタイプにおけるシーケンスの次の番号を識別します。
サンプルの SQL クエリを以下に示します。
SELECT Application,Thread,Type,NextSequenceNumber FROM EnsLib_HL7.SM.RuntimeData.Thread WHERE Facility = 'mine'
HL7 ビジネス・オペレーションの追加
プロダクションから HL7 メッセージを送信するには、HL7 ビジネス・オペレーションを追加する必要があります。HL7 ビジネス・オペレーションをプロダクションに追加するには、これを作成してプロダクションに統合し、必要に応じて構成する必要があります。以降の項で詳細を説明します。
HL7 ビジネス・オペレーションの作成
HL7 ビジネス・オペレーションをプロダクションに追加するには、以下の操作を行います。
-
そのプロダクションを管理ポータルの Ensemble, プロダクション構成 ページで表示します。このページにアクセスするには、[Ensemble]、[構成する]、[プロダクション] の順にクリックし、[進む] をクリックします。
-
[オペレーション] 列で、[追加] ボタン (プラス記号) をクリックします。
ダイアログ・ボックスが表示されます。
-
[HL7出力] をクリックします。
-
[出力タイプ] リストから以下のいずれかをクリックします。
-
TCP
-
File
-
FTP
-
HTTP
-
SOAP
この選択によって、このビジネス・オペレーションのホスト・クラスが決まります。
-
-
[オペレーション名] に、このビジネス・オペレーションの名前を入力します。ビジネス・オペレーション間で一意の名前でなければなりません。ピリオドと空白文字は使用できません。
デフォルトでは、このオペレーションの基本となるクラス名が使用されます。
-
[OK] をクリックします。
Ensemble には、ここで使用されている HL7 ビジネス・オペレーションのほかに、EnsLib.File.PassthroughOperationOpens in a new tab と EnsLib.FTP.PassthroughOperationOpens in a new tab という 2 つの簡単なビジネス・オペレーションも用意されています。単にプロダクションを通じてファイルを渡すことだけが必要であり、ファイルを HL7 として解析またはフォーマットする必要がない場合は、これらのどちらでも選択できます。
HL7 メッセージでないデータをプロダクションから送信する場合は、"Ensemble プロダクションの開発" の “ビジネス・オペレーションの定義” を参照してください。また、"Ensemble の紹介" の “接続オプション” も参照してください。
HL7 ビジネス・オペレーションの統合と構成
新しい HL7 ビジネス・オペレーションを Ensemble プロダクションに統合するには、このオペレーションをメッセージを受け取るターゲットとして識別するだけです。これには、メッセージを HL7 ビジネス・オペレーションに送信する項目を構成し、設定した HL7 ビジネス・オペレーションの [名前] を適切なフィールドに入力する必要があります。
-
ルーティング・インタフェースの場合、ルーティング・ルール・セットの [ターゲット] フィールドに名前を入力します。
-
設計で受信ビジネス・サービスから送信ビジネス・オペレーションにメッセージを渡すだけのパススルー・インタフェースを使用する場合は、HL7 ビジネス・サービスの [ターゲット構成名] フィールドに名前を入力します。
-
必要に応じて、ビジネス・オペレーションの追加の設定を構成します。詳細は、“リファレンス” の “HL7 ルーティング・オペレーションの設定” を参照してください。
携帯電話および電子メールのアラート
アラートには、Ensemble プロダクションの稼動中にユーザ・デバイスに通知を送信する機能があります。その目的は、システム管理者またはサービス技術者に問題の存在を警告することです。アラートは電子メール、携帯電話、またはその他のメカニズムにより送信されます。詳細は、"Ensemble プロダクションの構成" の “アラートの構成” を参照してください。
スタータ HL7 ルーティング・プロダクションでは、アラートをサポートする以下の要素を用意しています。
-
Ens.Alert — スタータ・プロダクションには、組み込みの Ens.Alert 要素が用意されています。Ens.Alert は、AlertRule と呼ばれる関連するルーティング・ルール・セットのあるルーティング・プロセスです。
AlertRule を設定し、アラート・メッセージのソース (つまり障害のある要素を持つもの) およびさまざまな条件 (時刻など) によって異なるビジネス・オペレーションにアラート・メッセージをルーティングすることができます。
Tip:時刻関数例を表示するには、ENSDEMO ネームスペース内のクラス Demo.HL7.MsgRouter.FunctionsOpens in a new tab にあるサンプル関数を参照してください。
AlertRule を設定するには、以下を除いて、HL7 ルーティング・ルール・セットのいずれかと同様の手順に従います。
-
[メッセージ・クラス] では Ens.AlertRequestOpens in a new tab を選択します。
-
[ターゲット] フィールドでは、電子メール・ビジネス・オペレーションの構成名を選択または入力します。
-
-
PagerAlert および EmailAlert — これらは、テキスト・メッセージ (アラート本文など) を携帯電話または電子メール・アドレスに送信するよう設定できる通常の電子メール・オペレーションです。PagerAlert と EmailAlert は、もともと名前以外は同一です。アラートに異なる優先度があるということを強調するため、両方が提供されます。一般に、優先度の高いアラートは携帯電話に、優先度の低いアラートは電子メールに送信されます。
これらのスタータ・オペレーションをコピーする宛先はいくつでも設定できます。実行時に、使用に適した宛先を AlertRule ルーティング・ルール・セットが決定します。