Release Notes 3.4 (2025-05)

Release Notes 3.4 (2025-05)

🔦 Key Points

Release Information

  • Cut Date: April 21, 2025

  • Release Date: May 22, 2025

  • Release Manager: @Dennis Kigen

Key Features

  • Visit Context Switching: Retrospective data entry with visit context headers (implemented behind a feature flag)

  • Carbon v1.76.0 Upgrade: Updated design system across all apps

  • Standardized Date Pickers: OpenmrsDatePicker component implemented consistently

  • Age-Based Vitals Ranges: Smart clinical alerts based on patient age (requires Core updates)

  • Ward Management v1: New ADT workflow with bed assignment support

Deferred to Next Release

  • React v19 upgrade

⚠️ Breaking Changes:

  • Patient Chart data flow: Refactored how patient data flows through Patient Chart components. The usePatient hook now only runs once at the root level instead of multiple times throughout the component tree. This improves performance by eliminating redundant data fetching, but may break extensions that directly call usePatient instead of receiving patient data as props.

  • Migration: Extensions should receive patient data through props rather than calling usePatient directly. See @Ian Bacher's PR for implementation details.

Where to find it: Demo at o3.openmrs.org (credentials: username: admin, password: Admin123) or download here: openmrs.org/download/


👷 Contributors

Special thanks to the following community PR reviewers:

DIGI: @Ian Bacher
OpenMRS: @Dennis Kigen, @Jayasanka Weerasinghe, @nethmi, @Rafal Korytkowski, @Samuel Male
PIH: @Chi Bong Ho, @Mark Goodrich, @Mike Seaton
Palladium: @Donald Kibet, @Kennedy Makombe
METS: @jabahum, @Samuel Lubwama
MSF Madiro: @Joshua Nsereko, @Pius Rubangakene, @Vineet Sharma

Contributors

🙏 Thank you to all our amazing contributors - you make releases like this one possible! Listed by organization:

  • CSaude: @Yassin Nurmahomed

  • SolDevelo: @Oliver Lewandowski

  • ICRC: @Pedro Sousa @José Francisco @parthfloyd

  • Madiro: @Pius Rubangakene@Vineet Sharma

  • Mekom: @Brandon Istenes @Siddharth Vaish

  • METS: @jabahum @Isaac Akileng @JONATHAN AJAL ODORA

  • OpenMRS Support: @Dennis Kigen @nethmi @Daniel Kayiwa@Samuel Male @Veronica Muthee @Wikum Weerakutti @herman muhereza

  • Palladium-Kenya: @Kennedy Makombe @amosmachora @Donald Kibet @itskios09 @omosh

  • PIH: @Chi Bong Ho @Mark Goodrich @Mike Seaton

  • Thoughtworks: @rahu1ramesh

  • UW ITECH DIGI: @Ian Bacher @CLIFF GITA

  • Independent Contributors: @Juliet Wamalwa @Elisha Bantana @Wyclif Luyima @shettybharath @harshthkkr @chintu @mohamedalimefteh @atulyadav745 @Mutagubya Jonathan@Bawantha Rathnayaka @yugalkaushik @joseph kagimu @EDSONZ-WASSWA @jayg @xprlgjf @shivarm @vinayaksharma @dhruvchandak30 @siddhant singh @sarang @capernix

 

Contributor Metrics

image-20250521-194437.png

# PRs included: 266

# of Orgs involved: 10

% from OpenMRS Inc. Global Support: 27%

(Source)


🔦 Highlights for Implementers

📈 Smarter vitals alerts for Children / Pediatrics: Vitals like heart rate and respiratory rate now use age-appropriate thresholds for clinical alerts. A heart rate of 100 might be normal for a child but concerning for an adult patient—the system now knows the difference and can be further configured. This feature requires Platform 2.7; older versions will continue using the previous fixed thresholds.

 

🏥 Streamlined visit workflow: Redesigned how you navigate between patient visits with a new visit history table, context switching within workspaces, and support for creating visits with past dates. The interface is cleaner with visit controls moved to more logical locations.

📝 Easier form creation: Users can now set concept mappings directly in the interface (previously required manual JSON editing), add helpful tooltips to questions, and control whether form sections start expanded or collapsed.

Performance improvements: Smoother patient data updates and patient registration edit flow.

⬆️ Updated design system: Upgraded to the latest Carbon design components for better consistency and visual polish across all apps.

✏️ Edit and delete vitals and biometrics: You can now modify or remove incorrect vitals and biometrics readings directly from the data tables. Important: Deleting removes both vitals AND biometrics from that encounter since they're recorded together.

🗓️ Consistent date pickers: All date input fields now use the same standardized date picker component, ensuring consistent behaviour and better support for different languages and calendar systems.

🛏️ New ward management: Added a complete ward app for managing patient admissions, discharges, and transfers between locations. Includes optional bed assignment features and a separate bed management interface for configuring ward layouts.

 


📸 Example Visual Changes

 

image-20250509-122826.png
Age-Based Reference Ranges for Vitals
image-20250509-081808.png
Select a concept mapping as the concept ID
image-20250509-085034.png
Support in the Dispensing view for displaying active conditions and visit diagnoses
image-20250509-072628.png
Start RDE visits with both start and end dates
image-20250509-071313.png
Visit Context Header with a Visit Switcher
Ward app displaying admitted patients
Bed management for a ward

 


🔍 Changelogs