⚡ 自動生成&ワンポイント極意

自動生成をフル活用して手作業ゼロへ!シフト自動作成のコツとワンポイント極意を完全伝授

1. 自動生成エンジンの仕組み

Vedaの最適化エンジンは、遺伝的アルゴリズム・シミュレーテッドアニーリング(焼鈍法)・制約充足ソルバーを融合した医療・看護専用の超高速最適化アルゴリズムです。

自動生成完了画面
【図1-1】自動生成の完了画面(「指定された1回の勤務表案の作成が完了しました」バナー・スコア・日別人員均等充足)

自動生成を実行すると、画面上部に「✓ 指定された 1回の勤務表案の作成が完了しました」という通知バナーが表示され、病棟全体の最適シフトが一括展開されます。

自動生成結果のチェックポイント

自動作成ボタンの操作手順

  1. 事前に有給や希望休、固定リーダー等の予定をマス目に入力しておきます(動かしたくないマスは🔒南京錠でロック)。
  2. 画面右上の青いボタン 「自動生成」 をクリックします。
  3. 画面上に進捗バーが表示され、数秒〜数十秒で数十万〜数千万通りの組み合わせから最適解が算出されます。
  4. 計算完了後、ルール違反ゼロの美しい勤務表が自動展開されます。

変則2交代制(長日勤・変則夜勤)専用の自動生成最適化アルゴリズム

長日勤と変則夜勤を組み合わせる「変則2交代制」を運用する病棟向けに、専用の最適化探索ロジックが組み込まれています(※16時間夜勤ではなく、長日勤・変則夜勤シフトを使用します)。

変則2交代制 自動生成ロジック
【図1-2】変則2交代制 自動生成ロジック設定(最適化モード・4日ブロック均等配置)

💡 変則2交代 最適化モードのメカニズム

「2交代専用 最適化モード(有効)」をONに設定すると、チーム別の必要変夜数に応じて、変則2交代スタッフ全員で [変夜 → 変夜 → 明 → 休](4日ブロック) を均等にローテーション配置します。
さらに2交代専用の「コホート交互探索」を実行し、夜勤の偏りや過重労働を完全に排除しながら、明け翌日の公休確保と日中人員のバランスを同時に満たす最適解を高速導出します。

2. システム設定のカスタマイズ(動作モード設定 & 勤務時間の厳格管理)

上部メニューの「設定 ▼」→「システム設定」から、最適化エンジンの動作モードや勤務時間の管理手法を病棟の運用体系に合わせて変更できます。

システム設定(1ヶ月単位)
【図2-1】システム設定(1ヶ月単位・試行回数)
システム設定(4週間毎モード)
【図2-2】システム設定(4週間毎モード・基準起算日設定)

⚖️ 勤務時間の厳格管理(勤務者間の不公平をゼロにする「全員の勤務時間完全一致」機能)

看護現場のシフト作成において最もスタッフの不満・トラブルになりやすいのが、「人によって労働時間の長さに差があり不公平」「特定の人ばかり多く働いて疲弊している」という労働時間の偏りです。
Vedaの「勤務時間の厳格管理」は、同一契約条件のスタッフ全員の勤務時間数を寸分のズレもなく完全に一致させ、勤務者間の不公平感を根本からゼロにするための強力な最適化機能です。

⚖️
【勤務者間の不公平を完全排除】全員の勤務時間数がピッタリ一致します!
日勤、夜勤、変則夜勤、長日勤など、どのようなシフト配分であっても、AIが公休日数・出勤シフトを自動計算し、常勤スタッフ全員の月間(または4週単位)の実労働時間数を完全同一(例: 全員157.5時間、または全員160.0時間など)にピタリと揃えます。
「あの人より私の方が多く働かされている」といった不公平感が一切生じない、極めて公平で透明性の高い勤務表が自動作成されます。
勤務時間の厳格管理(1ヶ月営業日基準)
【図2-3】勤務時間の厳格管理(1ヶ月・月間営業日基準)
勤務時間の厳格管理(4週間変形労働時間制)
【図2-4】勤務時間の厳格管理(4週間・変形労働時間制)
設定項目 特徴と「全員の勤務時間を一致させる」仕組み
勤務表作成の期間単位
  • 1ヶ月単位(暦月+前5日): 毎月1日〜末日までのサイクルで、全員の月間総労働時間数を完全一致させます。
  • 4週間毎(28日間): 4週単位の変形労働時間制を採用している病院用。起算日(アンカー日)から28日間のスパンで、全員の4週間実労働時間数を完全一致させます。
