The Patient Clinical Summary generates a summary that is being displayed on the patient dashboard which is helpful for the clinicians to make clinical decisions without going through numerous encounters/observations. It would also be helpful for clinicians access these reports off-line specially when they visit patients in rural areas.
In this week I developed muzima Android app to display patient reports. I had to try out different methods this week. here is a brief description of how I approached my task.
I used the functions of muzima api to call the server. Those middle-ware was developed by muzima developers, so my work was easier 😆! The muzima api calls the server asynchronously, so I had to wait until the report is fetched to muzima app. So I created a background process which listens for the message
When the download is complete I receive the message and then displays the report to the user.
The GSoC 2018 was reaching its end, so I had to steam in to finish on time 😅. In this week I engaged in displaying the data(MuzimaGeneratedReport) that is fetched from the server.
I first tried to create a view containing a list of the reports of a particular patient. I followed the procedure to create a list as you normally follow in Android.
I created a layout file named report_list_view and created a list as follows.
Then I created an Android Activity named PatientReportListViewActivity and used the following code 😆
This week was also a successful week as I completed the job of finalizing the end points in muzimacore module. This endpoint would be used by the muzima android app to download patient reports.
First I had to add a change to the existing database because the design team had requested to add a new field priority to muzima_generated_report. This attribute was set as a tiny_int and the default value was set to 0. …
The 9th week of the program was really important as the 2nd evaluation was scheduled. I engaged in improving the scheduled task in muzimacore module which creates summary reports for each patient in a cohort.
I installed reporting compatibility module so that cohorts could be built. Next I had to add a concept dictionary so that I could add Obs for a patient.
Once a report configuration is created by the user(i.e-mapping a cohort with report definition) the scheduled task of creating patient reports take over.
Introduction to the Report Generation Task
I tried to complete the scheduled task to generate reports for patients with in this week. But I ran into a dead end when rendering the output for each report request. The report generation is implemented as an asynchronous task in the reporting module. So waiting until the task report is generated was a problem.
The generated patient reports by the muzima core module should then be displayed…
This week was one of the busiest week as I was required to complete generation of summary reports in openMRS webapp.
First I created controllers which are capable of mapping a cohort with report designs and display them in interfaces that I created last week. I achieved this task with the help of controllers created previously by early programmers. Skills in AngularJs made this work easier 😆.
Then I had the task of creating back-end functionality to add scheduled task to generate summary reports according to each report configuration added by the user in the following interface.
For this task…
In the last week I had finalized all the designs with my mentor so that implementation could begin soon 😅. As we planned, the coding started this week! I started with changes in the openMRS webapp first before muzima mobile application is modified.
My first task was to produce the user interfaces with in the muzima-core module. Skills of HTML and AngularJS 1 helped me to achive this task after few days of work 😆.
Then I started to add required back-end functionality for each user interface. First I needed to come up with a database change which was implemented under the guidance of my mentor Samuel Mbuga 😃.
It’s now been a while since GSoC program has started. The past week has been the 5th week of the program. It’s been so exciting with GSoC 2018 so far 😃.
As I described you in the last weekly blog me and my mentor had been working on coming up with mock-ups before implementing generation of patient clinical reports and integrating the reports in mUzima Android App.
Throughout this week also I engaged in designing the mock-ups under the guidance of my mentor Samuel Mbunga. There were several modifications suggested and I could come up with most of them 😛.
At the end of the third week I had successfully created main components of the summary report.
Now it is time for configuring this report to be used by mUzima app which is used by the clinicians in remote areas.
I installed the mUzima Android app in my phone to get familiar with the workflows. The mUzima core module is used to connect the openMRS web app with mUzima app. I together with my mentors came at crucial design constraints before the coding really begins 😃.
I am an undergraduate from University of Moratuwa who is interested in Distributed Computing, micro-services, block-chain and Data Science.