電子カルテから毎月のデータを取り出す|画面をひとつずつ開いていた作業を自動化

電子カルテから毎月のデータを取り出す|画面をひとつずつ開いていた作業を自動化

記事
IT・テクノロジー
医療・介護の現場で事務をしています。毎月の集計や請求の準備で、いくつものシステムから同じようなデータを取り出す作業があります。

電子カルテ、勤怠システム、会計ソフト、介護記録のシステム。それぞれ画面を開いて、期間を指定して、出力ボタンを押して、ダウンロードして、ファイル名を直して、所定のフォルダに置く。1システムあたり5〜10分。これが毎月、何本もあります。

手順は完全に決まっているのに、毎月人がやっている。ここは自動化の効果がいちばん出る場所でした。


■ どうやって自動化するか

ブラウザ操作をそのままプログラムに置き換えます。人が画面を開いてボタンを押す動きを、そのまま自動で再現するイメージです。

私が使っているのはPlaywrightというツールです。無料で、Pythonから動かせます。

・ログインする
・目的の画面まで移動する
・検索条件(年月など)を入れる
・出力ボタンを押す
・ダウンロードしたファイルを受け取って、名前を付けて保存する

この一連を1つのスクリプトにしておくと、実行するだけで毎月同じ結果が手に入ります。


■ つまずいたところ

・システムによって使えるブラウザが違う
 クライアント証明書でログインする必要があるシステムは、証明書が入っているブラウザでないと通りません。逆に、速度を優先したいものは別のブラウザで動かしています。1つのやり方に統一しようとせず、システムごとに向いた手段を選ぶのが結局いちばん早かったです。

・画面のIDと表示上のIDが違う
 利用者一覧に出ている番号と、URLに入っている内部の番号が別物、というシステムがあります。表示されている番号でアクセスしようとしても目的の画面に行けません。一度検索して内部の番号を拾う、という手順を挟む必要があります。

・タイムアウトする
 ログイン処理が重いシステムは、素直に待つと落ちます。「何回か粘る」処理を入れておくと安定しました。

・出力に承認が要ることがある
 電子承認を挟まないとCSVが出せない、という設計のシステムもあります。ここは自動化しきれないので、承認までは人がやって、その後を自動化する、と割り切りました。

・画面が変わると壊れる
 システム側の改修でボタンの位置が変わると動かなくなります。壊れたときにどこで止まったか分かるようにログを残しておくと、直すのが早いです。


■ 効果

いちばん大きいのは、月初の詰まりが消えたことです。

以前は、月初の数日が「データを集める作業」で埋まっていました。集め終わってからでないと分析も確認も始められないので、後工程がすべて後ろにずれる。今は実行して待っている間に別の仕事ができます。

副次的な効果として、取得条件が固定されるので「先月と違う条件で取っていた」という取り違えがなくなりました。


■ 始めるなら

まず、いちばん回数が多い1本を選んでください。手順を紙に書き出して、迷いがない(毎回同じ)ことを確認する。ここが揺れている場合は、自動化より先に手順を決めるべきです。

そして、いきなり全部を自動化しようとしないこと。ログインとダウンロードだけでも十分に効果があります。


システムからのデータ取得やブラウザ操作の自動化については、ココナラの「Webスクレイピングでデータ収集します」「医療・介護の事務をPythonで自動化します」でご相談を受け付けています。どのシステムから何を取りたいか、手順が固定されているか。この2点が分かれば、実現できるかどうかはすぐお答えできます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す