medcore-ua / medcore
A comprehensive web platform for clinic and medical data management.
Package info
Type:project
pkg:composer/medcore-ua/medcore
Requires
- chillerlan/php-qrcode: ^5.0
- doctrine/dbal: ^4.4
- doctrine/doctrine-bundle: ^2.19
- doctrine/doctrine-migrations-bundle: ^3.7
- doctrine/migrations: ^3.9
- doctrine/orm: ^3.6
- dompdf/dompdf: ^3.1
- league/oauth2-client: ^2.8
- league/oauth2-facebook: ^2.2
- league/oauth2-github: ^3.1
- league/oauth2-google: ^4.0
- maennchen/zipstream-php: ^3.1
- medcore-ua/nk-025-2021-parser: ^0.2.0
- medcore-ua/nk-026-2021-parser: ^0.2.0
- phpoffice/phpspreadsheet: ^5.2
- spomky-labs/otphp: ^11.3
- symfony/cache: ^7.4
- symfony/config: ^7.0
- symfony/console: ^7.4
- symfony/contracts: ^3.0
- symfony/dependency-injection: ^7.0
- symfony/dotenv: ^7.4
- symfony/event-dispatcher: ^7.4
- symfony/finder: ^7.0
- symfony/framework-bundle: ^7.4
- symfony/http-foundation: ^7.4
- symfony/intl: ^7.4
- symfony/process: ^7.4
- symfony/runtime: ^7.4
- symfony/translation: ^7.0
- symfony/twig-bridge: ^7.0
- symfony/twig-bundle: ^7.4
- symfony/validator: ^7.4
- symfony/yaml: ^7.3
- twig/twig: ^3.22
Requires (Dev)
- doctrine/doctrine-fixtures-bundle: ^4.3
- friendsofphp/php-cs-fixer: ^3.95
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: ^4.0
This package is auto-updated.
Last update: 2026-08-08 10:45:30 UTC
README
Clinic Management Platform
A robust, three-tier healthcare information system designed to automate key workflows in modern medical centers. This platform is built with a modular architecture, prioritizing scalability, security, and compliance with national regulatory requirements.
Features
- Electronic Medical Records: Comprehensive tracking of patient history, diagnoses, and treatment plans.
- Appointment Scheduling: Interactive calendars for doctors and staff to manage patient visits efficiently.
- Advanced Access Control: Modular Role-Based Access Control (RBAC) with granular, policy-based permissions for each bundle.
- Billing and Insurance: Integrated tracking of invoices, payments, and insurance claims.
- Laboratory Management: Seamless processing of lab orders and test results.
- Inventory Tracking: Monitoring of medical supplies, pharmaceuticals, and equipment.
- Extensible Architecture: Built on a modern, decoupled bundle system ready for future scaling.
Screenshots
Technology Stack
- Backend: PHP 8.2+
- Templating Engine: Twig
- Frontend: Semantic UI, Vanilla JS
- Database: MySQL/MariaDB, with SQLite support for development
- Web Server: Nginx + PHP-FPM
Quick Start
Note
Detailed deployment instructions will be added to docs/deployment.md.
-
Clone the repository:
git clone https://github.com/medcore-ua/medcore.git cd medcore -
Install dependencies:
composer install
-
Configure the environment:
- Copy
.env.exampleto.env. - Specify the connection parameters for your database.
- Copy
-
Run migrations and create the admin account:
php bin/console doctrine:migrations:migrate php bin/console app:install
-
Configure the web server to point to the
public/directory as the root. -
Start the local server (for development):
php -S localhost:8000 -t public
How to Run Code Quality Checks
To ensure code quality, the project uses the following tools:
- PHPStan — static analysis to detect errors in PHP code
- PHPCS — code style checking according to PSR-12 standard
- PHPUnit — running Unit and Integration tests
Installing Dependencies
composer install
Running Checks
All commands are executed from the root of the project:
# Static analysis with PHPStan composer stan # Code style check with PHPCS composer cs # Automatic style fixes with PHPCS composer cs-fix # Running PHPUnit tests composer test
Running Individual Tools
# PHPStan vendor/bin/phpstan analyse # PHPCS vendor/bin/phpcs . # PHPCBF (automatic fixes) vendor/bin/phpcbf . # PHPUnit vendor/bin/phpunit
CI Checks
GitHub Actions automatically runs all checks on every push to branches main, epic/**, feature/**, fix/** and on Pull Requests to main. The status of checks is displayed in the badges at the beginning of this file.
Contributing
Contributions are welcome and appreciated! Here's how you can contribute:
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please make sure to update tests as appropriate and adhere to the existing coding style.
License
This project is licensed under the CSSM Unlimited License v2.0 (CSSM-ULv2). See the LICENSE file for details.









