苔おじさんのリベルテ通信

NPO法人リベルテの日々を苔おじさんと呼ばれている代表がつづります。

個別支援計画やモニタリング、サービス受給者証の更新確認をGoogle スプレッドシートでつくってみたよ

個別支援計画やモニタリング、サービス受給者証の更新確認など事務業務が、何かと多い福祉のサービス管理責任者や管理者・施設長業務。
出来る限り効率化したいところです。



人はどうしたって適当にできていて、無理して真面目にやろうとすると辛くなってしまう生きものなので、適度に物事を忘れたりして気持ちやマインドに余裕を持たせるようにできているのだと思うので、しっかりぼくも色んなことを忘れてしまいます。
はい。
で、そんなにふうに適当にできている自分自身をぼくは信用していないので、最近は外部記憶装置=リマインドを活用しようと思いあたり、試行錯誤している日々でございます。
自分の時間を開放するためには真面目に取り組みます。
結果、働いているスタッフやメンバーのために時間が割けるし、何より事業のことを考え、そして行動できるからです。
前置きが長くなりました。


そこで、まずはサービス管理責任者や管理者・施設長の業務だろう、書類の更新手続きのルーティングを忘れないように!と思いたちました。
忘れていたらえらいこっちゃの、個別支援計画・モニタリングの更新や、サービス受給者証の更新確認について、最近試行的にgoogle スプレッドシートで管理してみようかと思い導入中。

Google Apps Script を使って各種有効期限を管理&メールでお知らせするようにすると便利 - FUKULOG開発者ブログ」を参考に、Googleスプレッドシートスクリプトを設定しました。

まずは、管理表。
いままでは、こういう表をエクセルなどでつくって印刷し☑などして確認。

f:id:npo_liberte:20171021121354j:plain

で、スクリプト(黒子になって自動で色々やってくれる)を設定します。
上のブログを参考にして、「更新」のリマインドを知らせてくれるように設定します。
googleアカウント!

f:id:npo_liberte:20171021121407j:plain

function sendMailExpiredServices(){
  /*
   * Config
   */
  // カラム名
  var SERVICE_COL_NAME = 'サービス';
  var LIMIT_COL_NAME   = '更新日';
  var ADMIN_COL_NAME   = '名前';
  var COMMENT_COL_NAME = '前回作成日';

  // メール
  var admin = ' ****@******** '; // 管理者=ログインしているアカウントメール(必須)
  var to    = ' ****@******** , ****@******** '; // 送りたい相手
  var opts  = {
    // cc   : '',
    bcc  : admin,
    reply: admin
  };

  // 何日前に送信するか
  var grace_time = 15 * 7 * 1 ; // 設定では15日前、7日前、1日前送る設定

  /*
   * Main
   */
  try {
    var sheet = SpreadsheetApp.getActiveSheet();
    var range = sheet.getDataRange();
    var today = new Date();

    for (var i = 2; i <= sheet.getLastRow(); i++) {
      var subject = "【更新日】";
      var body = "****が迫っています。\n\n"
      + "------------------------------------------------------------\n";
      var footer = "------------------------------------------------------------\n\n"
      + "****の手続きをお願いします。\n\n"
      + "※更新後はシートの【更新日】も更新してください\n"
      + " (シートのURL) ";
      var flg = false;

      for (var j = 1; j <= sheet.getLastColumn(); j++) {
        var col_name  = range.getCell(1, j).getValue(); // カラム名
        var col_value = range.getCell(i, j).getValue(); // 入力値

        body += "【" + col_name + "】\n";
        body += col_value + "\n\n";

        if ( col_name === SERVICE_COL_NAME ) {
          subject += col_value;
          body = col_value + "\n\n" + body;
        }
        if ( col_name === LIMIT_COL_NAME ) {
          var diff = col_value - today;
          if (diff < grace_time) {
            range.getCell(i, j).setBackgroundColor( "#FBFBEF " );
            flg = true;
          }
        }
      }
      body += footer;

      if (flg) {
        MailApp.sendEmail(to, subject, body, opts);
      }
    }
  } catch(e) {
    MailApp.sendEmail(admin, "【失敗】(シートのタイトルなど)からメール送信中にエラーが発生", e.message);
  }
}

****の部分を適宜変更して用途に合うように設定してください。
f:id:npo_liberte:20171022093002j:plain

あとは、上の画像の吹き出しと時計のアイコンをクリックしてトリガー=いつ送信するかの設定をします。

f:id:npo_liberte:20171021121340j:plain

たぶん、これでできると思うのですが…1日前の設定ですが、試しの日にちを入れたら期限を過ぎているものと判断されたものは毎日?送られてきます…。
この辺は、ぼくは詳しくわからず…。
変なところあれば、詳しい方いらっしゃったら、優しく教えてください。

何にせよ、サービス管理責任者や管理者・施設長の人で、ぼくのように物忘れがハゲしい…そんな人に…必要な人いればお試しください。

*参考リンク

fukulog.github.io


あと、この辺のGoogle関係のサービスはNPONPOの皆さんは、NPOであれば、NPOだからこそ使ってほしい補助の仕組みがあります。

で、リベルテのは、テックスープジャパンを通じて、Googleの非営利団体プログラムの支援を受けています。

これ、無料で特定非営利活動法人、公益法人、または社会福祉法人であれば、使うことができて、色々使えて、めちゃめちゃ便利です。
とは言っても、あまり使いこなせていないのですが…。

合わせてどうぞ〜。