GSoC 2018: Final Submission

Tigpezeghe Rodrige
3 min readAug 6, 2018

--

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

https://summerofcode.withgoogle.com/serve/4759058079285248/

Mentors

Priyanshu Sinha and 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 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 user’s chosen fields.
  • Formatting and rendering report data.
  • Support for various output types.

Screenshots of Report generator

  • Draggable components and drop ‘ocean’.
Figure 3: Draggable components and drop box.
  • Sample generated report, (Patient List).
Figure 4: Sample generated report (List of patients)
  • Save report format form
Figure 5: Save report format form.
  • List of System Features.
Figure 6: List of system features.
  • List of Report Formats.
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 into 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.

Acknoledgements

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 on my engineering. The report generator will be very useful for users in generating all kinds of reports depending on the selected draggable components.

References

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

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

--

--

Tigpezeghe Rodrige

FullStack Web Developer (Ruby, Rails, PHP, Laravel, React).