看護師の勤務表は、Claude Codeに「病棟の勤務の種類と人数」「希望休」「守る決まり」をファイルで渡し、勤務表の案を作るPythonのスクリプトと、出来た案を決まりで確かめる照合のスクリプトを書かせる、という分担で作れます。案を作る計算は、Googleが公開している最適化のライブラリ「OR-Tools」に任せます。誰をどの夜勤に入れるかの最後の判断と、職員への説明は看護師長が行います。
この記事は、急性期の病棟で看護師長が月の勤務表づくりにClaude Codeを入れる場合の構成を、想定シナリオとして組み立てたものです。特定の病院の導入事例ではありません。照合に使う決まりは、厚生労働省の「基本診療料の施設基準等及びその届出に関する手続きの取扱いについて」(令和8年3月5日保医発0305第7号)、日本看護協会の「看護職の夜勤・交代制勤務に関するガイドライン」、労働基準法から取っています。
この記事の要点
- 結論:Claude Codeに最初に任せるのは、条件ファイルの整理・勤務表の案を作るスクリプト・照合のスクリプトの3つ。勤務表を職員に見せた後の変更では、前の版との差分も出させる。誰を夜勤に入れるかの最後の判断と職員への説明は看護師長が行う。
- 月平均夜勤時間72時間:入院基本料の施設基準は、同じ入院基本料を算定する病棟全体の平均で72時間以下を求めています。一人ずつの上限ではないので、病棟全体で計算させる。
- 勤務編成の基準:日本看護協会のガイドラインは、勤務と勤務の間隔11時間以上・夜勤の連続2回まで・連続勤務5日以内などの11項目を挙げています。病棟で採る項目を選んで条件ファイルに書く。
- 個人情報:職員の名前は記号に直し、休みの理由(通院・妊娠など)はファイルに書かない。夜勤に入れない人は理由を書かずに「夜勤なし」の印だけで渡す。
- 今日やること:病棟の勤務の種類(日勤・準夜・深夜など)の開始と終了の時刻を書き出す。
看護師の勤務表づくりでClaude Codeに任せる所と任せない所
勤務表づくりは、希望休を集め、各日の勤務ごとに必要な人数を満たし、夜勤の回数や連続を偏らせないように組む作業です。条件が多いので、表計算の手作業では、1人の希望を通すと別の日の人数が足りなくなる、という調整の繰り返しになりがちです。
この「条件を全部満たす組み合わせを探す」所は、プログラムが得意な所です。OR-Toolsの公式ドキュメント「Employee Scheduling」は、病院の看護師に勤務を割り当てる例を載せており、CP-SATというソルバー(条件を満たす答えを探す計算の部品)で解いています。Claude Codeには、この部品を使うスクリプトを病棟の条件に合わせて書かせます。

任せる所
- 希望休・勤務の種類・必要な人数を、決まった形の条件ファイルに整理する
- 条件ファイルを読んで、OR-Toolsで勤務表の案を作るスクリプトを書く
- 出来た案を、勤務間隔・夜勤の連続・連続勤務日数・必要な人数・月平均夜勤時間で照合するスクリプトを書く
- 前の版の勤務表と新しい版の差分を出す
任せない所
- 病棟で採る決まりと、決まりどうしがぶつかった時にどれを優先するかの決定
- 新人と経験者の組み合わせなど、表に書きにくい事情を踏まえた最後の調整
- 職員への説明と、急な休みが出た時に誰に交代を頼むかの判断
照合のスクリプトは「決まりに合っているか」を確かめるだけです。決まりに合っていても、その組み合わせで夜勤を回せるかは師長にしか分かりません。
勤務表の決まりを3つの出典で確かめる
照合させる前に、何を照合するかを決めます。勤務表に関わる決まりは、出どころが違う3種類に分かれます。診療報酬の施設基準(届出の要件)、日本看護協会のガイドライン(勤務編成の基準)、労働基準法などの法律です。条件ファイルには、どの出典の決まりかを1行ずつ書いておきます。

