障害者のグループホームで世話人が日々フォームに残す記録から、利用者ごとの月次の支援記録の要約を作り、モニタリングの材料にする
世話人・生活支援員が毎日フォームで残す生活の記録を、Apps Script が利用者ごとに1か月分まとめ、AI が共同生活援助計画の目標ごとの様子と本人の言葉を要約します。サービス管理責任者は、その下書きを読んで直し、月次の記録とモニタリングの材料にします。
- 生成AI
- Azure OpenAI Service/ChatGPT/Claude
- 連携・自動化
- Google Apps Script/Make/Power Automate
- 対象業界
- その他/介護/医療
- 対象部門
- 総務
- 対象業務
- 要約/記録・議事録作成
- 主な課題
- 属人化している/引き継ぎができていない/書類作成に時間がかかる
- AIで行う処理
- 要約
- 主な効果
- 判断支援/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 月末に、回答のスプレッドシートを利用者ごとに絞り込み、1か月分の記録を表示する
- 共同生活援助計画の目標の一覧を横に開き、目標ごとに関係のある記録を探しながら読む
- 体調・服薬・睡眠の欄から、いつもと違う日を拾い出す
- 自由記述の欄から、本人が話したことや、気になる出来事を拾い出す
- 目標ごとに、1か月の様子を数行ずつ月次の記録の様式に書く
- 記録の少ない日や、欄が空の日があれば、その日の担当者に聞いて補う
- 気になる変化があれば、管理者と相談し、必要なら家族や日中の事業所に連絡する
- 人世話人・生活支援員がこれまでどおり、日々の記録をフォームで残す。至急の連絡が要るものは「至急」に印を付ける
- 自動フォームの送信のたびに Apps Script が動き、記録に番号を振る。「至急」の印があれば管理者に知らせる
- 自動毎月1日の朝に Apps Script が動き、前月の記録を利用者ごとに集める
- 自動氏名を利用者番号に、ほかの利用者と職員の名前を置き換えの記号に変える
- 自動欄ごとに記録の件数と、記録の無い日、外泊・入院の日を数える
- 自動利用者ごとに、記録の一覧と共同生活援助計画の目標を Claude API に渡し、目標ごとの要約を JSON で受け取る
- 自動要約の1文ごとに付いた記録の番号を、元の記録と突き合わせる
- 自動要約と数え上げの結果を確認の一覧に書き出す。合わないものは確認待ちにする
- 人サービス管理責任者が下書きを読み、根拠の記録を開いて確かめ、直してから月次の記録として確定する
各工程の詳しい説明を読む
- 月末に、回答のスプレッドシートを利用者ごとに絞り込み、1か月分の記録を表示する
- 共同生活援助計画の目標の一覧を横に開き、目標ごとに関係のある記録を探しながら読む
- 体調・服薬・睡眠の欄から、いつもと違う日を拾い出す
- 自由記述の欄から、本人が話したことや、気になる出来事を拾い出す
- 目標ごとに、1か月の様子を数行ずつ月次の記録の様式に書く
- 記録の少ない日や、欄が空の日があれば、その日の担当者に聞いて補う
- 気になる変化があれば、管理者と相談し、必要なら家族や日中の事業所に連絡する
(a)読み返す時間が無い。 1人あたり月に50件前後の記録を、目標の一覧と見比べながら読むと、それだけで15分を超えます。60人分だと、2名で月末の数日が丸ごと消えます。 実際には、気がかりな利用者から先に丁寧に読み、落ち着いている利用者は斜め読みになっています。
(b)書く人で記録の厚みが違う。 ベテランの世話人は本人の言葉をそのまま書き、夜勤の多い職員は「変わりなし」で終えがちです。月次のまとめは、厚く書く人が入った日の出来事に偏ります。
(c)本人の言葉が要約の中で消える。 「仕事がつらい」と本人が何度か話していても、まとめるときに「日中活動に課題」と書き換わると、本人がどう言っていたかが残りません。 計画の見直しの会議で本人の意向を確かめるとき、手がかりが無くなります。
(d)住居をまたぐと引き継がれない。 利用者が住居を移ったり担当が替わったりすると、前の月までの様子は前の担当の頭の中にしかありません。
- 【人】 世話人・生活支援員がこれまでどおり、日々の記録をフォームで残す。至急の連絡が要るものは「至急」に印を付ける
- 【自動】 フォームの送信のたびに Apps Script が動き、記録に番号を振る。「至急」の印があれば管理者に知らせる
- 【自動】 毎月1日の朝に Apps Script が動き、前月の記録を利用者ごとに集める
- 【自動】 氏名を利用者番号に、ほかの利用者と職員の名前を置き換えの記号に変える
- 【自動】 欄ごとに記録の件数と、記録の無い日、外泊・入院の日を数える
- 【自動】 利用者ごとに、記録の一覧と共同生活援助計画の目標を Claude API に渡し、目標ごとの要約を JSON で受け取る
- 【自動】 要約の1文ごとに付いた記録の番号を、元の記録と突き合わせる
- 【自動】 要約と数え上げの結果を確認の一覧に書き出す。合わないものは確認待ちにする
- 【人】 サービス管理責任者が下書きを読み、根拠の記録を開いて確かめ、直してから月次の記録として確定する
2番目を月次の処理と分けているのが、この設計の決まりです。 転倒や金銭のトラブル、虐待の疑いは、月末を待たずにその日のうちに人が動くものです。
7番目が、要約を書類として使えるものにする工程です。 1文ごとに根拠をたどれるので、サービス管理責任者は根拠になった記録だけを開けば足ります。
02今回想定するシステム構成
日々の記録(Google フォーム → 回答のスプレッドシート) │【トリガー1】フォームの送信のたび ▼ Google Apps Script ── 記録に番号を振る/「至急」なら管理者に知らせる │ │【トリガー2】毎月1日の朝(時間主導型のトリガー) ▼ Google Apps Script ├──▶ 前月の記録を利用者ごとに集める ├──▶ 氏名を利用者番号に、他の利用者・職員の名前を記号に置き換える ├──▶ 欄ごとの件数、記録の無い日、外泊・入院の日を数える ▼ Claude API ── 目標ごとの要約・本人の言葉・根拠の記録番号を JSON で返す ▼ Google Apps Script ── 根拠の番号を元の記録と突き合わせ、数え上げを差し込む ▼ 確認の一覧(スプレッドシート) ──▶【人】サービス管理責任者が読んで直し、確定する
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Google Apps Script | Power Automate、Make |
| 生成AI | Claude API(Messages API、構造化出力) | OpenAI API、Azure OpenAI(Microsoft Foundry) |
| 保管 | Google スプレッドシート(回答、利用者台帳、目標の一覧、確認の一覧、処理ログ) | - |
| 入力 | Google フォーム(日々の記録) | - |
| 通知 | Gmail(至急の記録を管理者に知らせる) | - |
新しく足すのは、Apps Script と、目標の一覧・確認の一覧・処理ログのシートだけです。 日々の記録のフォームは変えません。世話人の書き方を変えずに始められることが、夜勤の多い現場では大事です。
月次の要約が拠って立つのは、運営の基準です。 障害福祉サービスの運営の基準(平成18年厚生労働省令第171号)では、第213条で、サービスの提供の記録(第53条の2)、個別支援計画(第58条)、記録の整備(第75条)の規定を、共同生活援助の事業に準用しています。第53条の2では、サービスを提供した際に、提供日、内容その他必要な事項を記録すること、第58条では、計画の作成後に実施状況の把握(モニタリング)を行い、少なくとも6月に1回以上、計画の見直しを行うこと、モニタリングでは定期的に利用者に面接し、定期的にモニタリングの結果を記録することとされています。第75条では、計画やサービスの提供の記録などを、提供した日から5年間保存することとされています。
この構成が作るのは、モニタリングの材料です。モニタリングそのものではありません。 面接も計画の見直しも、サービス管理責任者の仕事です。
03どうやって実装するのか
処理の起点を決める
トリガーは2つ置きます。 1つ目は、フォームの送信のたびに動くトリガーです。Apps Script のインストール型のトリガーには、フォームそのものに付けるものと、フォームの回答先のスプレッドシートに付けるものの2つの版があるとされています。ここでは回答先のスプレッドシートに付けます。 記録に番号を振り、「至急」の印があれば管理者に知らせるだけの短い処理です。
2つ目は、毎月1日の朝6時台に動く時間主導型のトリガーです。時間主導型のトリガーは毎分から月に1回までの間隔で動かせ、公式のページでは、9時に設定すると9時から10時のあいだのどこかで動くとされています。サービス管理責任者が出勤する前に、確認の一覧ができているようにします。
インストール型のトリガーは、作った人のアカウントで動きます。 公式のページにそう書かれています。トリガーはサービス管理責任者個人ではなく、事業所の記録を管理する共用のアカウントで作ります。 担当が異動したり退職したりしてアカウントが止まると、トリガーも一緒に止まるためです。トリガーが失敗すると失敗のまとめのメールが届くので、その宛先も共用のアカウントになります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 日々の記録 | 記録の番号、日時、住居、利用者、記入者、欄ごとの記入(食事・睡眠・服薬・体調・日中の活動・外出・金銭・人との関わり)、自由記述、「至急」の印 | 回答のスプレッドシート |
| 利用者台帳 | 利用者番号、氏名と呼び名、住居、入居日、担当のサービス管理責任者 | 利用者台帳のシート |
| 目標の一覧 | 利用者番号、共同生活援助計画の目標(3〜5個)、目標の番号、計画の作成日と次の見直しの月 | 目標の一覧のシート |
| 不在の予定 | 外泊・帰省・入院・ショートステイの期間 | 不在の予定のシート |
| 職員の一覧 | 世話人・生活支援員の氏名と役割 | 職員の一覧のシート |
質を決めるのは、目標の一覧です。 計画の目標が文書の中にしか無いと、AI は記録をどの目標に結び付けてよいか分かりません。計画を作るたびに、目標を1行1目標でシートに写すことを、最初の準備作業にします。
不在の予定を入れているのは、④の確認を自動にするためです。 記録の無い日が外泊の期間に入っていれば「不在」、入っていなければ「記録の抜け」として数えます。この区別をしないと、帰省の多い利用者ほど記録が少ないと出てしまいます。
データの取得方法を決める
| 取るもの | どう取るか | 何に使うか |
|---|---|---|
| 前月の記録 | 回答のシートを一度に読み、日付で前月分に絞り、利用者番号でまとめる | 要約の材料 |
| 利用者の情報 | 利用者台帳を利用者番号で引く | 担当、住居、入居日 |
| 計画の目標 | 目標の一覧を利用者番号で引く | 要約の見出し |
| 不在の期間 | 不在の予定を利用者番号で引く | 記録の無い日の区別 |
| 前月の要約 | 確認の一覧に残した前月の確定版 | 前月との違いの確認(人が見る) |
シートは範囲を一度に読み、スクリプトの中で利用者ごとにまとめます。 月に3,000件の記録を1行ずつ読むと、1回の実行時間に収まりません。フォームの送信のたびに振る記録の番号は、「住居の記号+年月日+連番」の形で、後から人が見ても分かるものにします。
フォームの送信のイベントからは、質問の名前と回答の組(namedValues)と、スプレッドシートの並びどおりの回答(values)が受け取れるとされています。 公式の例では、1つの回答でも配列に入って返る形になっているので、値は配列の1つ目を取り出してから使います。
AIへ渡す前に整形する
- 期間の確認 … 前月の1日から末日までの記録だけに絞ります。送信が遅れて翌月にずれ込んだ記録は、記入の日付の欄で前月に戻します
- 氏名の置き換え … 記録の中の利用者の氏名と呼び名を利用者番号に置き換えます。ほかの利用者の名前は【他の利用者A】のような記号に、職員の名前は【世話人】【生活支援員】のような役割に置き換えます
- 連絡先などの除去 … 自由記述に書かれた電話番号、住所、銀行の口座の番号を、決まった形で見つけて伏せます
- 欄ごとの数え上げ … 食事・睡眠・服薬・体調の欄で「いつもと違う」を選んだ日の数、服薬の欄の「飲み忘れ」「拒否」の回数をスクリプトが数えます
- 記録の無い日の区別 … 記録が1件も無い日を拾い、不在の予定に入る日は「不在」、入らない日は「記録の抜け」とします
- 至急の記録の扱い … 「至急」の印が付いた記録は、要約の材料に含めたうえで、管理者の対応の記録が付いているかを確認の一覧に出します
- 記録の並べ方 … 1件ずつ「記録の番号|日付|時間帯|欄|記入の内容」の1行にして、日付の順に並べます
2番目を省かないでください。 グループホームの記録には、同じ住居のほかの利用者のことが必ず出てきます。「【他の利用者A】とテレビのチャンネルで言い合いになった」という記録を、ほかの利用者の名前のまま外に出す理由はありません。 置き換えの対応表はスプレッドシートの中だけに置きます。
4番目の数え上げを AI に任せないのは、数を誤ると支援の判断を誤るからです。 「服薬の拒否が月に何回あったか」は、医療機関に相談するかどうかの手がかりになります。数はスクリプトが数え、AI には渡しません。 要約の中では【服薬拒否の回数】のような記号で書かせ、差し込みはスクリプトが行います。
AIに処理させる
させるのは、利用者1人の1か月分の記録を、計画の目標ごとに要約し、本人の言葉と記録の抜けを書き出すことです。
| 書くもの | 中身 | 使ってよい材料 |
|---|---|---|
| 目標ごとの様子 | 目標に関係する出来事を2〜4文で。1文ごとに根拠の記録の番号を付ける | 記録の一覧と目標 |
| 暮らしの全体 | 目標に入らない出来事(食事・睡眠・余暇・人との関わり)を2〜3文で | 記録の一覧 |
| 本人の言葉 | 本人が話したことを、記録に書かれたとおりに3つまで | 自由記述に「」で書かれた発言 |
| 記録が薄かった点 | 目標に関係する記録が無い、または少ない目標 | 目標と記録の対応 |
本人の言葉は、言い換えさせません。 「仕事がつらい」と書かれていれば「仕事がつらい」のまま写させます。本人の意向は、計画の見直しのときに本人に確かめる事柄で、その手がかりは本人の言い方そのものです。
「記録が薄かった点」を書かせるのは、記録の偏りを見えるようにするためです。 「週に1回は自分で買い物に行く」という目標に関係する記録が月に1件も無ければ、行かなかったのか、行ったのに誰も書かなかったのかが分からないということです。それを要約の側から知らせ、翌月の記録の書き方を見直す材料にします。
| させないこと | 理由 |
|---|---|
| 本人の状態を評価する言葉を書く | 「落ち着いた」「意欲が低い」は解釈。読むのはサービス管理責任者 |
| 病名や障害の特性で出来事を説明する | 医療の見立てに当たる。記録に書かれた出来事だけを書く |
| 計画の見直しや支援の変更を提案する | モニタリングと計画の見直しはサービス管理責任者の仕事 |
| 回数や日数を書く | 数はスクリプトが数える。記号で置く |
| 虐待・事故の有無を判断する | 日々の対応と通報の判断は人が行う |
| 根拠の記録が無い文を書く | 書類として読まれる。たどれない文は残さない |
2行目は、とくに強く禁じます。 「こだわりの強さから」のような説明は、要約しようとすると AI が自然に足してきます。
指示内容を固定する
あなたは障害者のグループホームで、サービス管理責任者が月次の支援記録を
まとめるのを手伝う担当です。以下の「記録の一覧」だけを使って、
利用者1人の1か月の様子を、計画の目標ごとに要約してください。
【書き方】
- goals:目標の一覧の目標ごとに、関係する出来事を2〜4文で書く。
1文ごとに、根拠にした記録の番号を record_ids に入れる。
関係する記録が無い目標は、summary を空にし、thin を true にする。
- daily_life:目標に入らない食事・睡眠・余暇・人との関わりを2〜3文で。
- own_words:本人が話したこととして「」で書かれたものを3つまで、
記録に書かれたとおりに写す。言い換え・要約をしない。
- 文は「〜していた」「〜と話していた」のように、出来事として書く。
【厳守事項】
- 記録に書かれていないことを書かないでください。推測で補わないでください。
- 本人の状態を評価する言葉(落ち着いた、不安定、意欲、改善、悪化など)を
使わないでください。
- 出来事の理由を、障害・病名・性格で説明しないでください。
- 回数・日数・割合を書かないでください。数を述べるときは、
数え上げの記号(【服薬拒否の回数】など)をそのまま置いてください。
- 計画の見直し、支援の変更、受診をすすめる文を書かないでください。
- 事故・けが・虐待の有無を判断しないでください。該当しそうな記録があれば
flagged_records に番号だけを入れてください。
- 【他の利用者A】【世話人】などの記号は、そのまま使ってください。
記号を名前に戻したり、人物を推測したりしないでください。
- 1文ごとに record_ids を付けてください。根拠の無い文は書かないでください。
【利用者番号】{resident_id}
【計画の目標】{goals}
【数え上げの記号】{count_tokens}
【記録の一覧】{records}
「理由を書かない」と「評価の言葉を使わない」を分けて書いているのは、片方だけでは足りないためです。 評価の言葉を禁じても、「疲れからか、夕食を残していた」のように理由の形で解釈が入ります。解釈は形を変えて入ってくるので、入り口を2つとも閉じます。
flagged_records を設けているのは、AI に判断させずに目を向けさせるためです。 転倒やけが、金銭の貸し借りのような記録は、要約に溶かすと埋もれます。番号だけを返させて、確認の一覧の先頭に出します。
出力形式を固定する
Claude API の構造化出力で、次の形の JSON を受け取ります。 公式のページでは、output_config.format に type: "json_schema" を指定し、オブジェクトには additionalProperties: false を付けることとされています。
{
"resident_id": "R-0412",
"goals": [
{ "goal_no": 1, "summary": [
{ "text": "", "record_ids": ["B3-20261008-02"] } ],
"thin": false }
],
"daily_life": [ { "text": "", "record_ids": [] } ],
"own_words": [ { "quote": "", "record_id": "" } ],
"flagged_records": [],
"needs_review": ""
}
1つ目の理由は、根拠の番号をスクリプトで検算できることです。
| 検査 | 合わないとき |
|---|---|
record_ids がすべて、その利用者の前月の記録にある | 確認待ち(存在しない、または別の利用者の記録) |
record_ids が空の文がない | 確認待ち(根拠の無い文) |
own_words の quote が、その記録の本文にそのまま含まれる | 確認待ち(言い換え) |
| 記号を除いた本文に数字がない | 確認待ち(回数の直書き) |
| 本文に評価の語の一覧(落ち着、不安定、意欲、改善、悪化など)がない | 確認待ち |
goal_no が目標の一覧とそろっている | 確認待ち(目標の取り違え) |
3行目が、本人の言葉を守る検査です。 文字列の一致で見るので、言い換えは必ず見つかります。
2つ目は、thin で記録の偏りを数えられることです。 毎月 thin が付く目標は、記録の書き方か、目標そのものの立て方に見直す余地があります。それを決めるのは計画の見直しの会議で、 一覧はその材料になります。
公式のページでは、構造化出力は数値の最小値・最大値や文字列の長さの制約に対応しないとされているので、文の数や長さの確かめはスクリプトの側で行います。スキーマは最後の利用から24時間保たれるとされているので、60人分を同じ朝に続けて作る形が合っています。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 回答のスプレッドシート | フォームの送信のトリガーと読み取り | 記録に番号を振る。前月の記録を読む |
| 利用者台帳・目標の一覧・不在の予定 | Apps Script の読み取り | 利用者ごとに引く |
| Claude API | UrlFetchApp.fetch | 利用者ごとに要約を受け取る |
| 確認の一覧 | Apps Script の書き込み | 要約、数え上げ、検査の結果、根拠の記録へのリンク |
| Gmail | 至急の記録の通知 | 管理者に記録の番号と住居だけを知らせる |
API の呼び出しでは muteHttpExceptions を true にします。 公式のページでは、これを true にすると失敗の応答でも例外を投げず、応答を返すとされています。応答のコードを見て、混み合いなら時間をおいてやり直し、それ以外の失敗はその利用者を確認待ちに回します。 API キーはスクリプトのプロパティに置きます。公式のページでは、スクリプトのプロパティはそのスクリプトの利用者全員で共有され、スクリプトの間では共有されないとされています。
至急の通知には、記録の本文を入れません。 住居と記録の番号だけを知らせ、管理者は回答のスプレッドシートで本文を読みます。 通知のメールが転送されたり、個人のスマートフォンに残ったりしても、利用者の様子が外に出ないようにするためです。
確定版は、人が確認の一覧から事業所の記録の様式に写します。 請求のソフトには書き込みません。
人が確認する
60人分の全件を、担当のサービス管理責任者が読みます。 確認の一覧には、利用者ごとに目標ごとの要約、本人の言葉、数え上げ、記録の抜け、検査の結果、flagged_records が並びます。
flagged_recordsを先に見る … 転倒やけが、金銭の出来事など。管理者の対応の記録が付いているかを確かめます- 確認待ちを片づける … 根拠の番号が合わないもの、言い換えのあったもの
- 目標ごとの要約を読み、根拠の記録を1つずつ開く … 要約の文が記録の内容とずれていないか。1文に1つは開きます
- 記録の抜けと
thinを見る … 抜けの多い住居と曜日を、翌月の職員会議の議題にします - 直して確定する … 月次の記録の様式に写し、確定の日と確定した人を残します
3番目が、この構成でいちばん時間を使うところです。 要約は記録の番号でたどれるので、読み返すのは要約の根拠になった十数件だけで足ります。 50件を全部読み返していた①の15分が、ここで短くなります。
1人8分を目安にします。 根拠を開いて確かめるのに5分、直して写すのに3分です。入居したばかりの利用者や、計画の見直しの月に当たる利用者は、もう少し丁寧に読みます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 前月の記録が1件も無い利用者 | 要約を作らず、確認の一覧に「記録なし」と出す。入院・長期の帰省かを人が確かめる |
| 記録が数件しかない | 要約は作るが、thin の多さを一覧の先頭に出す |
| 目標の一覧に目標が無い | 要約を作らず確認待ち。計画の写し忘れを疑う |
| 置き換えの対応表に無い名前が本文にある | その記録を伏せ字にして渡し、一覧に「対応表に追加」と出す |
| 至急の記録に管理者の対応の記録が無い | 確認の一覧の先頭に出す。要約より先に管理者へ回す |
| 虐待や事故を思わせる記録 | flagged_records に出す。判断と必要な連絡は管理者が行う |
| API が応答しない・混み合い | 時間をおいてやり直し、続けて失敗したら確認待ち |
| 1回の実行が時間切れになる | 処理済みの印を見て、次の実行で続きから作る |
最後の行は、Apps Script の上限から来ます。 公式の上限の表では、スクリプトの実行時間は1回あたり6分で、トリガーで動かした合計の実行時間は個人のアカウントで1日90分、Google Workspace のアカウントで1日6時間です。60人分を1回で作ると6分を超えうるので、10人ずつ作り、残りがあれば数分後に動く1回きりのトリガーで続きを作ります。 トリガーはユーザー・スクリプトごとに20個までとされているので、続きのトリガーは動いたら消します。 API のやり直しは1人あたり3回までにします。
記録を残す
- 実行の日時、対象の月、利用者ごとの記録の件数
- 前処理で置き換えた名前の件数と、伏せた連絡先の件数(置き換えの対応表そのものはログに書かない)
- AI に渡した記録の一覧と、AI が返した JSON の全文
- 検査の結果と、確認待ちにした理由
- サービス管理責任者が直した箇所と、確定の日・確定した人
flagged_recordsと、それに対する管理者の対応の記録への参照
日々の記録そのものは、回答のスプレッドシートが原本です。 運営の基準では、サービスの提供の記録を提供した日から5年間保存することとされています。要約を作ったあとも、元の記録は消さず、書き換えません。 要約は原本に添える下書きで、原本の代わりにはなりません。
3つ目で AI の返した JSON を残すのは、後から要約の出どころを示すためです。 家族や相談支援専門員から「この記録はどこから書いたのか」と聞かれたとき、根拠の記録の番号をたどって見せられます。
04実装レベルの3段階
最小構成では60人をさばけません。 置き換えを手でやるので、確かめるための段階です。 本記事の想定は半自動化です。 月初に60人分の下書きが並び、サービス管理責任者が数日かけて読んで確定します。1人30分が8分になるのはこの段階です。 差が大きいのは、①の材料探しと②の拾い出し、④の抜けの確認がスクリプトと AI に移り、③が「根拠を開いて直す」に変わるからです。 本格構成は、人が確かめた確定版の要約が半年分たまってから進めます。
05工数削減シミュレーション
導入後 60件 × 8分 ÷ 60 = 8 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 複数の共同生活住居を運営し、利用者が数十人いる障害者のグループホーム(共同生活援助)の事業所。世話人・生活支援員が日々の様子を Google フォームやスプレッドシートで残しており、サービス管理責任者が月末にそれを読み返して利用者ごとの月次の記録やモニタリングの材料を作っている場合。夜勤や交代の多い住居で、書く人によって記録の厚みが違い、月次のまとめが担当者の記憶に頼っている場合。
- 利用者が数人で、サービス管理責任者が毎日すべての住居に入っていて記録を読み返す必要がない事業所。日々の記録が紙の連絡ノートだけで、文字として集まっていない場合。障害福祉の記録専用のソフトに月次の集計や要約の機能があり、すでにそれで回っている場合。なお、共同生活援助計画の見直しの判断、支援の内容の決定、虐待や事故の判断はこの構成の対象外です。
07最小構成で試す方法
- 前月の利用者から6人を選ぶ(記録の多い人・少ない人・入居したばかりの人・帰省の多い人を混ぜる)
- その6人について、回答のシートから前月の記録を写し、氏名を利用者番号に、ほかの利用者と職員の名前を記号に置き換える
- 共同生活援助計画の目標を1行1目標で書き出す
- 手元の Claude の画面に、第7章のプロンプトと1人ずつの記録・目標を貼る
- 出てきた要約を、サービス管理責任者が書いた前月の月次の記録と並べて読み比べる
6人は必ずばらして選び、2番目の置き換えは試す段階でも省かないでください。
| 出てきた内容 | 判断 |
|---|---|
| 前月の月次の記録と同じ出来事を拾えている | スクリプトで回答のシートからつなぐ段階に進む |
| 評価の言葉や理由の説明が入る | 指示の書き方で直る。構成は有効 |
| 本人の言葉を言い換える | 写す指示を強め、文字列の一致の検査を足す |
| 記録の少ない人で出来事を補ってくる | 記録が少ないときは書かない指示を足す。thin を使う |
4行目が出ることは珍しくありません。 「変わりなし」ばかりの利用者では、AI は出来事を想像して埋めがちです。空にしてよいと、指示ではっきり許します。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 「落ち着いてきた」のような評価が入る | 評価の語と理由の説明を両方禁じる。 本文の語で検査する |
| 本人の言葉を言い換える | 写す指示と、元の記録との文字列の一致の検査 |
| 根拠の無い文や別の利用者の記録を根拠にする | 番号を元の記録と突き合わせ、合わなければ確認待ち |
| 記録の少ない利用者で出来事を補う | 空にしてよいと指示し、thin で知らせる |
| 回数を数え間違える | 数はスクリプトが数える。 記号で置かせる |
| ほかの利用者の名前が残る | 呼び名まで入れた対応表。無い名前は伏せて一覧に出す |
| 帰省の多い利用者が「抜けが多い」と出る | 不在の予定と照らして区別する |
| 至急の出来事が月末まで埋もれる | 送信のたびのトリガーで管理者に知らせる |
| 担当者のアカウントでトリガーを作る | 作成者のアカウントで動く。共用のアカウントで作る |
| 実行が6分で止まる | 10人ずつ作り、続きを1回きりのトリガーで作る |
| 要約を原本の代わりにする | 日々の記録は原本として5年残す。 要約は添えるもの |
上の3行が、この構成の失敗のほとんどです。 どれも「記録に無いことが、記録のような顔で書類に残る」失敗で、根拠の番号と文字列の一致で機械的に止められるかどうかで、書類として使えるかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 利用者の氏名、住居、心身の状況と服薬、日中の活動、金銭の出来事、家族や他の利用者との関わり、そして本人の発言です。
- 障害に関する記録は要配慮個人情報として扱う … 個人情報保護委員会のガイドラインでは、身体障害、知的障害、精神障害(発達障害を含む。)などの障害があることが要配慮個人情報に当たる記述として挙げられ、取得には原則として本人の同意が要るとされています。外部のサービスで処理することを、利用の契約と重要事項の説明に入れ、本人と家族に説明します
- 外部へ渡す範囲を、要約に必要なものまでに限る … Claude API に渡すのは、利用者番号と、名前を記号に置き換えた記録と目標だけです。氏名・住所・家族の連絡先・受給者証の番号は渡しません
- スキーマに個人の情報を入れない … 公式のページでは、構造化出力のスキーマはプロンプトとは別に最後の利用から最大24時間キャッシュされるとされています。目標の文や利用者番号を列挙型の値に入れず、 スキーマは項目の形だけにします
- 要約で判断を代替しない … 計画の見直し、支援の変更、受診、虐待や事故の判断は、サービス管理責任者と管理者が行います。 要約は材料です
- 原本を残す … 日々の記録を5年間保存し、要約を作っても書き換えません
- API キーと対応表の置き場所を分ける … API キーはスクリプトのプロパティに置き、スクリプトの編集権限をサービス管理責任者と管理者に限ります。 置き換えの対応表のシートも同じ範囲に絞ります
誤りが起きた場合のリスクは、記録に無いことが支援の書類に残ることと、利用者の暮らしの様子が外に出ることの2つです。前者は根拠の検算で、後者は置き換えで防ぎます。
10まず何から始めるか
1週目:目標の一覧と置き換えの対応表を作る
共同生活援助計画の目標を、利用者ごとに1行1目標でシートに写します。あわせて、利用者と職員の名前・呼び名の対応表を住居ごとに作ります。1つの住居の10人から始めます。
2週目:6人で試す
6人を選んで記録を置き換え、手元の Claude の画面で要約させます。評価の言葉が入っていないか、本人の言葉を言い換えていないかを最優先で見ます。
3週目:集める・置き換える・数えるをスクリプトにする
Apps Script で回答のシートを読み、利用者ごとの記録の一覧と数え上げ、記録の抜けの区別までを作ります。この時点では要約を作らず、数え上げの結果だけをサービス管理責任者が前月の記録と見比べます。
4週目:要約と検算までつなぐ
API で要約を作り、検査を足して確認の一覧に並べるところまで組みます。
2か月目: フォームの送信のトリガーで記録の番号と至急の通知を足し、6つの住居すべてに広げます。3か月目以降: 1人あたりの確認時間を測り、thin の多い目標と記録の抜けの多い曜日を職員会議にかけます。60人全員の月次の記録が、根拠の記録とひも付いて月初の1週間で確定するようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 第213条で、サービスの提供の記録(第53条の2)、個別支援計画(第58条)、記録の整備(第75条)などの規定を共同生活援助に準用し、計画を「共同生活援助計画」と読み替えること。提供日・内容その他必要な事項を記録すること。モニタリングを行い少なくとも6月に1回以上計画を見直すこと。定期的に面接し、モニタリングの結果を記録すること。記録を提供した日から5年間保存すること | e-Gov 法令API: 障害者の日常生活及び社会生活を総合的に支援するための法律に基づく指定障害福祉サービスの事業等の人員、設備及び運営に関する基準(平成18年厚生労働省令第171号) | 2026-10-26 |
| 身体障害・知的障害・精神障害(発達障害を含む。)などの障害があることが要配慮個人情報に当たること。取得に原則として本人の同意が要ること | 個人情報保護委員会: 個人情報の保護に関する法律についてのガイドライン(通則編) | 2026-10-26 |
| 時間主導型のトリガーが毎分から月1回まで動かせ、時刻がずれうること。インストール型のトリガーが作成者のアカウントで動くこと。フォームの送信のトリガーにフォーム用とスプレッドシート用の2つの版があること。閲覧・コメントの権限で開いたときは動かないこと。失敗時にまとめのメールが届くこと | Google: Installable triggers | 2026-10-26 |
スプレッドシートのフォームの送信のイベントに namedValues・values などがあり、回答が配列で返ること | Google: Event objects | 2026-10-26 |
| 実行時間が1回6分、トリガーの合計実行時間が個人1日90分・Workspace 1日6時間、トリガーがユーザー・スクリプトごとに20個、URL の取得が Workspace で1日100,000回であること | Google: Quotas for Google Services | 2026-10-26 |
muteHttpExceptions を true にすると、失敗の応答でも例外を投げず応答を返すこと | Google: Class UrlFetchApp | 2026-10-26 |
| スクリプトのプロパティがスクリプトの利用者全員で共有され、スクリプトの間では共有されないこと | Google: Properties Service | 2026-10-26 |
構造化出力を output_config.format の json_schema で指定し、additionalProperties: false が必要なこと。数値の最小値・最大値や文字列の長さの制約に対応しないこと。スキーマが最後の利用から24時間保たれること | Claude: Structured outputs | 2026-10-26 |
記録の様式や保存の決まりは、指定を受けた都道府県・市町村の条例や指導で上乗せされていることがあります。 本記事は国の基準で確認できた範囲だけを扱っています。指定権者の運営指導の資料もあわせて確かめてください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1826)についてのご相談はこちらから。
