GSoC 2017: Android Client Feature Parity Discussion

Hello everyone, I will be working on the Android Client, below are the features I will be implementing over the GSoC period.

  1. Feedback /Bug Report System: As suggested by my mentor, the user should be able to send a log report to us via email whenever the app crashes. Currently, the logs are already saved in a file, so whenever the app crashes we can show a custom error message to the user using ACRA (GitHub - ACRA/acra: Application Crash Reports for Android) and then the user can select to send us the crash report or discard the message. ACRA will also help to get detailed crash reports for proper debugging.

  2. Visual Improvements: a. I will use William Charts (GitHub - diogobernardino/williamchart: Android Library to rapidly develop attractive and insightful charts in android applications.) to better represent the Vitals data as graphs which will help in proper visualization. b. Other small improvements include using sliders in place of EditText etc. c. I will add a demo for the app so that whenever someone runs the app the for the first time they can get a gist of all the features. For this, I will use GitHub - deano2390/MaterialShowcaseView: A Material Design themed ShowcaseView for Android .

  3. Vitals : I will add functionality to add doctor information, and other useful information of the patient, along with this I will add feature to generate the patient report (probably as pdf) and ability to send them to other doctors too. For this, I will use the Complex obs (Complex Obs Support - Documentation - OpenMRS Wiki) functionality.

  4. Provider Module : Adding the provider module functionality is a large feature request by our community. I will use Provider Management Module documentation present on the Wiki (Provider Management Module - Documentation - OpenMRS Wiki) to add the support for the provider module. I will add the following functionalities : a. Search for providers and edit their demographic information b. Assign/unassign patients to providers (via relationships) c. Assign/unassign supervisees to providers (via relationships) I will also add a provider dashboard which will have the following functionalities : a. Add: search for a patient (in the patient relationship pages) or provider (in the supervisees pane) to add as a patient/supervisee of the current provide b. Edit: edit the start date of a patient/supervisee relationship c. Transfer: transfer the selected patients/supervisees to another provider/supervisor d. Remove: end the provider-patient or supervisor-supervisee relationship for the selected patient/supervisee e. Void: void the provider-patient or supervisor-supervisee relationship for the selected patient/supervisee

  5. Appointment Scheduling: I will also implement the Appointment scheduling to the android app. I will use the Appointment Scheduling Module (Appointment Scheduling Module - Documentation - OpenMRS Wiki).

1 Like

The Complex obs feature is for adding patient information currently, according to the JIRA issue. We’ll explore generating patient report and doctor files but that’s not a priority.

FYI re:automated bug reporting – Anonymous JIRA issue creation was disabled due to spam.

Hello Everyone, My first blog post about the community bonding period can be found here.

I will start my work with AC-403. I was thinking it will not be good to show logs to the user after a crash.

Hello Everyone, I have completed the Feedback/Bug report system. Pull request : AC-403 : Feedback / Bug Report System by DefCon-007 · Pull Request #378 · openmrs/openmrs-contrib-android-client · GitHub Blog Post : GSoC — Week 1. So after a month long community bonding… | by Ayush Goyal | Medium

Dialog screenshot :

Sample email body : openmrs-sample-email - Pastebin.com

Nice work. You’re progressing with this week’s issues, I presume? As discussed you’ll be implementing the UI changes this week.

@avijitghosh82 Yes ! As mentioned I will be working on Visual improvements. I will send the work of two weeks combined.

@raff , @defcon informed me that the forms on qa.refapp are not working, and the patient registration fails. I tried to edit the forms from admin panel, but wasn’t able to fix the issue. Could you please help us out on the server configuration part? He’s trying to add support for different kinds of forms after a user submitted a question on talk.

@avijitghosh82 i have just fixed patient registration. Can you try again?

@dkayiwa The website is not opening now. Also can you please copy the forms of devpost04 to qa-refapp like vitals etc.

I have submitted the PR for adding the charts to the patient dashboard. In place of William Charts, which I mentioned in my proposal I used GitHub - PhilJay/MPAndroidChart: A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations. .