JavaScriptを学ぶ理由・動機【介護×プログラミング】

 JavaScriptを知りたい、学びたい、webアプリを作ってみたいと思うようになった理由、動機は、VBAやRPAではできない、または、サクサクしたいと思ってたのに逆に面倒くさくなる、と言ったところをクールにしたい、と言ったところだと思います。

 今までいろいろ作ってきましたが、例えば、登録ヘルパーの給与計算のVBA自動化デスクトップアプリ。登録ヘルパーの給与は事業所によって異なる様々なルールや設定があり、介護ソフトのデフォルト機能では対応できたいことが多いものです。
 介護ソフトによって異なりますが、ヘルパーの稼働実績はPDFやCSVで出力できます。カイポケと言う介護ソフトではヘルパーの稼働実績はPDFで出力できるのですが、ダウンロードした当月のヘルパー稼働実績表のPDFファイルをパワークエリでいったんExcelのワークブックに取り込んでから、関数の入った給与計算用のワークシートに貼り付けてゆきます。関数は自由に組み合わせできるので、移動距離がことなるため利用者ごとに異なる移動手当やヘルパーごとに異なる給与体系も組み込めます。しかしながら、PDFのページ数は軽く100ページを超えるため、これを手作業で貼り付けてゆくと小一時間かかってしまい、かつ単純作業ゆえに間違えることも多々起きてしまいます。
 稼働実績によってヘルパーごとにPDFの枚数が異なるので、何月の稼働実績か、ヘルパー氏名や全体で何枚あって当該シートが何枚目か等といった情報は全て変数に収納します。そうしないと、毎月プログラムを変えないといけなくなります。固有名詞やヘルパー、当該月によって異なるデータは全て変数に収納してプログラムを実行するようにします。そうするることで汎用性のあるアプリができると言うことになります。給与計算に関しては、間違えのない正確なものが、わずか数秒でできるようになりました。

 また、特定事業所加算においては毎回、ヘルパーに対してサービス提供に当たっての指示を出さないといけません。介護ソフトには特定事業所加算に対応した指示が書き込める欄があるのですが、デフォルトの文章と言えども、利用者ごとに異なる指示文を数百箇所に渡って入力してゆくのは非常に手間のかかる作業ではあります。これも、web操作の自動化ツールであるRPA(ロボティック・プロセス・オートメーション)、Windows11に標準搭載されているPAD(PowerAutomateDesktop)を使って自動化できます。
 あらかじめ、データテーブルに利用者名と指示の定型文を入れておいて、介護ソフトの当該ページから利用者名を取得して、その名前と対応した指示文をデータテーブルから抜き出して介護ソフトの指示欄のテキストフィールドにペーストしてゆきます。ここでも、テキストフィールドのhtmlを変数で定義しておけば、何マスであっても自動でペーストできます。最後にテキストフィールドがなくなった時点をfalseにしておき、その場合に確定ボタンを押すフローにしておけば全利用者の定型指示文を自動入力することができます。
 通常は人間が画面を見ながら特定の場所をクリックしたり入力したりするのですが、マウスやキーボード操作はパソコンに対して特定のインプットデータを送っているだけなので、定型の作業は人間がおこなう必要はありません。決まった操作のデータは、あらかじめプログラムしておくことができます。

 あと、勉強会などのレポート提出も、web(WordPress)からオンラインでレポート(ContactForm7で作成)を送信してもらう形式でおこなっているのですが、ホームページ管理者メールアドレスに届いたレポートを目視でチェックしていると見落としもあるため、これらもRPAで自動チェックすれば見落とすこともなく、非常に便利です。

 また、今後50人未満の事業場にも適用されるストレスチェックですが、これも勉強会のオンラインレポート同様、WordPressからContactForm7で作成した調査表からオンラインで送信してもらう形式でおこないました。管理者メールアドレス宛に届いた調査表のメールを、PADで設問ごとの回答に切り分けてデータテーブルに収納、各指標ごとの結果や高ストレス判定、ヘルパーに返送するストレスプロフィール表までをExcelのシートに関数で作っておいて、データテーブルから、そのシートに書き出すまでをプログラムしておきます。これも数十人分の結果を実行ボタンのワンクリックで済むので、いったんプログラムを作っておけば翌年以降はほとんど実施事務の作業時間をゼロにすることができます。
 ただし、この方法にはいくつかも問題がありました。男性と女性で評価点の計算方式が異なるのの条件分岐が基本できないことと、全員が調査表を提出してから、もしくは何回かに分けて実行することになり、ヘルパーに対して即時の結果ができない、また、ストレスプロフィール表の送信は手動になるなど、いくつかの課題がありました。

 そこで、これらの課題をwebアプリで解消できないかと考えたわけです。webアプリ開発の練習にもなりそうだし、現実問題としても作業の大幅な効率化も可能です。こころの耳版や厚生労働省のストレスチェック実施プログラムなどを参考に、勉強を兼ねて開発してゆけたらと思っています。もしかしたら、JavaScriptでフロントエンド開発にしたり、Node.jsでバックエンド開発、さらにSQLでデータベース、と言った流れで順番に練習してゆくことなるかもしれません。

 自分に何ができるのか、どこまでできるのか楽しみでもあります。

コメント