入院基本料の施設基準(月平均夜勤時間)
厚生労働省の「基本診療料の施設基準等及びその届出に関する手続きの取扱いについて」(令和8年3月5日保医発0305第7号)は、月平均夜勤時間数を、同じ入院基本料を算定する病棟全体の看護職員の延べ夜勤時間数を、夜勤時間帯に従事した実人員数で割った数とし、72時間以下であることを求めています。続けて「病棟(看護単位)ごとに月平均夜勤時間数が 72 時間以下である必要はないものであること」と書いています。なお、療養病棟入院基本料を算定する病棟の看護職員は、この要件の対象外です。
計算に入れる人と時間にも決まりがあります。
- 夜勤専従者は、実人員数にも延べ夜勤時間数にも含めない
- 夜勤時間帯に病棟と外来などを兼務する人は、その人が病棟で勤務した月の延べ時間を、その人の月の延べ夜勤時間(病棟以外の勤務を含む)で割った数を実人員数に入れる
- 急性期病院一般入院基本料・急性期一般入院基本料・7対1入院基本料・10対1入院基本料の病棟では、月の夜勤時間数が16時間未満の人を含めない(短時間正職員制度を入れている病院の短時間正職員は、12時間以上なら含める)
- それ以外の病棟では、月の夜勤時間数が8時間未満の人を含めない
- 夜勤時間帯の中で申し送りにかかった時間は、申し送った人の夜勤時間から除いてもよい(除くかどうかは、原則として同じ入院基本料を算定する病棟全体で月単位で選ぶ)
- 夜勤時間帯は、各病院が午後10時から翌日の午前5時までを含む連続する16時間で定める
同じ通知には計算例があり、延べ1,440時間を23人で割って62.6時間と示しています。この要件は届出前1か月または4週間の夜勤の実績で計算するもので(新規届出の直後は、その病棟の直近3か月間または12週間の実績の平均値が要件を満たしていればよい)、勤務表の案で出す数は見込みです。照合のスクリプトには、見込みの数として出させます。
日本看護協会の勤務編成の基準
日本看護協会の「看護職の夜勤・交代制勤務に関するガイドライン」(2013年)は、勤務編成の基準として11項目を挙げています。照合のスクリプトで機械的に確かめやすいのは次の項目です。
- 基準1:勤務と勤務の間隔は11時間以上あける
- 基準2:勤務の拘束時間は13時間以内とする
- 基準3:夜勤回数は、3交代制勤務は月8回以内を基本とし、それ以外の交代制勤務は労働時間などに応じた回数とする
- 基準4:夜勤の連続回数は、2連続(2回)までとする
- 基準5:連続勤務日数は5日以内とする
- 基準8:2回連続夜勤後にはおおむね48時間以上の休息を確保する
ガイドラインは、11項目を一度に全部満たさなければならないものではなく、各施設で優先順位を決めて進めるよう書いています。また、夜勤専従や日勤専従の勤務者は対象として想定していません。どの項目を「必ず守る」にし、どれを「なるべく守る」にするかは師長が決めて、条件ファイルに書き分けます。
労働基準法などの法律
労働基準法第35条は「毎週少くとも一回の休日を与えなければならない」とし、4週間を通じ4日以上の休日を与える場合はこの限りでないとしています。同法第66条は、妊産婦が請求した場合に深夜業をさせてはならないと定めています。育児・介護休業法第19条も、小学校就学の始期に達するまでの子を養育する労働者が請求した場合に、午後10時から午前5時まで労働させてはならないと定めています。ただし、雇用された期間が1年に満たない人や、深夜に常態として子を保育できる同居の家族などがいる人は対象外で、事業の正常な運営を妨げる場合も例外です。こうした人は、条件ファイルでは理由を書かずに「夜勤なし」の印だけを付けます。
想定シナリオ:急性期の病棟の師長が月の勤務表を作る
ここからは想定です。実在の病院・職員ではありません。
3交代制の急性期の病棟で、看護師長が毎月、翌月の勤務表を作っているとします。希望休は紙の用紙で集め、表計算のシートに手で写してから、日勤・準夜・深夜の人数を1日ずつ合わせています。月平均夜勤時間は、同じ入院基本料の別の病棟の分と合わせて、事務の担当者が月末に計算しています。
師長が決めたこと
- Claude Codeに読ませるのは、勤務の種類の表・必要な人数の表・記号に直した職員の表・希望休の表・病棟で採る決まりの5つだけ
- 職員の名前は記号(N01 など)に直す。記号と名前の対応表と、休みの理由は、病院の勤務管理のシステムの中だけに置く
- スクリプトが出した案は、師長が見て直してから、主任に見せる
- 職員への説明と、勤務表を職員に見せるのは、これまでどおり師長が行う
勤務表のフォルダとCLAUDE.mdを作る
Claude Codeは、作業するフォルダにある CLAUDE.md を起動のたびに読みます(Claude Code公式ドキュメント「How Claude remembers your project」)。病棟の決まりと、やってはいけないことをここに書いておくと、毎月の指示で言い直さずに済みます。

