0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ShiftCrafter Part 2:二交代制の1か月シフト自動作成(CSV/ICS出力・検証CSVつき/ブラウザ完結)

Posted at

3行まとめ

二交代制(日勤・夜勤)の1か月シフトを自動割当する、ブラウザ完結のWebツールです。

CSV/ICS/検証CSVに対応。データはブラウザ内のみで処理(外部送信なし)。

デモ:https://rehab-datascience.github.io/shiftcrafter-monthly-2shift/ / ソース:https://github.com/rehab-datascience/shiftcrafter-monthly-2shift


背景
医療現場では、休み希望・夜勤回数上限・必要人数などの制約を守りながら、短時間で月次シフトを作るニーズが高い一方、専用ソフトの導入・運用は負荷になりがちです。
本記事では、インストール不要・ブラウザ完結で試せる月次版(Part 2)を公開します。

機能ハイライト

自動割当:夜勤→日勤の順に充当。Night→翌Day禁止をハード制約。

制約尊重:週/月の夜勤上限、休み希望を考慮(MVP)。

出力:

CSV(schedule_monthly.csv):表計算・検証用(wide形式)

ICS(shift_monthly_all.ics):カレンダー配布用(Google/Outlook/Apple)

検証CSV(validation_summary.csv):充足率、希望休尊重度、上限違反などを数値化


使い方(最短3ステップ)

デモURLへアクセス(PCブラウザ)

左パネルに入力:

対象月(YYYY-MM)

必要人数(日勤/夜勤:全日共通のMVP設定)

週あたり夜勤上限/(任意)月あたり夜勤上限

職員リスト(1行1名)

休み希望(例:2025-11-03 田中)

「シフト自動作成」→「CSVダウンロード/ICSダウンロード/検証CSVダウンロード」


出力ファイル(要点)

schedule_monthly.csv:date, dow, need_day, need_night, day_staff_, night_staff_

shift_monthly_all.ics:Asia/Tokyoで

日勤:例 09:00–17:00

夜勤:17:00–翌09:00(翌日に跨る)

SUMMARY: 日勤:氏名 / 夜勤:氏名

validation_summary.csv(主な列)

required_slots_filled_pct:月間必要枠の充足率(全員同値)

off_fulfillment_pct:個人の希望休充足率(%)

weekly_night_cap_violations / monthly_night_cap_violation:上限違反カウント

consec_night_2plus:連続夜勤(2連以上)

day_after_night_violation:夜勤翌日の日勤(MVPでは禁止想定)


仕様(MVP)

必要人数:月内は全日同一(将来は日別プロファイルへ拡張)

休み希望:YYYY-MM-DD 氏名 を1行1件

Night→翌Day禁止:ハード制約

夜勤上限:週+(任意で)月をチェック

公平性:総割当/Night回数の少なさを優先するシンプル割当(次版で偏り抑制を導入予定)


よくある質問(抜粋)

Q. ICSとCSVの違いは?
A. ICSは配布・共有(カレンダー取り込み)、CSVは表計算・統計検証が目的です。

Q. 勤務時間が施設と異なる場合?
A. コード内 buildICS() の開始/終了時刻を変更してください。

Q. 氏名の公開が気になる
A. SUMMARY 生成部分を匿名IDに置換できます。


今後(ロードマップ)

Part 3:三交代(早・日・夜)

Part 4:時短や個別勤務時間の考慮

Part 5:早出/遅出・休憩・時刻制約

Part 6:看護助手等の混成(ロール・技能充足)

日別プロファイル(曜日/祝日で必要人数変更)

職員別ICS分割/匿名化オプション

公平性最適化(偏り抑制、ペナルティ最小化)


免責
本ツールは教育・業務補助目的のクライアントサイドWebアプリです。
データはブラウザ内のみで処理されます。
利用による結果・損害について作者は責任を負いません。
実運用は所属施設の規程・労務基準・個人情報保護方針に従ってください。

リンク

デモ:https://rehab-datascience.github.io/shiftcrafter-monthly-2shift/

リポジトリ:https://github.com/rehab-datascience/shiftcrafter-monthly-2shift

作者X:@rehab_datasci

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?