DBBrowser開発日記

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

データベース参照ツール、SecondaryUse(二次利用)

SecondaryUseとは任意のデータをデータベースからSQLで取得し表示します
SQLをサーバに保存すれば、利用者全員で共有が出来ます。またローカルファイルとして登録すれば端末ごとに任意のSQLを実行することも可能です

表示したデータはエクセルへのエクスポートも簡単にできますし、ワードへの差し込み印刷も可能です

エクセルへのエクスポートでは自動でグラフ表示も可能です

SecondaryUseはデータの二次利用を簡単に実現します

 

f:id:syskobo:20190422155018j:plain

本来DBBrowserはエディタ上に入力したSQLを実行しデータを表示していましたが、誰でも簡単にデータ表示出来るようにSQLを外部に保存し実行できるようにしたのがSecondaryUseです

DBBrowser同様、サーバとの通信はSOAPを利用していますので、ORACLEなどはClientのインストールが不要です。

さらに、SSLを利用してインターネット経由でもデータベースとの接続が可能です。

また、ODBCでの接続も出来るのでローカルネットワーク環境ではサーバなしでも利用できます

 


 

ワードパット

ワードパットの紹介です

ワードパットは任意の文字列を他のテキストボックスへ貼り付けることにより入力作業を簡単にするツールです

 

それぞれのボタンに関連付ける文字列を入力します

f:id:syskobo:20190621095312j:plain

ボタンを押下することでフォーカスのあるテキストボックスへ文字列を張り付けます

f:id:syskobo:20190621095339j:plain

 

また、それだけだと寂しいので、起動時に渡された患者番号でDBを検索し、検索結果を貼り付ける様にもしました

f:id:syskobo:20190621100015j:plain

 

患者基本情報、検査結果などの取得が出来ます

f:id:syskobo:20190621100036j:plain

 

 

 

 

マスタ登録

マスタメンテナンスも保守業務の一つです

病院業務において新しい診療材料、薬品の入れ替わりは日々発生します

それに合わせてマスタへの登録が必要になります

登録データはSPDよりEXCEL一覧で届きますので、以前はEXCELからコピー&ペーストしていました

EXCELのセルからのコピーは制御コードも一緒にコピーされるので、数式バーから文字列を選択してのコピーになります

 その次に、EXCELからのコピー&ペーストは手数が多いと思い、SecondaryUseにEXCELを読み込みDataGridViewからコピー&ペーストしました

しかし、Ctrl+C、Ctrl+Vの繰り返しで腱鞘炎になりかけました

 

f:id:syskobo:20190621090220j:plain

以前、あるベンダのデモ版に便利な物があって、真似て作っていたワードパットとコラボするようにしました

 

EXCELのデータをワードパットに貼り付け

f:id:syskobo:20190621090247j:plain

EXCELから貼り付けたテキストはTAB区切りになりますので、TABで区切ってボタンコントロールを生成

f:id:syskobo:20190621090328j:plain

③複数のセルのデータを繋いで一つの文字列にする必要があり、繋いだ文字列をToolTipで確認

f:id:syskobo:20190621090358j:plain

④ボタンを押下したとき、フォーカスのあるテキストボックスへ貼り付け

f:id:syskobo:20190621090427j:plain

⑤貼り付けが完了したときボタンの色を反転

 

これにより、大量データ登録時には半分以下の時間で登録できるようになりました

 

 

 

 



 

 

DBBrowserのWebサービス

DBBrowserは独自のWebサービスと連携します

 

Oracleを例に挙げます

C/Sモデルにおいて、通常、クライアント側にOracleClientのインストールが必要と思いますが、Webサービスを利用することでOracleClientのインストールが不要になります

 

☆クライアントAPP

   ↓ ↑(SOAP

  TCP/IP

   ↓ ↑(SOAP

★ サーバ Webサービス

   ↓ ↑(クライアントから要求のあったSQLを実行し結果を返す)

★ OracleClient(OracleDB)

   ↓ ↑

★ OracleDataBase

☆:クライアント端末 ★:サーバ

 

APPはClickOnceで配信すればインストールの手間などありません

最近はWebシステムが多いですが、自分的にはAPPの方が生産性が良いと考えており小回りが良いのでAPPが好きです

 

 

不具合報告

保守業務を行っていますが、不具合が発生したとき、現場からはTEL連絡がほとんどです

リモート接続でリアルタイムで調査しますが、患者様が居る場合そうはいきません

中には、TEL連絡が面倒と思い不具合があっても連絡頂けないことが多々あります

しかし、保守担当として現場でどのようなエラー、不具合があるのか把握する必要があります

 

そこで「不具合報告」を作成しました

起動時、画面のキャプチャーを行います

複数画面の場合は画面毎キャプチャーします

患者ID、報告者ID、エラー内容を入力し、送信ボタンを押すだけです

f:id:syskobo:20190614154739j:plain

 

送信されたデータはSecondaryUseで一覧表示します

f:id:syskobo:20190614155649j:plain

 

キャプチャー画面は、送信された画像からも見れますが、送信元端末のローカルフォルダにも保存しています

 

運用はこれからですので、どのような使い方、効果はこれからです