HL7 用のルーティング・ルール・セットの定義
HL7 インタフェースのルーティング・ルール・セットを作成する際の目的は、ソース・メッセージ内で見つかったセグメントに基づいてメッセージをどのように処理するかをプロダクションに指示することです。見つかったセグメントが重要である場合もあれば、それらのセグメント内で見つかった値が重要である場合もあります。
通常のルール・セットでは、各ルールは、そのルール・セットを呼び出したビジネス・プロセスに値を返します。ルーティング・ルール・セットでは、ルールは通常、HL7 メッセージを宛先に送信します。HL7 メッセージを送信する前に、変換することもあります。
ルール・セットを作成する場合は、予約パッケージ名を使用しないでください。"プロダクションの開発" の “予約パッケージ名” を参照してください。
ルール・エディタの使用については、"ビジネス・ルールの開発" の “ルール・セットの作成および編集” を参照してください。
-
ビジネス・ルール・ウィザードを使用して新しい HL7 ルーティング・プロセスを作成すると、新しいルーティング・プロセスと共に新しい空のルーティング・ルール・セットが作成されます。その情報テーブルには次の値が表示されます。
-
[パッケージ名] — プロダクション・クラスを格納するパッケージ。例えば、ウィザードを使用して、TestRule.MyTest というプロダクションにルーティング・プロセスを追加した場合、関連付けられたルーティング・ルールの [パッケージ名] は次のようになります。
TestRule
-
[ルール名] — ウィザードで選択した簡単な [ルーティング・ルール名]。例えば、次のようになります。
MyRule
[パッケージ名] と [ルール名] の組み合わせによって、ネームスペース内でルールが一意に識別されます。ルール定義の完全名は、次のように、[パッケージ名] と [ルール名] をドット (.) でつないだものになります。
TestRule.MyRule
HL7 ルーティング・プロセスを構成する際には、[ルール名] ではなく、この完全名が [BusinessRuleName] フィールドで使用する正しい値となります。ビジネス・プロセス・ウィザードでは自動的にこのように設定されます。
-
[ルーチン・エンジン・クラス] — ウィザードからのデフォルトの [ルータ・クラス]。変更しないでください。
EnsLib.HL7.MsgRouter.RoutingEngine
-
-
独自のルール・レポートを目的として、次の追加フィールドを入力することもできます。
-
[レポートグループ] — レポートを目的としてルールをグループ化するために使用する値
-
[レポート名] — ルール・レポート・グループの表示値
-
[簡単な説明] — ルール定義の簡単な説明 (オプション)
-
-
ルーティング・ルールの制約を入力する方法の詳細は、"ビジネス・ルールの開発" の “ルール制約エディタの使用” を参照してください。
-
新しいルールを作成したら、[条件] と [アクション] を追加できます。詳細は、"ビジネス・ルールの開発" の “ルール・セットの作成および編集” の章を参照してください。各ルールに [条件] を追加する際には、次のヒントに留意してください。
-
[条件] では、AND 演算子、OR 演算子の順に評価されます。
-
[条件] では、HL7 メッセージ・オブジェクトのプロパティを参照できます。[条件] 内では、次の例のように、特殊変数 Document は HL7 メッセージ・オブジェクトを表します。HL7 バッチ・ドキュメントについては、特殊変数 Document.Parent を使用して、親メッセージ・オブジェクトを表すことができます。
Document.Name Document.Parent.DocType Document.{PIDgrp.PV1grp.PV1:18} Document.{PIDgrp.PID:PatientName.familylastname} Document.{ORCgrp(1).OBRuniongrp.OBRunion.OBR:4.3}
Note:過去のリリースとの下位互換性を維持するため、特殊変数 HL7 と HL7.Parent が Document と Document.Parent の代替としてサポートされています。
ドットによって、Document 変数とプロパティ名が区切られます。この名前には次のものがあります。
-
クラス・プロパティのいずれか (DocType、TypeCategory、BuildMapStatus、または Name)
-
次のいずれかの規則を使用して参照される仮想プロパティ
-
{segmentPath:field}
-
[segmentName:field]
-
(multi-valued-property-path)
-
<context|expression>
詳細は、“プロダクション内での仮想ドキュメントの使用法” の構文ガイドの節を参照してください。ただし、手動でプロパティを入力する必要はありません。"ビジネス・ルールの開発" の “ルール・セットの作成および編集” の説明に従ってプロパティを参照できます。
-
-
-
-
次のいくつかのトピックで説明する手順を完了して、ルーティング・ルール・セットに必要な [ソース] 項目、[ターゲット] 項目、または [変換] 項目を作成します。これらの項目は次のいずれかにすることができます。
-
メッセージをルールにルーティングする HL7 ビジネス・サービス
-
メッセージを送信する前に変換する DTL データ変換
-
メッセージを外部アプリケーションにルーティングする HL7 ビジネス・オペレーション
-
HL7 ルーティング・プロセス ([ソース] にすることも、[ターゲット] にすることも可能)
項目を作成したら、メッセージ・ルーティング・ルール・エディタに戻って、ルール定義の該当フィールドに追加します。
-
-
[プロダクション構成] ページのダイアグラムに戻ります。対応する HL7 ルーティング・プロセスを選択します。[BusinessRuleName] フィールドに、新しいルーティング・ルール・セットの完全名を入力します。