finds.dev← search

// the find

openmrs/openmrs-core

★ 1,852 · Java · NOASSERTION · updated Jun 2026

OpenMRS API and web application code

OpenMRS is a 20-year-old open-source EMR platform used in resource-constrained healthcare settings, primarily across Africa and Southeast Asia. It provides a Java/Spring/Hibernate core with a module system that lets implementers extend it without touching the core. This is infrastructure-grade medical software with real production deployments in clinics that have no alternative.

The module architecture is genuinely well-designed — you can add features, replace services, or swap authentication schemes without forking the core. The domain model is thorough and reflects real clinical workflows: encounters, observations, orders, programs, and patient identifiers all have the kind of nuance (voiding vs. deleting, concept hierarchies, order discontinuation rules) that you only get from people who've seen production data go wrong. Active community with real adoption means the issue tracker reflects real-world edge cases, not hypothetical ones. Liquibase for schema migrations with custom extensions (including Postgres/MySQL type handling) means schema changes are traceable and reversible.

The Travis CI badge still points to travis-ci.org (dead), and the README references Maven 3 and Java 8 minimums — small signals, but the documentation doesn't reflect where the project actually is today. Docker support is explicitly 'work in progress' with no hot-reload and a full rebuild required on any code change, which makes local development genuinely painful. The legacy UI layer (JSP-era) and the newer Microfrontends approach coexist uneasily; new contributors will hit both and it's not obvious which path to follow. The concept dictionary model — while powerful — has a steep learning curve; a wrong concept mapping in production can silently corrupt clinical data in ways that are hard to audit after the fact.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →