|
|
WebOTX Manual V11.1 (第6版) 目次を表示 |

図2.9.12-1

図2.9.12.1-1
|
項目 |
説明 |
|---|---|
|
/META-INF/schema |
メッセージ検証用スキーマ、SU個別のHL7カスタマイズスキーマを格納するフォルダです。 |
|
/META-INF/jbi.xml |
サービスユニットの配備記述子です。 |
|
/auto-reply/default.xml |
MSH.9-メッセージ型に対応した固定応答のファイルです。 |
|
/sft/sft.xml |
SFTテンプレートファイルです。 |
|
endpoints.xml |
HL7 BCのエンドポイントの設定が記述されます。 |
|
*.su |
サービスユニットの管理ファイルです(編集不可)。 |

図2.9.12.2-1
Memo
エンドポイントを追加する方法については、
2.7.1. エンドポイントの追加 をご覧下さい。
|
設定項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
| エンドポイント一覧 | |||||
| SUで定義されたエンドポイントの一覧を表示します。 | |||||
| 基本設定 | |||||
|
エンドポイントロール |
外部クライアントからHL7メッセージを受け取る場合(Inbound)はコンシューマを設定します。 外部サービスを呼び出す場合(Outbound)はプロバイダを設定します。 ※ コンシューマでエンドポイントロールを指定する場合、参照をクリックすると、SU-エンドポイント一覧 ダイアログが表示されます。このダイアログを利用して、カレントサービスアセンブリプロジェクトに存在しているサービスユニットに関するサービス名やインタフェース名などの情報を再利用できます。
|
プロバイダ、コンシューマから選択 [必須] |
|||
|
サービス名 |
エンドポイントロールがプロバイダの場合、エンドポイントが提供するサービス名を指定します。 エンドポイントロールがコンシューマの場合、呼び出し先となるエンドポイントのサービス名を指定します。 |
QName(名前空間、ローカル名) [必須] |
|||
|
インタフェース名 |
エンドポイントロールがプロバイダの場合、エンドポイントが提供するインタフェース名を設定します。 コンシューマの場合、呼び出し先となるエンドポイントのインタフェース名を指定します。 |
QName(名前空間、ローカル名)[必須] |
|||
|
ESBインスタンス名 |
分散ESB機能を使用する場合にのみESBインスタンス名を指定します。
その他の場合は空欄にします。 |
文字(A-Z、a-z)、数字(0-9)、ハイフン(-)、点(.)、下線(_)の組み合わせ [任意] |
|||
| オペレーション一覧 | |||||
|
オペレーションを設定します。 詳細については、[2.9.12.3. オペレーション設定] をご覧下さい。 |
|||||
| メッセージエクスチェンジハンドラ | |||||
|
メッセージエクスチェンジハンドラを設定します。 詳細については、 [2.7.6. メッセージハンドラの設定] をご覧下さい。 |
|||||
| 共通設定 | |||||
|
共通項目(セキュリティ認証、トランザクション、メッセージ送信優先度、エラーリトライ)を設定します。 セキュリティ認証の詳細については、File BC の[2.9.5.4. セキュリティ認証の設定] をご覧下さい。 トランザクション、メッセージ送信優先度、エラーリトライについては、それぞれ、 [2.7.2. トランザクションの設定]、 [2.7.3. メッセージ送信優先度の設定]、 [2.7.4. エラーリトライの設定]をご覧下さい。 |
|||||
| オプション一覧 | |||||
|
オプションを設定します。 [2.7.5. オプション一覧の設定]を参照して下さい。 |
|||||
|
設定項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
| HL7 BCの設定 | |||||
| HL7メッセージのバージョン | HL7メッセージのバージョンを指定します。この設定値はメッセージの受信、HL7メッセージ変換、メッセージの検証、fault/エラーメッセージの送信、シーケンス番号応答メッセージで使用されます。 | デフォルト値: 2.5 | |||
| メッセージ変換 | メッセージ変換元フォーマット | HL7メッセージの変換元フォーマットを指定します。 |
下記の値から選択。[必須]
|
||
| メッセージ変換先フォーマット | HL7メッセージの変換先フォーマットを指定します。 |
下記の値から選択。[必須]
|
|||
| メッセージ変換エラーを無視する | HL7メッセージのフォーマット変換時に発生したエラーを無視して処理を続行するかどうかを指定します。 |
下記の値から選択。[必須]
|
|||
| シーケンス番号プロトコルを有効化する | シーケンス番号プロトコルの有効化/無効化を指定します。 |
下記の値から選択。[必須]
|
|||
| MSHセグメント | メッセージ日時フォーマット | 固定応答メッセージ送信時とエラーメッセージ送信時のメッセージ日時・制御IDのフォーマットを指定します。 |
下記の値から選択。
|
||
| タイムゾーンの付加 | 固定応答メッセージ送信時とエラーメッセージ送信時のメッセージ日時・制御IDのフォーマットに、タイムゾーンの情報を付加するかどうかを指定します。 |
下記の値から選択。[必須]
|
|||
| MSHセグメントの検証 | MSHセグメントの検証を有効化する | MSHセグメントの検証の有効化/無効化を指定します。 |
下記の値から選択。[必須]
|
||
| 処理ID |
検証対象とするMSHセグメントの処理IDを指定します。 P = Production, D = Debugging, T = Training |
下記の値から選択。
|
|||
|
HL7メッセージ のバージョン |
MSHセグメントの検証時に使用する HL7メッセージのバージョンを表示します。 前出の "HL7メッセージのバージョン" と同じ値を表示しており、編集はできません。 | "HL7メッセージのバージョン" の値 | |||
| SFTセグメント | 要求メッセージのSFTセグメントの処理 | 要求メッセージ中のSFTセグメントの処理方法を設定します。 |
下記の値から選択。[必須]
|
||
| 応答メッセージのSFTセグメントの処理 | 応答メッセージ中のSFTセグメントの処理方法を設定します。 |
下記の値から選択。[必須]
|
|||
| SFTテンプレートファイルのパス | 使用するSFTテンプレートファイルのファイルパスを指定します。 | デフォルト値:sft/sft.xml | |||
| アプリケーション肯定応答 | 固定応答を使用する | アプリケーション肯定応答に固定応答を使用するかどうかを指定します。 |
下記の値から選択。[必須]
|
||
| 固定応答ファイル格納ディレクトリ | 固定応答に使用するファイルの格納ディレクトリを指定します。 |
デフォルト値:auto-reply |
|||
| 下位層プロトコル(LLP) | クラス名 | HL7メッセージ通信に使用するプロトコルのクラス名を指定します。 |
下記の値から選択。
|
||
| パラメータ | 詳細については、[2.9.12.10. MLLPパラメータ詳細設定] をご覧下さい。 | ||||

