次の方法で共有


HL7 2.X 逆アセンブラーのスキーマ決定

HL7 2.X メッセージには、ヘッダー セグメント (MSH) が含まれており、その後に多数の本文セグメントとオプションの数の Z セグメントが続きます。 MSH には 21 個のフィールドが含まれています。

メッセージが到着すると、2.X エンジンは ヘッダーを読み取って、メッセージ本文の解析に使用するスキーマを決定します。 次の一連のイベントが発生します。

  1. 逆アセンブラーは MSH3 (ソース パーティ) の値を読み取り、次の検証オプションを決定します。

    1. 本文の XML 検証を実行するかどうか

    2. 本文データのカスタム データ型フィールドを検証するかどうか

    3. 本文で末尾の区切り記号を許可するかどうか

    4. 本文スキーマのターゲット名前空間とは (TargetNS)

  2. 逆アセンブラーは MSH9 と MSH12 を読み取って、本文のルート ノード名を決定します。 アルゴリズムは次のようになります。

    Body schema type = TargetNS + "#" + MSH9.1 + MSH9.2 + MSH12.1 (with dots removed) + MSH12.2 (or GLO if the value is blank) + MSH12.3 (or DEF if the value is blank)  
    

    Microsoft BizTalk Accelerator for HL7 (BTAHL7) では、メッセージ ヘッダーの末尾の区切り記号が常に許可されます。 エンジンは、各行の最初の 3 文字であるセグメント識別子を調べます。 本文スキーマで定義されているすべてのセグメントに対して XML を生成し続けます。 未定義のセグメントが検出されると、そのセグメントは Z セグメントとして扱います。 その時点から、未定義のすべてのセグメントがメッセージの Z 部分を構成します。 次の MSH は、このメッセージの末尾をマークします。 バッチ メッセージの場合、次の MSH または BTS (バッチ トレーラー セグメント タグ) はメッセージの末尾をマークします。 Z セグメントには、スキーマで宣言されていないセグメントのみを含めることができます。 宣言されたセグメントが見つかった場合はエラーです。

参照

メッセージ処理
BTAHL72X フラット ファイル処理