Commit Graph
137 Commits
Author SHA1 Message Date
isaaccladandCursor 40325144bb Open Prescribe from consultation as a modal/bottomsheet.
Deploy Ladill Care / deploy (push) Successful in 46s
Reuse the shared prescription form in x-modal so desktop gets a popup and mobile gets the existing bottomsheet behavior, then return to the consultation after create.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 14:58:58 +00:00
isaaccladandCursor 2b3eed8f84 Consolidate consultation and specialty actions into a sticky panel.
Deploy Ladill Care / deploy (push) Successful in 35s
Desktop uses a right sticky Actions column; mobile uses a FAB above the nav that opens a bottomsheet. Request investigations moves into a modal/sheet, and Call next is available on the consultation panel.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 14:38:09 +00:00
isaaccladandCursor f138ea598a Keep specialty waiters off the regular doctor Queue.
Deploy Ladill Care / deploy (push) Successful in 1m3s
Demo GP appointments now use core desk departments, and the doctor waiting list excludes specialty queue contexts so MAT/PHY tickets stay on specialty modules.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 14:17:01 +00:00
isaaccladandCursor 40a8f0236e Stop seeding specialty queue desks as fake Clinic practitioners.
Deploy Ladill Care / deploy (push) Successful in 40s
Demo cover desks on non-home branches now use specialty doctor names so Practitioners lists people, not departments.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 14:07:00 +00:00
isaaccladandCursor c273b9a476 Fix admin billing status chart limited to invoices created this month.
Deploy Ladill Care / deploy (push) Successful in 1m23s
Show the current invoice book by status so Paid/Partial are not hidden when create dates fall outside MTD.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 14:00:18 +00:00
isaaccladandCursor 8e406dc93c Make admin Patients, Appointments, Inventory, Billing, and Reports data-driven.
Deploy Ladill Care / deploy (push) Successful in 44s
Facility admins see analytics overviews instead of operational directories; floor roles keep list UIs, with optional ?view=list for admins who need records.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 13:38:55 +00:00
isaaccladandCursor 612e021e85 Reserve floor queues for clinical staff and deepen specialty forms.
Deploy Ladill Care / deploy (push) Successful in 41s
Hospital admins no longer see specialty/queue floor nav; Call next is a full-width button; specialty encounters open module-specific clinical forms instead of the general consultation page.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 12:04:05 +00:00
isaaccladandCursor bd8218fb45 Fix specialty Call next vs WAITING KPI mismatch.
Deploy Ladill Care / deploy (push) Successful in 1m44s
Admins without a desk now scan all specialty service points, KPIs use the same branch as queue ops, and empty Call next flashes explain tickets vs other branches.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 11:41:45 +00:00
isaaccladandCursor 4c4dfc7dbf Wire specialty Start consultation to the real consultation page.
Deploy Ladill Care / deploy (push) Successful in 58s
Doctors leave the specialty shell into Care consultations instead of a no-op workspace link.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 11:36:57 +00:00
isaaccladandCursor 34ca1365b9 Make recent Care migrations idempotent for partial deploys.
Deploy Ladill Care / deploy (push) Successful in 1m16s
Skip create when the table already exists so migrate can record and continue.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 11:26:28 +00:00
isaaccladandCursor dee9a0f2df Hide specialty department roster from the module overview.
Deploy Ladill Care / deploy (push) Failing after 1m4s
Departments still provision in the background; the list added no operational value on the page.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 11:24:44 +00:00
isaaccladandCursor 03befd1e7f Add Care waiting-area TV displays with browser TTS voice.
Deploy Ladill Care / deploy (push) Failing after 57s
Call-next and recall queue announcements for lobby screens without Ladill Queue.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 11:23:15 +00:00
isaaccladandCursor dd4bc493b4 Hard-delete Care remote Queue adapter (Phase 5).
Deploy Ladill Care / deploy (push) Failing after 1m13s
Care Queue Engine is the only path; remove QueueClient, driver config, and remote HTTP tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 11:16:41 +00:00
isaaccladandCursor 966f0496b2 Complete Phase 4: drop Queue from Care demos and upgrade copy.
Deploy Ladill Care / deploy (push) Failing after 2m0s
Document healthcare removal from Ladill Queue; keep remote adapter for Phase 5.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 10:15:31 +00:00
isaaccladandCursor 57358e4206 Add specialty clinical records on the shared shell (Phase 3).
Deploy Ladill Care / deploy (push) Failing after 1m2s
Visit-scoped structured forms for Emergency triage, Blood Bank requests,
and Dentistry odontogram with derived alerts, document upload, and KPI counts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 10:09:32 +00:00
isaaccladandCursor 0181221fe8 Add shared specialty module shell (Phase 2).
Deploy Ladill Care / deploy (push) Successful in 52s
Overview/Visits/History/Billing/Workspace layout with stage maps, KPIs,
patient header/timeline, and service catalogs seeded into Billing on activate.
Emergency, Blood Bank, and Dentistry ship first-class shell configs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 10:01:17 +00:00
isaaccladandCursor 6cf5a24019 Add in-app Care Queue Engine (Phase 1 MVP).
Deploy Ladill Care / deploy (push) Successful in 1m28s
Issue, call-next, serve, and complete tickets locally so Care Pro no longer
needs QUEUE_API_* when CARE_QUEUE_DRIVER=native (default). Remote Ladill Queue
remains available for cutover; PHPUnit keeps the remote driver for existing fakes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 09:54:06 +00:00
isaaccladandCursor ad04f0cec8 Document the specialty module design standard for Care.
Deploy Ladill Care / deploy (push) Successful in 1m5s
Capture the unified workflow, UI, queue, and billing blueprint, and add a Cursor rule so specialty work follows the shared shell instead of one-off apps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 09:40:39 +00:00
isaaccladandCursor e9a76fec80 Expand specialty modules; pin Emergency and Blood Bank on Pro.
Deploy Ladill Care / deploy (push) Successful in 1m37s
Add Cardiology through Child Welfare to the specialty catalog, keep Emergency and Blood Bank always enabled on Pro/Enterprise sidebars, and generate matching demo specialty doctors.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 09:27:05 +00:00
isaaccladandCursor f87f216fb4 Fix empty demo lab catalog for admins.
Deploy Ladill Care / deploy (push) Successful in 2m7s
Seed investigation types early (before clinical data), expand the default catalog, scope Lab → Catalog by organization, and harden practitioner-branch sync so a mid-reseed failure cannot wipe the catalog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 09:06:35 +00:00
isaaccladandCursor 899b08179e Allow explicit multi-branch practitioner assignment for telemedicine.
Deploy Ladill Care / deploy (push) Successful in 1m29s
Replace optional “All branches” with required branch checkboxes; doctors may switch only among assigned sites, never org-wide by default.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 08:50:03 +00:00
isaaccladandCursor d643687335 Lock doctors to a single branch — never a branch picker.
Deploy Ladill Care / deploy (push) Successful in 1m3s
Doctors were treated as multi-branch when Identity cleared branch_id; now they stay on their assigned/desk site, specialty desks are home-branch only, and the queue shows site name as text only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 08:45:57 +00:00
isaaccladandCursor bb4dbee81a Restrict specialty modules to doctors assigned to that specialty.
Deploy Ladill Care / deploy (push) Successful in 1m10s
Nav and pages require a linked practitioner desk in the module department; demo seeds specialty doctors and stops overwriting their assigned waiters.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 08:37:06 +00:00
isaaccladandCursor dcbc62d1d3 Lock doctors to their assigned patients and hide branch filters.
Deploy Ladill Care / deploy (push) Successful in 1m2s
Doctors no longer see branch/practitioner pickers; queue, appointments, patients, and dashboard only include visits on their linked desk.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 06:28:07 +00:00
isaaccladandCursor 5264035705 Scope staff Care queries to the organization owner_ref.
Deploy Ladill Care / deploy (push) Successful in 1m11s
Demo doctors were querying their own public_id, so branches/patients/queues looked empty even though the Pro tenant had data.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 06:20:31 +00:00
isaaccladandCursor e62cb24bfc Stack queue card hierarchy: ticket, patient, then room/doctor.
Deploy Ladill Care / deploy (push) Successful in 1m42s
Stops cramming ticket status, destination, and patient name onto one line across Patient, Pharmacy, Lab, and specialty queues.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 06:16:50 +00:00
isaaccladandCursor e94708d46c Issue Queue tickets for every waiting appointment when integration is on.
Deploy Ladill Care / deploy (push) Successful in 51s
Patient queue syncs consultation and specialty waiters; specialty contexts now provision desks so check-in/onboarding no longer leaves half the list on local positions only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 06:12:32 +00:00
isaaccladandCursor 4e910a1db7 Fix patient queue showing position 1 for every waiter.
Deploy Ladill Care / deploy (push) Successful in 1m44s
Specialty demo seed reused slot+1 per module; repair duplicates on queue load and renumber after demo seed so waiting lists show 1..n.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 05:54:47 +00:00
isaaccladandCursor 6cfecc1763 Persist admin branch filter across Patient, Pharmacy, Lab, and Bills queues.
Deploy Ladill Care / deploy (push) Successful in 57s
Admins pick a working branch once; session keeps Pharmacy Call Next and lists scoped to that site so ticket numbers no longer collide across branches.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 05:49:24 +00:00
isaaccladandCursor 88f84a4f96 Assign every demo waiter to a doctor and sync Queue tickets.
Deploy Ladill Care / deploy (push) Successful in 1m54s
Link DemoWorld doctor staff to practitioners, clear unresolved routing, distribute staff across branches, and restore scoped consultation/pharmacy ticket sync so demos are not left Unassigned.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 05:34:45 +00:00
isaaccladandCursor 86d79b5099 Restore Care queue FIFO after demo skip left tickets Unassigned.
Deploy Ladill Care / deploy (push) Successful in 1m2s
Provision one branch/context at a time instead of the whole org, fall back to a desk when doctor counters are catching up, sync pharmacy tickets in Care list order on page load, and seed waiting_at/queue_position for demos.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 23:05:42 +00:00
isaaccladandCursor 640b62010a Fix Care settings 500s and slow saves under Queue/demo load.
Deploy Ladill Care / deploy (push) Successful in 52s
Defer Queue provision and ticket backfill after the settings response, harden messaging credential creation against lock races, and stop wrapping demo seed in a long-held transaction.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 22:57:25 +00:00
isaaccladandCursor 88b5a4e3ab Skip Queue HTTP entirely during Care demo seed.
Deploy Ladill Care / deploy (push) Successful in 1m33s
Enterprise reseeds were blocked for minutes on queue.ladill.com calls; local specialty data still seeds, and Queue tickets can backfill on first visit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 22:50:26 +00:00
isaaccladandCursor fd2c854c57 Keep demo specialty seeding off the Queue API hot path.
Deploy Ladill Care / deploy (push) Successful in 1m52s
Enterprise reseeds were hanging on per-module Queue HTTP; activate specialties locally first, then provision once, and limit ticket sync to core contexts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 22:36:57 +00:00
isaaccladandCursor db6d0617e9 Enable all specialty modules with demo traffic for Pro/Enterprise demos.
Deploy Ladill Care / deploy (push) Successful in 1m9s
Free and real onboarding stay opt-in; Pro/Enterprise demos activate every catalog specialty and seed waiting appointments so module pages are populated.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 21:55:30 +00:00
isaaccladandCursor c461430441 Recover empty Care demo tenants after onboarding races.
Deploy Ladill Care / deploy (push) Successful in 54s
Demo Pro was left as an empty workflow shell after lock-timeout races; clear leftover rollout flags on seed, sync-reseed empty tenants on login, and repair missing facility workflow indexes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 21:38:21 +00:00
isaaccladandCursor e172d3c5d1 Make workflow migrations idempotent for partial deploys.
Deploy Ladill Care / deploy (push) Successful in 2m41s
Production already had care_facility_workflows from a prior attempt, so recreate checks let migrate finish and record the batch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 21:19:59 +00:00
isaaccladandCursor 3ee59a0956 Activate Care workflows across check-in and financial clearance.
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>
2026-07-17 21:13:06 +00:00
isaaccladandCursor 86bfce1e17 Add workflow-centric patient journey with financial gates.
Deploy Ladill Care / deploy (push) Failing after 45s
Introduces a facility workflow engine as Care's primary configuration
object: onboarding now leads with a facility category (which modules to
enable) and a workflow template (how patients move + where money is
collected), including standard herbal hospital/clinic templates.

