図3●グリッド・ミドルウエアがデータベースの違いを吸収<BR>中央病院は新たにシステムを構築したが,海部病院と三好病院は既に電子カルテ・システムを構築していた。既存システムには手を加えず,データ・グリッドのミドルウエア(WebSphere Information Integrator)を導入してデータを複製。データ・グリッドのミドルウエアが,各データベースのスキーマに合わせたSQL文と配信用のスキーマに基づくSQL文を相互に変換し,データベースの違いを吸収する
図3●グリッド・ミドルウエアがデータベースの違いを吸収<BR>中央病院は新たにシステムを構築したが,海部病院と三好病院は既に電子カルテ・システムを構築していた。既存システムには手を加えず,データ・グリッドのミドルウエア(WebSphere Information Integrator)を導入してデータを複製。データ・グリッドのミドルウエアが,各データベースのスキーマに合わせたSQL文と配信用のスキーマに基づくSQL文を相互に変換し,データベースの違いを吸収する
[画像のクリックで拡大表示]
画面1●地域診療情報連携システムの画面例&lt;BR&gt;中央病院のアプリケーションで,左が登録・検索画面,右が患者の詳細情報画面。検査の結果や処方した薬なども閲覧できるようになっている
画面1●地域診療情報連携システムの画面例<BR>中央病院のアプリケーションで,左が登録・検索画面,右が患者の詳細情報画面。検査の結果や処方した薬なども閲覧できるようになっている
[画像のクリックで拡大表示]

既存DBにはポーリングで連携

 WIIの配置位置が異なるため,海部病院や三好病院のデータベースが更新された場合の動きは,中央病院のデータベースが更新された場合の動きと異なる。アプリケーション・サーバーとWIIが直接アクセスしないので,WIIはアプリケーション・サーバーからSQL文を受け取れない。さらに,いつデータベースが更新されたかも分からないため,WIIは一定間隔でデータベースにポーリングし,トランザクション・ログを参照してデータベースが更新されていないかを確認する。更新されている場合,トランザクション・ログからSQL文を生成し,その後は図3[拡大表示]の(3)以降と同様に処理する。

 WIIは,DB2とOracle Databaseをサポートしていたが,三好病院で採用していた富士通のSymfowareをサポートしていなかった。そのため,WIIとSymfowareの橋渡しをするプログラムが必要になった。具体的には,更新チェックが必要なデータベースのログを参照し,そのログをWIIが解釈できる形式に変換するプログラムを作成した。また,ほかの病院から受け取ったSQL文をSymfowareに合わせたSQL文に変換するプログラムなども作成した。

地域の診療所とSSL-VPNで接続

 県立中央病院(徳島市)と県立三好病院(三好郡池田町),県立海部病院(海部郡牟岐町)は,大まかに,中央病院が県内北部と東部,三好病院が西部,海部病院が南部を受け持つという地域分担になっている。

 WANには,徳島県により敷設された公共事業向けの広域イーサネットを用いる。これを介して,各病院のWII同士が通信する。病院間で診療情報を複製しているので,その病院に来院歴がない患者の情報も,それぞれの病院のデータベースで参照できる。

 3病院間の接続のほか,地域の診療所は中央病院にSSL-VPNでリモート・アクセスできる。地域の診療所が日常的に診察している患者を,中央か三好,海部いずれかの病院に転院させたいとなった場合,その患者の情報をインターネットを通じて中央病院のデータベースに登録できるようになっている(画面1[拡大表示])。

 患者を受け入れた病院は,それぞれの病院のデータベースで過去の診察情報を閲覧し,必要に応じて追記する。回復した患者を再び地域の診療所に戻すときには,診療所から中央病院にアクセスし,どういう治療や投薬が実施され,患者がどういう状態になっているのかを知ることができる。「まだ転院を必要とするケースがあまり発生していないため,情報の交換量はそれほど多くはない」(佐光氏)とはいうものの,実際に地域の診療所から高齢の患者の情報が入力された例がある。