フォルダの例
kinmuhyo/
├── CLAUDE.md # 病棟の決まり(下の例)
├── conditions/
│ ├── shifts.csv # 勤務の種類と開始・終了の時刻
│ ├── staff.csv # 記号に直した職員の表(夜勤なしの印・夜勤専従の印)
│ ├── demand.csv # 日ごと・勤務ごとの必要な人数
│ ├── requests_2026-12.csv # 希望休(記号と日付だけ)
│ └── rules.yaml # 病棟で採る決まり(必ず守る/なるべく守る)
├── scripts/
│ ├── make_schedule.py # 勤務表の案を作る(Claude Codeが書く)
│ └── check_schedule.py # 案を照合する(Claude Codeが書く)
├── output/
│ ├── draft_2026-12_v1.csv # 勤務表の案
│ └── check_2026-12_v1.md # 照合の結果
└── .claude/
├── settings.json # 読ませない場所の設定
└── skills/
└── kinmuhyo-check/
└── SKILL.md # 照合の手順
CLAUDE.mdの例
# 看護師の勤務表(3交代・急性期の病棟)
## このフォルダでやること
- conditions/ の条件で、scripts/make_schedule.py が勤務表の案を output/ に書く
- scripts/check_schedule.py が案を rules.yaml の決まりで照合し、結果を output/ に書く
## やらないこと
- 職員の名前・休みの理由を書かない。記号(N01 など)だけを使う
- rules.yaml の「必ず守る」を、案を作るために勝手に「なるべく守る」へ変えない
- 案が作れない時は、どの条件がぶつかっているかを返して止まる
## 書き方
- 勤務の記号は shifts.csv の記号に合わせる(日・準・深・休)
- 時刻の計算は shifts.csv の開始・終了の時刻から行う
条件をファイルに書き、作成スクリプトを書かせる
案を作るスクリプトより先に、条件ファイルを固めます。条件があいまいなまま書かせると、スクリプトの中に病棟の決まりが埋め込まれ、翌月に直す場所が分からなくなります。
条件ファイルの例
rules.yaml には、決まりを「必ず守る(hard)」と「なるべく守る(soft)」に分けて書き、出典を添えます。
hard:
- id: interval_11h
rule: 勤務と勤務の間隔は11時間以上
source: 日本看護協会 勤務編成の基準1
- id: night_consecutive_max_2
rule: 夜勤の連続は2回まで
source: 日本看護協会 勤務編成の基準4
- id: weekly_holiday
rule: 毎週1日以上の休日(4週間を通じて4日以上の休日にしている病院は、4週間で4日以上)
source: 労働基準法第35条
- id: demand
rule: demand.csv の人数を満たす
source: 病棟の決まり
- id: no_night_flag
rule: staff.csv で夜勤なしの印がある人を準夜・深夜に入れない
source: 本人の請求(理由はこのフォルダに書かない)
soft:
- id: night_count_max_8
rule: 夜勤は月8回以内
source: 日本看護協会 勤務編成の基準3(3交代制の基本)
- id: consecutive_work_max_5
rule: 連続勤務は5日以内
source: 日本看護協会 勤務編成の基準5
- id: requests
rule: 希望休を通す
source: 病棟の決まり
作成スクリプトを書かせる指示
conditions/ のファイルを読んで、scripts/make_schedule.py を書いてください。
- OR-Tools の CP-SAT を使い、rules.yaml の hard は必ず満たす条件、
soft は破った数をなるべく少なくする条件にしてください
- 勤務と勤務の間隔は、shifts.csv の開始・終了の時刻から計算してください
- 出力は output/draft_2026-12_v1.csv(行=職員の記号、列=日付、値=勤務の記号)
- 解き終えた時の状態(OPTIMAL・FEASIBLE・INFEASIBLE・UNKNOWN)を表示してください。INFEASIBLE(答えが無いと分かった)の時だけ、どの hard の条件がぶつかっているかを調べて表示し、UNKNOWN(時間内に答えが出なかった)の時は条件を外さずに止めてください
- 書き終えたら、rules.yaml の各 id がスクリプトのどの行で条件になっているかを表にしてください
最後の表は、決まりがスクリプトに漏れなく入っているかを確かめるためのものです。表に出てこない id があれば、その決まりは案に反映されていません。
OR-Toolsは、Python 3.9以上の環境なら pip install ortools で入れられます(PyPI「ortools」・Apache 2.0のライセンス)。
出来た勤務表を照合スクリプトで確かめる
案を作ったスクリプトとは別に、照合のスクリプトを用意します。作る側の条件に誤りがあると、作る側の中で確かめても誤りに気づけないからです。照合は毎月同じ手順で回すので、Claude Codeの skill に分けます。skill は .claude/skills/<skill-name>/SKILL.md に置き、/skill-name で呼び出せます(Claude Code公式ドキュメント「Extend Claude with skills」)。照合は人が呼んだ時だけ動けばよいので、disable-model-invocation: true を付けます。

