Commit Graph
164 Commits
Author SHA1 Message Date
isaaccladandCursor 5c394cec2e Clarify patient vs nurse unit placement on nursing charts.
Deploy Ladill Care / deploy (push) Successful in 55s
The empty state referred to the patient but read like the nurse was unassigned; show duty units and patient-specific copy instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 16:36:35 +00:00
isaaccladandCursor cebc9c8e4c Show upgrade UI for assessment analytics instead of bare 403.
Deploy Ladill Care / deploy (push) Successful in 41s
Non-Enterprise orgs hitting /reports/assessments get the in-app plans upsell; CSV export redirects to View plans with an upsell flash.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 16:26:43 +00:00
isaaccladandCursor d4b645d85b Show nursing care on patient chart for floor nurses.
Deploy Ladill Care / deploy (push) Successful in 1m11s
Nurses without consult rights see unit placement, MAR, nursing assessments, and meds/labs instead of the GP consult/pathways toolkit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 16:24:55 +00:00
isaaccladandCursor 3e194e9d9d Fix patient show 500 when assessment catalog reseed hits live answers.
Deploy Ladill Care / deploy (push) Successful in 1m8s
ensureAssessmentCatalog was re-running AssessmentTemplateSeeder whenever
nursing packs were missing; the seeder hard-deleted questions and blew up
on FK care_assessment_answers. Upsert questions by code, only drop unused
orphans, and never let catalog ensure throw on web requests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 16:09:45 +00:00
isaaccladandCursor 218023746d Rename My ward to My care unit in nurse station UI.
Deploy Ladill Care / deploy (push) Successful in 40s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 15:57:25 +00:00
isaaccladandCursor 45da731561 Add My ward nurse station for bedside clinical work.
Deploy Ladill Care / deploy (push) Successful in 39s
Floor nurses keep Nursing Services admin-only, but now get a My ward
home keyed off today's roster or unit placement with patient lists and
direct links to MAR, vitals/assessments, notes, and handovers. Care unit
show and board crumbs open for station users so clinical pages are
reachable without department admin rights.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 15:54:26 +00:00
isaaccladandCursor 96f36a60d6 Keep Nursing Services hub off the regular nurse role.
Deploy Ladill Care / deploy (push) Successful in 35s
Floor nurses keep clinical charting and My shifts but no longer
derive nursing.services.view, roster manage, or the Nursing /
Nursing Services admin nav. Ward lead roles (ed_nurse, midwife, …)
and admins are unchanged. Gate the nursing_services specialty
redirect the same way as the hub route.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 14:59:05 +00:00
isaaccladandCursor 527a469b78 Add ambulance New call flow under ambulance.manage.
Deploy Ladill Care / deploy (push) Successful in 1m41s
Walk-in appointments require appointments.manage, which blocked EMS staff; New call now uses a dedicated specialty route that lands on the dispatch board.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 12:20:29 +00:00
isaaccladandCursor 4e753e68c0 Replace ambulance Call next queue with an EMS dispatch board.
Deploy Ladill Care / deploy (push) Successful in 35s
Home columns follow New call → Dispatched → On scene → Transport → Handover; walk-ins land as New call and Call next is disabled for this module.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 12:13:33 +00:00
isaaccladandCursor b7aca6ee2b Separate unit placements from shift duty assignments.
Deploy Ladill Care / deploy (push) Successful in 30s
Roster no longer writes temporary staff assignments; unit assignment UI drops shift fields and labels clarify the two workflows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 11:49:18 +00:00
isaaccladandCursor 82a2b1a9a7 Restrict care unit and department setup to admins.
Deploy Ladill Care / deploy (push) Successful in 48s
Nurses keep Nursing Services for clinical work but can no longer browse or create structural units and departments.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 11:33:38 +00:00
isaaccladandCursor 7c32b34715 Gate ward admin nav to nursing roles and add My shifts for staff.
Deploy Ladill Care / deploy (push) Successful in 52s
Ambulance and other non-nursing vitals roles no longer see Care units / Nursing Services; staff get a personal duty roster view of assigned shifts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 11:26:52 +00:00
isaaccladandCursor 76241ac2b5 Use compact operational KPIs in the Reports page hero.
Deploy Ladill Care / deploy (push) Successful in 56s
Hero cards now show patient/appointment/lab counts instead of long currency strings, and page-hero values truncate safely for large figures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 11:09:25 +00:00
isaaccladandCursor a3839da869 Add queue kiosk and display devices for Care Queue management.
Deploy Ladill Care / deploy (push) Successful in 39s
Register walk-up kiosks and waiting-room display devices under Devices, with public kiosk ticket issue and linked TV boards surfaced in sidebar and Queue shortcuts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 10:59:02 +00:00
isaaccladandCursor b2cebe2908 Add shift templates, unit duty roster grid, and Nursing Services hub.
Deploy Ladill Care / deploy (push) Successful in 1m0s
Phase 3 staff management: real shift entities, week roster linked to temporary assignments, and a nursing ops module surface (registry, today’s allocation, unit shortcuts).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 10:40:25 +00:00
isaaccladandCursor 9eb6c21828 Add nursing assessment packs, ward board, and nurse performance KPIs.
Deploy Ladill Care / deploy (push) Successful in 55s
Seeds NEWS2/Braden/Morse/pain packs with visit vitals and a unit dashboard for MAR, assessments, notes, and handover activity.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 10:32:52 +00:00
isaaccladandCursor cb6e59e5ed Add ward MAR board plus nursing notes and SBAR handovers.
Deploy Ladill Care / deploy (push) Successful in 52s
Nurses can chart given/held/refused doses from active prescriptions on placed patients, and document chronologic notes and unit shift handovers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 10:15:58 +00:00
isaaccladandCursor 45a1a95142 Add visit placement on care units and beds.
Deploy Ladill Care / deploy (push) Successful in 38s
Patients can be admitted, transferred, and discharged from unit/bed stays with occupancy sync, so MAR and ward boards have inpatient context.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 10:10:37 +00:00
isaaccladandCursor 3735be3425 Add Care Units, beds, and dated staff assignments.
Deploy Ladill Care / deploy (push) Successful in 1m8s
Models employment as department/unit/shift placements with primary and temporary kinds so nurses are not permanently bound to a ward.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 10:04:39 +00:00
isaaccladandCursor 56a663a777 Replace Maternity with Women's Health (OB/GYN) and configurable service lines.
Deploy Ladill Care / deploy (push) Successful in 26s
Keeps Fertility as a separate specialty, adds OB/GYN and fertility staff roles, and migrates live org settings from maternity → womens_health.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 09:48:19 +00:00
isaaccladandCursor 938f351ede Expand specialty RBAC with dedicated specialist roles and support access.
Deploy Ladill Care / deploy (push) Successful in 41s
Add cardiologist/ENT/derm/ophthalmology/ortho/podiatry/fertility roles and
manage/refer/view matrices so GPs, nurses, lab, pharmacy, and reception get
realistic module access beyond single-app specialists.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 09:21:26 +00:00
isaaccladandCursor ac870bcf33 Implement Care RBAC role→permission→app matrix.
Deploy Ladill Care / deploy (push) Successful in 57s
Replace broad doctor/nurse specialty access with granular roles and primary
apps, permission inheritance for lab/BB managers, and cannot-rules for
discharge, lab approve, and cashier vs billing officer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-20 00:24:09 +00:00
isaaccladandCursor c0e5d8ef00 Add full Ambulance and Child Welfare specialty clinical suites.
Deploy Ladill Care / deploy (push) Successful in 54s
EMS clinic workflow (dispatch → scene → transport → handover) plus completed CWC suite, with shell stages, clinical records, reports/print, demo seed, and suite tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 22:25:52 +00:00
isaaccladandCursor 8c18ecc5c9 Add full Dermatology, Podiatry, and Fertility specialty clinical suites.
Deploy Ladill Care / deploy (push) Successful in 35s
Bring thin catalog modules to the same depth as Cardiology with stages, clinical tabs, reports/print, demo seed, and suite tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 22:03:01 +00:00
isaaccladandCursor 7b722c71d0 Add full Vaccination, Pathology, and Infusion specialty clinical suites.
Deploy Ladill Care / deploy (push) Successful in 34s
Mirror Oncology-depth stage flows, workspace controllers, clinical forms, reports/print, demo seed, and suite tests. Pathology stays clinic specialty complementary to the Lab app.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 21:39:15 +00:00
isaaccladandCursor b7e5a7d9ad Add full Oncology, Renal Care, and Surgery specialty clinical suites.
Deploy Ladill Care / deploy (push) Successful in 32s
Match Pediatrics/ENT depth with stages, workspace tabs, clinical records, reports/print, demo seed, and suite tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 20:16:18 +00:00
isaaccladandCursor dc86b51ed5 Add full Pediatrics, Orthopedics, and ENT specialty clinical suites.
Deploy Ladill Care / deploy (push) Successful in 43s
Mirror Cardiology-depth stage flows, workspace tabs, reports/print, clinical
alerts, demo seeds, and PHPUnit coverage for child health, fracture clinic,
and ENT pathways.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 19:12:38 +00:00
isaaccladandCursor 8e23cdeae3 Add full Radiology, Cardiology, and Psychiatry specialty clinical suites.
Deploy Ladill Care / deploy (push) Successful in 49s
Mirror the Ophthalmology/Maternity shell pattern with stages, stage_tabs,
workspace clinical records, reports/print, demo seeds, and suite tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 18:41:55 +00:00
isaaccladandCursor b3805023b1 Add Prescribe to specialty workspace Actions.
Deploy Ladill Care / deploy (push) Successful in 41s
Reuse the GP consultation prescribe modal, gate with prescriptions.manage, and return to the specialty workspace after create.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 17:50:40 +00:00
isaaccladandCursor cfa71c2c15 Add full Physiotherapy and Maternity specialty clinical suites.
Deploy Ladill Care / deploy (push) Successful in 52s
Mirror Eye Care depth with stages, workspace tabs, clinical JSON, stage Move→tab routing, reports/print, demo seeds, and suite feature tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 16:39:22 +00:00
isaaccladandCursor 2f724daf49 Open the matching workspace tab after specialty stage advance.
Deploy Ladill Care / deploy (push) Successful in 45s
Stage Move CTAs and pills previously always redirected to overview; map each stage to its tab via shell config so examination lands on exam, etc.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 16:21:43 +00:00
isaaccladandCursor be7bd8f433 Add shared specialty stage stepper to all workspace shells.
Deploy Ladill Care / deploy (push) Successful in 35s
Lift Eye Care stage pills into a reusable action-bar component so every
module visit workspace shows config-driven stages with RBAC-gated Move CTAs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 16:13:29 +00:00
isaaccladandCursor b44ed50fe7 Memoize specialty nav and branch lookups to stop per-request N+1.
Deploy Ladill Care / deploy (push) Successful in 28s
Sidebar was re-querying practitioners for every specialty module and also
calling ensureDefaultModulesProvisioned on each page render, which showed
up as multi-second PHP-FPM slow logs on Care.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 16:02:16 +00:00
isaaccladandCursor 1d3db4f803 Add full Eye Care (ophthalmology) specialty clinical suite.
Deploy Ladill Care / deploy (push) Successful in 35s
Mirror Emergency/Blood Bank depth with stages, workspace tabs, workflow/analytics services, reports/print, demo clinical seed, and feature tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 15:19:04 +00:00
isaaccladandCursor 5d9d333170 Add Lab and Blood Bank manager roles with admin UIs.
Deploy Ladill Care / deploy (push) Successful in 46s
Give lab_manager catalog/ops admin access and blood_bank_manager a branch-level stock register plus specialty admin surface, while keeping technicians on clinical queues.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-19 14:18:47 +00:00
isaaccladandCursor f82964b2a0 Remove Care cashier access to Ladill POS.
Deploy Ladill Care / deploy (push) Successful in 47s
Cashiers collect via Billing only; strip POS from demo staff grants and StaffUx/launcher so the suite hub no longer offers POS for that role.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 23:47:07 +00:00
isaaccladandCursor 4ad3a8a901 Show payments and paid bills on billing dashboards.
Deploy Ladill Care / deploy (push) Successful in 1m21s
Cashiers and other bills.view roles get today's collections breakdown and a recent paid-invoice list under the existing metric cards.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 23:40:04 +00:00
isaaccladandCursor e69c7da0d6 Fix bill payment forms to use major currency units.
Deploy Ladill Care / deploy (push) Successful in 56s
Cashiers saw pesewa integers (e.g. 4000) while history showed GHS 40.00; accept and prefill major amounts and convert to minor on record/checkout.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 23:30:31 +00:00
isaaccladandCursor a34d6579cd Fix cashier desk: unpaid bills on every demo branch.
Deploy Ladill Care / deploy (push) Successful in 39s
Demo seeding used i%3 for both branch and paid status, so Ridge Clinic only got paid invoices. Cashiers now default to outstanding balances and Call next is secondary to the walk-up unpaid list.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 23:22:54 +00:00
isaaccladandCursor b84c7e31ba Make cashier billing invoices actionable for walk-up payment.
Deploy Ladill Care / deploy (push) Successful in 1m1s
Clarify booth Call next vs unpaid invoice list, and expose Pay/View row actions so cashiers can open bills when the booth queue is empty.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 23:16:49 +00:00
isaaccladandCursor ff316f15c6 Redirect cashiers from legacy service queues to Billing.
Deploy Ladill Care / deploy (push) Successful in 48s
Doctor-only Queue left non-doctors landing on Appointments, which cashiers
(and pharmacists/lab techs) cannot open — restore role-natural list routes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 23:11:32 +00:00
isaaccladandCursor d422797050 Gate Queue to doctors and land specialty modules on list indexes.
Deploy Ladill Care / deploy (push) Successful in 34s
Hide the patient-flow Queue board from nurses, reception, and other
non-doctors; specialty home routes now render the queue board list
instead of auto-opening the first open visit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 22:53:12 +00:00
isaaccladandCursor 244bb8fba6 Hide Specialty sidebar group for desk specialists.
Deploy Ladill Care / deploy (push) Successful in 2m34s
Single-desk specialists already reach their workspace via dashboard cards; the Specialty → Dentistry nav group was redundant. GPs and multi-module roles keep the section.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 22:29:30 +00:00
isaaccladandCursor c8a7115e49 Link demo specialty desks after SSO remap and tighten keyword matching.
Deploy Ladill Care / deploy (push) Successful in 58s
Specialty seeder looked up members by email user_ref only, so remapped
demo logins never got practitioner.member_id and saw every module.
Also stop short keywords like "ent" matching "dentistry".

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 22:18:49 +00:00
isaaccladandCursor d02760c527 Limit specialty module visibility to matching desk specialists.
Deploy Ladill Care / deploy (push) Successful in 35s
GPs keep broad general/limited manage and restricted view/refer; dentists and other desk specialists only see modules that match their specialty.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 22:09:15 +00:00
isaaccladandCursor 9ecc3ad7f0 Fix dentistry demo seed scoping departments by branch.
Deploy Ladill Care / deploy (push) Successful in 52s
care_departments has no organization_id; match the Blood Bank seeder pattern so demo:seed no longer fails on dental specialty data.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 21:56:18 +00:00
isaaccladandCursor ad3d8b5ce4 Seed Blood Bank demo inventory_note on open visits.
Deploy Ladill Care / deploy (push) Successful in 28s
Pro/enterprise DemoTenantSeeder now upserts visit-scoped facility stock so the Inventory tab and reports show unit counts and a low-stock alert without manual entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 21:46:13 +00:00
isaaccladandCursor f688a48c37 Add full Blood Bank specialty suite on shared shell.
Deploy Ladill Care / deploy (push) Successful in 37s
Mirror Emergency: stage workflow, issue/transfusion records, analytics,
print, and action-menu stage flow without a parallel EHR.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 21:36:57 +00:00
isaaccladandCursor 847d63c1c2 Allow consultation assessments when patient home branch differs.
Deploy Ladill Care / deploy (push) Successful in 40s
Doctors scoped to the visit branch were getting app 404s on nested
assessment routes because authorizePatient compared the patient's home
branch, unlike consultation/prescription auth which uses the visit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 21:26:58 +00:00
isaaccladandCursor 3854fc6471 Add consultation-nested assessment create and show routes.
Deploy Ladill Care / deploy (push) Successful in 32s
Index alone still left /consultations/{uuid}/assessments/create and
/consultations/{uuid}/assessments/{uuid} unmatched (404). Wire those
paths, redirect store into the nested show, and cover the doctor form
open flow with feature tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-18 20:47:57 +00:00