健康診断・再検査・ストレスチェックを
LINEで管理する仕組みの作り方
案内・受付・未受診の督促・結果台帳・締切集計まで。
専任のIT担当がいない小さな会社でも、コピペで作れる設計図。
年に一度の健康診断、有所見者への再検査の勧め、そしてストレスチェック。「やらなければいけない」のは分かっていても、誰が受けて誰が受けていないのかを追いかけるのが一番大変——という総務担当の方は多いはずです。ここでは架空の介護事業所「みどり介護サービス」(従業員32名・総務担当1名)を例に、この一連の健康管理をLINEで回す仕組みを、実際に手を動かせる形で組み立てます。
いまの困りごと(Before)
- ×未受診者を紙のリストと電話で一人ずつ督促
- ×シフト勤務でなかなか全員に案内が行き渡らない
- ×「要再検査」の人が本当に受診したか分からない
- ×ストレスチェックの受検率が毎年上がらない
- ×受診状況の記録がメモとExcelに散らばっている
仕組み導入後(After)
- ◎案内はLINEで一斉配信、既読も追える
- ◎未受診者「だけ」に絞ってリマインドを送れる
- ◎再検査の勧奨と受診報告をLINEで自動化
- ◎受検状況が台帳(スプレッドシート)で一目瞭然
- ◎締切前の残り人数を毎朝GASが自動集計
この記事でつくる仕組みの全体像
役割分担はシンプルです。従業員とのやり取り(案内・受付・タグ付け・絞り込み配信)はエルメが担当。受診状況の記録・集計の土台はスプレッドシート台帳。締切までの残り人数の集計や通知は、時刻で自動起動するGASが担当します。
- 健康診断の案内を全社にLINEで一斉配信し、予約日をフォームで回収
- 未受診者「だけ」を絞り込んでリマインド(無料枠を節約できる)
- 健診結果の所見区分を台帳に登録し、要再検査者へ勧奨を自動配信
- 再検査・精密検査の受診報告をLINEフォームで受け付ける
- ストレスチェックの案内・未受検リマインド・面接指導の申出受付
- 締切前の未受診人数を毎朝GASが集計し、総務にメール通知
定期健康診断(労働安全衛生法66条)は、規模にかかわらず常時使用する労働者への実施が事業者の義務です。週の所定労働時間が正社員の4分の3以上のパート・アルバイトも対象になるので、介護事業所のように短時間勤務の多い職場では「誰が対象か」の確認から始めてください。ストレスチェック(同66条の10)は現在、従業員50人未満の事業場では努力義務ですが、2025年の法改正により2028年4月1日から全事業場で義務化されます(施行日は政令で確定済み)。この記事の「みどり介護サービス」は32名の想定なので、いまのうちに受検を回す仕組みを用意しておく、という設定です。
※ 本記事は仕組みの作り方を示すものです。制度の詳細・自社への適用は、所轄の労働基準監督署や社会保険労務士にご確認ください。
1. 土台をつくる — 会社LINE・エルメ・台帳とタグ設計
まず器を用意します。ここが全体の土台なので、台帳の列とタグの名前を先に確定させてから先に進みます。あとから列やタグ名を変えると、後の章の配信条件やGASのコードと食い違って動かなくなります。
① 会社のLINE公式アカウントとエルメを用意する
- 会社名義でLINE公式アカウントを開設する(無料のコミュニケーションプランでOK)
- エルメ(L Message)に登録し、上記のLINE公式アカウントを連携する
- 従業員に「会社の連絡用LINE」として友だち追加してもらう(QRコードを更衣室・休憩室・給与明細に掲載)
② 健康管理台帳(スプレッドシート)の列を確定する
Googleスプレッドシートに「健康管理台帳」という名前のシートを作り、次の11列で固定します。この列順は記事の最後まで変えません。
| 列 | 列名 | 入る値の例 | 入力する人 |
|---|---|---|---|
| A | 社員番号 | 1001 | 総務(初期登録) |
| B | 氏名 | 山田 花子 | 総務(初期登録) |
| C | LINE表示名 | はなこ | 総務(友だち突合用) |
| D | 部署 | デイサービス | 総務(初期登録) |
| E | 健診予約日 | 2026-10-15(空欄=未予約) | 本人の回答を転記 |
| F | 健診受診状況 | 未受診/受診済 | 総務 |
| G | 所見区分 | 未入力/異常なし/要再検査/要精密検査 | 総務(結果票から) |
| H | 再検査状況 | 対象外/未受診/受診済 | 総務 |
| I | ストレス受検 | 未受検/受検済 | 総務 |
| J | 面接指導 | なし/申出あり/実施済 | 総務(申出の有無のみ) |
| K | エルメタグ(メモ) | 健診_未受診 | 総務(確認用) |
健診の所見区分(G列)は事業者が把握してよい情報です。事業者には医師の意見聴取や就業上の措置の義務があり、そのために結果を扱う必要があるためです。一方、ストレスチェックの結果(点数・高ストレス該当の有無)は原則として事業者が見てはいけません。本人の同意なく取得できないためです。だからこの台帳では、ストレス関連は「受検したか(I列)」と「面接指導の申出があったか(J列)」だけを記録し、点数や判定は一切入れません。
③ エルメのタグを6つ登録する(命名規則を統一)
操作場所:エルメ > タグ管理
タグ名は「分類_状態」の形で統一します。表記がぶれると絞り込み配信が正しく効かなくなるので、下の6つをこの文字そのままで作成してください。
| タグ名 | 付けるタイミング | 切り替えるタイミング |
|---|---|---|
| 健診_未受診 | 健診案内を配信したとき(全員) | 予約日フォームの回答で「健診_受診済」へ |
| 健診_受診済 | 予約日フォーム/受診報告の回答時 | — |
| 再検査_対象 | 所見が「要再検査/要精密検査」の人(総務が付与) | 受診報告で「再検査_受診済」へ |
| 再検査_受診済 | 再検査の受診報告フォームの回答時 | — |
| ストレス_未受検 | ストレスチェック案内を配信したとき(全員) | 受検報告で「ストレス_受検済」へ |
| ストレス_受検済 | 受検完了フォームの回答時 | — |
この章でつまずきやすい点
- 台帳の列を後から挿入すると、第6章のGASの列番号がすべてずれます。列は最初に決めて動かさないこと。
- タグ名に全角スペースや「健診_未受診 」のような末尾スペースが混ざると、別タグ扱いになり絞り込みから漏れます。
- 友だちが誰なのか台帳と突合できるよう、C列にLINE表示名を控えておくと後がラクです。
2. 健康診断の案内と、予約日の受付フォーム
健診の案内を全社に一斉配信し、各自の希望受診日をフォームで回収します。回答した人には自動で「健診_受診済」……ではなく、まだ受診はしていないので予約日が入った=手続きが進んだ人として扱い、後の督促対象から外していきます。
① 全社への案内を一斉配信する
操作場所:エルメ > 一斉配信(絞り込み)
- 配信対象を「友だち全員」にする(=従業員全員)
- 下のテンプレを本文に貼り、末尾に予約日回答フォームのURLを差し込む
- 配信と同時に、全員へ「健診_未受診」タグを付与する設定にする
② 予約日を受け取る回答フォームを作る
操作場所:エルメ > 回答フォーム
- 質問1「希望受診日」(日付の入力/選択式)を作成する
- 質問2「氏名(フルネーム)」を作成する(台帳との突合用)
- フォーム回答時のアクションとして、タグ「健診_受診済」を付与し、「健診_未受診」を外す設定にする
③ 回答を台帳(E列)に反映する
エルメの回答一覧から、各自の「希望受診日」を台帳のE列(健診予約日)に転記します(またはCSVエクスポートして貼り付け)。E列が空欄のままの人が「まだ予約日すら出していない人」=次章の督促対象です。
この章でつまずきやすい点
- フォームで「氏名」を必須にしないと、LINE表示名だけでは台帳の誰か特定できず、転記できません。
- 一斉配信のタグ付与と、フォーム回答時のタグ切替を両方設定しないと、督促対象がずっと減りません。
3. 未受診者「だけ」に届くリマインド(絞り込み配信)
ここがLINE活用の一番おいしいところです。全員に何度も送るのではなく、「健診_未受診」タグが付いている人だけにリマインドを送ります。無料枠(月200通)を節約でき、受けた人に無駄な通知を送らずに済みます。
① 絞り込み配信で未受診者だけに送る
操作場所:エルメ > 一斉配信(絞り込み)
- 配信対象の条件を「タグ:健診_未受診 を含む」に設定する
- 下のリマインド文面を貼る(締切の日付は案内と揃える)
- 締切1週間前・3日前など、必要な回数だけ手動で配信する
② 受診が確認できたらタグを切り替える
クリニックの受診者名簿が届いたら、受診した人の台帳F列を「受診済」に更新し、エルメ上でも「健診_未受診」を外します(フォーム回答時に自動で外れている人はそのままでOK)。これで次回のリマインドから自動的に外れます。
逆に、予約日(E列)を過ぎてもF列が「未受診」のままの人は、予約だけして受けていない人です。この人は第2章のフォーム回答でタグが「健診_受診済」に切り替わっているので、エルメ上で再び「健診_未受診」を付け直し、次のリマインドの対象に戻します。毎朝のGAS通知(第6章)はF列を数えるので、こうした人も「健診 未受診」の人数に含まれます。
この章でつまずきやすい点
- 「タグを含む」ではなく「タグを含まない」で条件を作ると、受診済みの人に催促が飛びます。条件の向きを必ず確認。
- タグを外す作業を忘れると、受けた人にも催促が届いてしまいます。台帳更新とタグ更新はセットで。
4. 健診結果の登録と、再検査・精密検査の勧奨
健診結果が返ってきたら、所見のある人に再検査・精密検査を勧めます。再検査そのものを会社が実施する義務はありませんが、勧奨は安全配慮義務の観点でとても重要です。受診したかどうかまで追える形にします。
① 結果票から所見区分を台帳(G列)に入力する
- クリニックから届いた結果票を見て、各自のG列に「異常なし/要再検査/要精密検査」を入力する
- 「要再検査」「要精密検査」の人は、H列(再検査状況)を「未受診」にする
- それ以外の人のH列は「対象外」にする
② 対象者に「再検査_対象」タグを付けて勧奨を配信する
操作場所:エルメ > タグ管理 → エルメ > シナリオ配信
- 要再検査・要精密検査の人に、エルメ上で「再検査_対象」タグを付ける
- 「再検査_対象」タグが付いたら開始するシナリオ配信を組む(下の3ステップ)
- 各メッセージの末尾に、再検査の受診報告フォームのURLを入れる
| 順番 | 送るタイミング | 内容 |
|---|---|---|
| 1通目 | タグ付与の当日 | 勧奨のお願い+受診先の案内+受診報告フォーム |
| 2通目 | タグ付与の7日後 | 「まだの方へ」の再度のお願い |
| 3通目 | タグ付与の21日後 | 最終確認+総務への相談窓口の案内 |
③ 受診報告を受け取り、タグと台帳を更新する
操作場所:エルメ > 回答フォーム
- 受診報告フォーム(「受診しました」ボタン+氏名)を作る
- 回答時に「再検査_受診済」を付与し、「再検査_対象」を外す設定にする(=シナリオ配信も止まる)
- 総務は台帳のH列を「受診済」に更新する
この章でつまずきやすい点
- 「再検査_受診済」を付けても「再検査_対象」を外し忘れると、シナリオ配信が止まらず催促が続きます。付与と除外は必ず対で設定。
- 健診結果は機微な個人情報です。台帳の共有範囲は総務担当に限定し、閲覧権限を絞ってください(運用開始チェックリスト参照)。
- 勧奨はあくまで「お願い」。受診を強制する文面にならないよう、相談窓口を添えて促す形にします。
5. ストレスチェックの案内・受検勧奨・面接指導の申出
ストレスチェックは、健診と違って結果を会社が見てはいけないのが最大のポイントです。LINEで扱ってよいのは「受検の案内」「未受検者への受検勧奨」「高ストレスと判定された本人からの面接指導の申出受付」まで。点数や判定結果はLINEにも台帳にも一切載せません。
① 受検の案内を一斉配信する
操作場所:エルメ > 一斉配信(絞り込み)
- 配信対象を「友だち全員」にし、全員へ「ストレス_未受検」タグを付与する
- 受検方法(外部委託の受検サイトのURL等)を案内する
- 受検が終わった人が押す「受検完了フォーム」のURLを添える
② 受検完了フォームで受検の有無だけを管理する
操作場所:エルメ > 回答フォーム
- 「受検しました」ボタン+氏名だけのフォームを作る(点数などは一切聞かない)
- 回答時に「ストレス_受検済」を付与し、「ストレス_未受検」を外す設定にする
- 総務は台帳のI列を「受検済」に更新する
未受検者への催促は、第3章と同じ要領で「ストレス_未受検」タグの人だけに絞り込み配信します。
③ 面接指導の申出を受け付ける
高ストレスと判定された本人が面接指導を希望する場合の受け皿を作ります。
- 受検案内とは別に「面接指導を申し込む」フォームのURLを常設で案内する(リッチメニュー等)
- 申出があったら、総務は台帳J列を「申出あり」にする(誰が高ストレスかの判定結果ではなく、申出があった事実だけを記録)
- 産業医等の面接指導を手配し、実施後にJ列を「実施済」に更新する
この章でつまずきやすい点
- 受検完了フォームで点数や気分などを聞いてはいけません。会社が結果を取得したことになり、制度の趣旨に反します。
- 面接指導の申出をしたことで不利益な扱いをするのは禁止です。案内文にもその旨を明記すると安心です。
- 実施者(産業医・保健師等)や外部委託先の手配は別途必要です。LINEはあくまで案内と受付の入口です。
6. GASで締切と進捗を自動集計(push専用)
最後に、締切前の「あと何人未受診か」を毎朝自動で集計し、総務にメールで届けるGASを入れます。このGASは従業員のメッセージを受信しません(受信はエルメが担当)。時刻トリガーで起動し、台帳を読んで集計・通知するだけのpush専用です。個人へのリマインドは、これまでどおりエルメの絞り込み配信で行います。
① 台帳にスクリプトを設定する
操作場所:スプレッドシート > 拡張機能 > Apps Script
- スクリプトエディタを開き、下のコードをまるごと貼り付ける
- 通知先メールアドレスは、コードに直書きせず「スクリプトのプロパティ」に登録する(②で設定)
- 保存して、初回だけ手動実行で権限を承認する
/**
* 健康管理台帳の締切・進捗を集計して総務にメール通知する。
* push専用:Webhookは受信しない(受信はエルメが担当)。時刻トリガーで起動する。
*
* 台帳の列(第1章の表と必ず一致させること)
* A:社員番号 B:氏名 C:LINE表示名 D:部署 E:健診予約日 F:健診受診状況
* G:所見区分 H:再検査状況 I:ストレス受検 J:面接指導 K:エルメタグ
*/
const SHEET_NAME = "健康管理台帳";
const LOG_NAME = "集計ログ";
const KENSHIN_DEADLINE = "2026-11-30"; // 健診の受診期限(会社が決める)
// 列番号(1始まり)。台帳スキーマと一致
const COL = { KENSHIN: 6, SHOKEN: 7, SAIKENSA: 8, STRESS: 9, MENSETSU: 10 };
function checkDeadlines() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName(SHEET_NAME);
const lastRow = sheet.getLastRow();
if (lastRow < 2) return; // データなし
// 2行目から最終行まで、A〜K列(11列)をまとめて読む
const rows = sheet.getRange(2, 1, lastRow - 1, 11).getValues();
let kenshinMi = 0; // 健診 未受診
let saikensaMi = 0; // 再検査 未受診
let stressMi = 0; // ストレス 未受検
let mensetsuMachi = 0; // 面接指導 申出あり(未実施)
rows.forEach(function(r) {
if (r[COL.KENSHIN - 1] === "未受診") kenshinMi++;
if (r[COL.SAIKENSA - 1] === "未受診") saikensaMi++;
if (r[COL.STRESS - 1] === "未受検") stressMi++;
if (r[COL.MENSETSU - 1] === "申出あり") mensetsuMachi++;
});
// 健診期限までの残日数
const today = new Date();
const deadline = new Date(KENSHIN_DEADLINE + "T00:00:00+09:00"); // JSTで解釈
const nokori = Math.ceil((deadline - today) / (1000 * 60 * 60 * 24));
const body =
"【健康管理 進捗アラート】\n" +
"健診の受診期限まで あと " + nokori + " 日\n" +
"──────────────\n" +
"健診 未受診:" + kenshinMi + " 名\n" +
"再検査 未受診:" + saikensaMi + " 名\n" +
"ストレスチェック 未受検:" + stressMi + " 名\n" +
"面接指導 申出あり(未実施):" + mensetsuMachi + " 名\n" +
"──────────────\n" +
"未受診者への催促は、エルメの絞り込み配信\n" +
"(タグ「健診_未受診」等)から送ってください。";
// 集計ログに1行追記(なければシートを作る)
let log = ss.getSheetByName(LOG_NAME);
if (!log) {
log = ss.insertSheet(LOG_NAME);
log.appendRow(["日時", "健診未", "再検査未", "ストレス未", "面接申出", "残日数"]);
}
log.appendRow([new Date(), kenshinMi, saikensaMi, stressMi, mensetsuMachi, nokori]);
// 総務へメール通知(宛先はスクリプトのプロパティから読む)
const to = PropertiesService.getScriptProperties().getProperty("SOMU_MAIL");
if (to) {
MailApp.sendEmail(to, "健康管理 進捗アラート", body);
}
}
② 通知先メールをスクリプトのプロパティに登録する
操作場所:Apps Script > プロジェクトの設定 > スクリプト プロパティ
- 「プロパティを追加」を押す
- プロパティ名に
SOMU_MAIL、値に総務担当のメールアドレスを入れて保存する
③ 毎朝自動で動くようトリガーを設定する
操作場所:Apps Script > トリガー > トリガーを追加
- 実行する関数:
checkDeadlinesを選ぶ - イベントのソース:「時間主導型」→「日タイマー」→「午前8時〜9時」を選ぶ
- 保存する。これで毎朝、未受診の残り人数が総務のメールに届く
この章でつまずきやすい点
- 台帳のシート名が「健康管理台帳」と1文字でも違うと動きません。コードの
SHEET_NAMEと揃えます。 - F〜J列に入れる値(未受診/受検済 など)は、コード内の文字列と完全一致が必要です。「未受診」と「未 受診」は別物です。
- 初回実行時に権限承認の画面が出ます。承認しないとメール送信もシート操作も動きません。
7. 費用と無料枠の注意
この仕組みは、うまく設計すればほぼ無料で運用できます。要は、LINEの無料枠(月200通)を絞り込み配信で節約することです。
| 使うもの | 費用 | ポイント |
|---|---|---|
| LINE公式アカウント(コミュニケーションプラン) | 0円/月 | 月200通まで無料。追加購入は不可 |
| エルメ(L Message) | 無料プランから | まず無料で開始し、必要になれば上位プランを検討 |
| Googleスプレッドシート | 0円 | 台帳・集計ログに使用 |
| Google Apps Script(GAS) | 0円 | 締切集計・メール通知に使用 |
32名規模で、健診・再検査・ストレスチェックの案内と絞り込みリマインドを合わせても、月内の配信は無料枠の200通に十分収まる想定です。友だち(従業員)が増えて全社一斉配信が増えると枠に近づくので、その場合はライトプラン等への切り替えを検討します。
運用開始チェックリスト
公開・運用開始の前に、次を確認してください。
- 台帳のシート名が「健康管理台帳」になっている(GASのSHEET_NAMEと一致)
- 台帳の列がA〜Kの順で、第1章の表と完全に一致している
- エルメのタグ6つが「分類_状態」の表記で作成されている
- 各フォームの回答時に、タグの付与と除外が対で設定されている
- 絞り込み配信の条件が「タグを含む」の向きになっている
- 健診結果(台帳G列など)を含むシートの共有権限が総務担当に限定されている
- ストレスチェックの点数・判定を台帳にもLINEにも入れていない
- GASのスクリプトプロパティ(SOMU_MAIL)に通知先が登録されている
- 時刻トリガー(checkDeadlines・日タイマー)が設定されている
- 自分のスマホをテスト用の友だちにして、案内→回答→タグ切替の一連を通しで確認した
- 友だち追加のQRコードを掲示する場所を決めた(更衣室・休憩室・給与明細)
8. よくある質問
Q. エルメの回答は、自動でスプレッドシートに入りますか?
この設計では、エルメの回答はエルメ側に貯まり、総務が台帳に転記(またはCSVで貼り付け)します。エルメと同じLINEアカウントでGASに受信させることはできない(Webhookが1つのため)ので、リアルタイム連携ではなく「エルメで受付→台帳へ反映→GASで集計」という流れになります。
Q. GASから従業員一人ひとりにLINEで通知できませんか?
この構成では、個人向けのLINE配信はエルメの絞り込み配信・シナリオ配信で行うのが正解です。GASは締切集計と総務へのメール通知に徹します。どうしてもGASからLINE個別送信をしたい場合は、受信を伴わない別アカウントを立てるなど設計が変わるため、まずはエルメ側に寄せるのがおすすめです。
Q. ストレスチェックの結果を会社で保管しなくてよいのですか?
個人の結果(点数・高ストレス該当の有無)は、本人の同意がない限り事業者は取得・保管できません。事業者が扱うのは「受検の有無」と「面接指導の申出・実施」までです。実施記録の保管義務は実施者・委託先とのルールに沿って行います。
Q. 従業員が会社のLINEを友だち追加してくれません。
強制はできませんが、健診・シフト・給与などの連絡窓口を一本化すると追加の動機になります。追加しない人のために、紙・メールの導線も残しておくと安全です。
Q. 50人未満なので、ストレスチェックは今はやらなくてよいですか?
現在は努力義務ですが、2028年4月1日から義務化されます。準備期間のうちに受検を回す仕組みを作っておくと、義務化後もそのまま運用に移せます。
応用アレンジ
同じ骨格(案内→受付→タグ→絞り込み配信→台帳→GAS集計)で、次のような仕組みにも展開できます。
- 雇入れ時健診の管理:入社者に個別で健診案内を送り、提出状況を台帳で追う
- インフルエンザ予防接種の希望調査:案内→希望日フォーム→接種済タグ→未回答者リマインド
- 資格・免許の更新期限アラート:台帳に更新期限列を足し、GASで期限前に総務へ通知
- 安全衛生の周知・確認:ヒヤリハット報告や安全教育の受講確認をフォーム+タグで集計
労務管理カテゴリーでは、同じ台帳+GASの考え方で「勤怠・シフト・採用」まで一貫して組めます(関連記事もあわせてどうぞ)。
まとめ
健康診断・再検査の勧奨・ストレスチェックは、「エルメで案内と受付、台帳で記録、GASで締切集計」の3役に分ければ、専任のIT担当がいなくても回せます。まず最初の一手として、第1章の「健康管理台帳(11列)」を作り、エルメのタグを6つ登録するところから始めてください。ここさえ固まれば、あとは案内を配信していくだけです。
▶ 同じ労務管理カテゴリーの「勤怠打刻」「シフト提出・調整」の設計ガイドも、この台帳+GASの考え方でつながっています。あわせてご覧ください。










