Complete Dentistry commercial suite with PMS depth.
Deploy Ladill Care / deploy (push) Successful in 31s

Add plan lifecycle, visit stages with chair/recovery points, primary dentition charting, imaging void, revenue reports, perio exams, lab cases, and recalls.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-18 17:11:15 +00:00
co-authored by Cursor
parent e227f8705f
commit ce782382c5
37 changed files with 2458 additions and 204 deletions
+13
View File
@@ -119,11 +119,24 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::post('/specialty/{module}/workspace/{visit}/services', [SpecialtyModuleController::class, 'addService'])->name('care.specialty.services.add');
Route::post('/specialty/{module}/workspace/{visit}/start-consultation', [SpecialtyModuleController::class, 'startConsultation'])->name('care.specialty.consultation.start');
Route::post('/specialty/dentistry/workspace/{visit}/tooth', [DentistryWorkspaceController::class, 'updateTooth'])->name('care.specialty.dentistry.tooth');
Route::post('/specialty/dentistry/workspace/{visit}/dentition', [DentistryWorkspaceController::class, 'setDentition'])->name('care.specialty.dentistry.dentition');
Route::post('/specialty/dentistry/workspace/{visit}/plan-items', [DentistryWorkspaceController::class, 'addPlanItem'])->name('care.specialty.dentistry.plan-items');
Route::post('/specialty/dentistry/workspace/{visit}/plan-items/{item}', [DentistryWorkspaceController::class, 'updatePlanItem'])->name('care.specialty.dentistry.plan-items.update');
Route::post('/specialty/dentistry/workspace/{visit}/plan-items/{item}/cancel', [DentistryWorkspaceController::class, 'cancelPlanItem'])->name('care.specialty.dentistry.plan-items.cancel');
Route::post('/specialty/dentistry/workspace/{visit}/plan/accept', [DentistryWorkspaceController::class, 'acceptPlan'])->name('care.specialty.dentistry.plan.accept');
Route::post('/specialty/dentistry/workspace/{visit}/plan/reject', [DentistryWorkspaceController::class, 'rejectPlan'])->name('care.specialty.dentistry.plan.reject');
Route::post('/specialty/dentistry/workspace/{visit}/plan/cancel', [DentistryWorkspaceController::class, 'cancelPlan'])->name('care.specialty.dentistry.plan.cancel');
Route::post('/specialty/dentistry/workspace/{visit}/procedures', [DentistryWorkspaceController::class, 'completeProcedure'])->name('care.specialty.dentistry.procedures');
Route::post('/specialty/dentistry/workspace/{visit}/notes', [DentistryWorkspaceController::class, 'saveNotes'])->name('care.specialty.dentistry.notes');
Route::post('/specialty/dentistry/workspace/{visit}/images', [DentistryWorkspaceController::class, 'uploadImage'])->name('care.specialty.dentistry.images');
Route::post('/specialty/dentistry/workspace/{visit}/images/{image}/void', [DentistryWorkspaceController::class, 'voidImage'])->name('care.specialty.dentistry.images.void');
Route::post('/specialty/dentistry/workspace/{visit}/stage', [DentistryWorkspaceController::class, 'setStage'])->name('care.specialty.dentistry.stage');
Route::post('/specialty/dentistry/workspace/{visit}/perio', [DentistryWorkspaceController::class, 'savePerio'])->name('care.specialty.dentistry.perio');
Route::post('/specialty/dentistry/workspace/{visit}/lab-cases', [DentistryWorkspaceController::class, 'createLabCase'])->name('care.specialty.dentistry.lab-cases');
Route::post('/specialty/dentistry/workspace/{visit}/lab-cases/{labCase}/status', [DentistryWorkspaceController::class, 'transitionLabCase'])->name('care.specialty.dentistry.lab-cases.status');
Route::post('/specialty/dentistry/workspace/{visit}/recalls', [DentistryWorkspaceController::class, 'scheduleRecall'])->name('care.specialty.dentistry.recalls');
Route::post('/specialty/dentistry/workspace/{visit}/recalls/{recall}/complete', [DentistryWorkspaceController::class, 'completeRecall'])->name('care.specialty.dentistry.recalls.complete');
Route::post('/specialty/dentistry/workspace/{visit}/recalls/{recall}/cancel', [DentistryWorkspaceController::class, 'cancelRecall'])->name('care.specialty.dentistry.recalls.cancel');
Route::get('/specialty/dentistry/workspace/{visit}/print', [DentistryWorkspaceController::class, 'printChart'])->name('care.specialty.dentistry.print');
Route::get('/specialty/{module}', [SpecialtyModuleController::class, 'show'])->name('care.specialty.show');
Route::post('/specialty/{module}/call-next', [SpecialtyModuleController::class, 'callNext'])->name('care.specialty.call-next');