Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ルーティング・ルール・セット

[ruleSet] タブをクリックします。

generated description: ruleset1 20141

ルーティング・ルール・セットには、一連のルールやアクションが含まれています。個々のルールにはアクションを含めることができますが、[when] ブロックに埋め込む必要があります。[when] ブロック内のアクションは、メッセージがルールの [制約][when] ブロックの [条件] と一致する場合にのみ実行されます。[制約] は、メッセージによって転送される HL7 データの HL7 スキーマやメッセージ構造、メッセージのソース (ルータにメッセージを送信したコンポーネント) など、メッセージのメタデータ条件を指定します。通常、[条件] では、メッセージや HL7 コンテンツに関する具体的な詳細を指定します。

上記のルール・セットには 1 つのルールしか含まれていません。[制約] は空白です。これは、すべての受信メッセージが制約と一致することを意味します。ルールには 1 つの [when] ブロックが含まれています。条件が 1 に設定されており、これは常に真であることを意味します (条件を空白にすることはできません)。したがって、すべての受信メッセージが制約と共に条件と一致します。

[when] ブロックには以下の 2 つのアクションが含まれています。

  • [send] — このアクションは、オプションで最初にデータ変換を適用して、[ターゲット] (プロダクション内の他のコンポーネント) にメッセージを送信します。適用する変換は [変換] ボックスで指定します。つまり、この場合、アクションは Tutorial.DemoDTL 変換を使用してメッセージを変換し、TutorialFileOperation にそのメッセージを送信します。

  • [return] — このアクションはルール・セットの実行を終了します。

ルータがメッセージを受信すると、ルール・セットの実行を開始します。ルータは、ルール・エディタにリストされている順番 (上から下) でルールとアクションを実行します。[return] アクションが実行されるか、セット内の最後のルールまたはアクションが実行されると実行が終了します。

個々のルールには複数の [when] ブロックを含めることができます。[when] ブロックのシーケンスは if..elseif 構造と同様に動作します。条件が現在のメッセージと一致する最初の [when] ブロックのアクションのみが実行されます。一連の [when] ブロックは、[otherwise] で終了できます (else 構造と似ている)。[otherwise] ブロックのアクションは、先行する [when] ブロックのいずれの条件にもメッセージが一致しない場合に実行されます。

Note:

ルーティング・ルール・セットの詳細は、"Ensemble HL7 バージョン 2 開発ガイド" の "HL7 のルーティング・ルール・セットの定義" を参照してください。

FeedbackOpens in a new tab