My OpenMRS Fellowship Journey 2025 : Muhereza Herman

:openmrs: Excited to Begin My Journey as an OpenMRS Backend Engineering Fellow (2025) :openmrs:

Hi everyone,

I am Muhereza Herman, a software developer based in Uganda, and I’m thrilled to share that I’ve officially joined the OpenMRS Fellowship Program as a Backend Engineering Fellow for 2025.

My journey with OpenMRS hasn’t been without its challenges, but each step has been a valuable learning experience. I’ve had the incredible privilege of being mentored by this amazing community of members, especially in backend development.

In 2023, I participated in Google Summer of Code (GSoC), contributing to the OpenMRS FHIR2 module under the mentorship of @ibacher. In 2024, I was honored to work on the content Packages(v1) project, continuing my journey with the community as a backend fellow. Now, as a 2025 fellow, I’m looking forward to deepening my skills under the continued mentorship of @ibacher and @dkayiwa.

The past few weeks have already been exciting, I’ve been working on improving the Installation Wizard, aligning its UI/UX with the current OpenMRS design system. You can check out the progress in this pull request, which also includes fixes for MySQL connectivity issues, navigation bugs, and session persistence to enhance user experience. I have also been reviewing GSoC proposals especially in the line of the project (Enhancing OpenAPI Documentation Generation) i will be co-mentoring with @chibongho1

In the coming weeks, I’ll be:

  • Continuing work on multiple property source support for the installation wizard / InitializationFilter (see PR)
  • Adding support for databases beyond MySQL in the wizard
  • Updating jQuery based scripts to modern alternatives
  • Enhancing the SDK’s ability to resolve artifacts deployed on GitHub Packages, a step towards unblocking the PATH-DRC team
  • Tackling any high priority or urgent tasks that may need to jump the queue.

Special thanks to @janflowers @grace for the confidence and the chance to better myself in this field as we work towards touching more lives with our product. I am excited for what lies ahead and grateful to be part of such a vibrant, supportive community. Let’s keep building :rocket:

18 Likes

Wow Herman, I can’t believe you have already made UI progress! :star_struck: I’m star struck.

Here are the recordings of the UI progress, in case anyone missed them in the linked PR:

Install Wizard UI Improvements:

Error Message Handling:

Keep up the amazing work Herman! This project is so important and valuable. We keep hearing over and over that, in general, implementers want/need OpenMRS to be faster, easier, and clearer to install. Your work is game-changing at making this happen :smiley:

And nowwwww for some extremely minor nit-picks :sweat_smile:

3 Likes

we keep working towards that goal.

definitely makes alot sense, will fix that asap.

will do

“OpenMRS” links to the website, i could give it better wording maybe to show that.

I could use all the feedback i can get on this, for anyone who tries to build against the core master branch should be able to play around with the new installation wizard and then provide feedback for fixes to come in asap.

3 Likes

Great work! Your PRs were of significant help towards the GSoC project which helped me tons :smiley:

2 Likes

Big congrats @mherman22! Can’t wait to see the awesome stuff you bring to OpenMRS and the community!

4 Likes

great work .

3 Likes

Great work Herman and thank you for sharing your progressive contributions to the enhancement of OpenMRS.

1 Like

Congratulations @mherman22! I really admire your resilience and determination. May you come out of this fellowship season as a true champion.

2 Likes

Hi Muhereza,

Huge congratulations on your selection as a Backend Engineering Fellow for the OpenMRS Fellowship Program 2025! :tada: Your journey from GSoC to contributing to key OpenMRS modules and now mentoring others is incredibly inspiring. It’s clear that your dedication, resilience, and willingness to learn have truly paid off.

Your work on improving the Installation Wizard, expanding database support, and strengthening the SDK reflects a deep commitment to both technical excellence and the greater mission of OpenMRS—to improve global health through open technology.

Wishing you continued growth and success as you contribute to projects that make real-world impact. Also, for anyone navigating their own wellness journey, I recommend checking out this helpful resource: :backhand_index_pointing_right: http://mentalhealthconnect.co/

1 Like

Hello everyone,

For the past one month, i have worked on a couple of tasks mostly about the regressions that came with the pull request that got merged earlier on about modernizing the setup wizard. Some of them were UI tweaks suggested by @grace as a reply to this thread and many other suggestions by @dkayiwa. Refer to this pull request for more context → TRUNK-6329: Add consistent font style and change openmrs logo in the footer by mherman22 · Pull Request #5025 · openmrs/openmrs-core · GitHub

