DBBrowser開発日記

データベース参照ツールを開発しています。そのツールの開発、利用方法秘話などなどの紹介

OkiToolHRを使った施設内PCのサポート方法

OkiToolHRでは施設内の電子カルテPCの端末リストを管理している

端末一覧では

・端末名称(IPアドレス

・端末設置場所

・当該端末の「通常使うプリンタ名称」

・当該端末の起動時間

・当該端末の自動ログオフまでの待ち時間

・当該端末の近傍内線電話番号

・当該端末で開いているカルテの患者番号(カルテを開いているユーザー)

f:id:syskobo:20190320131941j:plain

の一覧表示が行える

 

通常、現場から問い合わせがあった場合、一覧より端末を選択し、メニューよりskyceaかVNCを起動しリモート操作で対応している

 

また、リモート越しに、イベントログの参照、シャットダウン、プロセスのKillも

メニューから行えるようにしてあるのでハードエラー以外は大体対応可能である

f:id:syskobo:20190320133041j:plain

 

メニュー項目はマスタで管理し、メニュー毎のパラメータ(一覧上の端末名称など)、EXEファイルが設定できる

メニュー項目もパラメータに一致する項目が無ければ非表示となるので実行できないメニューは表示されない

メニュー項目を増やし過ぎたのでメニューも2階層表示を行えるようにしました

OkiToolを利用したシステム開発について

OkiToolを利用すればC/S系のシステムが最短工数で開発出来ると思われます。

http://www.src-j.com/books/pdf/154_pt.pdf

参照系、帳票出力の処理はOkiToolの標準処理で出来ますので開発が不要になります

足りないのは登録/更新系の処理です

DB設計が出来れば登録/更新系のプログラムを開発するだけです

登録/更新系はアプリでもWEBでも大丈夫です。OkiToolから簡単に連携できます

 

既にあるWebシステムで入力されたデータの集計とか、リスト出力などは開発なしでOkiToolで集計リスト、帳票出力が可能になります

 

f:id:syskobo:20190319160956j:plain

CSVファイルの簡単編集

データ加工などCSVファイルの編集を行いたい事が多々あります

OkiToolではCSVファイルの編集が見た目で出来ます

 

CSVファイルを開く

f:id:syskobo:20190315133216p:plain

 

②編集モードする

f:id:syskobo:20190315133807p:plain

 

DataGridViewが編集モードになりますので

・列の順番入替(編集モード以外でもOK)

・列の削除(列を非表示にします)

・新規行の追加

・行の並べ替え

・行の削除(行を選択してDELETEキーで削除、またはフィルターで非表示)

 

DataGridViewの表示内容をそのままCSVファイルへ保存します

(Version 4.19.3.10以降)

 

また、TABの切り替えで

メモ帳をワークエリアとして文字列を加工しながら

f:id:syskobo:20190315140720j:plain

CSVの編集もできます

f:id:syskobo:20190315140741j:plain

 

CSVファイルのデータでも、各種連携が可能です

○○リスト、××リストを作れば、作業が楽になると思われます

f:id:syskobo:20190315155606p:plain

 

 

もっと高度なCSV編集を行い場合は「Cassava Editor」が良いそうです

forest.watch.impress.co.jp

 

 

診察券再発行枚数の取得

最近、診察券の磁気不良が多発しているとの事である

磁気不良で回収した診察券と発行時の印刷不良などで患者に渡さなかった診察券の一部(100枚弱)が当部署に回ってくる

それだけ見ると、多い様に思えるが全体的にどの位の割合なのか調査しました

医事システムではIDカード発行履歴を持っていると最近教えてもらいましたので

発行履歴から以下のような集計を行いました

 

集計結果ですが

ひと月の発行枚数が1000枚

内再発行が500枚前後

1枚100円としたら5万円の経費です

 

f:id:syskobo:20190314174140j:plain

 

作成したSQLは以下になります

新患、再発行の区別は、

患者毎に最古の発行年月日を求め、それと合致すれば新患、不一致なら再発行

外来、救急の区別は、端末名称で振り分けました

 

select

substr(a.SPLDATE,1,6) 発行年月
,count(*) 発行枚数

,sum(decode(b.PTNO,null,0,1)) 新患発行枚数
,sum(decode(b.PTNO,null,1,0)) 再発行枚数
,round(sum(decode(b.PTNO,null,1,0)) / count(*) * 100 , 2) 再発行率

,sum(decode(substr(a.SHORIINF,5,3),'006',0,decode(b.PTNO,null,0,1))) 外来新患発行
,sum(decode(substr(a.SHORIINF,5,3),'006',0,decode(b.PTNO,null,1,0))) 外来再発行

,sum(decode(substr(a.SHORIINF,5,3),'006',decode(b.PTNO,null,0,1),0)) 救急新患発行
,sum(decode(substr(a.SHORIINF,5,3),'006',decode(b.PTNO,null,1,0),0)) 救急再発行

from IDSPL01 a
left join (
select
PTNO
,min(SPLDATE || SPLTIME ) SPLDATETIME
from IDSPL01
group by PTNO

) b on b.PTNO = a.PTNO and b.SPLDATETIME = (a.SPLDATE || a.SPLTIME)

group by substr(a.SPLDATE,1,6)
order by substr(a.SPLDATE,1,6) desc

 

 

電子カルテ記事(診療録)のエクスポートについて

電子カルテの記事(診療録)が多くなるとフィルタ表示の設定などが必要になる

フィルタ表示を行い絞り込んでもスクロールがスムーズでなかったりします

そこで、記事(診療録)参照だけを見やすくしました

http://www.ne.jp/asahi/syskobo/site/OkiToolHR_170705_2.pdf

 

記入が出来ないので現場ではあまり利用されていませんが、裁判所提出の診療録のエクスポートに利用したりしています。