A lightweight LAMP-ready drug interaction knowledge base inspired by interaktionsdatabasen.dk. The application exposes the data in multilingual AdminLTE 3.2 UI as well as HL7® FHIR® JSON for interoperability with electronic medicines record systems, supply chain partners, and regulators.
- 🇬🇧/🇫🇷 bilingual interface (English and French) with simple locale switching.
- AdminLTE 3.2 white theme with rounded cards and dark-yellow accents optimized for clinical readability.
- Drug interaction registry stored in MySQL with ATC classification metadata.
- CSV import/export workflows for bulk maintenance of interaction pairs.
- FHIR
Bundleendpoint composed ofMedicationKnowledgeresources for system-to-system exchange. - Sample dataset aligned with ATC coding to bootstrap deployments.
- Linux server with Apache 2.4+, PHP 8.0+ and MySQL 8 (standard LAMP stack).
- PHP extensions:
pdo_mysql,mbstring,json,session.
- Clone the repository to your Apache document root.
- Create a MySQL database and user, then import the schema and sample data:
CREATE DATABASE openrims_interactions CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'openrims'@'localhost' IDENTIFIED BY 'secret'; GRANT ALL PRIVILEGES ON openrims_interactions.* TO 'openrims'@'localhost'; FLUSH PRIVILEGES;
mysql -u openrims -p openrims_interactions < database/schema.sql mysql -u openrims -p openrims_interactions < database/sample_data.sql
- Adjust
config/database.phpto match your database credentials (or provide environment variablesDB_HOST,DB_PORT,DB_NAME,DB_USER,DB_PASSWORD). - Point Apache to the
public/directory and enable HTTPS. Example vhost snippet:DocumentRoot /var/www/openrims/public <Directory /var/www/openrims/public> AllowOverride All Require all granted </Directory>
- Visit the site in a browser. Use the language selector in the header to switch between English and French.
- CSV Export:
GET /export.php(respectsqueryandseverityfilters). - CSV Import:
POST /import.phpwithmultipart/form-datacontaining afilefield. Required headers:drug_a_name, drug_a_atc, drug_b_name, drug_b_atc, severity, description, clinical_management, evidence_level, source_url. - FHIR Bundle:
GET /api/fhir/bundle.phpreturns anapplication/fhir+jsonbundle ofMedicationKnowledgeresources.
- Business logic lives in
app/InteractionService.php; persistence is handled byapp/InteractionRepository.php. - Translations are stored under
resources/lang. - UI customization can be adjusted in
public/assets/custom.css.
MIT License. See LICENSE.