My OpenMRS Fellowship Journey: Suruchi

Tags: #<Tag:0x00007fcec9a07b30> #<Tag:0x00007fcec9a07900>

First fellowship! First call!

I am Suruchi Dhungana from Nepal. After working on open-source projects for a long time, I decided to contribute to OpenMRS as a fellow. As this is my first work as a fellow, I am both nervous and excited. I will be working both in development and project management, and by the end of the fellowship, I wish to get more knowledge in OCL and FHIR. From the first week of the fellowship, I started joining calls and squad meetings. I regularly join OCL, FHIR, and Analytics Engine squad meetings. Getting into the code, I set up an OCL for OpenMRS instance in my local and studied the workflow of the code.

I got connected with my mentor Grace, on the first call with her, we did some sort of testing in the Q/A environment of OCL. It helped me a lot to understand the workflow. Then, I picked an issue for development and started working on it.

On the second week, I was in the Mt. Everest Himalaya region of Nepal during which we had a first fellowship call. The internet in the mountains was really bad, I was late in the call and got disconnected many times. But, we had a great interaction in the call and got to know each other. Overall, it was a great experience to join meeting right from the Himalayas.

After returning, I am continuing my development and project management tasks. On Thursday I had a call with my mentor Daniel, we discussed my fellowship plan and projects. Also, we discussed my progress. If I get any issues, he suggested me to mail him.


Welcome aboard Suruchi, we’re thrilled to welcome you as our first-ever Fellow in the Product/Project Management stream :slight_smile: Great work in your first few weeks absorbing so much information and already starting to contribute back.

Wish I could have teleported to your location for that call!! :mountain: :heart:

Looking forward to helping our teams together and releasing valuable features for our users :slight_smile:

1 Like

Thanks, @grace I am delighted to join the team and work with you. You have been a great mentor.

Yes, you should visit the mountains once the pandemic is over.


Learning More with Jira and Project Management

In my third week as an OpenMRS fellow, I started working on a JIRA ticket of OCL for OpenMRS on its development side. I did the task and pushed it in Github but I did not notice the pull request tips and made some mistakes. My mentor Daniel guided me to the path and helped me. I struggled in my login into the Jira account which created a conflict during the merge of the pull request. But this conflict has now made me understand the pull request process and Jira functionality.

I further did the MVP+ testing with Grace. She guided me to do the Q/A so that we could release it before the conference. Along with the MVP+ testing, I joined the UAT call with Ellen, which was quite informative to know the complete workflow of OCL from the user‘s perspective.

Again this was a busy week with my NepalEHR work and my fellowship. I did some preparation for the conference and in the meantime, Grace forwarded me the video about project management. The video enlightened me to the world of project management. Project management is actually building a shared understanding in a team about what you are building, who you are building it for, and most importantly, why you are building and filling the gap if there is any. After the video, I went to the Atlassian website and learned some tricks helpful for a new Project Manager. I found “Your job as a PM is to find the right problems – then work with your team to solve them” very inspiring.


RoadMaps and MetroRetro

It’s the second month of fellowship and it began with the year’s most awaited Implementer’s conference. For the implementer’s like NepalEHR, the conference is a hub full of knowledge and experience sharing.

For the first week, I could not do the fellowship tasks but I gathered so much knowledge from the conference. Despite COVID 19, the conference went very well as we gathered lots of resources like video, presentation, slides, and notes. The most fascinating thing in the conference was the lightning talk which included some interesting topics like Microfrontends, DHIS2 integration, and OCL implementations. Further, the squad showcase was great to have the overall idea of what we are doing. And my favorite part was Nepal’s virtual tour as it was a proud moment to showcase the NepalEHR implementations.

In the second week, I continued with the squad meetings. OCL meeting was quite different this week with, roadmap discussion. I liked how we used metro-retro for the planning and prioritization of the feature. This discussion helped me understand how to make roadmap and plan for the product enhancement in the team. From next week I will be working with Grace to create stories and tasks according to the designed roadmap and will be working on its development side too.


We are proud of you @suruchi , Keep going. :muscle:


