Files
ladill-care/.cursor/rules/specialty-modules.mdc
T
isaaccladandCursor 0181221fe8
Deploy Ladill Care / deploy (push) Successful in 52s
Add shared specialty module shell (Phase 2).
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

33 lines
2.1 KiB
Plaintext

---
description: Ladill Care specialty module architecture and UX standard
globs: config/care_specialty_modules.php,app/Services/Care/SpecialtyModule*.php,app/Http/Controllers/Care/Specialty*.php,resources/views/care/specialty/**,resources/views/care/settings/modules.blade.php
alwaysApply: false
---
# Specialty modules — Care design standard
Full standard: `docs/specialty-module-design-standard.md`.
## Non-negotiables
- Specialty modules are **native Care extensions**, not standalone apps.
- Design **workflow first** (stages, queues, payment checkpoints, completion), then screens.
- Reuse Care engines: Workflow, **Care Queue Engine (in-app)**, Billing, Appointments, Documents, Permissions, Reports.
- Do **not** depend on Ladill Queue for Care or specialty queues (see `docs/care-queue-engine-and-specialty-plan.md`).
- Use **identical primary actions** (Call Next, Start Consultation, Order Test, Prescribe, Generate Invoice, Discharge, …).
- Prefer extending **`Visit`** as the clinical episode unit before inventing a separate Episode model.
- Contribute to one **patient timeline** — do not create parallel charts.
- Prefer **structured clinical data** over free-text-only fields (AI-ready).
## Current reality
Specialty modules use the **shared specialty shell** on the Care Queue Engine (`SpecialtyShellService`, Overview / Visits / History / Billing / Workspace). Stage maps and service catalogs live in `config/care_specialty_shell.php`. Deepen clinical forms per module in Phase 3 — do **not** invent one-off layouts.
## When adding or deepening a module
1. Add/update catalog entry in `config/care_specialty_modules.php` (and department type if needed).
2. Define specialty workflow stages + queue map in docs or config — not only a nav label.
3. Wire through the **shared specialty shell**, not a one-off Blade page.
4. Seed billable services into Billing — never hardcode invoice lines in the specialty UI.
5. Gate with role allowlists + practitioner department assignment (existing `SpecialtyModuleService` patterns); Emergency/Blood Bank stay `default_on_paid_plans`.