- **Type:** Headless REST API backend (no view layer for product UX)
- **Purpose:** Manage clinical laboratory workflows (patients, orders, specimens, results, value sets, edge/instrument integration) via JSON APIs.
- **Framework/Runtime:** CodeIgniter 4 on PHP 8.1+
- **Database:** MySQL (legacy PascalCase column naming in many tables)
- **Auth:** JWT (firebase/php-jwt), typically required for protected `/api/*` endpoints.
## Architecture Notes
- API-first and frontend-agnostic; clients consume REST JSON endpoints.
- Controllers delegate business logic to models/services; avoid direct DB query logic in controllers.
- Standardized response format with `status`, `message`, `data`.
- ValueSet/Lookups system supports static lookup data and API-managed lookup definitions.
- OpenAPI docs live under `public/api-docs.yaml`, `public/paths/*.yaml`, `public/components/schemas/*.yaml` and are bundled into `public/api-docs.bundled.yaml`.
## High-Level Structure
-`app/Config` - framework and app configuration (routes, filters, etc.)
-`app/Controllers` - REST controllers
-`app/Models` - data access and DB logic
-`app/Services` - service-layer logic
-`app/Filters` - auth/request filters
-`app/Helpers` - helper functions (including UTC handling per conventions)