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!