入力作業はプログラミングすれば楽ちん!
こんにちわ!データ大好き病院薬剤師のさめ猫です。
今回は、入力作業から解放されるためになにができるかというお話です。
RPA:Robotic Process Automation
巷では『RPA』といって、業務効率化・生産性向上を実現するために、事務作業などを自動化するツールの導入が進んでいます。
例えば、病院に導入して今ある事務作業を自動化しようとした際に、RPAツールを導入しますが費用が掛かります。
個人で導入できる価格ではないですね。
そもそも、現場の小さな業務にこんなに高価なツールを病院が導入してくれるはずもないですね。
じゃあどうすれば・・・。
プログラミングすればいいのですよ。
ここからは具体例をもとにお話ししていきます。
物流システムとプログラミング
病院には、物流システムといって、診療材料や医薬品、機材などの購入・発注・納品・供給・返品・破損等を管理するソフトウェアが導入されていると思います。
定点業務などでは、システム化されているので使用量に対して発注量が自動で計算されるなど便利ではあります。
しかし!
すべての行為が自動的に行われているわけではなく、「手入力」することも少なくありません。
在庫調整や長期連休前の発注量の調整など、大量のデータを手入力する作業は入力間違いリスクが潜むめんどくさい作業です。
手入力する作業すべてにCSVなどでデータを物流システムに流し込めればいいですがそんな機能もなく。
これをどうにかしたいというお話。
Let's プログラミング
Microsoft ExcelにはVBAというお手軽なプログラミングツールがあります。
Python等ほかにもプログラミングツールはありますが、院内の大多数のパソコンにインストールされているかといえば、されていないですよね。
そして、院内のパソコンにソフトウェアをインストールするには申請も必要だったりと厄介。
Excelなら、院内のどのパソコンにもインストールされていそうなので環境としてはバッチリです。
①入力するデータをCSVなどで用意。
②VBAのループ機能でセルごとにデータを読み取る
③データをSendKeyを用いて物流システムに自動入力
④TabやEnter等をSendKeyして物流システム側のデータ入力場所を変更
⑤次のデータを入力
①→(②→③→④→⑤)×繰り返し →終了
こんな感じのVBAがかければ入力作業は自動化できます。
ただし、データを入力する先のアクティブなウィンドウの処理がないために思い通りの動きなりません。
そこで、①の前に物流システムの入力先の画面をWindowsAPI関数を用いて掴むことで、エクセルやCSVなどの入力データを物流システムへ流すことができるようになります。
なので、以下のようなシステムを作ればよいです。
Window取得→①→(②→③→④→⑤)×繰り返し →終了
実際のコードについては、興味をお持ちの方がいましたらアップしていこうと思います。
まとめ
このようにExcel VBAでWindowsAPIを用いてもかのアプリケーションを掴むことで様々なことが自動化できそうです。
・物流システムへの自動入力
・独自のテンプレートで入力・保存しているデータを電子カルテへ自動入力
などなど
大事なこと
プログラミングを知ればめっちゃ楽できる!
サポートいただきました方からのリクエストには優先的に記事をアップさせていただきます。いただきました金額は執筆機材の充実とさらなる知識向上で皆様に還元させていただきますのでどうぞよろしくお願いいたします。