1 / 8

2001 年 3 月 19 日

電子カルテ・医事システム インタフェース(案). 2001 年 3 月 19 日. システム全体図. 電子カルテクライアント. 医事システム・電子カルテサーバ. 電子カルテサーバ. 医事システムサーバ. TCP/IP Socket. TCP/IP Socket. 送信 プログラム. 受信 プログラム. MML. 電子カルテ プログラム. 電子カルテ DB. 受信 プログラム. 送信 プログラム. MML. 医事システムDB. TCP/IP Socket. 送受信 プログラム. MMLQuery. MMLResult.

Download Presentation

2001 年 3 月 19 日

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 電子カルテ・医事システム インタフェース(案) 2001年3月19日

  2. システム全体図 電子カルテクライアント 医事システム・電子カルテサーバ 電子カルテサーバ 医事システムサーバ TCP/IP Socket TCP/IP Socket 送信 プログラム 受信 プログラム MML 電子カルテ プログラム 電子カルテ DB 受信 プログラム 送信 プログラム MML 医事システムDB TCP/IP Socket 送受信 プログラム MMLQuery MMLResult ・電子カルテシステムと医事システム間のインタフェースには、コネクション型Socket(TCP)を使用する。 ・インタフェース電文のフォーマットにはXML(MML)を使用する。 ・XMLの日本語エンコード方式はUTF-8を基本とするが、Shift-JIS、EUC-JPにも対応する事が望ましい (使用するXMLパーサによる) 。エンコード方式はXMLヘッダに記述する。 ・電子カルテサーバと医事システムサーバは、同一ハードウェア上で動作する場合と、個別ハードウェア上で動作する場合に対応する。 ・IPアドレス及びポート番号は、それぞれ“hosts”,“services”より取得する事。

  3. インタフェース概要図(電子カルテ→医事システム)インタフェース概要図(電子カルテ→医事システム) 電子カルテクライアント 医事システムサーバ TCP/IP Socket オーダ発行 医事DB 電子カルテサーバ TCP/IP Socket MML(診断履歴) 送信 プログラム 病名登録 MML(Claim) 受信 プログラム SQL 送信 ジャーナル 病名DB 予約 予約DB ・電子カルテシステムから医事システムに送信する情報は、オーダ情報、病名情報、予約情報とする。 ・オーダ情報、予約情報のデータフォーマットはMML(Claim)モジュールを使用する。 ・病名情報のデータフォーマットはMML(診断履歴)モジュールを使用する。 ・電子カルテクライアントから送信ジャーナルへの書き込みタイミングは、オーダ発行、及び病名登録時とする。 ・送信プログラムは一定間隔(数十秒程度)で送信ジャーナルのヘッダ情報を監視し、未送信データがあれば医事システムに送信する。 ・医事システム側受信プログラムがサーバプロセスとなる。

  4. 通信手順(電子カルテ→医事システム) 電子カルテ側 (クライアントプロセス) 医事システム側 (サーバプロセス) ・クライアントプロセスは、1回の送受信毎に、  Socketの生成と破棄を行う。 ・電文終了はEOT(x04)を使用する。 ・肯定応答はACK(x06)を使用する。 ・否定応答はNAK(x15)を使用する。  エラーコードは必要か? ・否定応答受信時は、クライアントプロセスは  2回リトライを行う。 ・2回リトライ後、送信データをスキップする。  スキップしたデータはエラーログとしてファイ  ルに記録する。 ・タイムアウト(サーバプロセスダウンを想定)  時は、クライアントプロセスは規定時間経過  後(1分程度)にリトライを行う。 ・クライアント/サーバプロセスの停止はKILL  シグナルにて行う。 Socketの生成 Socketの生成 Socket() Socket() ポートの割り当て ポートの割り当て Bind() Bind() 接続受け入れ Listen() 接続要求 通信開始 Connect() Accept() MML(Claim) MML(診断履歴) 送信 受信 Send() Recv() ACK NAK 受信 送信 Recv() Send() コネクション切断 コネクション切断 Shutdown() Shutdown() Socketの破棄 Socketの破棄 Close() Close()

  5. インタフェース概要図(医事システム→電子カルテ)インタフェース概要図(医事システム→電子カルテ) 電子カルテクライアント 電子カルテサーバ 医事システムサーバ TCP/IP Socket TCP/IP Socket 受信 プログラム 送信 プログラム 受付一覧 SQL MML(Claim) 受付DB 受付DB ・医事システムから電子カルテシステムに送信する情報は、受付情報とする。 ・受付情報のデータフォーマットにはMML(Claim)モジュールを使用する。 ・電子カルテ側受信プログラムがサーバプロセスとなる。 ・医事システム側から受付情報を送信するタイミングは、外来受付時とする。

  6. 通信手順(医事システム→電子カルテ) 電子カルテ側 (サーバプロセス) 医事システム側 (クライアントプロセス) ・クライアントプロセスは、1回の送受信毎に、  Socketの生成と破棄を行う。 ・電文終了はEOT(x04)を使用する。 ・肯定応答はACK(x06)を使用する。 ・否定応答はNAK(x15)を使用する。 ・否定応答受信時は、クライアントプロセスは  2回リトライを行う。 ・2回リトライ後、送信データをスキップする。  スキップしたデータはエラーログとしてファイ  ルに記録する。 ・タイムアウト(サーバプロセスダウンを想定)  時は、クライアントプロセスは規定時間経過  後(1分程度)にリトライを行う。 ・クライアント/サーバプロセスの停止はKILL  シグナルにて行う。 Socketの生成 Socketの生成 Socket() Socket() ポートの割り当て ポートの割り当て Bind() Bind() 接続受け入れ Listen() 通信開始 接続要求 Accept() Connect() MML(Claim) 受信 送信 Recv() Send() ACK NAK 送信 受信 Send() Recv() コネクション切断 コネクション切断 Shutdown() Shutdown() Socketの破棄 Socketの破棄 Close() Close()

  7. インタフェース概要図(Query処理) 電子カルテクライアント 医事システムサーバ TCP/IP Socket MMLQuery(患者情報) TCP/IP Socket 患者情報 要求 MMLResult(患者情報) 送受信 プログラム 患者DB MMLQuery(健康保険情報) 健康保険 情報要求 MMLResult(健康保険情報) ・電子カルテシステムから医事システムに要求する情報は、患者情報、健康保険情報とする。 ・患者情報、健康保険情報要求形式はMMLQueryとする。 ・患者情報、健康保険情報応答形式はMMLResultとする。 ・患者情報、健康保険情報のデータフォーマットはMML(患者情報、健康保険情報)モジュールを使用する。 ・電子カルテから医事システムへの要求タイミングは随時とする。 ・医事システム側受信プログラムがサーバプロセスとなる。 ・複数台の電子カルテクライアントの運用を考慮し、医事システム側受信プログラムはマルチスレッド動作が必要となる。

  8. 通信手順(Query処理) 電子カルテ側 (クライアントプロセス) 医事システム側 (サーバプロセス) ・クライアントプロセスは、1回の送受信毎に、  Socketの生成と破棄を行う。 ・電文終了はEOT(x04)を使用する。 ・肯定及び否定応答は、MMLResultにより規 定。 ・否定応答受信時は、クライアントプロセスは  ダイアログを表示しユーザの指示を待つ。 ・タイムアウト(サーバプロセスダウンを想定)  時は、クライアントプロセスはダイアログを表  示しユーザの指示を待つ。 ・複数のクライアントプロセスからの要求に対  応する為、サーバプロセスはAccept()後の  処理は別スレッドにて行う。 ・サーバプロセスの停止はKILLシグナルにて  行う。 Socketの生成 Socketの生成 Socket() Socket() ポートの割り当て ポートの割り当て Bind() Bind() 接続受け入れ Listen() 接続要求 通信開始 Connect() Accept() スレッド生成 MMLQuery(患者情報) MMLQuery(健康保険情報) 送信 受信 Send() Recv() MMLResult(患者情報) MMLResult(健康保険情報) 受信 送信 別スレッド Recv() Send() コネクション切断 コネクション切断 Shutdown() Shutdown() Socketの破棄 Socketの破棄 Close() Close()

More Related