勤務時間の厳格管理
【1ヶ月単位・営業日基準】
全スタッフの月間労働時間を完全一致: カレンダーの当月日数から組織定休日(土日等)および祝日を除いた「実質営業日数」をシステムが自動カウント。
実営業日数 × 日勤所定時間(7.5時間等) により当月の「全職員共通の目標勤務時間」を自動算出し、日勤・長日勤・夜勤・公休を精密に組み合わせることで、勤務者全員の月間実労働時間数を寸分違わず完全に一致させます(有休取得者は所定時間分が自動控除され、実質負担が公平に調整されます)。
勤務時間の厳格管理
【4週間毎・変形労働時間制】
変形労働時間枠内での全員均等化: 1週間の勤務時間数(法定時間基準: 40時間)および4週間の勤務時間数(変形労働時間枠: 160時間 または 155時間)を厳格に管理します。
4週間モードでは、自動生成時に「28日労働時間起算日の指定」フォームが自動連動し、起算日から28日間のスパンで全スタッフの総勤務時間数が完全同一となるシフトを自動導出します。超過や不足によるスタッフ間の不公平が一切発生しません。
最適化の最大試行回数 通常は「2,000万回(標準)」で十分です。全員の勤務時間を完全一致させながら複雑な相性・必要人数ルールを同時に満たす難関病棟の場合は、スライダーを「5,000万回」に引き上げることで、より高度な最適解を確実に導出できます。

3. 日別集計・月間集計を活用したチェック術

勤務表下部にある「📊 集計項目設定」を活用して、シフトの安全性をリアルタイムに監視できます。

日別集計設定
【図3-1】日別シフト集計行の設定(下部)
スタッフ別集計設定
【図3-2】スタッフ別集計列の設定(右側)
🔍
集計チェックの3大ポイント:
1. 下部バー(日別人数): 夜勤帯・日勤帯の人数に不足(赤字)がないか一目で確認。
2. 右側列(公休日数): 規定公休日数(例: 11日)と完全一致しているか確認。
3. 右側列(夜勤時間): 様式9(月間夜勤72時間)を超過しているスタッフがいないか確認。

4. シフト作成のワンポイント極意

💡 極意①:「配置基準エラー(人数不足)」が出たときの直し方

自動生成の実行後、画面右下に「致命的エラー: ○件」と赤色警告が表示される場合があります。

致命的エラー検知パネルとリアルタイム集計表示
【図4-1】致命的エラー検知パネル(エラー件数・人数不足の具体的内容表示)

パネルには、例えば [全体] 1日の「準夜」[Aチーム] 配置基準エラー(人数不足): 1名以上に対し実際0名 や [全体] 1日の「深夜」配置基準エラー(人数不足): 設定3名に対し実際0名 のように、「何日の」「どのシフト・チームで」「何名不足しているか」 が具体的に通知されます。

⚠️
配置基準エラーの主な原因と解消ステップ:
1. 特定の日への希望休集中: その日に休み希望を出している職員が多すぎる場合、出勤可能なスタッフ数が物理的に不足します。職員と相談して希望休の日程を調整してください。
2. 必要人数のハードル設定: 病棟の総スタッフ数に対して「日別の人員配置基準(必要人数)」の設定が高すぎることがあります。制約ルールの「日別の人員配置基準」を開き、土日祝などの必要人数を1名緩和してください。
3. 集計バーとの照合: 勤務表下部の日別集計行(赤字表示)を確認しながら調整し、再度「自動生成」を実行すれば致命的エラー0件(青色・スコア100点)へと解決します。

💡 極意②:勤務表を反転させて勤務交換を便利にする方法(同一勤務反転ハイライト)

勤務表の作成中や微調整時に「この日の公休者は誰か」「誰と誰の勤務を交換できるか」を探す際、マス目を一つずつ探すのは大変です。Vedaでは、特定の日や勤務に入っている職員のセルをワンクリックで黒背景・太字に一括反転(ハイライト)表示させる強力なサポート機能を備えています。

勤務表の同一勤務反転(ハイライト)機能
【図4-2】勤務表の同一勤務反転機能(右下パネルで「公休」を反転選択し、該当セルを一括強調)
🔍
同一勤務反転の操作手順と活用テクニック:
1. 日付の勤務者情報を開く: 勤務表のカレンダー上部の日付(または下部集計行の該当日のマス)をクリックすると、画面右下に「〇月〇日の勤務者情報」パネルが開きます。
2. 反転させたい勤務をクリック: パネル内にはその日の勤務区分(公休・日勤・深夜・準夜など)と該当スタッフ名が一覧表示されます。勤務名の右にある「反転 +」ボタンをクリックします。
3. 該当セルが一括ハイライト: ボタンが「反転中 ✕」に切り替わり、勤務表上の該当する全職員のセルが黒背景・白文字(太字)でくっきり反転表示されます。
4. ドラッグ&ドロップでスムーズに交換: 対象の職員が一目でわかるため、交換したいマス(例: 公休の職員と出勤の職員)を直感的に見つけ出し、ドラッグ&ドロップするだけで即座に勤務スワップが完了します。
5. 解除方法: もう一度「反転中 ✕」をクリックするか、パネル右上の「全反転解除」ボタンを押すことで、いつでも一発で通常表示に戻せます。

