GSoC 2012 - OpenMRS - Project Proposal

Better Error Submission Process for FDBK Module




Better Error Submission Process for FDBK Module is an extension of the project General Feedback Mechanism. The main objective of the Feedback module is to provide a mechanism for users to communicate with system supporters/admins with system-related (not patient-specific) messages, refactoring the error submission process and make it more easy and effective preferably a wizard driven one.


1. User friendly wizard to be developed that should take information from the user in step by step procedure.
2. Screenshot of the browser should be automatically attached when selected by the user instead of the manually attaching it.
3. Other important info, like current page should also be automatically added to the feedback.
4. Users should be able to communicate with other users. (Communicate means the users can submit their feedbacks to a specific user within System rather only sending it to Admin.)


1. As the Screenshot is taking automatically and it can be edited by using several markers within the System. So there won’t be need of manually hiding patient data anymore. (The Screenshot capturing, Editing(hiding the sensitive data) using a Image Edit software, finally uploading it, all these annoying steps are skipped in the new system and user will able to simply submit their feedbacks in couple of minutes time.)
2. Screenshots can be taken faster, hiding confidential information. So the Admin/Staff user does not need to think twice before forwarding the problem as it will not be containing any sensitive data.
3. Faster problem solving process as previous conversation can be referred by other user when given permission by reporter or administrator.


For Capturing the screenshots and editing them inside the Web Browser, I have researched about how Google Feedback mechanism works and got to know they were using a Javascript approach to handle the process within Client Side.
JavaScript can read the DOM and render a fairly accurate representation of that using canvas. I found a working script called html2canvas which converts html into a canvas image. So hope this to be implemented in the OpenMRS Feedback module.
For making the interactions with other users (which is not available in the current system) I will implement and expand the functionality of prevailing classes/forms used in Feedback module. 

Goals and Deliverables
  •  Design the additional tables of FDBK module Schema after the improvements.
  •  Finalize the design of User Feedback form wizard.
  •  Fixing the issues exist in the Current Feedback System.
  • Finalizing of taking current page info and other important feedback information features. 
  •  Finalize the communication among users feature within Feedback module.
  •  Integrating the special feature of Capturing the screen-shots and editing them inside the Web Browser.
  •  Source code with technical wiki
  •  User guide with wiki

    Draft Timeline
  • April 24­ - May 7: Discussion with the mentors about the final project descriptions, list of tasks, deliverables and time­line; learning OpenMRS framework and Module implementations.
  •  May 8- May 20: Finalizing the user interface mockups, finalizing the Table Schema, and learning necessary technologies if anything new and needed, Research more about Google Feedback Mechanism and how it has to be implemented in OpenMRS Feedback module.
  •  May 21- July 8: First Phase of Development
SMART Goal #01
* Goal : Adding the new features which are not exist in the Current Feedback System.   
* Relevance :
 > Fix the known issues exist in the current Feedback system. [May 21 - May 25 ]
 > Build the User communication feature within the Feedback System. New Classes may added as needed to build the communication among users.  [May 26 - June 10]
 > Take the current page info and other important feedback information. The existing classes will be modified and will added by new Attributes as necessary. [June 11 - June 25]
 > Development of the User friendly Wizard Driven Feedback Form. [June 26 - July 08]
* Time-bound : May 21- July 8
* Measure: Fully Tested and working Feedback Form Wizard with the feedback communication feature among users, without Automated Screen-shot capturing mechanism.

  • July 9- July 13: Mid­term evaluations and work on feedback received
  • July 14- August 10: Second Phase of Development
SMART Goal #02
* Goal : Implement the Automatic Screen-shot capturing mechanism within Browser.
* Relevance :
> Processing the Browser Screen-shot to an Image (DOM to Image)> Implement the Blackout/Highlight tools. (using Javascript + DOM)
> This Goal involves in very interesting feature of the upcoming Feedback Form and holds bit of complexity in the development process as well. So I hope this might take some considerable time in developments.
* Time-bound : July 14 - August 5
* Measure: Fully Tested and working Feedback Form Wizard with Automatic Screen-shot capturing mechanismAs in [Figure 1.4] user will able to Blackout and Highlight appropriate important stuff on the Screen-shot image.

  • August 6 - August 13: Finalization, Testing and other final improvements.
Better Error Submission Process for FDBK Module
[Related Diagrams]

- Related Diagrams are shown below.
        1. UI-Mockups (Collecting information step by step as a Wizard)
        2. Use-Case-Diagram
        3. Flow-Charts (for Feedback Sender, Feedback Receiver, Administrator)

1. User-Interface-Mockups

Figure 1.1

Figure 1.2

Figure 1.3

 Figure 1.4

Figure 1.5

Figure 1.6

Figure 1.7

 Figure 1.8

2. Use-Case-Diagram

 Figure 2.1

3. Flow-Charts

 Figure 3.1

  Figure 3.2

Figure 3.3