Introduction
What O3 is
O3, or 3.0, OpenMRS 3.0, or OpenMRS 3.x, is a new frontend framework for OpenMRS that leverages modern frontend technologies with the goal of being used across as many organizations as possible.
What O3 is not
O3 is not a new platform version of OpenMRS.
O3 is a frontend framework that you can run on top of your existing database. It communicates with the same REST API and FHIR API that the O2 UI communicates with. Whilst O3 requires a minimum platform version and minimum versions of various modules to run, running O3 doesn't require overhauling your existing backend. If you're interested in running O3 on top of your existing installation, follow the Setting up an O3 instance guide.
Guiding principles
The guiding principles behind O3 include:
- Code reuse and reduction of duplicated effort
- Modular architecture - allows for easy addition, removal, or updating of modules to extend functionality or tailor the system to specific needs.
- Configuration-first - each frontend module can specify it’s config properties.
- Usability - optimized UI for point of care, responsiveness, and patient care records that can be simple or very complex.
- Enhanced UI - more intuitive, user-friendly, and visually appealing UI.
- Modern technologies - greater appeal to the global talent pool of developers.
- Improved interoperability
Tech stack
O3 leverages the following technologies:
- React (opens in a new tab) - JavaScript library for building user interfaces
- TypeScript (opens in a new tab) - adds type safety to JavaScript
- Carbon design system (opens in a new tab) - design system from IBM.
- Single SPA (opens in a new tab) - JavaScript router for frontend microservices.
- Backend APIs - combination of the OpenMRS REST API (opens in a new tab) and the FHIR API.