Nirmitee.io
EHR DevelopmentOpen Source

Open Source EHR for Custom Builds: OpenEMR, OpenMRS, Medplum, HAPI FHIR and openEHR Compared

October 27, 202615 min readUpdated Oct 27, 2026
Written by
Jitendra Choudhary
Jitendra Choudhary

CTO & Co-Founder

CTO & Co-Founder at Nirmitee.io. Architects healthcare integrations across FHIR, SMART on FHIR, ABDM and NHCX, writing from production experience taking hospital software from sandbox to go-live.

Open Source EHR for Custom Builds: OpenEMR, OpenMRS, Medplum, HAPI FHIR and openEHR Compared

An open source EHR can save a product team months of groundwork. Five projects are serious starting points in late 2026: OpenEMR, OpenMRS, Medplum, HAPI FHIR and EHRbase, an openEHR server. Pick OpenEMR if you need a complete US ambulatory EHR with an active ONC listing today and can work with PHP and the GPL. Pick a FHIR platform or server if you are building your own product and screens. Pick openEHR if your clinical data model is the product. Whichever you choose, the licence is free and the hosting, security, upgrades and support are real work.

This guide is for founders, CTOs and product leads choosing a base to build on. Every licence, stack, certification and GitHub figure below was checked on 27 October 2026, with links so you can check them again. If you have not yet decided whether to build at all, start with our guide to custom EHR software development.

What Is an Open Source EHR?

An open source EHR is an electronic health record system whose source code is published under a licence that lets you use, study, change and share it. Some are complete applications with clinical screens, such as OpenEMR. Others are building blocks, such as a FHIR server or an openEHR data repository, that you build your own EHR on.

Most "open source EMR" lists are written for a clinic that wants to stop paying a vendor. A product builder asks different questions:

  • Can I change anything I want, and still sell or host the result?
  • Does the data model fit my specialty, or will I fight it for years?
  • Does anything here help with ONC certification, or do I start from zero?
  • Who maintains this, and how active is the project?
  • Will my team spend its time on my features, or on keeping someone else's code running?

Open Source EHR Options Compared

The table compares the five main bases, our own open source headless EHR and Ottehr, which appears on several lists. GitHub numbers show activity, not code quality. "Customising effort" is our judgement from building on these kinds of systems, not a measurement.

ProjectWhat you getLicenceMain stackONC listing on CHPL (27 Oct 2026)GitHub, main repo (27 Oct 2026)Customising effort (our estimate)
OpenEMRA full ambulatory EHR with its own UI and a FHIR APIGPL-3.0PHP, MySQL or MariaDBActive: OpenEMR 8, certified 30 Jan 2026 (listing)5,551 stars, 3,106 forks, v8.4.1 on 20 Sep 2026Low for forms and settings; high for deep changes
OpenMRS (O3)An EMR platform with a modular frontend, built for health systems in resource-constrained settingsMPL 2.0 with a healthcare disclaimerJava backend; TypeScript and React frontend modulesNo active listing foundopenmrs-core: 1,954 stars, 4,451 forks, 2.8.10 on 6 Oct 2026Medium to high; strong module system
MedplumA FHIR backend, auth, SDK, bots and React components: a headless EHR platformApache 2.0TypeScript, Node.js, PostgreSQL, Redis, ReactActive: Medplum 5, certified 31 Dec 2025 (listing)2,767 stars, 988 forks, v5.2.9 on 26 Oct 2026Medium; you build the screens on clean APIs
HAPI FHIR (JPA server)A Java FHIR server and toolkitApache 2.0Java; PostgreSQL, SQL Server or OracleNo active listing found (a server toolkit)2,422 stars, 1,515 forks, v8.8.2 on 25 Sep 2026High; you build the EHR, access rules and UI
EHRbase (openEHR)An openEHR clinical data repository with no clinical UIApache 2.0Java, PostgreSQL 15 or laterNo active listing found (a data repository)387 stars, 154 forks, v2.36.0 on 15 Sep 2026High; needs openEHR modelling skills
Nirmitee headless EHRA FHIR R4 API with SMART App Launch, role-based access control and audit loggingApache 2.0Go, PostgreSQL, RedisNot certified; passed 47 of 47 (g)(10) SMART App Launch tests in Inferno on 11 June 20267 stars, 1 fork, no tagged releaseMedium; you build the screens
OttehrA patient portal and a staff-facing EHR with telemedicine, from MassLightCustom licence based on MIT, with conditionsTypeScriptIts platform, Oystehr, states ONC certification (Oystehr docs); check CHPL for Ottehr itself342 stars, 389 forks, v1.45.19 on 21 Oct 2026Read the licence first