Cypress- the future tool for end-to-end testing

This is the last two weeks of 2020 and nearly two months of my fellowship. The big focus for this week was to get more into project management and learn automated testing. Along with my regular work in NepalEHR, I worked with Grace in Jira to prioritize tasks that can be released at the end of January 2021.

Last week we had collected requirements from our squad members for OCL for OpenMRS project and we discussed what are our good-to-have and must-have features so I started creating a sprint board and created tasks according to priority. From this exercise, I learned how the end-user requirement is transformed into the task and how a real-life application is made. Further, I learned how epics and stories are created in Jira and how the backlog cleaning is done. We completed the done and duplicated task and made a clean board. Also, we left a few of the tasks to be discussed in the squad meeting. As a developer, I had used Jira just to pick the tasks from To-Do to Progress then to Done but this time, I learned it’s more than that :slight_smile: .

On the last week of December, I learned about Cypress testing from its documentation Installing Cypress | Cypress Documentation . Cypress is a tool for testing front end modern web applications. Cypress is mainly targeted for Unit testing, Integration testing, and End to End flow testing. I found the feature of direct debug and cross-browser testing quite impressive. Going through the tutorials, I tried some testing in my local projects and went through OCL for OpenMRS project to see its testing code. I found some test cases have been written already and yet there is a lot to code to make the whole automated testing fully functional.


this is nice @suruchi, can you tag the sprint board url here please? last year the QA team had some work on automation for OCL, you can checkout the PR with cucumber integration, we also had feedback on coverage on talk you can check out. This year we are continuing to support QA and would be nice we begin thinking loud on progressing the efforts started last year for OCL as well.


Hi @k.joseph, please find the link for January 2021 sprint.


Wireframe- represents a product’s structure

Wireframing is a way to design a website service at the structural level. I started this new year learning and designing wireframes. Grace introduced me to the world of designs by sharing videos, that she made during the design of Customizing Concepts & other Q1 OCLOMRS priorities: Wireframes and I made a separate study material here for the wireframe.

These videos made me realize how powerful PowerPoint is to make customization designs. And also I learned the tricks to design using inspect element in the web page :slight_smile: .Further, I tried Figma to practice some design work. In terms of OCL design, I tried making designs for the Import/Export feature of a dictionary.

In terms of the development work of OCL for OpenMRS, I will be working in organization members display view after we get the updated feature of the organization. So, in the meantime, I tried working with cypress testing. I cloned the branch from Ian, branch (rewrite_cypress), and made some changes to work in the end-to-end testing for login and now it’s working for login authentication.

Further, I tried a new set up of OpenMRS-core into my local machine and I tried to implement FHIR. It took me some days to set up because of different Java versions as core required Java 8 for development and Ian helped me a lot during the setup. Now everything is set up in my local and I am ready to test, so in the coming week, I will be working on the Q/A immunization feature of FHIR.

Additionally, my mentor, Grace suggested me to work closely with the sprint board, by creating a specific ticket and also to work more on the documentation. Now onwards, I will focus on documentation too and I will be working in the Import/Export feature of the dictionary as a feature owner to enhance my leadership skills.


Excellent work on these blog posts Suruchi! It’s a real privilege to be part of your fellowship experience. Even just these last two posts show just how much you have covered in 1 short month: from Frontend automation to wireframing to backlog curation!

One of the things I especially admire about you Suruchi is your dedication to self-teaching and learning more, as shown by how much you self-taught about Cypress, and then the additional reading and notes you made about wireframes. Keep up the good work.

This is very satisfying to hear!! The many tasks of a Product Manager :slight_smile:


p.s. - re. wireframes - I learned today that @burke fixed our Wiki so you can now actually create Balsamiq wireframes directly in our wiki, without needing to pay for a Balsamiq account after your trial runs out (that is, if you end up enjoying using Balsamiq, some people like it, some don’t and that’s fine).

Of course, the main point with sketches and wireframes is to better understand the users’ needs. In the early phases of designing a feature or product, sketches and wireframes are really to help spark a better conversation with your users. This is why quick hand-drawn sketches are often better than polished mockups at this stage: you can have a better conversation with your user/customer if they feel things are still changeable. So you can use whatever tool works best for you to achieve that goal :slight_smile:

