This last article is a description of the project I spent time developing during this Google Summer of Code 2018 session at LibreHealth.

Project Title

Building a Report Generator for EHR System.

Project proposal

Project proposal

Mentors

  1. Priyanshu Sinha
  2. Art Eaton

Project Overview

The project aims at building a tool to generate reports for LibreHealth EHR system. The tool will be able to generate reports depending on the user’s need in general. Completion of the project means we have a robust tool to generate reports for all system features; Clients, Financial, Insurance, just to name a few. The tool enables the user to select the content and the output type of the report.

Pull Request

Other PRs: https://github.com/LibreHealthIO/lh-ehr/pulls/Trodrige

Issues opened

https://github.com/LibreHealthIO/lh-ehr/issues/created_by/Trodrige

Old report style vs new Report Generator

The LibreHealth EHR system currently has standard reports for various features (Clients, Financial, Visits, Inventory, Services). These reports display standard output every time even if some of the fields are not required by the user. Currently, only reports written by a developer can be added to the system. The screenshots below show the current state of the patient list (Figure 1) and patient flow board reports (Figure 2).

Figure 1: Current patient list report. 
Figure 2: Current patient flow board report. 

Work covered

  • Designing and realizing report generator interface.
  • Adding drag and drop features to components.
  • Generating queries based on the user’s chosen fields.
  • Formatting and rendering report data.
  • Support for various output types.

Screenshots of the Report generator

  • Draggable components and drop ‘ocean’.
Report_Generator_-_LibreHealthEHR
Figure 3: Draggable components and drop box. 
  • Sample generated report, (Patient List).
Generated_report_-_LibreHealthEHR
Figure 4: Sample generated report (List of patients) 
  • Save report format form
save-Generated_report_-_LibreHealthEHR
Figure 5: Save the report format form.
  • List of System Features.
System_Features_-_LibreHealthEHRFigure 6: List of system features. 
  • List of Report Formats.
Report_Formats_-_LibreHealthEHR
Figure 7: List of report formats 

Future work and recommendations

  • Implementing the ability to have WHERE and ORDER BY clauses in the report generator.
  • Make provision for many default draggable components, system features and report formats.
  • Add the module to the main system.
  • Restricting users from editing and deleting default resources like system features and report formats.
  • Work on documentation; design, developer and README files.

Acknowledgements

First, I will like to thank LibreHealth for giving me this opportunity and I would like to thank Terry Hill and all organization administrators for being so instrumental during the entire Google Summer Of Code period. Finally, I will like to thank my mentors, Priyanshu Sinha and Arthur Eaton who have guided through till the end of this summer internship.

Conclusion

Contributing to LibreHealth has been an amazing experience, I have learned a lot of new technologies and I have improved my engineering. The report generator will be very useful for users in generating all kinds of reports depending on the selected draggable components.

Important Links

References

[1] Priyanshu Sinha. (19/08/2017). GSoC’17: Final Submissionhttps://pri2si17.wordpress.com/2017/08/19/gsoc17-final-submission/, visited on 06/08/2018.

[2] Courage Angeh. (08/2017). Google Summer of Code 2017 Reporthttps://gist.github.com/Anh3h/ad945ffeb2064dc31f103e150879f0c6, visited on 06/08/2018.