介護施設で欠勤や急変が発生したとき、管理者が直面する問いは「誰を代わりに配置するか」ではない。
 

「確定済みの配置を崩さずに、影響範囲だけをどう再調整するか」だ。
この二つは問題の構造が根本から異なる。
前者は全体を再検討する問題であり、後者は確定済みの状態を前提として部分的に探索する問題だ。

なぜ確定済みの配置を崩してはいけないのか。
シフトが職員に共有された時点で、その配置は約束になっている。
欠勤対応のたびに確定済みの配置が動けば、その配置にいた別の職員にも連絡が必要になる。
1件の欠勤対応が連鎖的に複数件の再調整を引き起こす。
さらに介護施設では、確定済みのシフトは利用者へのケア提供計画の基盤でもある。
確定済みの配置が変わるたびにケア提供の整合性を再確認しなければならない。
これが毎日発生するとすれば、現場で運用することはできない。
確定済みの配置は固定したまま、影響範囲だけを再調整する必要があるのはこのためだ。

確定済みの配置を崩さずに再調整するとはどういう仕組みか。
欠勤や急変の発生がシステムに記録されると、その状態情報に基づいて影響を受けるケアタスクの枠と代替候補となる空き職員だけが探索対象(変数)として自動的に定義される。
それ以外の確定済み配置は全て前提条件(定数)として固定される。
管理者が数百件に及ぶ既存の配置を一つひとつ固定指定しなくても、システムが業務の文脈から自動的に探索範囲を決定する。
代替候補は人員配置基準・資格要件・勤務間インターバルという法令制約を全て満たす範囲で提示される。
管理者は提示された候補を確認し、承認するだけになる。
こうした仕組みに基づいて、shiftect.は確定済みの配置を固定したまま欠勤・急変への再調整を自動化することを目指している。

この仕組みが成立するのは、全体生成・再生成・欠勤急変への再調整が同一の制御構造で処理されているからだ。
全体生成では全リソースが探索対象になる。
欠勤・急変への再調整では確定済みの配置が固定対象になり影響範囲だけが探索対象になる。
業務の状態に応じて探索対象と固定対象を自動的に切り替えるという制御の仕組みが、確定済みの配置を崩さない再調整を可能にしている。