O3: Announcing Form Builder v1.0.0

Today we’re announcing the first major milestone for the OpenMRS Form Builder app: the release of version 1.0.0 (app on npm here).

What’s new

In summary, everything! The OpenMRS Form Builder is a tool that helps you build OpenMRS form schemas. It enables users to build form schemas of arbitrary complexity that users can interact with via a frontend and collect responses. These schemas can be hand-written using JSON in the embedded code editor, or interactively using the interactive schema builder. These schemas then get built and compiled by the OHRI form engine. A visual preview of your form schema gets continually updated as your continue to build your schema. The user can interact with this preview and enter data and test out validations and more. The user can then save their forms to the database, and optionally publish them to make them available to a frontend.

It’s included in the O3 RefApp too - you can try out the Form Builder GUI in the demo environment at dev3.openmrs.org by selecting it from the Global Nav menu:

Features

Forms Dashboard

Shows you a tabular view of the forms saved on the server. You could filter this list based on whether a form is published or not. You could also download a schema locally to your computer as a JSON file. From this view, a user can also launch the form editor to either create a new form or edit an existing one.

Schema Editor

The schema editor ships an embedded JSON editor into which the user can type JSON code to build out their schema. When creating a new form, the user has the option of inputting a default schema scaffold and continuing from there. The user can click on the Preview tab at any moment to see an updated visual representation of their schema.

Interactive Builder

The included interactive schema builder enables a user to build out their schema entirely without writing JSON code. Users can add pages, sections and questions to their schema. They can also edit existing schema properties, including questions using the comprehensive question editor modal. The question editor ships a concept search field that allows the user to connect a backing concept to a field. It also displays concept mappings for the selected, as well as a field that allows the user to pick out answers they want to map the question to. Additionally, the JSON code in the Schema editor updates its content automatically in response to changes made to the interactive builder. Once done building out their schema, a user can choose to save their form to the database, and then optionally publish it to make it available to their frontend.

What’s Next

  • We’re working on new features and stability improvements.
  • We’re exploring the possibility of making the form builder work with either the OHRI form engine or the AMPATH form engine.

Thank You!

Special thanks to @kumuditha Kumuditha Udanyanga for his contribution to this project. This project originally started out as his GSOC work and would likely not exist without his efforts. And, @samuel34 Samuel Male was his primary mentor, and provided significant leadership on this project. @larslemos Lars Lemos also helped with setting up the CI & CD of the OHRI Forms Engine & conducted reviews of the Ampath Form Engine. Special thanks to Dennis Kigen, @pirupius Pius Rubangakene and Florian Rappl and @UCSF & @METS for your contributions to this project. This release would not be possible without you!

We also want to thank @grace, @suruchi, and @pseurey for their feedback and insights which have gone into improving the project!

12 Likes

Fantastic work @dkigen @kumuditha (and his mentor @samuel34) @pirupius @florianrappl - we are so thankful to have this released!

The Form Builder tooling is mission-critical for O3, and our growing community of O3 initiatives like @MekomSolutions’ Ozone & @OHRI. Thank you!! :tada:

6 Likes

Thank you so much @grace. Also taking the opportunity to invite folks to try the tool out and give us feedback. We want to make craft the best possible experience for you!

4 Likes

Awesome, the @OHRI team is glad of being part of this important accomplishment to the OMRS Community and to the implementers that will benefit from this.

6 Likes

This is amazing stuff! A big thank you to everyone who made it happen.

2 Likes

This is wonderful news! Great job I’m excited to try it out. Is there by chance a way once a patient fills out the form they will also be able to sign it. Some forms I use in our clinic require the patient to fill out then sign. If they are able to sign this would be awesome as we could then go completely paperless. So grateful for the work you have put into this. TY

1 Like

@dkigen this is awesome, @METS team is delighted to be part of this amazing stuff for the OpenMRS community.

3 Likes

@dkigen this is a great step towards making O3 valuable we are looking forward to using the form engine.

3 Likes

This is great news @dkigen. Thanks guys for putting this together. Looking forward to a great experience with the form builder.

2 Likes

this is awesome @dkigen @kumuditha . looking foward to building more apps.

2 Likes

This is phenomenal work . Thank you @dkigen and all the openMRS team who made this happen. Your are writing your names in history for generations to come. A big thank you

2 Likes

Thank you @dkigen for this release. Would it be possible to have sample forms that show cases the different functionalities available in the form builder? For example:

Attachments

  • Single File Attachments
  • Multiple file attachments

Calculations

  • Calculating BMI, Z-Score, etc.
  • Calculations within a repeating obs

Drop-downs / Multi-Select

  • ConvSets (for example, render only the items that belong in a convSet) - is this possible?

Just to name a few.

cc: @luis.oliveira @grace @frederic.deniger

1 Like

Hi @jesplana, that’s a great idea! Thanks.