# Shifa One — Module Map

Shifa One is the **human-medical** demo edition of the Static ERP (sibling of
**VET One** and **Askar Group**). It runs the ERP core (POS, inventory, accounting,
purchasing, HR) plus the human-medical **ClinicCore** platform and the requested
infrastructure modules.

## Enabled modules & what each demonstrates

### Clinical platform
| Module | Demonstrates |
|--------|--------------|
| **ClinicCore** (`clc_*`, patient = `App\Contact`) | Patients, doctors, departments, appointments with SOAP + vitals, e-prescriptions, vaccinations, medical reports, care plans. Data-driven **45-specialty** registry. |
| **45 specialty plugins** (`CardiologyClinic`, `PediatricsClinic`, `DermatologyClinic`, `DentalClinic`, `OphthalmologyClinic`, `GynaecologyClinic`, …) | Each adds a specialty driver + `*_patient_profiles` extension. Demo seeds 12 patients across 12 specialties (Cardiology, Pediatrics, Dermatology, Dental w/ tooth chart, Ophthalmology, Endocrinology, Internal Medicine, Orthopedics, OB/Gyn w/ EDD, Psychiatry, Chest, Nephrology). |
| **ClinicLab** (bridge: ClinicCore ↔ LabCore) | Lab orders + analyzer results linked to a patient (`lab_test_sessions.clc_patient_id`). 2 seeded result sets (CBC, Chemistry) with abnormal flags + 1 pending worklist order. `/clinic-lab`. |
| **ClinicWhatsApp** (bridge: ClinicCore ↔ WhatsApp) | `clinicwa:send-recalls` (next-day appointment + upcoming vaccination boosters) and `clinicwa:notify-lab-results` (results-ready). Both verified via `--dry`. |
| **LabCore** | Shared lab-analyzer engine (devices/sessions/results) used by ClinicLab. |

### Requested infrastructure
| Module | Role |
|--------|------|
| **WhatsApp** (WA) | Multi-channel WhatsApp delivery used by ClinicWhatsApp. |
| **AiCore** (AI) | Multi-provider LLM engine; business vertical set to **`medical_clinic`**. |
| **ActivityLog** | Enhanced audit trails. |
| **Connector** | REST API & external integrations. |
| **TPConnector** | OAuth/API bridge — `POST /api/tp-connector/login` issues a Passport Bearer token; sell sync endpoints. |
| **Essentials** | HR / staff users / attendance / payroll. |
| **PurchaseRequisition** (+ **LandedCost**) | PR workflow → PO, supplier quotes, landed-cost allocation. |
| **SmartStorage** | Pluggable upload backends + at-rest encryption. |
| **AdvancedTransfer** | 3-stage (prepare → ship → receive) inter-location stock transfer with shipping-cost allocation. Ported from VET One (TpsTransfer renamed; route prefix `/tps-product`). |

## Disabled (out of scope for this edition)
All `Vet*` (VetClinic/VetAI/VetAdmission/VetPortal), `Bms`, `AbaxisLab`, `NX600Lab`,
`ProductCompat`, `StockIssues`, `Crm`, `PortalApi`, `ReportsModule`, `Hms`, `Gym`.

> Note: disabled-but-installed modules (e.g. Bms) are kept inert via the
> `ModuleUtil::getModuleData()` guard so they don't inject dashboard menu items
> that route to unloaded providers.
