introduction医療機関では、電子カルテをはじめとする様々な部門システムと連携して医療情報システムを構築しています。医療情報システムは業務の中心であり、多くの日常業務に影響を与えています。医療機関におけるRPAでの業務代替では、いかに医療情報システムをエラーなく操作できるかがカギとなります。ここでは医療機関におけるRPAのシナリオ作成担当者に向けた、シナリオ作成時のポイントをお伝えいたします。 今回のテーマは、「医療情報システムなどをRPAで画面操作する際に気をつけるポイント」です。この記事は、私が過去の経験上、考慮が必要だと思われることをまとめました。 前回のテーマは、「RPAのシナリオ作成から運用までの流れについて」です。まだ記事をご覧になっていない方は、こちらからご確認ください。URL→https://service.nkgr.co.jp/rpa/news/posts/GjmH5HHr医療情報システムなどをRPAで画面操作する際に気をつけるポイントは、フェーズによって異なります。設計・開発・テストの3つのフェーズにおいて、気をつけるポイントをご紹介します。 図1:RPAのシナリオ開発における3つのフェーズ■設計時・情報を取得する方法の検討人が操作する場合、画面を見てその情報をエクセルなどに転記する作業はよく行われると思います。例えば、検索結果を上から1件ずつ開いて処理するような業務はありませんか。検索結果の画面は、画面の要素を取得できない場合が多く、座標情報で処理することになります。少しでも位置がずれると、画面が開けなかったり、処理済みの画面を開いたり、処理をスキップしてしまうなど、失敗することもあります。間違いなく処理をするためには、どうしたらいいでしょうか。この場合は検索結果を出力できる機能がないかを探します。CSVファイル形式やエクセルファイル形式で出力できるボタンや左上のファイルのタブからエクスポートできないかを確認していきます。そして、ファイルが出力できると、データを1行ずつ検索し確実に処理することが可能となります。今まで使用したことがない出力機能も、どんどん試してみましょう。・システムの操作はまとめてやろう システムの画面操作を行う際に、別システムの画面を行き来すると操作を失敗することがあります。画面をアクティブにしてから操作すればよいでのですが、その確認作業を何度も繰り返すと処理が遅くなってしまいます。 例えば、エクセルに記載されている5種の情報をシステムの検索条件とする際は、どのように設定しますか。人が作業する場合、①エクセルから情報取得、②システムへ検索条件を設定・・・、というように9回画面の切り替えをしながら処理をすることになります。 しかし、RPAで操作する場合は、エクセルの情報を5つの変数に格納し、システムの検索条件に設定します。そうすることで、「エクセルからシステムへ」画面を1回切り替えるだけで処理が完了します。画面の切り替えをしなくてもいいようにシステム操作はできるだけまとめて行いましょう。 図2:作業(操作)ステップ ■開発時・画面遷移は遷移後の画面になったか確認しようシステムは人が操作する前提で設計されているため、RPAのように高速で操作することは想定されていません。画面を遷移する時は、扱うデータが膨大かつ、パソコンの処理能力が低いことで、読込や表示を完了するまでに時間がかかることがあります。このような場合には「設定した時間待機する」という処理を入れがちですが、簡単な対応である一方で、エラーが生じやすいです。例えば、30秒の待機時間を設定した場合、次の画面が表示されるまでの時間が10秒であれば、20秒無駄に待つことになります。次の画面が表示されるまでの時間が40秒であれば、30秒経過した時点では画面が表示されていないため、次のアクションで失敗し、エラーとなります。ショートカットキーによる画面操作は、画面がアクティブでなくても、未表示でも実行されたとみなされることがあります。すると、次のアクションで失敗し、エラーとなります。よって、画面を遷移する場合は、次に操作する画面が表示されているか確認し、まだであれば表示されるまで待ち、再度確認するという処理がおすすめです。早く表示された場合も、予想よりも時間がかかった場合も、しっかり対応することができます。 図3:画面遷移をする場合の処理 ・待機時間を有効に設定しよう 繰り返し検索をする場合は、1件当たりの処理時間を確認してください。1件当たりの処理が5分~10分程度なら問題ありませんが、30秒に1回の検索を数百回行う場合はどうでしょうか。システムへの負荷が大きくなり、レスポンスが遅くなる可能性があります。日中は多くの職員が電子カルテを使うため、レスポンス遅延の影響は計り知れません。夜間に実行する、あるいは1件ごとに待機時間を設けると良いでしょう。・IDやパスワードについて RPAでシステムを操作する際には、システムへのログインが必要となる場合があります。その際にはIDやパスワードの設定が必要となりますが、この設定値の漏洩がないように対応する必要があります。RPAの機能のうち、変数の初期値を隠す機能もあるため、有効に活用しましょう。開発者個人のIDとパスワードを設定する場合、不正な操作が確認されれば、開発者の責任となってしまいます。また、RPA専用のIDを作ることで、システム側でアクセス権を制限することができるため、不正利用の防止につながります。ぜひ、検討してみてください。 詳しくは次回、「RPAのシナリオ開発者なら知っておきたい情報セキュリティ対策」にて解説いたします。・例外処理はルールを決めようどんなに完成度が高くても、エラーは発生してしまうものです。発生しない工夫も大事ですが、万が一エラーが発生した場合の処理を作ることも同じくらい大事になります。例えば、タスクスケジューラーで複数のシナリオを実行している場合、エラーが発生するとその後に起動するシナリオに影響が出る可能性があります。3回クリックに挑戦しても、失敗したらシステムをログアウトし、異常終了のメールを送るなど決まったルールを作り、エラーが発生してもすぐに気づける仕組みを作ってみましょう。・共通部品のシナリオを作って工数削減につなげよう システムの操作は、他のシナリオでも共通する操作が多いです。例えば、ログイン・ログアウトは、必ず必要となる操作です。毎回、0からログイン・ログアウトのシナリオを作るのはもったいないですし、シナリオの修正が必要となったときの保守が大変になります。 他のシナリオでも使えるシステム画面の操作は共通部品として別ファイルに作り、必要な時に共通部品のシナリオを呼び出すようにしましょう。 図4:ログイン画面が変更されたときの対応の違い■テスト時・予期せぬエラーへの対応数ステップを実行しながら開発していきます。しかし、開発時には発生しない、全工程の実行だからこそ発生するエラーがあります。実行する時間帯によって、システムの処理速度が影響を受けたり、画面を表示して安定するまでに時間がかかったりするからです。また、開発時と条件が変わった場合もエラーが出やすくなります。例えば、検索結果が0件の時、処理対象がない時、画面を表示するまでに予想以上の時間がかかった時、処理が早すぎてシステムが指示についていけない時、などがあげられます。テストはこういったエラーを見つけるためのものであり、1つ1つ原因を特定し、対処していきましょう。 結論1. 設計時は、より良い情報の取得方法を探し、システムの操作はできるだけ一気に実施するように処理の順番を組み立てましょう。2. 開発時は、待機時間や処理対象の画面を確認する処理を有効に活用しましょう。3. テスト時は、見つけたエラーの原因を特定し、1つ1つ確実に対応しましょう。 次回は、「RPAのシナリオ開発者なら知っておきたい情報セキュリティ対策」について解説します。