Here’s how to access/use Balsamiq. One warning if you use this - save both your balsamiq work and the Wiki page itself very very often because I’ve had these pages crash on me in the past and have lost hours of wireframing work.


Thanks, Grace for the review. You have always been my motivation and I am so much grateful for your support. I am taking so much from the fellowship :slightly_smiling_face: .


This is quite interesting to use Balsamiq wireframes directly in our wiki. Thank you for the information Grace, and the quick demo is really helpful. I will try using Balsamiq.


During the last two weeks of January, I was involved in wireframing the export and import feature of the dictionary in OCL. The process of feature development involved designing the user interface, getting feedback from the user, understanding the user’s requirement and again changing the design as per the user’s need. During the process Grace and I even did a separate session with Ellen to know more about the user stories. The decision for the export and import feature was quite tough and now I am clear about the export feature although the import feature is still under discussion. Further, I worked in the User Interface of OCL for OpenMRS to display all the members of an organization OCLOMRS-914:Organization Members UI · openmrs/openmrs-ocl-client@365e8f6 · GitHub and also deletion button to delete members OCLOMRS-925:Delete members in an organisation · openmrs/openmrs-ocl-client@52572ed · GitHub .

Next month I am planning to give a session on cypress for the Q/A team, it will be a knowledge and experience sharing session. In addition to development, I am looking forward to having a conversation with Ajay -a product management expert. I am excited to know his typical product management daily work and I am expecting to get a few of the tips to enhance my teamwork skills. I would like to thank Grace for the arrangement and for making my fellowship journey more fruitful.


Keep up the great work Suruchi! Going through the combined requirements gathering, user story clarifying, and early wireframe testing stages can definitely be tough. Some days it can feel like we are back to where we started - and this is not an unusual feeling.

In our last OCL for OpenMRS squad call, we learned that actually the priority list of user stories for the Export feature was a bit different than what we had thought. While it can feel like a step backward, or like we made a mistake, this is actually kind of something to celebrate! Any time we gain a better understanding of users’ priorities, we’ll be able to design a workflow and features that really address their needs better. Imagine if we had just proceeded with a release and even a communications campaign based on what we thought made sense - only to discover later that it didn’t really address users’ main needs. Now that would be unideal. This happens to product teams all the time.

The Product Management training institute Pragmatic Marketing regularly emphasizes a concept they call NIHITO. It sounds like a fancy Zen practice. What it actually means is “Nothing Important Happens in the Office”. Of course this is an exaggeration, but it’s a helpful reminder to us to get out there and talk to users to always be double-checking and validating our assumptions. This validation process is one of the most important parts of effective product management - so that our products will resonate with end-users when we really do ship them.



Thank you for the encouragement Grace, the process was tough but definitely great learning in product management.

I got the same feeling of a step back but then I realized how I misunderstood the requirement. But it’s not the end and we can work on it! I am excited to make the concept and mapping working in CSV. It’s a new experience to me and I felt how important it is to do double-checking and validation of our assumption.

1 Like

Cypress Learning Session and Introduction to new OCL API

My February started with a knowledge and experience sharing call with Quality Assurance Team. It was a great experience to share with the team, how I started learning cypress. As manual Q/A of OCL for OpenMRS was my biggest motivation to learn automated testing. I also shared how long it took me to understand and start running the test case and how easy and advantageous cypress is when compared to other testing mechanisms. Additionally, the QA session was quite interesting with a few of the questions like how it is different from selenium and what are its unique features. I tried my best to answer questions. The recorded call link is Quality Assurance Team - Indiana University for future reference and I feel after the call our community members have started trying out cypress :slightly_smiling_face:.

In terms of OCL for OpenMRS, I am working on the export dictionary feature. As downloading only the concepts list was not our exact requirement so I am trying to download the whole dictionary. During the process, I got introduced to the openmrs-module-initializer and understood how the CVS should look like. I talked with Sunny from OCL to help me figure out the API to download so he provided me the list of new APIs and now I am clear what data can be extracted. Also, I did Q/A for the next release to OCL for OpenMRS in both Q/A and staging machines.

