« 4年間の運用まとめ | トップページ | スタンプ置き換え »

2012年4月10日 (火)

DAO の階層化

当院では,DiagnosisDocument 表示の際,ORCA データベースでチェックして移行病名・廃止病名を ,赤く表示するようにカスタマイズしているが,長く通って下さる患者さんが増えてきて,非アクティブな病名の数もそれなりに増えてくると,チェックに時間がかかるようになってしまった。当院バージョンでは,病名を1つ1つ dao で ORCA に問い合わせていたのだが,増田先生の m バージョンを見ると,病名をまとめて1回の sql で済ますようにプログラムされていた。さすが。
 それを使わせて頂いたりしてプログラムを書き換えていたら,dao をリファクタリングしたくなって,手をつけ始めたら,連鎖反応で open.dolphin.order パッケージもリファクタリングする羽目になり,そのために ORCA データベースの構造も勉強しなくてはならなくなり,もはやリファクタリングではない大変なことになってしまった。結局,まともに動き始めるのに2ヶ月かかった。

open.dolphin.dao の階層化

dao を以下のように階層化した

  1. DaoBean.java
    host address, port, user, password レベル。
  2. SqlDaoBean.java
    driver, database レベル。データベースを postgres に決め打ちして,connection pooling 対応とした。
  3. OrcaDao.java
    ORCA 基本レベル。HospNum 取得とバージョン確認。
  4. OrcaMasterDao.java
    ORCA の Master 検索の実務レベル。

スタンプエディタ

dao をリファクタリングしているうちに,スタンプエディタもいじることになってしまったので,この機会に本家 OpenDolphin-2.2 にならって,タブをなくしてシンプルなスタイルにした。

Stampeditorrecipe_3

 

Stampeditorbyomei_2

« 4年間の運用まとめ | トップページ | スタンプ置き換え »

OpenDolphin」カテゴリの記事