I attempted to work on enhancing the SDK’s ability to resolve artifacts deployed on GitHub Packages but i was advised by @mseaton and Daniel to just come up with a documentation that guides users on how to deploy a github package and how to fetch a github package using maven registry. The documentation can be found at https://openmrs.atlassian.net/wiki/spaces/docs/pages/462553140/Using+GitHub+Packages+with+Maven+within+the+OpenMRS+eco-system.

I have worked on a couple of tickets on the SDK to try and make module generation easier and less frustrating for the new developers. The attempt is to have a module that works out of the box. It should work on java versions 8, 11, 17, 21, 24. The following are the pull requests to that;-

For the past week or so, i have looked into supporting Postgresql for the setup wizard. The attempt here is to add Postgres support to the initialization process and the setup wizard. if for example a user chooses the simple setup, there should be an option to choose either mysql or postgres as the database of their choice. The same behaviour should happen for the advanced step. The following are the pull requests in progres to that effect;-

Regards,
Herman

7 Likes

Fantastic update @mherman22!! Thank you so much. This is a very clear, easy-to-follow post and really helps me when I’m writing up status reports etc :slight_smile:

3 Likes

Great work Herman !

2 Likes

Hello everyone,

Over the past month, I’ve been focused primarily on improving PostgreSQL support within the OpenMRS installation wizard. While PostgreSQL has been supported in OpenMRS for some time, my work has involved identifying and addressing gaps to ensure full compatibility across both O2 and O3.

Here are some of the key pull requests I’ve worked on:

More details, including demo videos and usage instructions for PostgreSQL in the setup wizard, can be found in the documentation here: :backhand_index_pointing_right: PostgreSQL Support in the OpenMRS Setup Wizard

In addition, this pull request by @wikumc improves PostgreSQL support in O3. I’ve tested it and confirmed that O3 now works properly with PostgreSQL. It’s ready for review and, ideally, merging.

Beyond PostgreSQL support, I’ve also worked on migrating the Provider Role functionality from the provider management module into openmrs-core. The initial PR has been merged, and a follow-up PR is currently under review:


Looking ahead, here’s what I intend to work on this month:

  • I plan to improve progress updates and user notifications throughout the setup process. This includes implementing clearer UI feedback like notification panes and progress indicators.
  • I’ll be adding validation to check for existing database names and db users when configuring PostgreSQL, helping to prevent common setup issues early.

And many more issues as they come up from the ongoing work.


Thanks for reading! I’d love any feedback, especially around the open pull requests, and I’m looking forward to another productive month.

Regards,
Herman

cc: @grace @dkayiwa

7 Likes

Great work it’s really inspiring

2 Likes

Nice Work @mherman22

3 Likes

:openmrs: Final Fellowship Update – Wrapping Up as an OpenMRS Backend Engineering Fellow :openmrs:

Hello everyone,

As my time as a Backend Engineering Fellow with OpenMRS came to a close last month, I’m incredibly grateful for the journey. This fellowship has been an exciting, challenging, and deeply rewarding experience, one that has sharpened my skills, deepened my understanding of OpenMRS + related technologies, and allowed me to contribute meaningfully to projects that matter.

Core Platform Enhancements

  • TRUNK-6333: Introduced progress indicators and clearer messages during the database update process to improve feedback during setup.

  • TRUNK-6372: Improved PostgreSQL support by checking if a database exists before attempting to create it during simple setup.

  • TRUNK-6343: Added support for selecting between MySQL and PostgreSQL in both simple and advanced setup modes.

  • TRUNK-6379: Fixed broken MySQL-specific tests to ensure test reliability.

  • TRUNK-6329: Enhanced the installation wizard UI by reorganizing question responses into clearer, more intuitive groups.

  • TRUNK-6367: Removed hard dependency on OPENMRS_APPLICATION_DATA_DIRECTORY to avoid startup failures and simplify configuration.

  • TRUNK-5929 & TRUNK-5913: Migrated domain classes from Hibernate XML mappings to JPA annotations to support modern database behavior.

OpenMRS SDK Enhancements

  • SDK-388: Enabled SDK support for Platform 3.x versions.
  • SDK-387: Tightened SNAPSHOT version validation using a stricter regex.
  • SDK-389: Added “Enter Specific Version” option in the setup process.
  • SDK-390: Updated the default distribution selection to use O3.

FHIR2 Module Contributions

  • FM2-664: Added support for the notes field on the Immunization resource, backed by a CIEL concept while maintaining fail safe behavior if the concept is missing.

Thank you to my mentors @dkayiwa @ibacher , @grace @janflowers and to the entire OpenMRS community, for the invaluable support and learning opportunities. I boost with new skills, confidence, and a deeper connection to the mission of building better health systems through open source.

Looking forward to contributing in new ways! Let’s keep building. :rocket:

11 Likes