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
+7
View File
@@ -4,6 +4,7 @@ use App\Http\Controllers\Api\AppointmentController;
use App\Http\Controllers\Api\AssessmentController;
use App\Http\Controllers\Api\BillController;
use App\Http\Controllers\Api\ConsultationController;
use App\Http\Controllers\Api\DeviceAgentController;
use App\Http\Controllers\Api\DrugController;
use App\Http\Controllers\Api\InvestigationController;
use App\Http\Controllers\Api\PathwayController;
@@ -17,6 +18,12 @@ Route::get('/health', fn () => response()->json(['status' => 'ok', 'app' => 'car
Route::post('/service-events', ServiceEventController::class)->name('api.service-events');
Route::middleware(['care.device', 'throttle:care-device'])->prefix('v1/device-agent')->group(function () {
Route::post('/heartbeat', [DeviceAgentController::class, 'heartbeat'])->name('api.device-agent.heartbeat');
Route::post('/vitals', [DeviceAgentController::class, 'storeVitals'])->name('api.device-agent.vitals');
Route::post('/samples/collect', [DeviceAgentController::class, 'collectSample'])->name('api.device-agent.samples.collect');
});
Route::middleware(['auth:sanctum', 'care.setup'])->prefix('v1')->group(function () {
Route::get('/patients', [PatientController::class, 'index'])->name('api.patients.index');
Route::post('/patients', [PatientController::class, 'store'])->name('api.patients.store');