How we checked: licences from each project's LICENSE file, GitHub numbers from the public GitHub API, and ONC status by searching the Certified Health IT Product List (CHPL) by name. "No active listing found" means our name search found nothing; it does not rule out a certified product built on that project by another company. OpenMRS spreads its code across many repositories, so its core repository understates its community.

Every option leaves hosting to you. Most leave the clinical screens to you too.
All six projects shipped a release between 15 September and 26 October 2026.

OpenEMR: The Complete EHR You Start From

OpenEMR is the option here that gives you a working US ambulatory EHR on day one, with clinical screens, a FHIR API and an active ONC listing.

Licence. OpenEMR uses GPL-3.0. Modified versions you distribute must carry the same licence with source available (summary at choosealicense.com). GPL-3.0 has no network-use clause; AGPL-3.0 is the licence with that clause. If you plan to ship an installable product, white-label it for other groups or sell it to hospitals that host it themselves, have a lawyer read the GPL against your model before you write code.

Certification. CHPL lists OpenEMR version 8 from the OpenEMR Foundation as active, certified on 30 January 2026, with 32 criteria (CHPL listing). The project wiki says the 7.0 certification was retired on 27 February 2026 and users had to move to 8.0.0 to stay certified (OpenEMR wiki). The listing belongs to the Foundation's product and version. If you fork and change it, ask an ONC-authorized certification body what your changes mean before you promise certification to a customer.

Customising. Light changes are quick: most settings sit under Administration, Globals (architecture page). Deeper changes go through the module system. Changes to core screens or the database are the ones to plan carefully, because each one is carried forward through every upgrade.

Best fit when you need a complete US clinic EHR soon, your team is comfortable owning a PHP codebase, and your distribution model works with the GPL.

Look elsewhere when you would rewrite most screens for a very different workflow, you plan a closed-source distributed product, or you want FHIR as your internal data model from the start.

OpenMRS: A Modular Platform for Health Systems

OpenMRS describes its mission as improving care "in resource-constrained environments" (README). Its newest frontend, O3, is a set of TypeScript and React modules loaded at runtime, with shared configuration and extension systems (O3 frontend core).

Licence. MPL 2.0 with a healthcare disclaimer (LICENSE). MPL is file-level copyleft: files you modify stay under MPL, while your wider product can use other terms. The disclaimer says the code does not replace a provider's standard practice and limits contributors' liability.

Customising. OpenMRS was designed to be extended. Backend modules add or remove features for a site, and the O3 frontend has its own configuration, extension and feature-flag systems. In our view that makes it a strong base for program-specific builds.

Best fit when you serve health programs or systems outside US certification, and you want a large, established community and a modular design.

Look elsewhere when you sell to US practices that expect certified technology, or your team wants a FHIR-first data model. We found no active OpenMRS listing on CHPL on 27 October 2026.

Medplum: A FHIR Platform You Build Screens On

Medplum is a headless EHR platform: a FHIR backend, sign-in with SMART on FHIR, an SDK, server-side bots and React components. You build the clinical app (README). The stack is TypeScript, with PostgreSQL for data and Redis for jobs and caching.

Licence. Apache 2.0, a permissive licence with an express patent grant. You can build a closed product on it.

Certification. CHPL lists Medplum version 5 as active, certified on 31 December 2025, with 25 criteria including (g)(10), the standardized API criterion (CHPL listing). Medplum's ONC page lists the same certification. As with OpenEMR, what the certificate means for your product built on top is a question for your certification body.

Self-hosting. Medplum's Ubuntu guide lists PostgreSQL 16, Redis, Node.js 22, Nginx and at least 4 GB of RAM (install guide), and its overview says the guides are for engineers "who have experience managing production healthcare systems" (self-hosting).

Best fit when your team writes TypeScript, you want your own screens on a certified FHIR backend, and you value frequent releases from a company-led project.

Look elsewhere when you need a ready clinical UI in weeks, or you need full control of your core platform's roadmap. The README says outside code changes must link to an issue the maintainers have opened.

HAPI FHIR: The Java Server Toolkit

HAPI FHIR is a Java library and a full FHIR server, the JPA server, backed by a database you choose (JPA server docs). It is a toolkit for building an EHR backend in Java; the EHR is yours to build. Its docs list PostgreSQL, Microsoft SQL Server and Oracle as supported (database support).

Security. HAPI FHIR gives you building blocks such as interceptors, and you design the security architecture (security docs). For an EHR, sign-in, roles, consent rules and audit logs are your team's work. We compare it with managed FHIR stores in our FHIR data store comparison and cover scaling in our HAPI FHIR performance guide.

