« 2011年3月 | トップページ | 2011年5月 »

2011年4月

2011年4月20日 (水)

ProgressMonitor のエスケープキー対応

ProgressMonitor の isCanceled() が,エスケープキーでキャンセルした場合に true にならない問題に対応した。どうでもいいが,ProgressMonitor は isCanceled() で,SwingWorker は isCancelled() なのがおもしろい。

絞り込み検索

患者検索で,絞り込み検索できるようにした。

1/28 に受診した患者さんのうち・・・北大から紹介された患者さん

Narrowing1

 

Narrowing2

2011年4月18日 (月)

ポップアップで簡易スタンプ編集

外用剤については処方量,内服薬については処方日数を,ポップアップで編集できるようにした。

処方日数の変更処方量の変更

Stampbundle

 

Stampdose

単位の設定されてない薬剤

ORCA の tbl_tensu で,以下の薬剤は単位が登録されていない。

orca=> select distinct srycd,name from tbl_tensu where (srycd ~ '^610' or srycd ~ '^620') and tanicd = '000' order by srycd;

610444043,"ガスチーム 20,000単位"
610444134,"プロナーゼMS 20,000単位"
620005757,"トクダームテープ6μg/cm2 0.3mg5cm×10cm"
620005758,"トクダームテープ6μg/cm2 0.45mg7.5cm×10cm"
620007608,"エクラープラスター20μg/cm2 1.5mg7.5×10cm"
620007706,"ドレニゾンテープ4μg/cm2 0.3mg7.5cm×10cm"
620007807,"リフラップシート5% 5cm×5cm"
620614501,"フルベアンコーワテープ8μg/cm2 0.4mg5cm×10cm"

当院で使っている薬には単位をでっち上げるようにした。

tbl_tensu には単位が登録されていない単位をでっち上げる

Stampnew_2

 

Stampnewer

スタンプ表示形式のカスタマイズ

外用剤の処方は「何日分」という処方にはならないので,BundleMed#getAdminDisplayString と BundleMed.vm をカスタマイズして表示形式を変えていた。しかし,スタンプエディタで外用剤の用法に「回数」を入力した場合に表示されなくなってしまっていた。スタンプエディタで回数を入力した場合は 1 にリセットした上で,その分,量を増やすようにして対応した。

以前の形式新しい形式

Stampold_2

 

Stampnew_2

2011年4月17日 (日)

患者検索に最終受診日を表示

患者検索で,最終受診日を表示できるようにした。

Lastvisit

  • 変更内容
  • 追加変更(2011/4/19)
    表示形式を西暦にした。受診日は西暦表示の方がピンとくる。誕生日は,書類の類がたいてい年号なので,年号表示の方が便利。
  • 追加変更(2011/4/19)
    カルテ内検索,メモ検索でも最終受診日が表示されるようにした。

2011年4月 2日 (土)

OpenDolphin-1.3.0.6 を簡単に試してみる

JBoss AS 5.1.0.GA + openDolphin-1.3.0.6.ear を localhost で簡単に立ち上げる wrapper を作った。JBoss AS を JBoss のホームページからダウンロードして wrapper と同じフォルダに展開して使う。JBoss Wrapper を立ち上げて起動ボタンを押すと,必要なファイルを JBoss にコピーしてから bin/run.sh を呼び出すしくみ。詳しくは説明書を参照。

ダウンロード jboss-wrapper.zip (9606.8K)

OpenDolphin-1.3.0.6(Java 1.6,JBoss AS 5.1.0.GA 専用)

Mercurial 導入

今回から Mercurial を導入して,Bitbucket さんのホスティングを使わせていただくことにした。ファイルは Bitbucket さんからダウンロードできるようにした。

排他処理っぽくしてみた

OpenDolphin では,同じカルテを複数の端末で開いて同時に編集することができる。それぞれの端末でカルテを変更して保存した場合,保存した順番に記録されて,最後に保存したカルテが最新版となる。前の編集内容が消えるわけではなく,カルテ変更履歴として全部残るが,メモは上書きされて消えてしまう。CLAIM を送った場合は逆に,最初の CLAIM だけが有効になり,後から送ったものは ORCA で無視される。

 メモが消えるというのがちょっといやなので,排他処理っぽく処理してみた。ただし pvt がないと処理できないので,受診していないカルテを PatientSearch から開いた場合は排他処理されない。

Exclusivecontrol

 

WatingListImpl に getStoppingTask 導入

排他処理っぽく実装に関連して,OpenDolphin を終了するときに,確実にカルテを閉じる必要が生じた。カルテが開いたまま終了すると,編集中のカルテとして残ってしまう。そこで,getStoppingTask を作って,OpenDolphin 終了時に呼んで,確実にカルテを閉じるようにした。

 

AppFramework.jar を使わないようにした

うわさによると,Swing Application Framework (AppFramework.jar) はもうメンテナンスされないかもしれないらしい。TaskTimerMonitor.java が結構 zombie 化しているのを発見して直そうと思ったのだが,この機会にどうせなら AppFramework を使わないようにコードを書き直した。何だかレスポンスが速くなったような気もする。

  • helper/Task.java
  • helper/ActionManager.java

 

Windows 版のソースを Mac 版に統一

いままで Mac と Windows でソースを分けていたが,管理が大変になってきたので,基本的にソースは Mac 版に統一した。Mac,Windows それぞれに特異的な部分は open.dolphin.ui パッケージで吸収するようにした。例えば,ダイアログは quaqua の JSheet でコーディングしてあるが,Windows バージョンでは open.dolphin.ui.MyJSheet でそれを JDialog に戻しているという・・・。それでも吸収しきれないところもあったが(Matisse の form,Velocity の template など),ほとんど共通化できた。
 また,Windows バージョンに JTable,JTree,JList にストライプを出す処理を追加した。(増田内科様のコードを使わせて頂きました)

 

当院で使ってないコードを削除

Online update,添書関連のコード,ImageBrowser,AreaNetwork,SendMML など,当院では使ってなかったコードを大幅に削除・整理した。

 

その他細かい点

  • リアルタイムスタンプ幅調整
    スタンプ幅が,ウインドウの大きさに応じてリアルタイムで動くようにした。

    Stamp

  • ORCA 形式生年月日検索
    生年月日検索で,ORCA のように 4230331 という ような 7 桁数字で入力できるようにした。

« 2011年3月 | トップページ | 2011年5月 »