照合のskillの例
---
description: 勤務表の案を rules.yaml と施設基準の計算で照合する
disable-model-invocation: true
---
output/ の最新の勤務表の案を scripts/check_schedule.py で照合し、
次の表を output/ に書いてください。案のファイルは書き換えないでください。
| 確かめること | 結果(OK / 要確認) | 該当する職員の記号と日付 |
|---|---|---|
| 休日が毎週1日以上(4週間で4日以上にしている病院はその形で) | | |
| 勤務と勤務の間隔が11時間以上 | | |
| 夜勤の連続が2回まで | | |
| 2回連続夜勤の後におおむね48時間以上の休息 | | |
| 連続勤務が5日以内 | | |
| 夜勤が月8回以内 | | |
| 日ごと・勤務ごとの人数が demand.csv を満たす | | |
| 夜勤なしの印がある人が準夜・深夜に入っていない | | |
| 希望休が通っていない日 | | |
| 月平均夜勤時間の見込み(病棟全体・夜勤専従者と基準未満の人を除く) | | |
勤務間隔の照合でよく出る例
3交代で、日勤の翌日に深夜勤が入ると、日勤の終わりから深夜勤の始まりまでが短くなります。たとえば日勤が17時15分に終わり、翌日の深夜勤が0時30分に始まる病棟なら、間隔は7時間15分です。照合のスクリプトは、勤務の記号ではなく shifts.csv の時刻から間隔を計算させるので、病棟ごとの開始・終了の時刻の違いをそのまま反映できます。
月平均夜勤時間は病棟全体で見る
施設基準の月平均夜勤時間は、同じ入院基本料を算定する病棟全体の平均です。同じ入院基本料を算定する病棟が複数ある病院では、1つの病棟の勤務表だけでは答えが出ません。その場合は、他の病棟の延べ夜勤時間数と実人員数の見込みを、記号に直した集計として別ファイルで渡し、合わせて計算させます。夜勤時間帯は病院が定めた16時間(たとえば16時から翌朝8時まで)を shifts.csv に書き、その時間帯に入る分だけを数えさせます。
急な休みと交換を差分で管理する
勤務表を職員に見せた後も、急な休みや勤務の交換で表は何度も変わります。変えるたびに、新しい版を draft_2026-12_v2.csv のように別のファイルで保存し、前の版との差分を出させます。

