GSoC 2022 with OpenMRS: Week 13

Kumuditha Karunarathna
3 min readSep 12, 2022

The extended week 13 of Google Summer of Code started on 5th of September. In my previous blog post I talked about the progress of the form viewer component and the issues of it. If you haven’t read my previous post here is a link for that post. My main goal for this week is to complete the form viewer component.

The week began from a discussion with my primary mentor, Samuel. We discussed the form rendering part. And we explored the form-widget extension to see if we could use it to render the form in the form builder. He stated that OHRI-formbuilder renders forms using the OHRI form engine created using React and advised me to contact Donald, my secondary mentor. He works with Amapth and is familiar with Ampath form engine. So next I contacted Donald and he mentioned that currently the Ampath form engine cannot be used to render forms using only the JSON schema and he suggested on using the OHRI form engine to render forms.

Next I setup the OHRI form engine to the openmrs form builder project and imported the relevant components to render the form in OpenMRS form builder. At first it threw a few errors, but I managed to solve them and finally I was able to render a form.

Next I started working on the request changes of the interactive builder pull request. There it was suggested to create a way to use custom render elements and types when creating/editing questions. So I created a way to add custom elements and types by adding a new button below each dropdown (Type and Rendering) to use a custom element. When clicked a input field is provided to enter the custom element or type.

Once the Interactive builder PR is merged the form view PR will be sent and with that the final component of the OpenMRS form builder completes. These are the things that I was able to get done this week. Thank you for reading, Stay tuned and check back next week for the final blog post of the coding period. Peace ✌️

--

--

Kumuditha Karunarathna

GSoC 22 OpenMRS, Software Engineering Undergraduate at University of Westminster, UK