💡 極意③:スコアの確認の仕方と点数について(スタッフ別評価・ペナルティ詳細)

自動生成の完了後、スタッフ一覧の左側にある「スコア」列に、各職員のシフトの総合評価点(100点満点)が表示されます。この点数をクリックすることで、各スタッフの負担や減点理由を詳細に分析できます。

スタッフ評価詳細ダイアログ(スコア・減点コスト・減点原因一覧)
【図4-3】スタッフ評価ダイアログ(スコア点数・減点コスト・具体的なペナルティ詳細)
📊
スコアの確認方法と点数の見方:
1. スコアをクリック: スタッフ行の「スコア」列に表示されている数字(例: 88, 85, 56 など)をクリックすると、「(スタッフ名)の評価」ダイアログがポップアップ表示されます。
2. スコア(100点満点)の色と基準:
 ・80点以上(緑色): 制約ルールや希望休、夜勤間隔がハイレベルで満たされている理想的なシフトです。
 ・60〜79点(黄色): 概ね良好ですが、インターバルの短縮や軽微な偏りが発生している状態です。
 ・60点未満(オレンジ色/赤色): 夜勤回数の不公平やインターバル不足など、複数のペナルティが重なっているため改善が推奨されます。
3. コスト(減点)とペナルティ詳細:
 ダイアログ内の「減点の原因(ペナルティ詳細)」には、何日のどのルール違反で何点減点されたかが具体的にリストアップされます。
 (例:「2日: 休みの翌日の深夜出勤 (+500)」「19日: 最低インターバル不足 (+50)」「夜勤時間の上限超過 (+1000)」「夜勤回数の不公平 (+1536)」など)
4. ピンポイントのシフト改善:
 点数の低いスタッフの原因を確認し、問題のある日の勤務を極意②の「反転表示」と「ドラッグ&ドロップ交換」で調整することで、病棟スタッフ全員が納得する公平で負担の少ない勤務表へとブラッシュアップできます。

💡 極意④:希望入力の方法と順位付け、自動生成時の希望の扱い方

職員の休み希望や特定シフトの希望を正確に反映することは、スタッフの満足度と公平性を保つ上で極めて重要です。Vedaでは、希望シフトの入力時に「第1希望〜第5希望」の優先順位を指定できるだけでなく、同日に希望を出している他のスタッフの状況をリアルタイムに確認しながら重複を未然に防ぐことができます。

希望入力ダイアログ(優先順位・特別な理由・他メンバーの予定)
【図4-4】希望入力ダイアログ(希望勤務・優先順位第1〜第5希望・特別な理由・他メンバーの予定一覧)
📝
1. 希望入力の基本操作ステップ:
① マス目をクリック: 勤務表上で対象職員の希望日のマスをクリックし、クイック選択メニュー(勤務パレット)を表示します。
② 「★ 希望入力」を選択: パレット右列「付加設定」にある紫色の ★ 希望入力 ボタンをクリックすると、入力モーダルが開きます。
③ 希望勤務と優先順位の指定:
 ・希望する勤務: 「休み」「日勤」「準夜」「夜勤」「夜勤以外」「日勤以外」「PM休み」「AM休み」などから選択。
 ・優先順位: 「第1希望」〜「第5希望」をプルダウンで指定(デフォルトは第1希望)。
 ・特別な理由がある: チェックを入れると理由入力欄が表示され、冠婚葬祭や通院などの事情をメモできます。
④ 「他メンバーの予定」でバッティング防止: ダイアログ右側に、同じ日に希望を出している他の職員名・希望区分・優先順位(例:「鈴木 陽菜: 希望: 休み 第1」など)がリアルタイムに一覧表示されます。すでに休み希望が集中している日を視覚的に把握でき、事前に日程の分散や調整が可能です。
⑤ 「保存」をクリック: 入力内容が確定し、勤務表セルに希望マーカーが反映されます。
⚡
2. 希望の順位付けと自動生成時の希望の扱い方:
・第1希望 〜 第3希望【最優先・確定ロック(反映率100%)】:
 自動生成の初期フェーズにおいて確定シフトとして配置され、最適化エンジンによって自動的にセルロックされます。システムが勝手に別の勤務へ入れ替えたり取り消したりすることは絶対にありません。
