プロダクションの構成
この章では、HL7 ルーティング・インタフェースを組み込むようにプロダクションを構成する方法について説明します。また、プロダクションがまだない場合に新しい HL7 ルーティング・プロダクションを作成する方法についても説明します。
この章では、[プロダクション構成] ページで実行するタスクについて説明します。次の章で追加のタスクについて説明します。
新しい HL7 ルーティング・プロダクションの作成
新しい HL7 ルーティング・プロダクションを作成できますが、そのためには、以下の操作を行います。
-
管理ポータルで、該当するネームスペースに切り替えます。
そのためには、タイトル・バーの [切り替え] を選択し、対象のネームスペースをクリックして、[OK] をクリックします。
-
[Interoperability]→[リスト]→[プロダクション] の順に選択します。
-
[新規作成] を選択して、プロダクション・ウィザードを呼び出します。
-
[パッケージ名]、[プロダクション名]、および [説明] を入力します。
-
[HL7メッセージ] プロダクション・タイプを選択し、[OK] を選択します。
初期のプロダクションのインタフェースは 1 つで、その要素は次のとおりです。
-
HL7FileService — デフォルト設定が適用された、無効な HL7 ファイル・サービス
-
MsgRouter — 空のルーティング・ルール・セットを含む HL7 ルーティング・プロセス
-
HL7FileOperation — デフォルト設定が適用された、無効な HL7 ファイル・オペレーション
HL7 ルーティング・プロダクションを作成する際には、このようなインタフェースを多数作成して構成します。まず、これらの初期要素を有効にし、コピーして名前を変更し、ニーズに合わせて変更できます。インタフェースの作成時に、ある項目を構成しているときに、まだ作成していない別の項目の名前を入力する必要が生じることがよくあります。混乱を回避するには、明確な名前付け規約が不可欠です。推奨事項については、"プロダクション作成のベスト・プラクティス" の “名前付け規約” を参照してください。規則については、"プロダクションの構成" の “構成名” を参照してください。
インタフェース要素に加えて、初期のプロダクションには、HL7 メッセージをルーティングするのではなく、サポート機能をプロダクションに提供する次のような要素も用意されています。
-
不正なメッセージ・ハンドラ — 検証に失敗したメッセージの組み込みの宛先
-
Ens.Alert — 企業のスケジュールや手順に合わせ、アラートのソース (つまり、問題がある要素) とさまざまな条件 (時刻など) に応じて異なる電子メール・ビジネス・オペレーションにアラート・メッセージをルーティングするように構成できるルーティング・ルール・セットを含むルーティング・プロセス
-
PagerAlert と EmailAlert — テキスト・メッセージ (アラートなど) を携帯電話または電子メール・アドレスに送信するように構成できる電子メール・ビジネス・オペレーション
HL7 ビジネス・サービスの追加
プロダクションがインターシステムズ製品外部からの HL7 メッセージを受信するようにするには、HL7 ビジネス・サービスをプロダクション構成に追加する必要があります。HL7 ビジネス・サービスをプロダクションに追加するには、HL7 ビジネス・サービスを作成してプロダクションに統合し、必要に応じて構成する必要があります。以降の項で詳しく説明します。
HL7 ビジネス・サービスの作成
HL7 ビジネス・サービスをプロダクションに追加するには、以下の操作を行います。
-
管理ポータルの [プロダクション構成] ページ (ホーム・ページから [Interoperability]→[構成する]→[プロダクション] を選択) でプロダクションを表示します。
-
[サービス] 列で、[追加] ボタン (プラス記号) をクリックします。
-
[HL7入力] タブをクリックします。
-
[入力タイプ] リストから以下のいずれかをクリックします。
-
TCP
-
ファイル
-
FTP
-
HTTP
-
SOAP
これにより、ビジネス・サービスのホスト・クラスが選択されます。
-
-
[HL7 サービス名] に、このビジネス・サービスの名前を入力します。この名前は、ビジネス・サービス間で一意である必要があります。ピリオドやスペースを使用しないでください。
デフォルトは、このサービスの基になるクラスの名前です。
-
[HL7 サービス・ターゲット] で、以下のいずれかを選択します。
-
[新規ルーター作成] — ルーティング・プロセスがプロダクションに追加され、ビジネス・サービスがそのプロセスをターゲットとして使用するように構成されます。後で詳細を編集できます。
-
[今はなし] — このビジネス・サービスのターゲットを指定しません。
-
[リストから選択] — この場合、ドロップダウン・リストから既存のビジネス・ホストも選択します。
-
-
[OK] をクリックします。
ここで使用する HL7 ビジネス・サービスに加えて、インターシステムズは、EnsLib.File.PassthroughServiceOpens in a new tab と EnsLib.FTP.PassthroughServiceOpens in a new tab という 2 つの単純なビジネス・サービスを提供しています。プロダクション内でファイルを転送するだけでよく、ファイルを解析したり、ファイルの形式を HL7 として設定したりする必要がない場合は、いずれかを選択できます。
HL7 メッセージでないデータをプロダクションが受信するようにする場合は、"プロダクションの開発" の “ビジネス・サービスの定義” を参照してください。"相互運用プロダクションの概要" の “接続オプション” も参照してください。
HL7 ビジネス・サービスの統合と構成
新しい HL7 ビジネス・サービスをプロダクションに統合するには、メッセージの転送先となるルーティング・プロセスまたはビジネス・オペレーションにそのビジネス・サービスを関連付ける必要があります。さらに、非標準のメッセージ構造をビジネス・サービスが受信するようにする場合は、それらのメッセージを解析して検証するためのカスタム HL7 スキーマ定義を作成する必要があります。これを行うには、以下を実行します。
-
HL7 ビジネス・サービスに必要な [ターゲット構成名] 項目または [メッセージ・スキーマ・カテゴリ] 項目を作成するための手順を完了します。これらの項目は次のいずれかにすることができます。
-
HL7 ルーティング・プロセス (ルーティング・インタフェースの場合)。次の節を参照してください。
-
HL7 ビジネス・オペレーション (設計上、このインタフェースのルーティング・プロセスを省略し、受信ビジネス・サービスから送信ビジネス・オペレーションにメッセージを渡すだけの場合)。この章で後述する “HL7 ビジネス・オペレーションの追加” を参照してください。
-
受信 HL7 メッセージを解析するためのカスタム HL7 スキーマ定義。カスタム・スキーマ・カテゴリの作成に関する情報は、"プロダクション内での仮想ドキュメントの使用法" の “カスタム・スキーマ・カテゴリの作成” を参照してください。
-
-
[プロダクション構成] ページのダイアグラムに戻ります。新しい HL7 ビジネス・サービスを選択します。[ターゲット構成名] フィールドと [メッセージ・スキーマ・カテゴリ] フィールドがこれまで空白だった場合は、ここで構成し、[適用] をクリックします。
-
必要に応じて、ビジネス・サービスのその他の設定を構成します。詳細は、“参照” の “HL7 ビジネス・サービスに関する設定” を参照してください。
HL7 ルーティング・プロセスの追加
HL7 ルーティング・プロセスをプロダクションに追加するには、HL7 ルーティング・プロセスを作成してプロダクションに統合し、必要に応じて構成する必要があります。以降の項で詳しく説明します。
HL7 ルーティング・プロセスの作成
HL7 ルーティング・プロセスをプロダクションに追加するには、以下の操作を行います。
-
管理ポータルの [プロダクション構成] ページ (ホーム・ページから [Interoperability]→[構成する]→[プロダクション] を選択) でプロダクションを表示します。
-
[プロセス] 列で、[追加] ボタン (プラス記号) をクリックします。
-
ビジネス・プロセス・オプションとして [HL7メッセージ・ルータ] をクリックします。ルータ・クラスは、デフォルトで EnsLib.HL7.MsgRouter.RoutingEngineOpens in a new tab に設定されます。
-
[HL7 ルータ名] に、このビジネス・プロセスの名前を入力します。この名前は、ビジネス・プロセス間で一意である必要があります。ピリオドやスペースを使用しないでください。
デフォルトは、このプロセスの基になるクラスの名前です。
-
[ルーティング・ルール名] で、以下のいずれかの操作を行います。
-
[ルーティング・ルール名] ドロップダウン・リストから既存のルーティング・ルールを選択します。
-
[ルールの自動作成] を選択して、[ルーティング・ルール名] にルール名を入力します。この場合、ウィザードによって、プロダクションと同じパッケージにルーティング・ルール・クラスが作成されます。
-
-
[OK] をクリックします。
HL7 ルーティング・プロセスの統合と構成
新しい HL7 ルーティング・プロセスをプロダクションに統合するには、その受信メッセージを受け取るビジネス・サービスと、それらのメッセージに基づいてそのアクションを決定するルーティング・ルール・セットにそのルーティング・プロセスを関連付ける必要があります。これを行うには、以下を実行します。
-
HL7 ビジネス・サービスを選択します。画面の右側にあるメニューで、[設定] タブをクリックし、[基本設定] メニューを開きます。[ターゲット構成名] フィールドに、新しい HL7 ルーティング・プロセスの名前を入力します。
-
ルーティング・ルール・セットを作成します。構成ダイアグラムでルーティング・プロセスを選択します。[ビジネス・ルール名] フィールドに、新しいルーティング・ルール・セットの完全名を入力します。
-
必要に応じて、ルーティング・プロセスのその他の設定を構成します。詳細は、“参照” の “HL7 ルーティング・プロセスに関する設定” を参照してください。
HL7 シーケンス・マネージャの追加
HL7 メッセージは、複数のプロセッサで処理される場合は特に、さまざまな理由から順序が正しくなくなることがあります。場合によっては、HL7 メッセージが正しい順序で処理されるようにするのが望ましいことがあります。そのような場合は、プロダクションの該当する部分に HL7 シーケンス・マネージャを追加できます。
HL7 シーケンス・マネージャは、受信 HL7 メッセージを (場合によっては複数のソースから) 受け取った後、メッセージの MSH:13 SequenceNumbers フィールドで指定された順序でメッセージをターゲット構成項目に転送するビジネス・プロセスです。
シーケンス・マネージャは、重複するメッセージ、およびメッセージ間の時間差を検出できます。また、連続するメッセージ間の時間差が大きく、問題を示している状況も特定します。感度のレベルを調整できますが、そのためには、構成設定を使用します。
HL7 メッセージ・ルーティング・プロダクションで使用する HL7 シーケンス・マネージャをビルドするには、HL7 シーケンス・マネージャを作成して構成した後、プロダクションに統合する必要があります。このトピックでそれぞれの手順について説明します。
HL7 シーケンス・マネージャは HL7 準拠の格納転送アプリケーションであり、HL7 標準の第 2 章、第 2.10.1 節で定義されている HL7 シーケンス番号プロトコルをサポートしていません。
HL7 シーケンス・マネージャの作成
HL7 シーケンス・マネージャをプロダクションに追加するには、以下の操作を行います。
-
管理ポータルの [プロダクション構成] ページ (ホーム・ページから [Interoperability]→[構成する]→[プロダクション] を選択) でプロダクションを表示します。
-
[プロセス] 列で、[追加] ボタン (プラス記号) をクリックします。
-
[プロセス・クラス] リストから EnsLib.HL7.SequenceManagerOpens in a new tab を選択します。
-
[名前] に、このビジネス・プロセスの名前を入力します。この名前は、ビジネス・プロセス間で一意である必要があります。ピリオドやスペースを使用しないでください。
デフォルトは、このプロセスの基になるクラスの名前です。
-
[OK] をクリックします。
必要に応じて、複数のシーケンス・マネージャをプロダクションに追加できます。
HL7 シーケンス・マネージャの統合と構成
新しい HL7 シーケンス・マネージャをプロダクションに統合するには、その受信メッセージを受け取るビジネス・サービスと、シーケンス・マネージャがメッセージを正しい順序に編成してから送信するターゲットにそのシーケンス・マネージャを関連付ける必要があります。これを行うには、以下を実行します。
-
HL7 ビジネス・サービスを選択します。[ターゲット構成名] フィールドに、新しい HL7 シーケンス・マネージャの名前を入力します。
-
HL7 シーケンス・マネージャの構成に戻ります。成功したメッセージの [出力ターゲット構成名] のリストを指定します。
-
重複するメッセージをシーケンス・マネージャがチェックするようにする場合は、[メッセージ重複チェック有効] を真に設定します。
トラブルシューティングを目的として重複するメッセージを保存する場合は、それらを受け取る HL7 ビジネス・オペレーションを作成します。[重複したメッセージターゲット] フィールドに、新しい HL7 ビジネス・オペレーションの名前を入力します。
-
順序が正しくないメッセージをシーケンス・マネージャがチェックするようにする場合は、[シーケンス番号チェックを実施 On] を [送信者] または [受信者] に設定し、[ラージギャップサイズ] と [メッセージウェイトタイムアウト] の値を設定して順序チェックの詳細を構成します。それ以外の場合は、[シーケンス番号チェックを実施 On] を [なし] に設定します。
トラブルシューティングを目的として順序が正しくないメッセージを保存する場合、それらを受け取る HL7 ビジネス・オペレーションを作成します。[メッセージターゲットのシーケンス範囲外] フィールドに、新しい HL7 ビジネス・オペレーションの名前を入力します。
-
シーケンス・マネージャがインターシステムズ製品外にメッセージを送信する前に変換するようにする場合は、[出力変換を実施 On] を [送信者] または [Receiver] に設定し、[出力ファシリティアプリケーション] の値を設定します。それ以外の場合は、[出力変換を実施 On] を [なし] に設定します。
-
シーケンス・マネージャがチェックや変換を行わずに、単に [出力ターゲット構成名] に送信する [パススルーメッセージタイプ] を指定します。
-
必要に応じて、シーケンス・マネージャのその他の設定を構成します。詳細は、“参照” の “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 ビジネス・オペレーションの作成
HL7 ビジネス・オペレーションをプロダクションに追加するには、以下の操作を行います。
-
管理ポータルの [プロダクション構成] ページ (ホーム・ページから [Interoperability]→[構成する]→[プロダクション] を選択) でプロダクションを表示します。
-
[オペレーション] 列で、[追加] ボタン (プラス記号) をクリックします。
-
[HL7出力] をクリックします。
-
[出力タイプ] リストから以下のいずれかをクリックします。
-
TCP
-
ファイル
-
FTP
-
HTTP
-
SOAP
この選択により、このビジネス・オペレーションのホスト・クラスが決まります。
-
-
[オペレーション名] に、このビジネス・オペレーションの名前を入力します。この名前は、ビジネス・オペレーション間で一意である必要があります。ピリオドやスペースを使用しないでください。
デフォルトは、このオペレーションの基になるクラスの名前です。
-
[OK] をクリックします。
ここで使用する HL7 ビジネス・オペレーションに加えて、インターシステムズは、EnsLib.File.PassthroughOperationOpens in a new tab と EnsLib.FTP.PassthroughOperationOpens in a new tab という 2 つの単純なビジネス・オペレーションを提供しています。プロダクション内でファイルを転送するだけでよく、ファイルを解析したり、ファイルの形式を HL7 として設定したりする必要がない場合は、いずれかを選択できます。
HL7 メッセージでないデータをプロダクションから送信するようにする場合は、"プロダクションの開発" の “ビジネス・オペレーションの定義” を参照してください。"相互運用プロダクションの概要" の “接続オプション” も参照してください。
HL7 ビジネス・オペレーションの統合と構成
新しい HL7 ビジネス・オペレーションをプロダクションに統合するには、メッセージを受信するターゲットとしてそのビジネス・オペレーションを指定するだけです。そのためには、HL7 ビジネス・オペレーションにメッセージを送信する項目を構成し、HL7 ビジネス・オペレーションの構成済みの名前を該当するフィールドに入力する必要があります。
-
ルーティング・インタフェースの場合は、ルーティング・ルール・セットの [ターゲット] フィールドに名前を入力します。
-
受信ビジネス・サービスから送信ビジネス・オペレーションにメッセージを転送するだけのパススルー・インタフェースを使用する設計を採用している場合は、HL7 ビジネス・サービスの [ターゲット構成名] フィールドに名前を入力します。
-
必要に応じて、ビジネス・オペレーションのその他の設定を構成します。詳細は、“参照” の “HL7 ビジネス・オペレーションに関する設定” を参照してください。
携帯電話アラートと電子メール・アラート
アラートを使用すると、プロダクションの実行中にユーザのデバイスに通知を送信できます。その目的は、システム管理者またはサービス技術者に問題の存在を警告することです。アラートは、電子メール、携帯電話、またはその他のメカニズムにより送信されます。詳細は、"プロダクションの構成" の “アラートの構成” を参照してください。
初期の HL7 ルーティング・プロダクションには、アラートをサポートするために次の要素が用意されています。
-
Ens.Alert — 初期のプロダクションには組み込みの Ens.Alert 要素が用意されています。この Ens.Alert は、AlertRule という関連するルーティング・ルール・セットを含むルーティング・プロセスです。
アラート・メッセージのソース (つまり、問題がある要素) とさまざまな条件 (時刻など) に応じて異なるビジネス・オペレーションにアラート・メッセージをルーティングするように AlertRule を構成できます。
AlertRule を構成するには、HL7 ルーティング・ルール・セットの場合と同様の手順に従います。ただし、次の点が異なります。
-
[メッセージ・クラス] で、Ens.AlertRequestOpens in a new tab を選択します。
-
[ターゲット] フィールドで、電子メール・ビジネス・オペレーションの構成済みの名前を選択または入力します。
-
-
PagerAlert と EmailAlert — テキスト・メッセージ (アラートの本文など) を携帯電話または電子メール・アドレスに送信するように構成できる通常の電子メール・オペレーションです。初期状態では、PagerAlert と EmailAlert は名前以外は同じです。アラートの優先度が異なるという事実を強調するために両方が用意されています。通常、優先度の高いアラートは携帯電話に送信され、優先度の低いアラートは電子メールに送信されます。
これらの初期のオペレーションをコピーする任意の数の宛先を構成できます。実行時に、AlertRule ルーティング・ルール・セットによって、使用する適切な宛先が決定されます。