LIMS: Clinical Laboratory Information Management System
- Elixir
- Phoenix
- Oban
- Next.js
- Multi-tenant
This system is a multi-tenant LIMS (Laboratory Information Management System) built with Elixir/Phoenix for clinical laboratories. Each laboratory (tenant) manages its patients, coverages, test orders and a test catalog with analytes, reference values and formulas for calculated analytes. It records results, flags whether they are within or outside range, and issues digitally signed reports. It also covers billing (price lists, exchange rates, accounts receivable), receives instrument data over TCP, and triggers webhooks, SMS and emails through background jobs with Oban.
Access is split across three audiences. The superadmin backoffice manages tenants, quotas and global catalog templates. The core API serves each laboratory's users, with roles such as administrator, bacteriologist and secretary. A Next.js/Mantine portal (tenant_ui) acts as a BFF, that is, an intermediate layer between the browser and the API. The system has gone through concurrency, integrity and security audits, from which a remediation plan was derived.
