DEV Community

Cover image for CareCode Open HMIS: An Open-Source Hospital Management System Built in Production, Not in Theory
Buddhika Ariyaratne
Buddhika Ariyaratne

Posted on

CareCode Open HMIS: An Open-Source Hospital Management System Built in Production, Not in Theory

CareCode Open HMIS: An Open-Source Hospital Management System Built in Production, Not in Theory

Most open-source hospital management systems start as academic projects. CareCode Open HMIS started in a doctor's clinic in 2004, and it hasn't left production since.

Over the past two decades, this system has grown from a simple Electronic Medical Record into a comprehensive Hospital Management Information System serving over 40 healthcare institutions. It handles real patients, real billing, real pharmacy stock, and real lab results — every day, across hospitals, clinics, pharmacies, laboratories, and channelling centres.

Here's what makes it different, and where it fits.

The Numbers

  • 20+ years of continuous development (since 2004)
  • 45,000+ commits from 125 contributors
  • 890,000 lines of Java code
  • 1,699 Java files and 3,587 XHTML pages
  • 40+ healthcare institutions in production since 2015
  • Open source under AGPL license

What It Covers

CareCode Open HMIS is not a single-module tool. It covers the full breadth of hospital operations:

  • OPD — Patient registration, billing, queue management
  • Inpatient — Admissions, ward management, interim billing, discharge
  • Pharmacy — Procurement, batch-level stock tracking, dispensing, inter-department transfers, wholesale
  • Laboratory — Investigations, specimen tracking, analyzer interfacing (ASTM), report approval, collecting centres
  • Channelling — Doctor appointment booking, session management, SMS notifications
  • EMR — Clinical notes, diagnoses, prescriptions
  • HR & Payroll — Staff management, attendance, shifts, salary processing
  • Accounting — Cashier shifts, cashbook, credit companies, revenue reports
  • Theatre, Store, Membership, Optician — And more

Institutions adopt the modules they need. A standalone pharmacy doesn't need the inpatient module. A lab doesn't need HR. The system adapts.

The Key Differentiator: Configuration, Not Code Changes

The most important architectural decision in CareCode Open HMIS is its three-level configuration system:

  1. Application Options — Hundreds of system-wide settings (mandatory fields, payment methods, bill formats, SMS triggers, shift enforcement, report columns...)
  2. Institution Settings — Per-branch overrides for multi-location deployments
  3. Department Preferences — Per-department customization (bill footers, pricing strategies, print formats...)

This means two hospitals with completely different workflows — one enforcing cashier shifts with POS receipts, another using A4 template bills without shift management — run the same code. No forks. No branches. Just configuration.

This is what has kept a single codebase serving 40+ diverse institutions for over a decade.

Who Is It For?

CareCode Open HMIS is built for healthcare institutions in resource-constrained settings that need a working system without commercial licensing fees. It has been deployed across:

  • Private hospitals with multiple departments
  • Outpatient clinics and medical centres
  • Standalone pharmacies
  • Clinical and medical laboratories
  • Doctor channelling centres
  • Multi-branch healthcare groups

The Honest Limitations

  • Not a SaaS product — You need Java EE and database administration skills to deploy it, or commercial support
  • Desktop-first — The primary interface targets workstation browsers, not mobile
  • FHIR interoperability is evolving — RESTful APIs and HAPI FHIR libraries are present, but full standards-based interoperability is still developing
  • Primarily deployed in Sri Lanka — While globally applicable, most production experience is from Sri Lankan healthcare institutions

The Technology

For the technically curious:

  • Stack: Java EE, JSF, JPA (EclipseLink), PrimeFaces, MySQL/MariaDB
  • Server: Payara / GlassFish
  • Architecture: Three-tier web application
  • APIs: JAX-RS RESTful services
  • Lab middleware: C# based ASTM protocol interfacing
  • Data model: Pharmaceutical classification based on NHS dm+d and WHO ATC standards
  • Deployment: On-premises or cloud (Google Cloud Platform tested)

History

Year Milestone
2004 EMR for a single general practice (VB6 + MS Access)
2008 Adoption by hospitals and laboratories
2011 Published in Sri Lanka Journal of Bio-Medical Informatics
2012 Java EE rewrite, open-sourced on GitHub
2015 Continuous production use across multiple institutions
2024 40+ institutions, 45,000+ commits, active development

Get Started

  1. Clone: https://github.com/hmislk/hmis
  2. Configure a MySQL/MariaDB database
  3. Deploy to Payara or GlassFish
  4. Run — the system guides you through initial setup
  5. Explore the wiki for user guides and configuration references

Bottom Line

CareCode Open HMIS is not the flashiest open-source healthcare project. It doesn't have a marketing team or a venture-backed roadmap. What it has is two decades of production use, a codebase shaped by real healthcare workers, and a configuration architecture that lets diverse institutions run the same system their own way.

If you're evaluating open-source HMIS options for a healthcare institution in a developing country, it deserves a serious look.


CareCode Open HMIS is available under the AGPL license at github.com/hmislk/hmis.
Originally developed by Dr. M. H. B. Ariyaratne. Actively maintained by the CareCode team and community.

Top comments (0)