OpenEMR by the numbers: what can be measured, and three asks

Nobody counts OpenEMR installations, so I tried to measure what can be measured:

  • Downloads. About 45,000 from SourceForge in the year to September 2026, plus 1,100 to 7,600 per release from GitHub (8.2.0 through 8.4.1). The official Docker image shows 9.2 million pulls, though that includes automated pulls.
  • Where downloads come from (last year). US 42%, India 8%, then Pakistan, the Philippines, Mexico, Nigeria, Kenya, Argentina, Egypt and Brazil.
  • Certified US use. In CMS’s Meaningful Use attestation data (2011–2017), 239 clinicians attested with OpenEMR, peaking at 172 in 2013. For the Real World Testing reports that keep OpenEMR certified, 9 practices sent one in 2023, 14 in 2024 and 6 in 2025.
  • Translations. The bundled translations were last updated in March 2022. About 2,400 of the roughly 10,900 interface strings in today’s code aren’t in the translation list at all, so they show in English in every language.
    • About 90% translated: Ukrainian, Romanian, Persian and Portuguese.
    • Roughly half: Latin American Spanish, Hindi, Arabic, Indonesian, French and Chinese.
    • Close to nothing: Bengali, Filipino and Amharic.
    • None: Urdu, Telugu and Gujarati. Swahili isn’t there at all.

Three asks:

  1. US practices: when the yearly Real World Testing request comes, please answer it. Run Reports → Clinic → 2026 Real World Testing Report, save it, and email it to hello@open-emr.org with a line saying you’re a US practice and what kind. It takes a few minutes and keeps OpenEMR certified.
  2. Maintainers: OpenEMR has collected opt-in usage data at registration since 2025 (#8194). Would you consider publishing its aggregate totals: versions, operating systems, countries? They’d answer “how many installs” far better than anything above. Separately, SourceForge still offers 8.0.0 as the latest release (last updated February 11), while the downloads page has 8.4.1. A “moved to GitHub” notice there might stop people downloading an old version.
  3. Translators: if you speak one of the thinner languages, the gap is large and the payoff for clinics is immediate. I’m happy to produce per-language lists of the missing strings if that helps.

Happy to share the method and scripts behind these figures.

Foundation hasn’t determined what data we will share from our Telemetry collection. I’d appreciate any data you would send me along with data providence.

Thanks for sharing any or all data.

Thanks @anun333 , updated SF.

Thanks, Stephen: SourceForge now offers 8.4.1 by default.

Jerry, here it is: GitHub - anun333/openemr-usage-data: OpenEMR usage figures with provenance: SourceForge, GitHub, Docker Hub, CMS Meaningful Use, Real World Testing reports, translation coverage; scripts to re-derive each · GitHub

Every figure from my post, rebuilt from fresh downloads:

  • FIGURES.md lists each one beside the value I posted.
  • raw/MANIFEST.json records where each source file came from: its URL, when it was retrieved, and its sha256.
  • fetch.py downloads the sources again and derive.py recomputes the figures, so anyone can check them. derive.py stops if a source comes back broken rather than producing a wrong number.

What’s covered:

  • SourceForge downloads, by month, country and operating system
  • GitHub release downloads and Docker Hub pulls
  • the Meaningful Use attestations, by year, state and specialty (totals only; the source file names individual clinicians)
  • the Real World Testing report counts, read from the reports themselves
  • translation coverage for all 57 languages

It also includes the 2,442 interface strings that aren’t in the translation list (data/strings-missing-from-translation-list.txt), in case that’s useful to whoever picks up translations.

If you’d rather have it as a zip, or want any figure broken down differently, say so.