Include checked-in clinic visits on outpatient nursing boards.
Deploy Ladill Care / deploy (push) Successful in 2m12s

OPD/service units list open department appointments without manual place; nursing actions soft-place the visit onto the unit. Inpatient wards stay placement-only.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-20 17:05:13 +00:00
co-authored by Cursor
parent 5fd402c043
commit f1bb432324
13 changed files with 522 additions and 60 deletions
@@ -9,6 +9,7 @@ use App\Models\Visit;
use App\Services\Care\AssessmentService;
use App\Services\Care\CareFeatures;
use App\Services\Care\CarePermissions;
use App\Services\Care\CareUnitCensusService;
use App\Services\Care\NursingAssessmentService;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
@@ -50,13 +51,16 @@ class NursingAssessmentController extends Controller
Visit $visit,
AssessmentService $assessments,
CareFeatures $features,
CareUnitCensusService $census,
): RedirectResponse {
$this->authorizeAbility($request, 'nursing.assessments.manage');
$this->authorizeOwner($request, $careUnit);
$this->authorizeOwner($request, $visit);
abort_unless((int) $visit->care_unit_id === (int) $careUnit->id, 404);
abort_unless((int) $careUnit->organization_id === (int) $this->organization($request)->id, 404);
abort_unless($features->enabled($this->organization($request), CareFeatures::ASSESSMENTS_ENGINE), 404);
$visit = $census->ensurePlaced($visit, $careUnit, $this->ownerRef($request), $this->actorRef($request));
$features->ensureAssessmentCatalog();
$validated = $request->validate([
@@ -84,11 +88,14 @@ class NursingAssessmentController extends Controller
CareUnit $careUnit,
Visit $visit,
NursingAssessmentService $nursing,
CareUnitCensusService $census,
): RedirectResponse {
$this->authorizeAbility($request, 'vitals.manage');
$this->authorizeOwner($request, $careUnit);
$this->authorizeOwner($request, $visit);
abort_unless((int) $visit->care_unit_id === (int) $careUnit->id, 404);
abort_unless((int) $careUnit->organization_id === (int) $this->organization($request)->id, 404);
$visit = $census->ensurePlaced($visit, $careUnit, $this->ownerRef($request), $this->actorRef($request));
$validated = $request->validate([
'bp_systolic' => ['nullable', 'integer', 'min:40', 'max:300'],