Best fit when you have Java engineers, want a widely used FHIR server, and can design healthcare access control yourself.

Look elsewhere when you want a finished EHR or a ready access model.

EHRbase: openEHR When the Data Model Is the Product

EHRbase is an open source openEHR clinical data repository. It stores data as openEHR compositions defined by archetypes and templates, and you query it with AQL through the openEHR REST API (README). Our openEHR developer guide explains archetypes, templates and AQL, and our openEHR CDR comparison covers the alternatives.

Why product teams pick it. In openEHR, clinical content lives in archetypes and templates apart from the application code. In our experience that makes new clinical structures, such as long-term care plans or research registries, easier to add as a specialty product grows.

US fit. US certification includes a FHIR-based API criterion, (g)(10), so a US product on openEHR also needs a FHIR layer.

Best fit when rich, evolving clinical models are your main product value and your team can learn openEHR modelling.

Look elsewhere when your clinical data is simple, your main need is US interoperability, or you need a UI soon.

Other Projects You Will See in Lists

Ottehr. A patient portal and a staff-facing EHR with telemedicine, from MassLight, the company behind the Oystehr platform. Its licence starts from MIT terms and adds conditions: you must keep attribution to Oystehr, Ottehr or MassLight, and you may not use the software to create a "Competing Product". Read it carefully before building an EHR product on it.

LibreHealth EHR. Its GitHub repository shows its last code push on 9 September 2023, so check the project's current status before you rely on it.

The licence decides what you can ship. Read each one with a lawyer before you commit.

How to Choose an Open Source EHR Base

Three questions settle most choices: what you sell, how you distribute it, and what your team already knows. The flowchart and checklist below turn those into a decision.

Licence and certification needs come first, then your team's language.
QuestionIf your answer is…It points to
Do you need a complete US clinic EHR within a few months?Yes, and the GPL fits your modelOpenEMR
Do your customers need certified health IT?YesA base with an active listing (OpenEMR, Medplum), or plan certification yourself
How will you distribute the product?Installable or white-labelA permissive licence (Apache 2.0) is simplest
Is the clinical data model your main value?YesopenEHR (EHRbase) plus a FHIR layer for US exchange
What does your team write?TypeScript / Java / GoMedplum / HAPI FHIR / our headless EHR
Who are you serving?Health programs outside US certificationOpenMRS

Five Common Ways to Build on Open Source

Teams combine these projects in a handful of patterns. The trade-offs below are our judgement from building EHR products, not measurements.

PatternWhat you buildWhat you own long termUpgrade risk
Fork OpenEMR and extend it through modulesSpecialty forms, modules and integrationsYour modules and any core changesLow if changes stay in modules; high for core edits
FHIR platform plus your own app (Medplum or our headless EHR)Every clinical screen and workflowYour app; the platform keeps its own release cycleLow to medium; you follow the platform's releases
HAPI FHIR plus your own auth and UIAccess control, audit, consent, screensAlmost everything above the data storeMedium; you own the security design
openEHR repository plus a FHIR layerClinical models, UI and the FHIR mappingTemplates, mappings and the appMedium; models evolve without schema changes
Certified EHR plus an open source specialty layerThe specialty workflow and its integrationThe specialty layerLow; the certified EHR carries certification

In the last pattern, a team keeps a certified EHR for general documentation and billing, and build only the specialty workflow on an open source FHIR or openEHR base, connected through APIs. Certification stays with the vendor, and the team spends its effort where the product differs.

Questions to Ask Before You Fork

  1. Licence: does it allow how we plan to distribute, host or white-label the product?
  2. Certification: do our customers need certified health IT, and does this base help or do we start from zero?
  3. Data model: can our specialty's data live in this model without fighting it?
  4. Activity: when was the last release, and who maintains the code we depend on?
  5. Team: do we have engineers who know this language and healthcare standards?
  6. Changes: can we keep our changes outside the core, so upgrades stay cheap?
  7. Running it: who hosts, secures, supports and tests it after launch?

The Real Cost of Running an Open Source EHR

The licence is free; running a production EHR is not. In the r/healthIT thread that ranks first for this search, a physician asked about a free EMR on one hard drive. The top reply said OpenEMR could run in a container on one machine, then warned that keeping all your data on one machine is risky and urged regular backup tests. For a product team, that warning covers five costs.