差分を出させる指示
output/draft_2026-12_v1.csv(前の版)と output/draft_2026-12_v2.csv(新しい版)を比べて、
1. 勤務が変わった職員の記号と日付(前の勤務 → 新しい勤務)
2. 変更で照合の結果が OK から要確認に変わった項目
3. 月平均夜勤時間の見込みの変化
を表にしてください。
交換で勤務間隔が11時間を切る組み合わせは、交換を受けた側に出やすくなります。差分の表で照合の結果が変わった項目だけを見れば、表全体を見直さずに済みます。
職員の名前と休みの理由を入れない設定
希望休の用紙には、通院や妊娠、家族の介護といった休みの理由が書かれることがあります。個人情報保護委員会の「個人情報の保護に関する法律についてのガイドライン(通則編)」(令和8年6月一部改正)は、「「要配慮個人情報」とは、本人の人種、信条、社会的身分、病歴」などを含む個人情報と書いており、病歴はその一つです。
個人情報保護委員会の注意喚起
個人情報保護委員会は「生成AIサービスの利用に関する注意喚起等」(令和5年6月2日)で、事業者が生成AIサービスに個人情報を含むプロンプトを入力する場合に「特定された当該個人情報の利用目的を達成するために必要な範囲内であることを十分に確認すること」を求めています。
この記事の手順は、名前と休みの理由を最初からフォルダに置かず、記号と日付、「夜勤なし」の印だけを読ませる形にしています。勤務表を作るのに、休みの理由は要りません。それでも、記号と勤務の並びから誰のことか分かる場合はあります。どこまで読ませてよいかは、病院の個人情報の方針で決めてから始めてください。
アカウントの学習設定
Claude Codeの公式ドキュメント「Data usage」によると、Free・Pro・Maxのアカウントは、設定がオンの時に会話のデータが今後のモデルの学習に使われます(Claude Codeでの利用も含む)。Team・Enterprise・APIなどの商用の条件では、顧客が提供を選んだ場合を除いて、Claude Codeに送ったコードやプロンプトを学習に使いません。病院の業務で使う時は、病院の規程で使ってよいと決めた契約のアカウントを使い、学習の設定と保存期間を確かめてから使います。公式の案内では、Free・Pro・Maxで学習に使う設定をオフにした場合の保存期間は30日、オンの場合は5年です。
読ませない場所の設定
記号と名前の対応表を誤ってフォルダに置いてしまった時に備え、private/ を読ませない設定も足します。Claude Codeの権限のルールは deny→ask→allow の順に評価され、allow で deny の例外は作れません(公式ドキュメント「Configure permissions」)。チームで共有する設定は .claude/settings.json に書きます(公式ドキュメント「Settings files and precedence」)。
{
"permissions": {
"deny": [
"Read(./private/**)",
"Edit(./private/**)"
]
}
}
ただし公式ドキュメントは、この deny が効くのは Claude Code の組み込みのファイル操作と、cat などの認識できるコマンドまでで、ファイル名を書かずに読む grep -r や、Python などのスクリプトが中で開くファイルには効かないと書いています。この記事の手順はPythonのスクリプトを動かすので、deny は二重の備えにすぎません。一番の守りは、名前と理由をフォルダに置かないことです。
看護師の勤務表づくりでつまずきやすい失敗と対処
❌ 決まりを全部「必ず守る」にする
11項目と希望休を全部 hard にすると、答えが見つからないことがあります。⭕ 法律と届出の要件、人数は hard にし、ガイドラインの項目と希望休は、師長が決めた優先順位で hard と soft に分けます。答えが無いと分かった時は、どの条件がぶつかっているかをスクリプトに表示させます。
❌ 月平均夜勤時間を1つの病棟だけで計算する
施設基準の月平均夜勤時間(72時間以下)は、同じ入院基本料を算定する病棟全体の平均です。⭕ 同じ入院基本料の病棟が複数ある病院では、他の病棟の集計の数を別のファイルで渡し、夜勤専従者と基準未満の人を除いて計算させます。
❌ 作るスクリプトの中だけで確かめる
作る側に条件の書き間違いがあると、同じ条件で確かめても誤りに気づけません。⭕ 照合は別のスクリプトに分け、決まりごとに結果の表を出させます。
❌ 希望休の理由まで条件ファイルに写す
理由は勤務表の計算に要りません。⭕ 希望休は記号と日付だけ、夜勤に入れない人は「夜勤なし」の印だけにします。
まとめ
- Claude Codeに最初に任せるのは、条件ファイルの整理・案を作るスクリプト・照合のスクリプトの3つ。勤務表を職員に見せた後の変更では、前の版との差分も出させる
- 月平均夜勤時間72時間以下の要件は、同じ入院基本料を算定する病棟全体で計算する。勤務表の案で出すのは見込みで、実績は勤務実績表で確かめる
- 名前と休みの理由はフォルダに置かず、記号と日付と「夜勤なし」の印だけを読ませる
次の3つから始めてください。
- 病棟の勤務の種類と、開始・終了の時刻を
shifts.csvに書き出す - 日本看護協会の11項目から、病棟で採る項目を選んで hard と soft に分ける
- 前の月の勤務表を記号に直し、照合のスクリプトにかけて結果の表を見る
あわせて読みたい
よくある質問
看護師の勤務表はAIで自動作成できますか?
案を作るところまでは任せられますが、そのまま使うものではありません。Claude CodeにOR-Toolsで案を作るスクリプトと照合のスクリプトを書かせ、出来た案を看護師長が見て直します。誰をどの夜勤に入れるかの最後の判断と職員への説明は師長が行います。
月平均夜勤時間72時間は一人ずつの上限ですか?
一人ずつの上限ではありません。令和8年3月の厚生労働省の通知は、同じ入院基本料を算定する病棟全体の平均で72時間以下を求めており、同じ入院基本料の病棟が複数あっても、病棟ごとに72時間以下である必要はないと書いています。夜勤専従者と、月の夜勤時間数が基準(16時間または8時間)未満の人は計算に含めません。ただし、16時間の基準の病棟でも、短時間正職員制度を入れている病院の短時間正職員は12時間以上なら含めます。療養病棟入院基本料の病棟の看護職員は対象外です。
2交代制の病棟でも使えますか?
使えます。shifts.csv に2交代の勤務の時刻を書けば、勤務間隔や夜勤時間の計算はその時刻で行われます。日本看護協会のガイドラインは、夜勤回数の月8回以内を3交代制の基本とし、それ以外の交代制は労働時間などに応じた回数としているので、2交代の回数は病棟で決めて rules.yaml に書きます。
無料のツールで作れますか?
案を作る計算に使うOR-Toolsは、Apache 2.0のライセンスで公開されているライブラリで、Python 3.9以上の環境なら pip install ortools で入れられます。Claude Code自体のプランと料金は、Anthropicの公式の案内で確かめてください。
職員の名前や休みの理由を入れても大丈夫ですか?
この記事の手順では入れません。病歴は個人情報保護委員会のガイドラインで要配慮個人情報に挙がっており、生成AIサービスに個人情報を入れる時は利用目的の範囲内かを確かめるよう注意喚起も出ています。名前は記号に直し、休みの理由は書かず、夜勤に入れない人は「夜勤なし」の印だけにしてください。
運営元 Uravation よりこの事例を自社の業務で試す場合のテーマ選定・評価・本番移行の確認項目を、無料のチェックリストにまとめています。 Claude Code業務自動化PoCチェックリストを受け取る(無料)
参考・出典
この記事の出典は2026年10月30日時点で確認しています。
- 厚生労働省「令和8年度診療報酬改定について」
- 厚生労働省「基本診療料の施設基準等及びその届出に関する手続きの取扱いについて」(令和8年3月5日保医発0305第7号)
- 日本看護協会「看護職の夜勤・交代制勤務に関するガイドライン」(2013年)
- e-Gov法令検索「労働基準法」
- e-Gov法令検索「育児休業、介護休業等育児又は家族介護を行う労働者の福祉に関する法律」
- Google OR-Tools「Employee Scheduling」
- PyPI「ortools」
- 個人情報保護委員会「個人情報の保護に関する法律についてのガイドライン(通則編)」(令和8年6月一部改正)
- 個人情報保護委員会「生成AIサービスの利用に関する注意喚起等」(令和5年6月2日)
- Claude Code公式ドキュメント「How Claude remembers your project」
- Claude Code公式ドキュメント「Extend Claude with skills」
- Claude Code公式ドキュメント「Configure permissions」
- Claude Code公式ドキュメント「Settings files and precedence」
- Claude Code公式ドキュメント「Data usage」