Activate Care workflows across check-in and financial clearance.
Deploy Ladill Care / deploy (push) Failing after 1m9s
Deploy Ladill Care / deploy (push) Failing after 1m9s
Enforce service-queue gates, cashier settlements, and clinical stage progression so patient journeys cannot bypass configured payment or authorization rules. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,13 +2,14 @@
|
||||
|
||||
namespace App\Http\Controllers\Care;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Controllers\Care\Concerns\ScopesToAccount;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Assessment;
|
||||
use App\Models\AssessmentTemplate;
|
||||
use App\Models\Consultation;
|
||||
use App\Models\InvestigationType;
|
||||
use App\Models\Practitioner;
|
||||
use App\Models\Assessment;
|
||||
use App\Models\AssessmentTemplate;
|
||||
use App\Services\Care\AssessmentService;
|
||||
use App\Services\Care\CareFeatures;
|
||||
use App\Services\Care\CarePermissions;
|
||||
use App\Services\Care\ConsultationReturnContext;
|
||||
@@ -105,7 +106,7 @@ class ConsultationController extends Controller
|
||||
|
||||
if ($universalTemplate) {
|
||||
try {
|
||||
app(\App\Services\Care\AssessmentService::class)
|
||||
app(AssessmentService::class)
|
||||
->assertCaptureAllowed($member, $universalTemplate);
|
||||
$canCaptureUniversal = true;
|
||||
} catch (\Throwable) {
|
||||
@@ -197,9 +198,9 @@ class ConsultationController extends Controller
|
||||
|
||||
public function update(Request $request, Consultation $consultation): RedirectResponse
|
||||
{
|
||||
$canManage = app(\App\Services\Care\CarePermissions::class)
|
||||
$canManage = app(CarePermissions::class)
|
||||
->can($this->member($request), 'consultations.manage');
|
||||
$canVitals = app(\App\Services\Care\CarePermissions::class)
|
||||
$canVitals = app(CarePermissions::class)
|
||||
->can($this->member($request), 'vitals.manage');
|
||||
|
||||
abort_unless($canManage || $canVitals, 403);
|
||||
@@ -232,7 +233,7 @@ class ConsultationController extends Controller
|
||||
$this->authorizeAbility($request, 'consultations.manage');
|
||||
$this->authorizeConsultation($request, $consultation);
|
||||
|
||||
$this->consultations->complete(
|
||||
$completed = $this->consultations->complete(
|
||||
$consultation,
|
||||
$this->ownerRef($request),
|
||||
$this->ownerRef($request),
|
||||
@@ -240,6 +241,17 @@ class ConsultationController extends Controller
|
||||
|
||||
app(ConsultationReturnContext::class)->forget();
|
||||
|
||||
$completed->loadMissing(['appointment.organization']);
|
||||
if ($completed->appointment
|
||||
&& $completed->appointment->organization
|
||||
&& app(CareFeatures::class)->enabled(
|
||||
$completed->appointment->organization,
|
||||
CareFeatures::WORKFLOW_ENGINE,
|
||||
)) {
|
||||
return redirect()->route('care.appointments.show', $completed->appointment)
|
||||
->with('success', 'Consultation completed. Continue the patient journey from the next stage.');
|
||||
}
|
||||
|
||||
return redirect()->route('care.queue.index')
|
||||
->with('success', 'Consultation completed.');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user