Five costs that arrive with any open source EHR in production.
  • Hosting. Someone runs the database, servers, backups, restores and monitoring. If a cloud provider stores patient data for you, HHS says it is a business associate even when it holds only encrypted data without a key, so you need a business associate agreement (HHS cloud guidance).
  • Security. The licence gives you code, not a risk assessment, testing or incident response. No open source project makes you HIPAA compliant; compliance comes from how you run the system.
  • Upgrades. Every project here ships often. Keep your changes in modules, extensions or your own services wherever the project allows it, so upgrades stay cheap.
  • Support. Forums are free; help during an outage is not. OpenEMR lists paid support vendors on its wiki. For the others, plan your own on-call team or a support contract.
  • Certification upkeep. An ONC listing comes with yearly real world testing and attestations (CHPL). If you certify your own product, those duties become yours.

What We Build On

We keep our own open source base. Our headless EHR with a FHIR R4 API and SMART App Launch passed 47 of 47 (g)(10) SMART App Launch tests in Inferno on 11 June 2026. Passing Inferno tests is not the same as holding an ONC certificate, and we do not claim one. Our client builds include a FHIR-native provider platform that runs on a FHIR server with no private database, and an offline-first screening EMR with device integration.

If you are weighing these bases for a real product, we can review your requirements and recommend one, with a fixed price after a short discovery. Our published prices start at $45K to $70K for a Launch MVP in 10 to 12 weeks and $90K to $160K for a specialty EHR in 4 to 6 months. See our EHR development services.

If You Are a Small Clinic, Not a Product Team

Many people searching for an open source EMR run a single practice. For them the trade-off is simpler: a certified, maintained product with someone on call is usually safer than running your own server. If you do self-host OpenEMR, back up every day, keep a copy off site and test a restore every month.

Building a custom EHR on an open source base? Explore our custom healthcare software development and healthcare interoperability services. Talk to our team to choose the right base.

Sources

  1. CHPL listing 11757: OpenEMR 8 (checked 27 Oct 2026)
  2. CHPL listing 11745: Medplum 5 (checked 27 Oct 2026)
  3. OpenEMR wiki home page
  4. OpenEMR system architecture
  5. OpenMRS core repository and README
  6. OpenMRS O3 frontend core
  7. Medplum repository and README
  8. Medplum self-hosting documentation
  9. HAPI FHIR JPA server documentation
  10. HAPI FHIR security documentation
  11. EHRbase repository and README
  12. Ottehr licence
  13. Nirmitee headless EHR repository and Inferno results
  14. choosealicense.com licence summaries
  15. HHS guidance on HIPAA and cloud computing
  16. r/healthIT: free open source EMR for private practice (March 2023)

Ready to scale?

Talk to our healthcare engineering team about building, integrating, and shipping faster.

Frequently Asked Questions

What is the best open source EHR?

It depends on what you are building. For a complete US clinic EHR with an active ONC listing, OpenEMR. For your own product on a certified FHIR backend in TypeScript, Medplum. For a Java FHIR server, HAPI FHIR. For rich clinical data models, an openEHR server such as EHRbase. For health programs outside US certification, OpenMRS.

Which open source EHRs are ONC certified?

On 27 October 2026, CHPL showed active listings for OpenEMR 8 (certified 30 January 2026) and Medplum 5 (certified 31 December 2025). Our name searches found no active listing for OpenMRS, HAPI FHIR or EHRbase. A certificate covers the listed product and version, not every fork.

Is OpenEMR really free?

The software is free under GPL-3.0. Running it is not: you pay for hosting, backups, security work, upgrades and support. Certified use also needs a third-party Direct messaging service, which the OpenEMR wiki lists with approximate fees.

Is an open source EHR HIPAA compliant?

No software is HIPAA compliant by itself; HIPAA applies to the organization that handles the data. Open source EHRs can include strong security features, and you still need a risk assessment, safe hosting, business associate agreements and policies.

OpenEMR vs OpenMRS: which is better for a custom build?

For a US clinic product that needs an active ONC listing, OpenEMR is the closer fit. For programs in resource-constrained settings, or a product built from many swappable modules, OpenMRS fits better.

What is the difference between OpenEMR and openEHR?

OpenEMR is a complete EHR application. openEHR is an open standard for modelling and storing clinical data, and EHRbase is one open source server that implements it. You build your own application on top.

Is Medplum open source, and is it an EHR?

Medplum's code is Apache 2.0. It is a headless platform: a FHIR backend, auth, SDK and UI components. You build the EHR screens and workflows on top.

Can I build a commercial product on an open source EHR?

Yes, within each licence. Apache 2.0 bases such as Medplum, HAPI FHIR and EHRbase allow closed products. GPL-3.0 (OpenEMR) requires source for modified versions you distribute. Custom licences such as Ottehr's add their own conditions. Have a lawyer review your model.
Share