Release Notes 3.2.1 (2025-01)
📆 Release Date: 2025-01-23
⚠️ Breaking Changes:
Renamed esm-patient-labs-app to esm-patient-tests-app → we expect non-lab-type results (like microbi, radiology, and more) to be handled here as well). Details in #1935.
Retired the
ConnectedExtension
concept. Details in #1154.Migrate React Form Engine from Formik to React Hook Form. Details in #349.
Renamed the
patientResultUrl
property in the Patient Search configuration schema frompatientResultUrl
topatientChartUrl
. This property represents the URL to navigate to when a patient is selected from the search results. Details in #1345.
Where to find it: Demo at o3.openmrs.org (admin/Admin123) or download here: openmrs.org/download/
👷 Contributors
Thank you so much to the following contributors - you make releases like this possible! (Ordered alphabetically by Organization affiliation)
CSaude: @Yassin Nurmahomed Welcome CSaude-Mozambique team!
Health IT (UoN): Felix Kiprotich
IntelliSOFT: @munyua1 @samstar10
Mekom: @Kakumirizi Daud @Vineet Sharma @Usama Idriss Kakumba @Siddharth Vaish
Madiro: @Pius Rubangakene @Joshua Nsereko
OpenMRS Support: @Dennis Kigen @Brandon Istenes @Samuel Male @nethmi @Veronica Muthee @Jayasanka Weerasinghe@Daniel Kayiwa
Palladium-Kenya: @itskios09 @Kennedy Makombe @Donald Kibet
PIH: @Chi Bong Ho @Mark Goodrich @Fiona Anderson
UCSF: @Jovan Ssebaggala @Cynthia Kamau @Hadijah Kyampeire @JONATHAN AJAL ODORA @Jamie Arodi
UW ITECH DIGI: @Ian Bacher @Reagan patrick Makoba
Independent Contributors: @flosell @Mujuzi Moses @SSEBAANA Suubi Joshua @amosmachora @Mutagubya Jonathan @Bhargav Kodali @cnwadike D-matz @Juliet Wamalwa @Njidda Salifu @vijaykv @omosh @twiine @virajwathsalag @williemutua @McCarthy Mutebi @chintu @harshthkkr @Johannes Heinzl @itskios09
Contributor Metrics
# PRs included: 243
# of Orgs involved: 9
% from OpenMRS Inc. Global Support: 33%
🔦 Highlights for Implementers
Login Page Improvements: Redesigned single page flow. | Redesigned single-page login flow
|
Customizable Implementation Logos: Implementers can now add custom logos to the Login page footer via configuration for additional branding customization and attribution purposes. | Customizable implementation logosYou can now add custom logos for your implementation to the Login page through configuration. These logos appear in the footer, displayed sequentially after the default OpenMRS sprite. Configuration detailsAdd logos by including an {
"footer": {
"additionalLogos": [
{
"url": "path/to/logo.png",
"altText": "Organization Name",
"width": 100,
"height": 50
}
]
}
}
These logos appear in the same orders as they are defined in the array. All the logos are positioned after the default OpenMRS sprite. Each logo maintains its specified dimensions while respecting responsive design principles. The list of logos is then displayed in the bottom right hand corner of the login page, opposite the attribution footer. These changes provide a balanced way for implementations to maintain both OpenMRS identity and their own individual branding on the login page. |
Patient Header Redesign: Clearer information hierarchy. | The Patient Header has been updated with improved visual elements and a clearer information hierarchy: Patient Avatar
Patient Information
Interactive Elements
|
Vitals Header Refinements: Refined to include a simplified overdue vitals indicator with more granular durations and clearer indicators for abnormal vitals. | The Vitals Header has been refined to include the following design changes:
|
Patient Search Enhancements: Added advanced filtering by attributes like strings, concepts, and locations; and, configurable options for customizing search fields, restored recently searched patients functionality | Recently Searched PatientsWe’ve restored the ability to view recently searched patients in the Compact Patient Search UI. This logic is configurable and implementers can toggle it by setting the Advanced Search FilteringIt is now possible to filter search results based on multiple person attribute types including strings, concepts, and locations for more granular searches. |
Printable Prescriptions: Added ability to print prescriptions, so if drugs are not available at the site, the patient can seek them elsewhere. | It is now possible to print a patient's prescriptions from the Dispensing app. The Prescriptions table has been updated to include a Print button in the Prescription details tab. Clicking this button launches a modal that includes:
|
Visit Location Tags: Added location tags → ensures every designated login location has a visit location tag (for single-location sites) or has a visit location in its ancestor tree. | To align with the EMR-API module convention, every location tagged as a login location must also have a visit location tag (for single-location sites) or have a visit location in it’s ancestor tree. The O3 reference application now restricts visits to locations tagged as visit locations and defaults the visit location to the “nearest” visit location associated with the session location. Additionally, the Start Visit form has been augmented to support this concept of visit locations. |
Lab Frontend Module: Provides basic laboratory functionality for sites without a dedicated Lab Information System (LIS). | The Laboratory frontend module for O3 provides basic lab functionality for sites that don't have a dedicated Lab Information System (LIS). It supports:
|
React Form Engine: Performance and Stability Improvements: Migrated from Formik to React Hook Form and adopted the OpenMRS expression engine for evaluating expressions. | Migration from Formik to React Hook Form
New package nameWe’ve renamed the library from Adoption of the OpenMRS global expression runnerRFE is now leveraging the OpenMRS expression runner for safer expression evaluation than the previous |
Form Builder Improvements: Reordering of questions is now possible across sections via drag-and-drop. Plus new field rendering types, and easier answer concepts. | Reordering questions across sectionsThe drag-and-drop functionality in the Interactive Builder has been improved so that it’s now possible to drag questions across different sections. New field rendering typesWe've added new rendering types to the Interactive Builder:
Easier answer conceptsImplementers can now search for and add specific concepts as answers to a concept of type |
Left Panel Sub-menus: New reusable NavGroup component in the style guide. | We’ve added a reusable NavGroup component to the styleguide that allows implementers to add sub-menus and sub-links to the Left Panel. |
Data Fetching Performance Improvements: Optimized data revalidation strategy that reduces the number of network requests sent to the backend. | We've implemented a more conservative caching approach by disabling most automatic data revalidations in the global SWR configuration. This change:
Technical details:
With this change, we're seeing a pretty significant performance improvement in loading the app and its perceived snappiness. |
Various i18n Improvements: More translations for French, Spanish, Portuguese, Quechua, Vietnamese, and Chinese! | 3.2.1 includes a slew of i18n improvements including:
This would be possible without our wonderful community of translators Get started with translating OpenMRS to your language by reading our translation guide! |
📸 Example Visual Changes
Login Flow
Navigation
Lab Tests Management
Printing Prescriptions
Patient Search
Better Vital Sign Alerts
Before:
After:
Better Patient Header
Before:
After:
🔍 Detailed Changelog
Code:
RefApp Distro changes: https://github.com/openmrs/openmrs-distro-referenceapplication/compare/3.1.1...3.2.0-rc.5
esm-Core: https://github.com/openmrs/openmrs-esm-core/releases/tag/v6.0.2
Patient Chart: https://github.com/openmrs/openmrs-esm-patient-chart/releases/tag/v9.0.0
Patient Management: https://github.com/openmrs/openmrs-esm-patient-management/releases/tag/v8.1.1
Home: https://github.com/openmrs/openmrs-esm-home/releases/tag/v5.5.1
Form Builder app: https://github.com/openmrs/openmrs-esm-form-builder/releases/tag/v2.9.0
Form Engine: https://github.com/openmrs/openmrs-esm-form-engine-lib/releases/tag/v3.0.1
Dispensing app: https://github.com/openmrs/openmrs-esm-dispensing-app/releases/tag/v1.6.0