Add clinical device registry, browser wedge scan, and local agent API.
Deploy Ladill Care / deploy (push) Successful in 1m39s

Branch-scoped Care devices with hashed agent tokens, patient barcode lookup/labels, and provenance-aware vitals from a minimal device agent (Pro for agent hardware; wedge free).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-17 14:28:46 +00:00
co-authored by Cursor
parent 1da90203e8
commit e0a7a64d38
37 changed files with 1970 additions and 10 deletions
+12
View File
@@ -12,6 +12,7 @@ use App\Http\Controllers\Care\BranchController;
use App\Http\Controllers\Care\ConsultationController;
use App\Http\Controllers\Care\DashboardController;
use App\Http\Controllers\Care\DepartmentController;
use App\Http\Controllers\Care\DeviceController;
use App\Http\Controllers\Care\DrugController;
use App\Http\Controllers\Care\InvestigationController;
use App\Http\Controllers\Care\InvestigationTypeController;
@@ -61,9 +62,11 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::get('/dashboard', [DashboardController::class, 'index'])->name('care.dashboard');
Route::get('/patients', [PatientController::class, 'index'])->name('care.patients.index');
Route::get('/patients/scan', [PatientController::class, 'scanLookup'])->name('care.patients.scan');
Route::get('/patients/create', [PatientController::class, 'create'])->name('care.patients.create');
Route::post('/patients', [PatientController::class, 'store'])->name('care.patients.store');
Route::get('/patients/{patient}', [PatientController::class, 'show'])->name('care.patients.show');
Route::get('/patients/{patient}/label', [PatientController::class, 'label'])->name('care.patients.label');
Route::post('/patients/{patient}/email', [PatientMessageController::class, 'sendEmail'])->name('care.patients.email');
Route::post('/patients/{patient}/sms', [PatientMessageController::class, 'sendSms'])->name('care.patients.sms');
Route::get('/patients/{patient}/edit', [PatientController::class, 'edit'])->name('care.patients.edit');
@@ -192,6 +195,15 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::get('/settings/branches/{branch}/edit', [BranchController::class, 'edit'])->name('care.branches.edit');
Route::put('/settings/branches/{branch}', [BranchController::class, 'update'])->name('care.branches.update');
Route::get('/settings/devices', [DeviceController::class, 'index'])->name('care.devices.index');
Route::get('/settings/devices/create', [DeviceController::class, 'create'])->name('care.devices.create');
Route::post('/settings/devices', [DeviceController::class, 'store'])->name('care.devices.store');
Route::get('/settings/devices/{device}/edit', [DeviceController::class, 'edit'])->name('care.devices.edit');
Route::put('/settings/devices/{device}', [DeviceController::class, 'update'])->name('care.devices.update');
Route::delete('/settings/devices/{device}', [DeviceController::class, 'destroy'])->name('care.devices.destroy');
Route::post('/settings/devices/{device}/token', [DeviceController::class, 'regenerateToken'])->name('care.devices.token.regenerate');
Route::delete('/settings/devices/{device}/token', [DeviceController::class, 'revokeToken'])->name('care.devices.token.revoke');
Route::redirect('/branches', '/settings/branches');
Route::redirect('/branches/create', '/settings/branches/create');