Integrated Laboratory Information & Sample Tracking System Simple, open-source LIS to manage and track samples for HIV VL, EID, TB, Hepatitis, COVID-19, CD4 and other priority diseases.
InteLIS (formerly VLSM) digitizes laboratory workflows β from sample collection to result dispatch β for national and sub-national health programs.
It's lightweight, self-hostable, and works both online and offline.
- InteLIS
InteLIS is released under the InteLIS Community Copyleft License (Non-Commercial), Version 1.0.
This license allows non-commercial use β including public or private laboratories, healthcare programs, NGOs, research, and education β but restricts commercial redistribution or resale of the software.
For commercial licensing inquiries, contact [email protected]
See the full license text in LICENSE.md.
- Apache 2.x (with
rewriteandheadersmodules enabled) - MySQL 5.7 or higher
- PHP 8.2.x
- Composer
Supports Ubuntu 22.04 and above (LTS versions only)
cd ~
sudo wget -O setup.sh https://github.com/deforay/intelis/raw/master/scripts/setup.sh
sudo chmod +x setup.sh
sudo ./setup.sh
sudo rm setup.sh
exitWhen prompted, enter:
- MySQL password
- STS URL
- Hostname (optional, default is
intelis)
After the script completes:
-
Edit the config file with your MySQL details:
sudo gedit /var/www/intelis/configs/config.production.php
-
Continue with Complete the Setup.
Download the source code and place it in your web root (/var/www/ or htdocs).
cd /var/www/intelis
composer install --no-scripts --no-autoloader --prefer-dist --no-dev
composer dump-autoload -o
composer post-installThe
composer post-installcommand is required after a fresh install.
- Create a blank database called
intelis. - Import
init.sqlfrom thesqlfolder into it (e.g., via phpMyAdmin or MySQL CLI).
Copy and edit the configuration file:
cp configs/config.production.dist.php configs/config.production.phpEdit configs/config.production.php:
// Database Settings
$systemConfig['database']['host'] = 'localhost';
$systemConfig['database']['username'] = 'dbuser';
$systemConfig['database']['password'] = 'dbpassword';
$systemConfig['database']['db'] = 'intelis';
$systemConfig['database']['port'] = 3306;
$systemConfig['database']['charset'] = 'utf8mb4';Enable or disable modules as needed:
// Enable/Disable Modules
$systemConfig['modules']['vl'] = true; // Viral Load
$systemConfig['modules']['eid'] = true; // Early Infant Diagnosis
$systemConfig['modules']['covid19'] = false; // Covid-19
$systemConfig['modules']['generic-tests'] = false; // Generic Tests
$systemConfig['modules']['hepatitis'] = false; // Hepatitis
$systemConfig['modules']['tb'] = false; // Tuberculosis-
Ensure Apache rewrite module is enabled.
-
Add this to
/etc/hosts:127.0.0.1 intelis.example.org -
Create a virtual host configuration (assuming
/var/www/intelis):<VirtualHost *:80> DocumentRoot "/var/www/intelis/public" ServerName intelis.example.org <Directory "/var/www/intelis/public"> AddDefaultCharset UTF-8 Options -Indexes -MultiViews +FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Need help? See: How to set up Apache Virtual Hosts on Ubuntu
sudo EDITOR=gedit crontab -eAdd this line:
* * * * * cd /var/www/intelis/ && ./vendor/bin/crunz schedule:runApplies to both automated and manual installations.
-
Visit the application in your browser:
- Manual: Use the hostname you configured (e.g., http://intelis.example.org/)
- Automated: Use the hostname you chose during setup (default: http://intelis/)
-
Register and set up the admin user.
-
Log in and configure under Admin β System Settings:
- Sample Types
- Reasons for Testing
- Rejection Reasons
- Users, Provinces, Districts, Facilities
- Other settings
sudo wget -O /usr/local/bin/intelis-update https://github.com/deforay/intelis/raw/master/scripts/upgrade.sh
sudo chmod +x /usr/local/bin/intelis-update
sudo intelis-updateWhen prompted, enter:
- MySQL password
- STS URL
-
Pull the latest source or download it manually.
-
Update dependencies:
cd /var/www/intelis composer install --no-scripts --no-autoloader --prefer-dist --no-dev composer dump-autoload -o composer post-updateThe
composer post-updatecommand is required after code updates. -
Apply any database migrations or config changes (see release notes).
-
Clear cache if needed.
-
Restart Apache:
sudo systemctl restart apache2
Need help or commercial licensing?
- Email [email protected]
- Website: https://deforay.com