・第4希望 〜 第5希望【柔軟な希望(高確率反映)】:
 第4希望(反映率約90%)、第5希望(反映率約80%)など可能な限り希望を叶えるよう最適化エンジンが探索します。ただし、病棟全体の人員配置基準(日別の必要人数)や労働基準法(勤務間インターバル・夜勤上限など)と激しく競合し、どうしても人数不足等の致命的エラーを回避できない場合に限り、システムが全体の破綻を防ぐための柔軟な調整余地として扱われます。
・月間希望上限との連動:
 「制約条件マスター」→「スタッフの勤務希望・入力設定」で設定された「月間の希望休上限(例: 月5回まで)」のルールと連動し、上限を超えない範囲で正しく制御されます。
・手動上書き時のセーフティガード(誤操作防止):
 すでに勤務希望が設定されているマスに対して管理者が手動で別の勤務を入力・ドロップしようとした場合、「⚠️ 勤務希望に反する変更の警告」確認ダイアログが起動し、職員の大切な希望を誤って上書き消去してしまうミスを確実に防ぎます。

💡 極意⑤:職位・職種と人員配置基準を連動させた高精度な自動割当術(ラダーレベル・リーダー枠の最適化)

自動生成では、「日勤〇名、夜勤〇名」という全体の人数を満たすだけでは、「新人ばかりでリーダーがいない」「ベテランが特定曜日に偏る」といった現場の業務負荷・安全管理上のアンバランスが生じることがあります。
Vedaでは、「職種・職位マスター」を工夫して職員に設定し、制約ルールの「日別の人員配置基準」と連動させることで、職種・職位・技術レベル(スキル)を組み合わせた高度で細やかな人員割当ルールを完全自動化できます。

職員マスター管理(職種・職位・役割の設定)
【図4-5】職員マスター管理(職種・職位・役割やラダーレベルの設定)
日別の人員配置基準(職種・職位・スキル別の条件設定)
【図4-6】日別の人員配置基準(職種・職位・技術レベル連動の必要人数設定)
💡
職位・職種を工夫した高精度ルールの設定ステップ:
1. マスターに役割・ラダーを定義する:
 上部メニューの「マスター管理 ▼」➔「職位・役割マスター」にて、一般的な役職名(師長など)にとどまらず、病棟の実態に合わせて 「リーダー」「サブリーダー」「ラダーⅢ」「ラダーⅣ」「新人指導係」「フリー業務」 などの名称を自由に登録します。「職種マスター」では「看護師」「准看護師」「看護補助者(助手)」等を定義します。
2. 職員マスターで各スタッフに割り当てる【図4-5】:
 「スタッフ管理」画面を開き、各職員の「職種」および「職位・役割」のプルダウンから、該当する役割・ラダーレベルを紐付けます(※技術レベルは別途「L1: 初心者」「L2: 自立」「L3: 指導層」を設定可能)。
3. 日別の人員配置基準で複合条件を組む【図4-6】:
 「制約条件マスター」➔「日別の人員配置基準」を開き、条件列で「職種・職位・スキル」を選択して以下の実践的ルールを登録します:
 ・【職位】リーダー ➔ 「日勤」に「1名 ちょうど(固定人数)」:
  毎日必ずリーダーが1名だけ配置され、不在やダブりをシステムが完全に防止します。
 ・【スキル】L2 (自立) ➔ 「日勤」に「〇名 以上(最低人数)」:
  自立して業務を行える看護師の最低ラインを毎日確保し、新人ばかりになるリスクを排除します。
 ・【職種】看護師 ➔ 「日勤」に「〇名 以上」 / 看護助手 ➔ 「1名 ちょうど」:
  看護師と看護助手の業務分担に合わせた適正な人数構成をシステムが厳密に維持します。
✨
この極意を導入する絶大なメリット:
・手作業の微調整が激減: 従来は自動生成後に師長が「今日のリーダーは誰か」「新人と誰が組んでいるか」を1日ずつ目視確認して手動スワップしていた調整が、初期生成の時点で100%満たされた状態で出力されます。
・最適化エンジンの探索効率向上とスコア改善: 役割別の人数枠が明確に定義されるため、解探索アルゴリズムが迷わず収束し、致命的エラー(人数不足・スキル不足)を未然に防ぎながらスコアの高い安定した勤務表が一発で完成します。