Further, I joined the OCL team weekly call. I am getting familiar with the team and I am learning how I can support the team to work on customization of public concepts. I am also focusing to understand the OCL ON FHIR following the documentation Overview — ocl-docs 0.0.1 documentation

In the coming days, I will be working to fix the download dictionary feature, learning more to understand OCL ON FHIR and I will be doing Q/A in the new OCL API.


Q/A and Product Management

It’s the last two weeks of February and I spend most of the time doing Q/A to prepare for OCL for OpenMRS release and OCL API2. I did Q/A in the staging and QA environment with Grace mainly for the organization feature and everything was fine so it was ready for release. OCL for OpenMRS - QA Observations - Google Sheets But at the last moment, we got an issue that if a user is not assigned to any organization it gets automatically assigned to many organizations so it was a blocker to release but it is now fixed by Ian so it is good to go. As I am a release manager for this release, I have made a list of feature that is going to be released and I am planning for the release soon. In terms of OCL API2, I tested in QA environment OCL for OpenMRS for the new API designed by the OCL team which is going to be released soon so I made a list of issues that were found during the QA so that is going to be addressed by OCL team I joined the OCL dev call and discussed the issues with the OCL team. In addition to API, I was working on the dictionary export feature of OCL but now the story is deprioritized for some time so I am working on the copy dictionary feature in OCL for OpenMRS.

Last week, I got a chance to meet an expert in product management Ajay from Thought Works, I got an opportunity to have a short meeting with him to get more insight on what is product management and how it feels to be a product manager. I would like to thank Grace for making the meeting possible. After the conversation with Ajay, I was so clear on how product and project management are different, as product management is mainly about the values that deal with why, who, and what aspects of the work whereas project management focuses on delivering the project so it is about how the work will be done. He also shared how his daily life as a project manager is, how he mainly focuses on seminars to understand user stories. He also shared the exciting works he had done in different projects. I was curious about how product manager communicates with team members and how he manages the teamwork when he has to work with peoples who are not directly reporting him and he gave a very impressive answer that the key to management is listening to people, as when someone says a list of things to product manager that does not mean everything is to be done right away :slightly_smiling_face: . It was really an informative talk knowing his experiences.

Further, I am educating myself on OCL-FHIR so that I will able to work in the customization of curated concepts. In the days to come, I will be working mainly on the OCL for OpenMRS release, OCLAPI2 QA and OCL-FHIR.


OCL for OpenMRS v 1.0 Released

For the first two weeks of March, I was involved in testing the OCL for OpenMRS latest update in a different environment, planning and releasing OCL for OpenMRS v 1.0 release. I did Q/A for the latest feature in a qa environment then I deployed it in staging. Then the next day I did Q/A in a staging environment as everything was fine so in squad call, with the help of experts, I deployed it in production. Now, production is ready with the latest feature like managing the organization and copying a dictionary. As a release manager, I had prepared a release note and with Grace’s guidance and support, I have made it available in our wiki Release Notes - Projects - OpenMRS Wiki. Now users can try the new and improved features at OCL for OpenMRS . I also did Q/A for OCL API2 OCL for OpenMRS and now everything is fine.

Being a TPM fellow, I spent my last week cleaning up the backlog in the Jira project so that we could start a new sprint. The process involved going through every ticket, understanding the issue, and reaching out to the Assignee to get updated on the status. After getting knowledge on the issue, I closed a few of the completed issues and moved a few in the next sprint board to work on it. Now we have a new sprint for March, all our developers including me are working on it. I also worked in the documentation of new features in OCL ie. Organization management as user guide in wiki User Guide: Open Concept Lab (OCL) for OpenMRS - Projects - OpenMRS Wiki

Further, I will be working on a feature Iniz Support for OCL so I attended calls to understand it’s working and my next steps 2021 Iniz and Subscription Module convos - Google Docs. I am getting support from all community members to work in it so I will spend my next week making Iniz understand OCL.