Everyone using OpenMRS collects a different custom set of data. To support this without requiring every user to be a programmer, we've built several different technologies to let system administrators build custom forms. Users will including questions from the concept dictionary, laying out sections, styling them to look pretty, etc. Sometimes the goal is to replicate a paper form as precisely as possible, while other times the goal is to build a dynamic form intended for interactive point-of-care use.
The HTML Form Entry module is one tool that lets you build forms, but it requires you to write HTML code. Many low-resource implementations don't have easy access to HTML programmers, so in a previous GSoC, we built a WYSIWYG editor with custom dialogs for inserting OpenMRS widgets. Since then, many new features and tags have been added to the HTML Form Entry module, but the WYSIWYG editor has not been kept up to date with them.
The goal of this project is to bring the HTML Form Entry WYSIWYG Designer up to date with all the latest features in the HTML Form Entry module, and define a process so that whenever someone adds a new feature to HTML Form Entry, they know how to reflect that feature in the WYSIWYG designer too.
Domain Expert(s) / User(s)
- Ellen Ball
- Ada Yeung
- (many more)
- When you save an HTML Form, update the form_field and field tables, to the extent that is currently supported by existing OpenMRS core.
- Propose changes to OpenMRS core to support representing extra features that HTML Form Entry has
- Partial work on re-doing the WYSIWYG editor to be driven by annotations and reflectively-discoverable info on HTML Form Entry tags
- Implement all remaining HTML Form Entry tags and features in the WYSIWYG Designer module
- Define and document a process so that when features are added to the HTML Form Entry module in future, people know how to add those to the WYSIWYG Designer module also.
Iteration 1 (May 23 - July 11) - Closed
Update the Form Schema tables
Iteration 2 (July 12 - August 19) - Closed
Develop the WYSIWYG Designer
Closeout (August 20 - August 22) - In Progress
Review code, documentation, bug fixes.