Skip to Content
DocsIntroduction

Introduction

O3 is a modular, extensible frontend framework for OpenMRS. It provides shared components, APIs, and templates so teams can build user interfaces faster.

For developers

Developer path

Core Concepts → Frontend Modules (setup, development, testing, releasing) → Extension System → Workspaces → Framework API Reference
For implementers

Implementer path

Core Concepts → Configuration System → Configure O3 → Feature Flags → Forms in O3 → Recipes

Guiding principles

O3 is guided by the following principles:

  • Reuse over rework - shared components, APIs, and templates reduce duplicated effort.
  • Modular by design - add, remove, or update modules without rebuilding the system.
  • Configuration-first - each frontend module declares its config properties.
  • Usability first - optimized for point-of-care workflows and complex clinical records.
  • Modern stack - approachable for a global developer community.
  • Interoperable - built to work with FHIR and other standards.

What O3 is not

O3 is not a new platform version of OpenMRS. It runs on top of your existing database and uses the same REST and FHIR APIs as the O2 UI. While O3 requires minimum versions of the platform and some backend modules, you do not need to overhaul your backend to use it. To run O3 on an existing installation, follow this recipe.

Technology stack

Frontend

  • React  - JavaScript library for building user interfaces
  • TypeScript  - strongly typed superset of JavaScript that adds optional type annotations to JavaScript, which allows for static type checking and better tooling support.
  • Carbon design system  - an open-source design system from IBM.
  • Single SPA  - JavaScript router for frontend microservices.
  • Rspack  and Module Federation  - build and runtime-sharing tooling for current React frontend modules. Older modules may still use Webpack-compatible configuration.

Backend APIs

Important resources

Docs and repositories

Design resources

Community

Learning

Last updated on