Upload
patricia-arden
View
36
Download
2
Embed Size (px)
DESCRIPTION
電子カルテ・医事システム インタフェース(案). 2001 年 3 月 19 日. システム全体図. 電子カルテクライアント. 医事システム・電子カルテサーバ. 電子カルテサーバ. 医事システムサーバ. TCP/IP Socket. TCP/IP Socket. 送信 プログラム. 受信 プログラム. MML. 電子カルテ プログラム. 電子カルテ DB. 受信 プログラム. 送信 プログラム. MML. 医事システムDB. TCP/IP Socket. 送受信 プログラム. MMLQuery. MMLResult. - PowerPoint PPT Presentation
Citation preview
2001 年 3 月 19 日
電子カルテ・医事システムインタフェース(案)
医事システムサーバ
MML
電子カルテクライアント
・電子カルテシステムと医事システム間のインタフェースには、コネクション型Socket(TCP)を使用する。・インタフェース電文のフォーマットにはXML(MML)を使用する。・XMLの日本語エンコード方式はUTF-8を基本とするが、Shift-JIS、EUC-JPにも対応する事が望ましい (使用するXMLパーサによる) 。エンコード方式はXMLヘッダに記述する。・電子カルテサーバと医事システムサーバは、同一ハードウェア上で動作する場合と、個別ハードウェア上で動作する場合に対応する。・IPアドレス及びポート番号は、それぞれ“hosts”,“services”より取得する事。
システム全体図
TCP/IP
Socket
電子カルテプログラム
MML
受信プログラム
電子カルテサーバ
TCP/IP
Socket
送信プログラム
電子カルテDB
送信プログラム 医事システム
DB
受信プログラム
送受信プログラム
TCP/IP
Socke
t
MMLQuery
MMLResult
医事システム・電子カルテサーバ
医事システムサーバ
医事DB
MML(Claim)
電子カルテクライアント
オーダ発行
・電子カルテシステムから医事システムに送信する情報は、オーダ情報、病名情報、予約情報とする。・オーダ情報、予約情報のデータフォーマットはMML(Claim)モジュールを使用する。・病名情報のデータフォーマットはMML(診断履歴)モジュールを使用する。・電子カルテクライアントから送信ジャーナルへの書き込みタイミングは、オーダ発行、及び病名登録時とする。・送信プログラムは一定間隔(数十秒程度)で送信ジャーナルのヘッダ情報を監視し、未送信データがあれば医事システムに送信する。・医事システム側受信プログラムがサーバプロセスとなる。
インタフェース概要図(電子カルテ→医事システム)
TCP/IP
Socket
病名登録
予約
MML(診断履歴)
受信プログラム 病名DB
予約DB
電子カルテサーバ
TCP/IP
Socke
t
送信プログラム
送信ジャーナル
SQL
通信手順(電子カルテ→医事システム)
Socketの生成
Socket()
ポートの割り当て
Bind()
接続要求
Connect()
送信
Send()
受信
Recv()
コネクション切断
Shutdown()
Socketの破棄
Close()
Socketの生成
Socket()
ポートの割り当て
Bind()
接続受け入れ
Listen()
通信開始
Accept()
受信
Recv()
送信
Send()
コネクション切断
Shutdown()
Socketの破棄
Close()
電子カルテ側(クライアントプロセス)
医事システム側(サーバプロセス)
・クライアントプロセスは、1回の送受信毎に、 Socketの生成と破棄を行う。
・電文終了はEOT(x04)を使用する。
・肯定応答はACK(x06)を使用する。
・否定応答はNAK(x15)を使用する。 エラーコードは必要か?
・否定応答受信時は、クライアントプロセスは 2回リトライを行う。
・2回リトライ後、送信データをスキップする。 スキップしたデータはエラーログとしてファイ ルに記録する。
・タイムアウト(サーバプロセスダウンを想定) 時は、クライアントプロセスは規定時間経過 後(1分程度)にリトライを行う。
・クライアント/サーバプロセスの停止はKILL シグナルにて行う。
MML(Claim)MML(診断履歴)
ACKNAK
医事システムサーバ電子カルテクライアント
受付一覧
・医事システムから電子カルテシステムに送信する情報は、受付情報とする。・受付情報のデータフォーマットにはMML(Claim)モジュールを使用する。・電子カルテ側受信プログラムがサーバプロセスとなる。・医事システム側から受付情報を送信するタイミングは、外来受付時とする。
インタフェース概要図(医事システム→電子カルテ)
TCP/IP
Socke
t
MML(Claim)
送信プログラム 受付DB
電子カルテサーバ
TCP/IP
Socke
t
受信プログラム受付DB
SQL
通信手順(医事システム→電子カルテ)
Socketの生成
Socket()
ポートの割り当て
Bind()
接続要求
Connect()
送信
Send()
受信
Recv()
コネクション切断
Shutdown()
Socketの破棄
Close()
Socketの生成
Socket()
ポートの割り当て
Bind()
接続受け入れ
Listen()
通信開始
Accept()
受信
Recv()
送信
Send()
コネクション切断
Shutdown()
Socketの破棄
Close()
・クライアントプロセスは、1回の送受信毎に、 Socketの生成と破棄を行う。
・電文終了はEOT(x04)を使用する。
・肯定応答はACK(x06)を使用する。
・否定応答はNAK(x15)を使用する。
・否定応答受信時は、クライアントプロセスは 2回リトライを行う。
・2回リトライ後、送信データをスキップする。 スキップしたデータはエラーログとしてファイ ルに記録する。
・タイムアウト(サーバプロセスダウンを想定) 時は、クライアントプロセスは規定時間経過 後(1分程度)にリトライを行う。
・クライアント/サーバプロセスの停止はKILL シグナルにて行う。
MML(Claim)
ACKNAK
電子カルテ側(サーバプロセス)
医事システム側(クライアントプロセス)
医事システムサーバ
MMLQuery(患者情報)
電子カルテクライアント
患者情報要求 T
CP/IP
Socket
・電子カルテシステムから医事システムに要求する情報は、患者情報、健康保険情報とする。・患者情報、健康保険情報要求形式はMMLQueryとする。・患者情報、健康保険情報応答形式はMMLResultとする。・患者情報、健康保険情報のデータフォーマットはMML(患者情報、健康保険情報)モジュールを使用する。・電子カルテから医事システムへの要求タイミングは随時とする。・医事システム側受信プログラムがサーバプロセスとなる。・複数台の電子カルテクライアントの運用を考慮し、医事システム側受信プログラムはマルチスレッド動作が必要となる。
インタフェース概要図(Query処理)
TCP/IP
Socket
健康保険情報要求
送受信プログラム 患者DB
MMLResult(患者情報)
MMLQuery(健康保険情報)
MMLResult(健康保険情報)
通信手順(Query処理)
Socketの生成
Socket()
ポートの割り当て
Bind()
接続要求
Connect()
送信
Send()
受信
Recv()
コネクション切断
Shutdown()
Socketの破棄
Close()
Socketの生成
Socket()
ポートの割り当て
Bind()
接続受け入れ
Listen()
通信開始
Accept()
受信
Recv()
送信
Send()
コネクション切断
Shutdown()
Socketの破棄
Close()
・クライアントプロセスは、1回の送受信毎に、 Socketの生成と破棄を行う。
・電文終了はEOT(x04)を使用する。
・肯定及び否定応答は、MMLResultにより規 定。
・否定応答受信時は、クライアントプロセスは ダイアログを 表示しユーザの指示を待つ。
・タイムアウト(サーバプロセスダウンを想定) 時は、クライアントプロセスはダイアログを 表 示しユーザの指示を待つ。
・複数のクライアントプロセスからの要求に対 応する 為、サーバプロセスはAccept()後の 処理は別スレッドにて行う。
・サーバプロセスの停止はKILLシグナルにて 行う。MMLQuery(患者情報)
MMLQuery(健康保険情報)
電子カルテ側(クライアントプロセス)
医事システム側(サーバプロセス)
MMLResult(患者情報)MMLResult(健康保険情報)
別スレッド
スレッド生成