図2.9.12.3-1
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
|
オペレーション名 |
エンドポイントロールがプロバイダの場合、エンドポイントが提供するオペレーション名を指定します。 エンドポイントロールがコンシューマの場合、呼び出し先となるエンドポイントのオペレーション名を指定します。 |
QName(名前空間、ローカル名) [必須] |
|||
|
メッセージ交換方式 |
使用するメッセージ交換方式を指定します。 コンシューマの場合、プロバイダの提供するメッセージ交換方式を指定してください。 |
in-only、 in-out、robust-in-only から選択
[必須] |
|||
| スキーマファイル | インプット/アウトプット |
対象SUフォルダのMETA-INFフォルダのschemaフォルダ配下にあるスキーマファイルの相対パスを指定します。 指定したスキーマファイルは、後述のインプット検証/アウトプット検証を選択することで実行時のメッセージ検証に利用することができます。 選択しなかった場合も、XSLT SE による変換の定義の際のインプット/アウトプットスキーマとして利用することができます。 [メッセージ交換方式を指定した場合のみ設定可能] |
|||
|
参照 (インプット/アウトプット) |
スキーマファイルの選択ダイアログを開きます。 スキーマファイルを選択すると、その相対パスがインプットおよびアウトプットのファイルのテキストボックスに表示されます。 利用方法については、[2.7.7. スキーマファイルの設定] を参照して下さい。 |
||||
| 検証実行 | インプットの検証実行 |
実行時に、インプットで指定したスキーマファイルでのメッセージの検証を実施します。 選択時には、スキーマファイルのインプットの指定は必須項目となります。 [メッセージ交換方式を指定した場合のみ設定可能] |
デフォルトは非選択 [任意] |
||
| アウトプットの検証実行 |
実行時に、アウトプットで指定したスキーマファイルでのメッセージの検証を実施します。 選択時には、スキーマファイルのアウトプットの指定は必須項目となります。 [メッセージ交換方式を指定した場合のみ設定可能] |
デフォルトは非選択 [任意] |
|||
| 入力メッセージのタイプ | 入力メッセージのタイプを指定します。 |
下記の値から選択。[必須]
|
|||
| 出力メッセージのタイプ | 出力メッセージのタイプを指定します。 |
下記の値から選択。[必須]
|
|||
| 入出力メッセージのエンコーディング | 入出力メッセージのエンコーディングを指定します。 |
下記の値から選択。[必須]
|
|||
Memo
HL7 BCではプロバイダにもエラーリトライの設定が有効です。プロバイダのエラーリトライを有効にすると、外部サーバアプリケーションへのメッセージ送信でIOExceptionが発生した場合にメッセージ再送します。
|
設定項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
| 必須 | |||||
|
host (ホスト) |
コンシューマ:bindするアドレスを指定します。空欄ならば全てのアドレス。 プロバイダ:接続先のホストを指定します。 |
[プロバイダのみ必須] デフォルト値:空白 |
|||
|
port (ポート) |
コンシューマ:接続を待ち受けるポート番号を指定します。既に使用されているポートを指定した場合、起動時にエラーになります。値はドメインで一意です。 プロバイダ:接続先のポート番号を指定します。 |
数値(0〜65535)[必須] デフォルト値:空白 |
|||
|
omit-start-block-character (スタートブロックを省略する) |
MLLP使用時のHL7メッセージのスタートブロックを省略するかどうかを指定します。 | 下記の値から選択。[必須]
|
|||
|
start-block-character (スタートブロックの文字) |
MLLP使用時のHL7メッセージのスタートブロックの文字をASCIIの10進数表現で指定します。 ※omit-start-block-character(スタートブロックを省略する)がfalseの場合に有効化されます。 |
数値(0〜127)[必須] デフォルト値:11 ※エンドブロック・キャリッジリターンと異なる値。 |
|||
|
end-block-character (エンドブロックの文字) |
MLLP使用時のHL7メッセージのエンドブロックの文字をASCIIの10進数表現で指定します。 | 数値(0〜127)[必須] デフォルト値:28 ※スタートブロック・キャリッジリターンと異なる値。 |
|||
|
carriage-return-character (キャリッジリターンの文字) |
MLLP使用時のHL7メッセージのキャリッジリターンの文字をASCIIの10進数表現で指定します。 | 数値(0〜127)[必須] デフォルト値:13 ※スタートブロック・エンドブロックと異なる値。 |
|||
|
connection-size (最大コネクション数) |
同時に接続を許可するコネクションの数を指定します。 ※コンシューマの場合のみ |
数値(0〜2147483647)[必須] デフォルト値:0 |
|||
|
connection-backlog (コネクションのバックログ) |
受信する接続要求のキュー最大長(バックログ)を設定します。 ※コンシューマの場合のみ |
数値(0〜2147483647)[必須] デフォルト値:50 |
|||
|
max-connection-pool-size (最大プールサイズ) |
コネクションの最大数を設定します。 ※プロバイダの場合のみ |
数値(0〜2147483647)[必須] デフォルト値:10 |
|||
|
min-connection-pool-size (最小プールサイズ) |
コネクションの最小数を設定します。 ※プロバイダの場合のみ |
数値(0〜2147483647)[必須] デフォルト値:2 ※最大プールサイズの値より小さい値。 |
|||
|
initial-connection-pool-size (初期プールサイズ) |
起動時に張るコネクションの数を設定します。 ※プロバイダの場合のみ |
数値(0〜2147483647)[必須] デフォルト値:0 ※最大プールサイズの値より小さい値。 |
|||
|
connection-shrink-delay-time (コネクション解放の待ち合わせ時間) |
コネクションプールの最小プールサイズを越えて接続されたコネクションの使用後、コネクションを切断するまでの時間を設定します。 0の場合は即座に切断します。 ※プロバイダの場合のみ |
数値(0〜2147483647)[必須] 単位:秒 デフォルト値:15 |
|||
| 任意 | |||||
| socket-association | コンシューマのソケットとプロバイダのソケットの関連付けを行うか否かを指定します。 プロバイダの場合のみ有効な項目で、コンシューマの場合は指定しても効果はありません。 | 下記を入力。
|
|||
| close-opposite-socket | ソケットがクローズした際、反対側のソケットもクローズするか否かを指定します。 | 下記を入力。
|
|||
| connection-reconnect | コネクション自動再接続の施行回数。0を指定すると、コネクション自動再接続機能自体が無効になり、-1を指定すると無制限になります。 | 数値(-1〜2147483647) 単位:秒 実行時デフォルト値:0 |
|||
| so-timeout | 呼び出す外部サーバーからの応答待ち時間(秒)を指定します。 (厳密には、Socketに結び付けられたInputStream#readの応答待ち時間です。) | 数値(0〜2147483647) 単位:秒 実行時デフォルト値:0 |
|||
| so-linger |
SU停止処理時に残存メッセージを送信するための遅延時間(秒)を指定します。
(厳密には、Socketのクローズ処理時に残存メッセージを送信するための遅延時間です。)
|
数値(-2147483648〜2147483647) 単位:秒 実行時デフォルト値:-1 |
|||
| keep-alive | SocketのSO_KEEPALIVEを有効または無効にします。 | 下記を入力。
|
|||
| receive-buffer-size | SocketのSO_RCVBUF オプションを、指定した値に設定します。 | 数値(0〜2147483647) 単位:秒 実行時デフォルト値:8192 |
|||
| send-buffer-size | SocketのSO_SNDBUF オプションを、指定した値に設定します。 | 数値(0〜2147483647) 単位:秒 実行時デフォルト値:8192 |
|||
| tcp-nodelay | SocketのTCP_NODELAY を有効または無効にします。 | 下記を入力。
|
|||
| traffic-class | パケットの IP ヘッダーのトラフィッククラスまたはサービスタイプのオクテットを設定します。 | 数値(0〜255) 単位:秒 実行時デフォルト値:0 |
|||
| reuse-address | SocketのSO_REUSEADDRを有効または無効にします。(コンシューマではServerSocketのオプション) | 下記を入力。
|
|||
| connect-timeout | TCPポートに接続するまでのタイムアウト時間を設定します。 0 の指定は無限を意味し、タイムアウトは発生しません。 プロバイダの場合のみ有効な項目で、コンシューマの場合は指定しても効果はありません。 | 数値(0〜2147483647) 単位:秒 実行時デフォルト値:0 |
|||
| 任意の名称のパラメータ |
任意の名称のパラメータと、その値を設定できます。 |
【マルチバイト文字列指定可】 任意 |
|||

図2.9.12.10-1

図2.9.12.10-2
HL7 BC は Outbound、Inbound ともに In-Only、Robust In-Only、In-Out の3つのMEPをサポートします。
メッセージ交換方式(MEP)の説明は [ 製品構成と提供機能 > 3.JBI仕様 > 3.2.Normalized Message Router ] を参照してください。
Outbound
Outboundの各MEPの動作を説明します。
| MEP | タイプ | 動作の説明 |
|---|---|---|
|
In-Only |
要求 |
NMR からメッセージエクスチェンジ受け取り、Inメッセージを取りだしてLLPHandlerのsendメソッドのパラメータとして渡します。
sendメソッドにおいて外部アプリケーションと通信を行います。 |
|
応答(Done) |
LLPHandlerのsendメソッドが正常に終了した場合、Doneステータスを設定したメッセージエクスチェンジを NMR に返却します。 |
|
|
応答(Error) |
LLPHandlerのsendメソッドで例外が発生するなど、Outboundの処理で異常が発生した場合に、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。 |
|
|
Robust In-Only |
要求 |
NMR からメッセージエクスチェンジ受け取り、Inメッセージを取りだしてLLPHandlerのsendメソッドのパラメータとして渡します。
sendメソッドにおいて外部アプリケーションと通信を行います。 |
|
応答(Done) |
LLPHandlerのsendメソッド、receiveメソッドが正常に終了した場合、Doneステータスを設定したメッセージエクスチェンジを NMR に返却します。 |
|
|
応答(Fault) |
LLPHandlerのreceiveメソッドでFaultExceptionが発生した場合やHL7仕様上の異常が発生した場合、Faultメッセージを含むメッセージエクスチェンジを NMR に返却します。 |
|
|
応答(Error) |
LLPHandlerのsendメソッドまたはreceiveメソッドでFaultException以外の例外が発生するなど、Outboundの処理で異常が発生した場合に、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。 |
|
|
In-Out |
要求 |
NMR からメッセージエクスチェンジ受け取り、Inメッセージを取りだしてLLPHandlerのsendメソッドのパラメータとして渡します。
sendメソッドにおいて外部アプリケーションと通信を行います。 |
|
応答(Out) |
receiveメソッドで返却されたInputStreamを、Outメッセージとしてメッセージエクスチェンジに設定し、NMRに送信します。 |
|
|
応答(Fault) |
LLPHandlerのreceiveメソッドでFaultExceptionが発生した場合やHL7仕様上の異常が発生した場合、Faultメッセージを含むメッセージエクスチェンジを NMR に返却します。 |
|
|
応答(Error) |
LLPHandlerのsendメソッドまたはreceiveメソッドでFaultException以外の例外が発生するなど、Outboundの処理で異常が発生した場合に、例外メッセージを格納したメッセージエクスチェンジを NMR に返却します。 |
Inbound
Inboundの各MEPの動作を説明します。
|
MEP |
タイプ |
動作の説明 |
|---|---|---|
|
In-Only |
要求 |
LLPHandlerのreceiveメソッドによりクライアントアプリケーションからメッセージを受け取り、返却されたInputStream
をInメッセージとしてメッセージエクスチェンジに設定して、NMRに送信します。 |
|
応答(Done) |
Outboundで正常に処理が行われた場合にDoneメッセージを受け取ります。その後receiveメソッドを実行し、同じコネクション上の次のメッセージの待ち受けを開始します。 |
|
|
応答(Error) |
Outboundの処理で異常が発生した場合にErrorメッセージを受け取ります。
その後コネクションを破棄します。 |
|
|
Robust In-Only |
要求 |
LLPHandlerのreceiveメソッドによりクライアントアプリケーションからメッセージを受け取り、返却されたInputStream
をInメッセージとしてメッセージエクスチェンジに設定して、NMRに送信します。 |
|
応答(Done) |
Outboundで正常に処理が行われた場合にDoneメッセージを受け取ります。その後LLPHandlerのreceiveメソッドを実行し、同じコネクション上の次のメッセージの待ち受けを開始します。 |
|
|
応答(Fault) |
NMR からメッセージエクスチェンジ受け取り、Faultメッセージを取りだします。 |
|
|
応答(Error) |
Outboundの処理で異常が発生した場合にErrorメッセージを受け取ります。その後TCPコネクションを破棄します。 |
|
|
In-Out |
要求 |
LLPHandlerのreceiveメソッドによりクライアントアプリケーションからメッセージを受け取り、返却されたInputStream
をInメッセージとしてメッセージエクスチェンジに設定して、NMRに送信します。 |
|
応答(Out) |
NMR からメッセージエクスチェンジ受け取り、Outメッセージを取りだしてLLPHandlerのsendメソッドのパラメータとして渡します。 sendメソッドにおいて外部アプリケーションと通信を行います。 |
|
|
応答(Fault) |
NMR からメッセージエクスチェンジ受け取り、Faultメッセージを取りだしてLLPHandlerのsendメソッドのパラメータとして渡します。sendメソッドにおいて外部アプリケーションと通信を行います。 |
|
|
応答(Error) |
Outboundの処理で異常が発生した場合にErrorメッセージを受け取ります。LLPハンドラのsendメソッドを実行し、
その後コネクションを破棄します。 |
HL7 BCのInboundのリクエスト受信処理、およびOutboundのレスポンス受信処理では、 外部アプリケーションから受け取ったメッセージをLLPハンドラのreceiveメソッドに より処理した結果をメッセージエクスチェンジに変換(ノーマライズ)します。 HL7 BCのノーマライズを示した図です。 オペレーションの設定項目「入力メッセージのタイプ」によりメッセージを 格納する箇所を指定することができます。 「入力メッセージのタイプ」を"XML"に指定した場合はノーマライズメッセージの メッセージコンテントに、"attachment"に指定した場合は添付ファイルに格納します。

図2.9.12.12-1
HL7 BCのInboundのレスポンス送信処理、およびOutboundのリクエスト送信処理では、 ノーマライズとは逆に、メッセージエクスチェンジから受け取ったメッセージを LLPハンドラのsendメソッドにより外部アプリケーションに送信するメッセージに変換(デノーマライズ)します。 オペレーションの設定項目「出力メッセージのタイプ」によりメッセージを 取りだす箇所を指定することができます。 「出力メッセージのタイプ」を"XML"に指定した場合はノーマライズメッセージの メッセージコンテントから、"attachment"に指定した場合は添付ファイルから取り出します。

図2.9.12.12-2
プロバイダエンドポイントがサーバアプリケーションからエラーメッセージを受信した場合(HL7 BC同士の連携時)
HL7 BCのプロバイダエンドポイントがMSA-1(肯定応答コード)がAR/AE/CR/CEのメッセージを受け取ると、 HL7 BCのInboundにはFaultが通知され、 クライアントアプリケーションにはプロバイダエンドポイントが受け取ったエラーメッセージがそのまま返信されます。
HL7 BCの処理中にHL7仕様上の異常が発生した場合
HL7 BCの処理中に、形式が不正なメッセージやフィールドの値が異常なメッセージなどを受信した場合、 HL7 BCでMSA-1(肯定応答コード)がARのACKメッセージを生成し、クライアントアプリケーションに返信します。 HL7 BCのOutboundで異常が発生した場合は、InboundにFaultが通知されます。 エラー内容の詳細はERR-1に記載されます。
HL7 BCの処理中にHL7仕様外の異常が発生した場合
HL7 BCの処理中に、サーバアプリケーションとの通信に失敗するなどHL7仕様外の異常が発生した場合、 HL7 BCでMSA-1(肯定応答コード)がARのACKメッセージを生成し、クライアントアプリケーションに返信します。 HL7 BCのOutboundで異常が発生した場合は、InboundにErrorが通知されます。 エラー内容の詳細はERR-1に記載されます。
プロバイダエンドポイントがFault/Errorを返却した場合(HL7 BC以外との連携時)
HL7 BC以外のプロバイダエンドポイントから Fault/Error を受け取った場合、 HL7 BCのInboundでMSA-1(肯定応答コード)がARのACKメッセージを生成し、クライアントアプリケーションに返信します。 エラー内容の詳細はERR-1に記載されます。
HL7 BCで生成されるACKメッセージは、MSH、SFT、MSA、ERRセグメントで構成され、各フィールドには以下の値が設定されます。表に記載の無いフィールドには値を設定しません。|
フィールド |
説明 |
値 |
||
|---|---|---|---|---|
|
MSH-1 |
フィールド区切り |
受信メッセージのMSH-1の値を使用します。 | ||
|
MSH-2 |
符号化文字 |
受信メッセージのMSH-2の値を使用します。 | ||
|
MSH-3 |
送信アプリケーション |
受信メッセージのMSH-5の値を使用します。 | ||
|
MSH-4 |
送信施設 |
受信メッセージのMSH-6の値を使用します。 | ||
| MSH-5 | 受信アプリケーション | 受信メッセージのMSH-3の値を使用します。 | ||
| MSH-6 | 受信施設 | 受信メッセージのMSH-4の値を使用します。 | ||
| MSH-7 | メッセージ日時 | MSHセグメントの設定[メッセージ日時フォーマット]の書式を使用し、日時を設定します。 | ||
| MSH-8 | セキュリティ | 受信メッセージのMSH-8の値を使用します。 | ||
| MSH-9 | メッセージ型 |
第1成分・第3成分は常に「ACK」を設定します。 第2成分は受信メッセージと同じ値を使用します。 |
||
| MSH-10 | メッセージ制御ID | MSHセグメントの設定[メッセージ日時フォーマット]の書式を使用し、日時を設定します。 | ||
| MSH-11 | 処理ID | 受信メッセージのMSH-11の値を使用します。 | ||
| MSH-12 | バージョンID | 受信メッセージのMSH-12の値を使用します。 | ||
| MSH-13 | シーケンス番号 | 受信メッセージのMSH-13の値を使用します。 | ||
| SFT-1 〜 SFT-6 | ソフトウェアセグメント | SFTセグメントの設定に従って挿入・上書きします。 | ||
| MSA-1 | 肯定応答コード | 常に「AR」を設定します。 | ||
| MSA-2 | メッセージ制御ID | 受信メッセージのMSH-10の値を使用します。 | ||
| MSA-4 | 期待されるシーケンス番号 | [シーケンス番号プロトコルを有効化する]が「true」の場合、シーケンス番号を設定します。 | ||
| ERR-1 | エラーコードとロケーション | 発生したエラーの内容を第4成分に記載します。 | ||
| ERR-3 | HL7エラーコード | 常に「207」を設定します。 | ||
| ERR-4 | 影響度 | 常に「E」を設定します。 | ||
変換元のメッセージフォーマットと変換先のメッセージフォーマットを指定することでメッセージ変換を行います。 設定方法に関しては、[2.9.12.2. エンドポイントの設定] を参照して下さい。 変換元フォーマットと変換先フォーマットに同じ値を指定した場合はメッセージ変換しません。
スキーマ定義ファイルスキーマ定義ファイル名はHL7標準のスキーマ定義ファイル名に準拠します。
変換エンジンで必要となるスキーマ定義はdatatypes.xsd(データタイプ)、fields.xsd(フィールド、セグメント)、
XXX_XXX.xsd(メッセージ)であるため、ユーザ独自のデータタイプとフィールドに関してはそれぞれdatatypes.xsd、
fields.xsd固定となります。HL7標準のファイルとの区別は配置するフォルダで分けます。
スキーマ定義ファイルの配置場所は3箇所あります。
1.HL7標準のスキーマ
<INSTANCE_ROOT>/jbi/bindings/HL7Bindings/install_root/schema/<バージョン名>
2.共有のカスタマイズスキーマ
<INSTANCE_ROOT>/jbi/bindings/HL7Bindings/install_root/workspace/schema/<バージョン名>
3.SU個別のカスタマイズスキーマ
<SU作成ディレクトリ>/META-INF/schema/<バージョン名>
ユーザが作成したスキーマ定義ファイルは上記の2.または3.に格納します。
オリジナルとユーザ独自のメッセージが同じ定義ファイル名となった場合は、3.→2.→1.の順に優先します。
追加・置換したスキーマ定義ファイルを有効化するためには、サービスアセンブリの再起動が必要です。
|
フィールド |
説明 |
値 |
||
|---|---|---|---|---|
|
MSH-3 |
送信アプリケーション |
受信メッセージのMSH-5の値を使用します。 | ||
|
MSH-4 |
送信施設 |
受信メッセージのMSH-6の値を使用します。 | ||
| MSH-5 | 受信アプリケーション | 受信メッセージのMSH-3の値を使用します。 | ||
| MSH-6 | 受信施設 | 受信メッセージのMSH-4の値を使用します。 | ||
| MSH-7 | メッセージ日時 | MSHセグメントの設定[メッセージ日時フォーマット]の書式を使用し、日時を設定します。 | ||
| MSH-10 | メッセージ制御ID | MSHセグメントの設定[メッセージ日時フォーマット]の書式を使用し、日時を設定します。 | ||
| MSA-1 | 肯定応答コード | 常に「AA」を設定します。 | ||
| MSA-2 | メッセージ制御ID | 受信メッセージのMSH-10の値を使用します。 | ||
シーケンス番号をESBで管理するために、出力先としてのデータベースを用意する必要があります。
サポートするデータベースは以下の通りです。
ドメインが起動されているときは、一旦終了します。
データベースのドライバライブラリを、<INSTANCE_ROOT>/lib/ext
へコピーします。
|
データベース名 |
JDBCドライバ |
|---|---|
|
Oracle 11g |
ojdbc5.jar、ojdbc6.jar、orai18n.jar |
|
Microsoft SQL Server 2008 R2 |
sqljdbc.jar |
|
Apache Derby 10.5.3.0 |
derbyclient.jar |
シーケンス番号をデータベースに出力するために使用するJDBCデータソースをWebOTX統合運用管理ツールを用いて登録します。
統合運用管理ツールの画面上で設定対象のドメイン(例えば[domain1])-[リソース]をクリックします。次に「JDBCデータソース」を右クリックして「JDBCデータソースの登録」を選択します。
「リソースの操作」画面が開きます。この画面を用いてJDBCデータソースを登録します。このとき、次の1点のチェックを解除してから登録します。
「一般」タグの「JTA連携有無」のチェックを解除します。
otxadminコマンドでJDBCデータソースを登録することもできます、詳細はWebOTXマニュアル[ 4.2.2. otxadminサブコマンド一覧 ] よりcreate-jdbc-datasourceをご参照ください。
データベースのユーザ登録シーケンス番号をデータベースに出力する際に使用するデータベースのユーザ登録を行います。
Oracleでは、以下のSQL文を実行します。「ユーザ名」の部分には前述のJDBCデータソースの登録で指定したユーザ名を指定します。
テーブル名の既定値は「ESN」です。異なる値を設定する場合は後述する追加の設定を行ってください。
SQL> CREATE USER ユーザ名 IDENTIFIED BY パスワード;
SQL> GRANT CREATE SESSION, unlimited tablespace TO ユーザ名;
SQL> CREATE TABLE ユーザ名.テーブル名 (ENDPOINTID VARCHAR(1000), ESN INTEGER, ESNSTATE INTEGER, primary key (ENDPOINTID));
SQL> GRANT SELECT, INSERT, UPDATE, DELETE ON ユーザ名.テーブル名 TO ユーザ名;
運用管理ツールまたは運用管理コマンド(otxadmin)で、JNDI名またはテーブル名を既定値から変更してください。
詳細は[ リファレンス集 運用管理・設定・構成編
> コンフィグレーション
> バインディングコンポーネントに関する設定
> HL7 BC ]をご参照下さい。
本手順により作成したテーブルはESBをアンインストールしても自動で削除されません。
ESBのアンインストール後は以下のSQL文を実行し、手動で削除してください。
SQL> DROP TABLE ユーザ名.テーブル名;
SQL> DROP USER ユーザ名;
クライアントにACKメッセージを返信します。「-1」の場合はシーケンス番号をリセットします。
メッセージの各フィールドには以下の値が設定されます。表に記載の無いフィールドには値を設定しません。
|
フィールド |
説明 |
値 |
||
|---|---|---|---|---|
|
MSH-1 |
フィールド区切り |
受信メッセージのMSH-1の値を使用します。 | ||
|
MSH-2 |
符号化文字 |
受信メッセージのMSH-2の値を使用します。 | ||
|
MSH-3 |
送信アプリケーション |
受信メッセージのMSH-5の値を使用します。 | ||
|
MSH-4 |
送信施設 |
受信メッセージのMSH-6の値を使用します。 | ||
| MSH-5 | 受信アプリケーション | 受信メッセージのMSH-3の値を使用します。 | ||
| MSH-6 | 受信施設 | 受信メッセージのMSH-4の値を使用します。 | ||
| MSH-7 | メッセージ日時 | MSHセグメントの設定[メッセージ日時フォーマット]の書式を使用し、日時を設定します。 | ||
| MSH-8 | セキュリティ | 受信メッセージのMSH-8の値を使用します。 | ||
| MSH-9 | メッセージ型 |
第1成分・第3成分は常に「ACK」を設定します。 第2成分は受信メッセージと同じ値を使用します。 |
||
| MSH-10 | メッセージ制御ID | MSHセグメントの設定[メッセージ日時フォーマット]の書式を使用し、日時を設定します。 | ||
| MSH-11 | 処理ID | 受信メッセージのMSH-11の値を使用します。 | ||
| MSH-12 | バージョンID | 受信メッセージのMSH-12の値を使用します。 | ||
| MSH-13 | シーケンス番号 | 受信メッセージのMSH-13の値を使用します。 | ||
| SFT-1 〜 SFT-6 | ソフトウェアセグメント | SFTセグメントの設定に従って挿入・上書きします。 | ||
| MSA-1 | 肯定応答コード | 常に「AA」を設定します。 | ||
| MSA-2 | メッセージ制御ID | 受信メッセージのMSH-10の値を使用します。 | ||
| MSA-4 | 期待されるシーケンス番号 |
受信メッセージのMSH-13の値が「0」の場合、期待されるシーケンス番号の値を設定します。 HL7 BCがシーケンス番号を保持していない場合は「-1」が設定されます。 受信メッセージのMSH-13の値が「-1」の場合、「-1」が設定されます。 |
||
サーバにシーケンス番号のリセット要求を送信します。
リセット後、シーケンス番号は「1」からスタートします。
メッセージの各フィールドには以下の値が設定されます。表に記載の無いフィールドには値を設定しません。
|
フィールド |
説明 |
値 |
||
|---|---|---|---|---|
|
MSH-1 |
フィールド区切り |
受信メッセージのMSH-1の値を使用します。 | ||
|
MSH-2 |
符号化文字 |
受信メッセージのMSH-2の値を使用します。 | ||
|
MSH-3 |
送信アプリケーション |
受信メッセージのMSH-5の値を使用します。 | ||
|
MSH-4 |
送信施設 |
受信メッセージのMSH-6の値を使用します。 | ||
| MSH-5 | 受信アプリケーション | 受信メッセージのMSH-3の値を使用します。 | ||
| MSH-6 | 受信施設 | 受信メッセージのMSH-4の値を使用します。 | ||
| MSH-7 | メッセージ日時 | MSHセグメントの設定[メッセージ日時フォーマット]の書式を使用し、日時を設定します。 | ||
| MSH-8 | セキュリティ | 受信メッセージのMSH-8の値を使用します。 | ||
| MSH-9 | メッセージ型 | 受信メッセージのMSH-9の値を使用します。 | ||
| MSH-10 | メッセージ制御ID | MSHセグメントの設定[メッセージ日時フォーマット]の書式を使用し、日時を設定します。 | ||
| MSH-11 | 処理ID | 受信メッセージのMSH-11の値を使用します。 | ||
| MSH-12 | バージョンID | 受信メッセージのMSH-12の値を使用します。 | ||
| MSH-13 | シーケンス番号 | 常に「-1」を設定します。 | ||
| SFT-1 〜 SFT-6 | ソフトウェアセグメント | SFTセグメントの設定に従って挿入・上書きします。 | ||
<?xml version="1.0" encoding="UTF-8"?>
<MSG>
<SFT>
<SFT.1>NEC Corporation</SFT.1>
<SFT.2>1</SFT.2>
<SFT.3>WebOTX Enterprise Service Bus</SFT.3>
<SFT.4>1</SFT.4>
<SFT.5></SFT.5>
<SFT.6></SFT.6>
</SFT>
</MSG>
<SB>[HL7メッセージ]<EB><CR>
<SB>:スタートブロック
<EB>:エンドブロック
<CR>:キャリッジリターン
クライアントからデータを受信すると、MLLPに従ってHL7メッセージの抽出が行われます。<SB>が見つかるまでメッセージを読み飛ばし、
<SB>の直後からHL7メッセージとして扱います。
設定により<SB>が省略されている場合、受信したデータの先頭からHL7メッセージと見なします。
<EB><CR>が見つかるまで受信データを走査し、<EB><CR>の直前までをHL7メッセージとして切り出します。
<EB><CR>が見つかる前に再度<SB>が存在している場合、それまでに読み取ったデータを破棄し、直後のデータをHL7メッセージの先頭とします。
メッセージエクスチェンジからHL7メッセージを受け取り、先頭に<SB>、末尾に<EB><CR>を付与し、MLLPベースのHL7メッセージを作成します。 設定により<SB>が省略されている場合は、末尾に<EB><CR>だけを付与します。 その後、メッセージを外部アプリケーションに送信します。
MLLPハンドラは、メッセージダンプ機能を持っています。この機能を有効にすることで、HL7 BCが外部アプリケーションに送受信したメッセージがログファイルに出力されます。 メッセージダンプ機能の利用方法については、[ リファレンス集 運用管理・設定・構成編 > コンフィグレーション > ドメインに関する設定 > システム環境変数 ] を参照してください。