5: GSoC18 at LibreHealth — Generator’s report formats and system features!

Tigpezeghe Rodrige
4 min readJul 23, 2018

--

This fifth article is about my GSoC 2018 journey at the most amazing open source community, LIBREHEALTH. Below is a list of the ‘amazing’ things I’ll be telling you with these letters and words that I’ve put together.

  • What has been happening?
  • Present state of things.
  • What am I doing now?
  • What is still to be done?

What has been happening?

With the advent of my final exams, final submission, and GSoC 2018 final submission, anyone would say I have a lot on my table right now. Most of the functionality of the report generator is ready. Now we have to populate the report generator database with default draggable components, system features, and report formats that will ship with the report generator.

STOP!!! Read the FOURTH article of my Google Summer of Code 2018 journey before continuing with this piece.

Present state of things

Currently users can add system features, report formats and do necessary edit and delete. Users can perform these actions only on these resources that they created. The report generator will ship with default draggable components, system features and report formats that the end users can’t tamper with.

The screenshot below shows a table listing the various system features in the system, with the possible actions that can be performed by each system feature.

Figure 1: List of system features with possible user actions

The image below shows the form that can be used to edit any selected system feature; Clients in this case.

Figure 2: Edit ‘Clients’ system feature form

The users can also view existing report formats and edit them. The image below shows this listing of report formats that exist in the system.

Figure 3: Listing of report formats

When a user clicks the ‘View’ button for any report format, the report that corresponds to this format is generated and displayed. When the ‘View’ button for ‘Patient List’ is clicked, the report is generated as shown below.

Figure 4: Generated Patient List report

Note that the system features in the navigation can also be used to generate existing reports from existing without necessarily dragging and components.

What am I doing now?

The next thing that’s in the pool, is creating a method to handle clauses such as WHERE and ORDER BY. This will include creating an interface for the users to specify these. The interface would be very intuitive and easy to use and understand.

What is still to be done?

There are many things that are left to complete this report generator. For example the development of this module will go on for a while after it’s in the hands of the users. This is because the users have different report formats that they desire, and may not find draggable components to create these reports. So we will have to continue looking into these issues and solving them.

However below is a short list of the things that are left to be done:

  • restrict users from editing and deleting default resources like system features and report formats.
  • 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.
  • Work on printing the generated report to different formats with Abhinav Singh work.
  • Work on automatic installation of the module.
  • Add the module into the main system.
  • Work on documentation; design, developer and README files.
  • Send it out to users, and work on users’ various issues.

Are you new to open source??? Even if you’re old Open source contributor, why not join LibreHealth, and start writing code to save lives!

Do you want reasons to join an open source community??? Find them here.

Thank you for reading!

READ the SIXTH PART of my Google Summer of Code 2018 journey.

--

--

Tigpezeghe Rodrige

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