次の方法で共有


BTAHL72X フラット ファイル処理

Microsoft BizTalk Accelerator for HL7 (BTAHL7) の次のコンポーネントは、HL7 2.X (HL7 エンコード) メッセージを処理します。

  • パイプラインとコア ライブラリ: BTAHL7.PipelineCommon.dll と BTAHL7.PipelineMessageCore.dll

  • アセンブラーおよび逆アセンブラー ライブラリ: BTAHL7.HL72fAsm.dll と BTAHL7.HL72fDAsm.dll

  • 双方向 MLLP 送信アダプターに使用される受信確認 (ACK) 検証ライブラリ: BTAHL7.HL7ACKHelper.dll

HL7 メッセージ モード

BTAHL7 では、2.X メッセージに対して次のメッセージ モードがサポートされています。

  • パブリッシャー サブスクライバー (pub-sub) モード

    パブリッシャーは、サブスクライバーのパーティに対して、宣言型または未承諾の更新プログラムとしてブロードキャストします。 BizTalk Serverと BTAHL7 は、設計後にサブスクリプションとパーティを管理できるため、このモードに柔軟性を提供します。

  • 要求/応答モード

    特定のエンティティからの特定の要求によって応答メッセージが発生する、尋問またはクエリ メッセージ交換。

フラット ファイルの解析

BTAHL7 は、HL7 2.X マルチパート メッセージを 3 つの部分に解析します。

  • Header-MSH パーツ

  • ボディパーツ

  • Z パーツ

HL7 ヘッダーの検証

HL7 逆アセンブラーとアセンブラーは、メッセージを処理できることを確認するために、2.X メッセージのヘッダーの構造的および概略的な検証を実行します。 BTAHL7 は、共通ヘッダー スキーマ (MSH_25_GLO_DEF) に対するスケマティック検証に基づいて行います。

たとえば、パーサーは、MSH1 フィールドと MSH2 フィールドが整形式であると判断します。 MSH1 には 1 文字のみを含む必要があります。 MSH2 は 2 ~ 4 文字にする必要があり、文字を繰り返し実行することはできません。

HL7 本文の検証

HL7 逆アセンブラーとアセンブラーは、2.X メッセージの本文の基本的な構造検証と、それを有効にした場合の概略検証を実行します。

BTAHL7 が常に実行するボディの基本的な構造検証には、次の検証が含まれます。

  • セグメントに 3 つの文字があること

  • セグメント区切り記号が CR> または <CR><LF> である <(最後のセグメントでは省略可能)

  • そのフィールド区切り記号が適切である

  • 宣言されていない Z セグメントに宣言されたセグメント (定義された 3 文字のセグメント タグを持つ) が存在しない

    本文のより広範なスキーマ検証には、次のものが含まれます。

  • 末尾フィールド区切り記号

    ヘッダー-MSH セグメントと本文セグメント

  • Z セグメント

  • XSD でサポートされるデータ型とカスタム データ型

    XSD でサポートされている XSD 型と非 XSD 型 (TS (タイム スタンプ)、DT (日付)、TM (時刻)、および TN (電話番号)

  • 列挙

    ID (HL7 定義テーブル) と IS (ユーザー定義テーブル)

  • 選択肢

    必須と省略可能

  • 繰り返し

    セグメントとフィールド

  • エスケープ シーケンス

    文字、書式設定、文字セットのエンコード

    特定のパーティ (アセンブラーの送信元パーティ、アセンブラーの宛先パーティ) から受信または送信されたすべてのメッセージのスケマティック検証を有効または無効にします。 BTAHL7 では、MSH9.3 メッセージ構造ヘッダー フィールド、MSH12 バージョン ID フィールド (2.3.1、2.4、または 2.5)、および BTAHL7 Configuration エクスプローラーの名前空間設定によって決定されるように、この処理に HL7 2.X スキーマを直接使用します。

HL7 逆アセンブラー処理

HL7 逆アセンブラーは、受信 HL7 メッセージを XML セグメントに解析して処理します。 メッセージを解析すると、逆アセンブラーは次のタスクを実行します。

  • エスケープ シーケンスを処理する

  • 必須/省略可能なプロパティのチェックを処理します

  • 定義されたセグメントと未定義または予期しない Z セグメントを処理します (Z セグメントの説明については、「 Z オブジェクトによるメッセージのカスタマイズ」を参照してください)。

  • インスタンスの末尾にある予期しないセグメントを無視します (宣言されていない Z セグメントになります)。

[エラー報告]

BTAHL7 は、セグメント、シーケンス、フィールド、およびエラー コードを含む、標準の HL7 エラー形式でほとんどのエラーを報告します。 ただし、スキーマが存在しない場合など、これらのすべてが使用できるわけではないようなエラー状態になる場合があります。 このようなケースを処理するために、BTAHL7 は代替 BTAHL7 エラー形式でエラーを報告できます。 メッセージ内のエラー セグメントには、HL7 エラー用と代替 BTAHL7 エラー用の 2 つの部分が含まれています。

ACK 生成

BTAHL7 では、2.X メッセージに対して次の種類の受信確認 (ACK) がサポートされています。 HL7 エラーの種類と BTAHL7 (代替) エラーの種類の両方が使用されます。

  • 元のメッセージと ACK のマッピング

  • HL7 の元の AKS

  • HL7 拡張 ACL

    コミットの受け入れとアプリケーションの承諾

  • 静的/プロキシ ACK

    ACK または NAK

プロパティの昇格

BTAHL7 では、次の 2.X プロパティの昇格がサポートされています。

  • プロパティ スキーマ

  • MSH-header スキーマ

このセクションの内容

参照

メッセージ処理
HL7 メッセージの処理
HL7 2.X スキーマの使用