1.7 KiB
1.7 KiB
CLQMS Project Overview
Project Purpose
CLQMS (Clinical Laboratory Quality Management System) is a headless REST API backend for clinical laboratory workflows. It provides comprehensive JSON endpoints for:
- Patient management
- Order/test management
- Specimen tracking
- Result management and verification
- Reference ranges
- Laboratory instrument integration (Edge API)
Tech Stack
- Language: PHP 8.1+
- Framework: CodeIgniter 4 (API-only mode)
- Database: MySQL with MySQLi driver
- Authentication: JWT (JSON Web Tokens)
- Testing: PHPUnit 10.5+
- Documentation: OpenAPI/Swagger YAML
Architecture
- API-First: No view layer, headless REST API only
- Stateless: JWT-based authentication per request
- UTC Dates: All dates stored in UTC, converted for display
- PSR-4 Autoloading:
App\→app/,Config\→app/Config/
Key Directories
app/
Controllers/ # API endpoint handlers
Models/ # Database models
Libraries/ # Helper classes (Lookups, ValueSet)
Database/
Migrations/ # Schema migrations
Seeds/ # Test data seeders
Helpers/ # json_helper.php, utc_helper.php
Traits/ # ResponseTrait
Config/ # Configuration files
Filters/ # AuthFilter, CORS
public/ # Web root
paths/ # OpenAPI path definitions
components/schemas/ # OpenAPI schemas
tests/
feature/ # Feature/integration tests
unit/ # Unit tests
_support/ # Test support files
Key Dependencies
codeigniter4/framework- Core frameworkfirebase/php-jwt- JWT authenticationfakerphp/faker- Test data generation (dev)phpunit/phpunit- Testing (dev)