Route Care tickets to per-staff service points instead of shared branch queues.
Deploy Ladill Care / deploy (push) Successful in 1m40s

Provision one consultation point per doctor (room + identity) and role-based
points for pharmacy, lab, billing, and triage. Fixed-doctor appointments and
walk-ins issue only to the assigned point; Call next respects that assignment
and flags unresolved patients rather than random routing.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-17 17:22:14 +00:00
co-authored by Cursor
parent c5151ad476
commit e73b39b678
22 changed files with 1331 additions and 97 deletions
@@ -0,0 +1,42 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::table('care_practitioners', function (Blueprint $table) {
$table->string('room')->nullable()->after('specialty');
});
foreach (['care_appointments', 'care_prescriptions', 'care_investigation_requests', 'care_bills'] as $tableName) {
Schema::table($tableName, function (Blueprint $blueprint) {
$blueprint->string('queue_service_point_uuid', 36)->nullable()->after('queue_ticket_status');
$blueprint->string('queue_destination', 255)->nullable()->after('queue_service_point_uuid');
$blueprint->string('queue_staff_display_name', 255)->nullable()->after('queue_destination');
$blueprint->string('queue_routing_status', 32)->nullable()->after('queue_staff_display_name');
});
}
}
public function down(): void
{
foreach (['care_appointments', 'care_prescriptions', 'care_investigation_requests', 'care_bills'] as $tableName) {
Schema::table($tableName, function (Blueprint $blueprint) {
$blueprint->dropColumn([
'queue_service_point_uuid',
'queue_destination',
'queue_staff_display_name',
'queue_routing_status',
]);
});
}
Schema::table('care_practitioners', function (Blueprint $table) {
$table->dropColumn('room');
});
}
};