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 スキーマ