Templates materialize into care_facility_workflows/care_workflow_stages.
The engine tracks a visit's position via care_visit_stage_advances and,
with FinancialGateService, gates a stage's queue behind a cleared
FinancialObligation (paid/authorized/waived/deferred) for "before"
payment timing while leaving "after" (pay-at-exit) flows unblocked.
Gated behavior is opt-in behind the workflow_engine/financial_gates
rollout flags; legacy orgs keep current behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 20:47:33 +00:00
isaaccladandCursor c319692b33 Create demo org shell before login redirect.
Deploy Ladill Care / deploy (push) Successful in 42s
Async reseed alone still left the first Care request without an onboarded org; ensure the shell synchronously, then refresh demo data afterResponse().

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 19:33:04 +00:00
isaaccladandCursor 2c2cc1e938 Keep Care org onboarded during demo login reseed.
Deploy Ladill Care / deploy (push) Successful in 1m19s
Avoid the onboarding flash when reset-on-login deletes the tenant before the afterResponse() reseed finishes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 19:29:09 +00:00
isaaccladandCursor a3521247e0 Route pharmacy, lab, and billing tickets through a shared FIFO pool.
Deploy Ladill Care / deploy (push) Successful in 57s
Stop pre-assigning prescriptions to a default counter so Call next follows arrival order and each pharmacist only serves one active patient at a time.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 19:06:36 +00:00
isaaccladandCursor 5e8c082e02 Return doctors to the patient queue after completing a consultation.
Deploy Ladill Care / deploy (push) Successful in 1m6s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 18:57:45 +00:00
isaaccladandCursor 986ec0155c Document that Care owns healthcare stage provisioning under Queue v2.
Deploy Ladill Care / deploy (push) Successful in 1m24s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 18:00:42 +00:00
isaaccladandCursor 94e53d05bf Keep consultation context on nested clinical pages and add Call again on patient queue cards.
Deploy Ladill Care / deploy (push) Successful in 1m7s
Doctors can return to the active consultation from forms, lab, prescriptions, pathways, and bills; queue cards can re-announce called/serving tickets via the existing Queue recall bridge.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 17:48:34 +00:00
isaaccladandCursor e73b39b678 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>
2026-07-17 17:22:14 +00:00
isaaccladandCursor c5151ad476 Fix Call next when Care waiters lack Queue tickets.
Deploy Ladill Care / deploy (push) Successful in 1m35s
Demo/pre-integration waiting lists showed patients but Call next hit an empty Queue and flashed a red error. Backfill missing tickets on Call next and queue load, and treat empty Call next as info.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 16:53:52 +00:00
isaaccladandCursor 015a4cc7fe Wire Care lists into Ladill Queue workflows instead of reception panels.
Deploy Ladill Care / deploy (push) Successful in 1m45s
When Queue integration is on, role pages issue tickets into their own
department queues and drive Call next → Serve → Complete on the native
lists. Integration off leaves existing UI unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 16:27:48 +00:00
isaaccladandCursor 15638d1672 Fall back to sole Queue branch when Care branch names differ.
Deploy Ladill Care / deploy (push) Successful in 1m31s
Free single-location Queue orgs often use a default name like
Main Branch while Care stubs send Main; reuse the only branch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 16:09:31 +00:00
isaaccladandCursor cd020512c3 Create real Queue counters when specialty modules activate.
Deploy Ladill Care / deploy (push) Successful in 1m39s
Wire module activation to the Queue create/upsert APIs, persist
queue and counter UUIDs on Care stubs, and soft-deactivate on
module off so embedded service counters work without manual setup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 16:03:16 +00:00