「AIでシフトが自動で組めるらしいですよ」。この話は何度か聞きましたし、実際にそういう製品もあります。ただ、汎用の生成AI(ChatGPTやClaude)に病棟の勤務表を丸ごと組ませることについては、私はおすすめしません。
私は病棟で働く看護師です。シフトを組む側ではなく、組まれたシフトを受け取る側です(書き手について詳しくはこちら)。管理職の経験はないので、この記事は「師長はこうすべき」という話ではありません。勤務表がどれだけ複雑な条件でできているかを、受け取る側として見てきた立場から、AIの使いどころと使ってはいけないところを整理します。
結論から書きます。シフトの表そのものはAIに組ませない。かわりに、その前後にある集計・照合・文章づくりを任せる。 それでも、5時間かかっていた月イチの作業が3時間20分まで落ちます。減っているのは主に「組む前」と「組んだ後」で、組む工程そのものは1分も削っていません。
なぜシフト本体をAIに組ませないほうがいいのか
理由は3つあります。
1. 制約の数が、検算できない量になる
思いつくままに挙げても、これだけあります。
- 夜勤回数の上限と下限
- 勤務間インターバル(夜勤明けの次の勤務まで何時間空けるか)
- 連続勤務日数の上限
- 新人と指導者を同じ勤務に入れる(ペアリング)
- 委員会・研修・応援出しの日は勤務を固定
- 有給の希望、時短勤務、夜勤免除
- 病棟ごとの暗黙の調整(このメンバー構成は避ける、など)
これらは互いに干渉します。夜勤を1つ動かすと、勤務間インターバルが崩れ、ペアリングが崩れ、翌週の連続勤務が上限に触れる。人が1枚の表として全体を見ながら動かしているから成立している種類の作業です。
2. 生成AIは、矛盾したまま「それらしい表」を出す
ここが一番こわいところです。条件を満たせなかったとき、AIは「できません」とは言わず、見た目の整った表を出してきます。 30日×24人のマス目を人間が1つずつ検算するのは現実的ではないので、崩れに気づかないまま配ってしまう可能性があります。
自分で組んだ表なら、どこを妥協したか覚えています。AIが出した表には、その記憶がありません。
3. 間違いが人の生活に直撃する
資料の誤字なら直せばいい。でも勤務表の誤りは、誰かの予定を壊し、労働時間のルールに触れることもあります。責任の所在があいまいになる作業は、そもそも任せない。 私はこの線引きが一番大事だと思っています。
そのうえで、勤務表づくりの時間の多くは、実は表を組む工程の外にあります。そこを削ります。
大前提:職員情報も個人情報です
患者さんの情報を入れないのは当然として、シフトの下ごしらえでは職員の情報が問題になります。しかもこちらは、うっかり入れやすい。
氏名は記号に置き換える
スタッフはA〜Xの記号にします。対応表は手元の紙かローカルのファイルだけに置き、AIには渡しません。記号化してしまえば、後の集計も照合も問題なくできます。
「理由」は絶対に渡さない
一番気をつけたいのがここです。
| 渡してはいけない書き方 | 渡してよい書き方 |
|---|---|
| 「Cさんは妊娠中のため夜勤不可」 | 「C:夜勤不可」 |
| 「Fさんは親の介護で夜勤は月2回まで」 | 「F:夜勤は月2回まで」 |
| 「Hさんは治療中で日勤のみ」 | 「H:日勤のみ」 |
健康状態や家族の事情は、個人情報の中でも特に配慮が必要な情報にあたります。シフトを組むのに必要なのは「不可」という結果だけで、理由は要りません。 理由を書かないと決めておけば、迷う場面がなくなります。
記号化には5分もかかりません。ここを省略して実名のまま渡すのが、この作業で一番ありがちな事故です。
実演:シフトの前後をAIで削る
設定と使うデータ(すべて架空です)
- 病棟スタッフ:24名(うち夜勤可能18名)
- 対象月:9月(30日)
- 夜勤体制:1日あたり看護師3名。30日で計90コマ、夜勤可能18名なら平均5回
- 夜勤回数の目安:1人あたり月4回以上8回以下
- 9月の希望休:のべ47件
- 希望の集め方:紙の希望表・チャットでの連絡・口頭が混在
数字は渡す前に確かめます。3名×30日=90コマ、90÷18=平均5回。この計算が合っていないまま渡すと、AIは矛盾に気づかず、それらしい文章を書いてしまいます。
下ごしらえ1:バラバラの希望を一覧に揃える(15分)
紙、チャット、口頭。形式の違う希望を1つの表にする作業は、地味ですが1時間近く消えます。ここは記号化してから渡せば任せられます。
以下は、ある病棟の9月の休み希望メモです。形式がバラバラなので整理してください。
スタッフは記号(A〜X)で、個人が特定できる情報は含みません。
# メモ
A:9/3, 9/4 連休希望(できれば)
B:9/13は必須(外せない用事)
C:9月の第2週はどこか1日
D:9/20-21 どちらか1日
E:9/6 必須、9/7 できれば
(以下略)
# 依頼
1. 「日付/記号/必須か希望か」の3列の表に整理してください
2. 日付が特定できていない希望(「第2週のどこか」など)は
別表に分けて、確認が必要な項目として一覧にしてください
3. 同じ日に希望が3件以上重なっている日を抽出してください
# 縛り
- 私が渡した内容以外を推測で補わないでください。
読み取れないメモは「【要確認】」と書いて、そのまま残してください
- 希望の優先順位を勝手に判断しないでください
「同じ日に3件以上重なっている日を抽出」が効きます。 組み始める前に混雑日が分かっていると、その日から埋める順番で作業でき、後から総取り替えになる回数が減ります。
3列に揃った時点で、あとは表計算ソフトに貼れます。
下ごしらえ2:制約の一覧表を作る(10分)
頭の中にしかない条件を、文字にしておく作業です。引き継ぎのときに一番困るのがここでした。
病棟の勤務表を作成する際の制約条件を、抜け漏れなく洗い出したいです。
一般的な項目でよいので、確認すべき条件の質問リストを作ってください。
# 依頼
1. 労働時間・休日に関する条件
2. 教育・指導に関する条件(新人とのペアリングなど)
3. 個人の事情に関する条件(※理由は書かず「可否」だけを記入する前提で)
4. 病棟運営上の条件(委員会・研修・応援など)
上記4分類で、確認すべき項目を質問形式で挙げてください。
各項目に「この条件を破ったときに何が起きるか」を1行添えてください。
# 縛り
- 労働基準法や医療法などの具体的な条文・数値は書かないでください。
該当しそうな箇所は「【要確認】就業規則および労務担当に確認」と書いてください
最後の縛りは必ず入れてください。労働時間のルールは施設の就業規則や労使協定によって変わりますし、AIが挙げる法令の数値は、そのまま信じられるものではありません。 質問リストとして使い、答えは規則と労務担当に確認する。この分担にしておけば安全です。
出てきたリストで、確かにと思ったのは「連続勤務日数の上限は何日か。また、夜勤明けを勤務日として数えるか」という質問でした。数え方の定義が曖昧なままだと、公平性のチェックも意味を持ちません。
ここは人間:シフト本体を組む(120分)
ここは削りません。整理された希望一覧と制約表を横に置いて、いつもどおり自分で組みます。時短の対象外です。
下ごしらえ3:組んだ後の公平性チェック(10分)
組み上がった表を、記号化したまま渡して数えさせます。
以下は、記号化した9月の勤務表です(実在のものではありません)。
30日分、24名分の勤務記号を貼ります。
# 記号の意味
日勤=D/準夜=E/深夜=N/休み=//有休=Y
# データ
A:D D / N E D ...(以下略)
# 依頼
次の項目を、記号ごとに数えて表にしてください。
1. 夜勤(E+N)の回数
2. 土日の休みの日数
3. 連続勤務の最長日数
4. 夜勤明けの翌日が勤務になっている回数
そのうえで、各項目について
「最も多い記号」「最も少ない記号」「その差」を示してください。
# 縛り
- 数えた結果だけを示し、公平・不公平の評価はしないでください
- 数え間違いの可能性があるため、各項目の合計値も併記してください
「数えた結果だけを示し、評価はしないでください」は入れておくべきです。 AIに「これは不公平です」と言わせても意味がありません。差をどこまで許容するかは、病棟の事情を知っている人が決めることです。
そしてもう一つ、正直に書いておきます。マス目を数える作業そのものは、AIより表計算ソフトのほうが確実です。 COUNTIF一発で済みますし、間違えません。AIに任せる価値があるのは「何を数えるべきかの設計」と、結果を文章にする部分です。数え上げの結果は、必ず自分で1つは検算してください。
架空データでの出力例は、こんな形になります。
・夜勤回数:最多7回(記号G)/最少4回(記号R)/差3回。合計90回
・土日の休み:最多6日(記号L)/最少1日(記号B)/差5日
・連続勤務の最長:5日が3名(記号C・K・P)
・夜勤明けの翌日が勤務:のべ4回
夜勤回数の合計90が、事前に計算した90コマと一致しています。ここが合わなければ、表か数え方のどちらかが間違っているという検算になります。
土日の休みが1日と6日で差5日、というのは自分では気づきにくい偏りでした。夜勤回数ばかり見ていて、休みの曜日までは数えていなかったからです。
下ごしらえ4:変更点の連絡文と引き継ぎメモ(5分)
1. 前月から変更した運用(夜勤の申し送り時刻など)を、
スタッフ向けの連絡文にしてください。300字以内、掲示板に貼る想定で
2. 勤務表作成の手順と、今回判断に迷った点を、
引き継ぎメモとして箇条書きにしてください
2つめが地味に効きます。シフト作成は担当者の頭の中に閉じがちな作業で、代わってもらうときに困る。作りながら迷った点をその場で書き出しておくと、それが次の担当者への引き継ぎ資料になります。
時間の内訳を並べてみる
| 工程 | これまで | AIを使うと |
|---|---|---|
| 希望休の集計・転記 | 60分 | 15分 |
| 制約の一覧表づくり | 30分 | 10分 |
| シフト本体を組む | 120分 | 120分(人間の仕事・削らない) |
| 公平性のチェック | 40分 | 10分 |
| 変更点の連絡文づくり | 20分 | 5分 |
| 確定前の最終確認 | 30分 | 40分(ここは増やす) |
| 合計 | 約5時間 | 約3時間20分 |
削れたのは、集計と照合と文章化です。組む工程は120分のままで、これは意図的にそうしています。そして確定前の最終確認は30分から40分へ増やしました。 AIが数えた結果を鵜呑みにしないぶん、突き合わせの時間が必要になるからです。
「AIでシフト作成が半分に」とは書けません。1時間40分ぶんの短縮です。ただ、削れた1時間40分はすべて単純作業なので、体感としてはもっと軽くなります。
使う前に確認したい4つのこと
1. 職員の情報も個人情報として扱う
記号化して、理由は渡さない。この2つだけ守れば、下ごしらえの範囲でAIに渡す情報は「勤務記号の並び」まで落とせます。患者さんの情報を入れないのは言うまでもありません。
2. 院内の規程を先に確認する
生成AIの利用可否も、使ってよいアカウントの種類も施設ごとに違います。勤務表は労務に関わる文書なので、扱いが厳しい施設が多い分野です。個人の判断で始めず、情報システム部門と労務・人事の担当部署に先に確認してください。
3. 法令や就業規則の判断をAIに委ねない
夜勤回数の上限、勤務間インターバル、連続勤務日数。これらの基準は施設の就業規則と労使協定で決まります。AIが挙げる数値を根拠に勤務表を組まないでください。 判断が必要な箇所は【要確認】として残し、労務担当と就業規則で確認する。AIは質問リストを作る係です。
4. 学習に使われない設定を確認する
多くのサービスに、入力内容を学習に使わせない設定があります。ChatGPTならデータ管理の設定、Claudeにも同様の項目があります。業務で使う前に必ず確認してください。 設定していても、記号化のルールは変わりません。二重の防御と考えます。
まとめ:組ませないと決めるところから始まる
AI活用の記事で「これはAIにやらせない」と書くのは、そこだけ売り込みにならないので、あまり見かけません。でもシフトに関しては、やらせない範囲を先に決めるほうが、結果的に使える範囲が広がります。
手順をもう一度。
- スタッフを記号化し、理由は渡さない(「妊娠中のため夜勤不可」ではなく「夜勤不可」)
- バラバラの希望を一覧に整えさせる(重複が多い日も抽出させる)
- 制約条件の質問リストを作らせる(法令の数値は書かせず【要確認】に)
- シフト本体は自分で組む(ここは削らない)
- 組んだ後の偏りを数えさせる。評価はさせない
- 合計値を検算する(ここは絶対に削らない)
削れた1時間40分のうち、少しでも「この人、先月も土日出てるな」に気づく時間に回れば、下ごしらえの意味はあったと思います。
▶ 他の実務記事は 「業務改善」カテゴリ に追加していきます。導入そのものの進め方は AI導入手順の記事 へ。
この記事の注記
記事内の数値・事例はすべて架空のものであり、実在の施設・職員とは関係ありません。勤務条件は所属施設の就業規則および労使協定に従ってください。生成AIの出力には誤りが含まれることがあります。業務でご利用の際は、所属施設の規程に従い、内容は必ずご自身で確認してください。労務上・医療上の判断にAIの出力を用いないでください(免責事項)。



コメント