Add shift templates, unit duty roster grid, and Nursing Services hub.
Deploy Ladill Care / deploy (push) Successful in 1m0s

Phase 3 staff management: real shift entities, week roster linked to temporary assignments, and a nursing ops module surface (registry, today’s allocation, unit shortcuts).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-20 10:40:25 +00:00
co-authored by Cursor
parent 9eb6c21828
commit b2cebe2908
20 changed files with 1439 additions and 8 deletions
+13
View File
@@ -20,6 +20,9 @@ use App\Http\Controllers\Care\MarController;
use App\Http\Controllers\Care\NursingDocumentationController;
use App\Http\Controllers\Care\NursingAssessmentController;
use App\Http\Controllers\Care\NursePerformanceController;
use App\Http\Controllers\Care\ShiftController;
use App\Http\Controllers\Care\RosterController;
use App\Http\Controllers\Care\NursingServicesController;
use App\Http\Controllers\Care\DeviceController;
use App\Http\Controllers\Care\DisplayPublicController;
use App\Http\Controllers\Care\DisplayScreenController;
@@ -454,6 +457,16 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::post('/care-units/{careUnit}/visits/{visit}/vitals', [NursingAssessmentController::class, 'storeVitals'])->name('care.care-units.vitals.store');
Route::get('/care-units/{careUnit}/performance', [NursePerformanceController::class, 'show'])->name('care.care-units.performance');
Route::get('/care-units/{careUnit}/roster', [RosterController::class, 'show'])->name('care.care-units.roster');
Route::post('/care-units/{careUnit}/roster', [RosterController::class, 'store'])->name('care.care-units.roster.store');
Route::delete('/care-units/{careUnit}/roster/{rosterEntry}', [RosterController::class, 'destroy'])->name('care.care-units.roster.destroy');
Route::get('/shifts', [ShiftController::class, 'index'])->name('care.shifts.index');
Route::post('/shifts', [ShiftController::class, 'store'])->name('care.shifts.store');
Route::put('/shifts/{shift}', [ShiftController::class, 'update'])->name('care.shifts.update');
Route::get('/nursing/services', [NursingServicesController::class, 'index'])->name('care.nursing.services');
Route::get('/staff-assignments', [StaffAssignmentController::class, 'index'])->name('care.staff-assignments.index');
Route::get('/staff-assignments/create', [StaffAssignmentController::class, 'create'])->name('care.staff-assignments.create');
Route::post('/staff-assignments', [StaffAssignmentController::class, 'store'])->name('care.staff-assignments.store');