Hello everyone, I will be working on the Android Client, below are the features I will be implementing over the GSoC period.
-
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 (https://github.com/ACRA/acra) 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.
-
Visual Improvements: a. I will use William Charts (https://github.com/diogobernardino/WilliamChart) 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 https://github.com/deano2390/MaterialShowcaseView .
-
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 (https://wiki.openmrs.org/display/docs/Complex+Obs+Support) functionality.
-
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 (https://wiki.openmrs.org/display/docs/Provider+Management+Module) 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
-
Appointment Scheduling: I will also implement the Appointment scheduling to the android app. I will use the Appointment Scheduling Module (https://wiki.openmrs.org/display/docs/Appointment+Scheduling+Module).