GSoC 2017 - Android Client Feature Parity

During GSoC 2016, the Android app was improved with features including Forms and Patient Registration. For GSoC 2017, we will focus on bringing feature parity with the web client and making the client more useful for actual implementations.

Objectives:

  • The Provider Module is a large feature request by the community. Our first motive will be to implement the provider module in the app.

  • Feedback /Bug Report System : Ideally, an automatic Jira issue will be created with the bug details. Duplicate issues will not be posted. We could investigate other ways of dealing with reports instead of flooding JIRA. Implementation is upto the student.

  • Vitals : Currently Vitals do not have other information attached with them. We are looking for improvements like adding doctor information, generation of patient report (probably as pdf) and ability to send them to other doctors.

  • Visual Improvements:

    a. The Vital Data can be better represented using a chart for Vital history. b. Other small improvements, like using TextInputLayout from the design library instead of the normal edittext in forms.

  • Appointment Scheduling: The Android App does not have the Appointment Scheduling function as the web app. This could be implemented.

This thread serves as a place to discuss the above project, suggest ideas and improvements and help interested students understand the codebase and the targets while they build on their proposals.

The Wiki page is here: https://wiki.openmrs.org/display/projects/OpenMRS+Android+Client+Feature+Parity+and+Improvements+-+GSoC+2017

The Github repo is here: https://github.com/openmrs/openmrs-contrib-android-client

And all threads related to Android Client can be found here: https://talk.openmrs.org/c/software/android-client

5 Likes

Hello, I am XuHao and I have introduced myself in Introduce myself page, and as you think, I want to contribute to this project to be a student of GSoC 2017.

And I installed the app and tested it, I have an idea.

I think there should be an action when we click the photo in AddEditPatientFragment, we can choose an image from gallery when we click the photo. But it is no action when we click the patient photo.

I am looking forward to getting your advice.

Please excuse me if I say something improper.

Hi @hao555sky,

We already had the feature proposed by you in our minds, but it is blocked due to this issue . Once we’ll done with the issue, we’ll start implementing the feature. For the time being, you can claim any issue from listed here and start contributing.

@avijitghosh82, thanks for posting!

Could you please explain in more detail what is the provider module? What features will it offer?

Doesn’t Android provide the bug report system, which can be used? IMO focus should be put in adding meaningful logging to the app so that whatever issue is reported by the user it can be investigated. It would require adding debug messages in most vigilant places in code. I would then simply let the user to send logs from the app as an e-mail attachment.

Vitals is a json form, which can be adjusted by an implementation on the server side to include whatever information is needed. There’s no need or way to include more fields from within the app itself. Regarding saving patient report. Do you mean exporting a filled out form as pdf or some sort of summary of data coming from different forms? Form entered-data is easily viewable and editable at the moment. I would say it’s a rather low priority to export forms as pdfs.

Visual improvements are good! I like displaying historic data from the vitals form as a table or a chart to observe patient’s health over time.

What do you mean by Scheduled Queries?

@avijitghosh82, I would recommend you to reach out to people like @ssmusoke, who are evaluating the app and ask for ideas on improvements.

We should also advertise a bit more the app, which was greatly improved since GSoC 2016 under the supervision of @SolDevelo developers @adamg and @tmarzeion as well as numerous contributions from community developers @shivtej, @ykarim250, @rhari, @defcon (I hope I haven’t forgot about anyone)!

I meant to do that a long time ago. That way we could get feedback on what else is needed and based on that work on actual objectives for GSoC.

From my perspective the following additions would be very attractive for the app:

  1. Support for attaching patients’ documents (images and other files) and displaying them in the app.
  2. Implementing Visit Notes as a json form, which includes adding support for auto-complete fields for diagnoses and other concepts.
  3. Security improvements as described in https://issues.openmrs.org/browse/AC-378
1 Like

Thanks @raff!

Provider module is used to notify the Provider whenever a new patient is assigned to them. It was a feature request in the community to add a notification to the provider’s app quite some time ago and we didn’t get around implementing it.

@ssmusoke, Could you also chime in about the more important features to be added? I’ll update the project wiki accordingly.

Hi, @shivtej, thanks for reply.

So now I will put aside the issue. As a candidate, would you like to give me some advice to make me succeed? Should I solve an issue from list or do something to start a pull request?

Please excuse me if I say something wrong.

Hi, @avijitghosh82.

I have a few question.

  1. What kind of student do you want?

  2. Should I do something to start a pull request?

  3. Would you like to give me some advice?

Please excuse me if I say something wrong.

Thank you.

Yes @hao555sky, you should claim any issue and start working on it then send PR once you’re done. If you face any problem, you can always ping me.

I guess you should ask mentors for any query regarding GSoC.

Thank you very much, I will do my best to do.

Sorry for disturbing you. I am working on this issue. I want to ask a question that will out project support RTL?

There will be many warnings to solve if the project support RTL. And most warnings about this is adding start or end in layout file. Does my mind is correct? I will appreciate it if you give me some guides.

yes, you need to change codebase to remove all bidirectional errors and adding start and end in xml files is one of the changed you need to make.

OK, I am working on this issue. And I wish you will give me some advice when I fix these errors and warnings. And I want to ask a question that why the mentor doesn’t reply me? Haha, sorry if I ask something improper. Have a good day.:grinning:

Hey @hao555sky!

Welcome and thank you for your interest in contributing. Sorry, I’ve been caught up in work and I don’t frequent the forum much, you’ll mostly find me on GitHub.

That being said, fixing lint errors is currently one of the things we’re working on, so your contribution to RTL is welcome. :slight_smile:

Hello, @avijitghosh82, @shivtej

I have fixed the issue and I want to create pull request. I hope you can review it and give me some advice.

Thank you.

I need to modify the list_visit_group.xml when I fix a warning in the issue, but I can not find how it shows in the Android App; So I want to know how to find the entrance of this xml file.

I have fixed the issue and create a new pull request. Please check.

@hao555sky, please do not use this thread for communication around your issue. If you need assistance with any issue, start a new thread or comment on an issue.

@raff, ok, I am so sorry for this. Please excuse me. Thank you.

Since this is a common request from my applicants, here is the project proposal for last year’s android project:

https://drive.google.com/file/d/0B5mbyX5RaRefazJhdGs1bHdEdEU/view?usp=sharing

Note that the App has had many changes after GSoC 2016, so this can only serve as a guideline.

Also refer to https://talk.openmrs.org/t/android-client-gsoc-2016-project-ideas

Great work there on Github, people!

1 Like

Hello! Everbody ,

I’m also interested in this project.Having experience with Github issue tracker but here is quite strange. Please help me to be comfortable here. I started reading codebase.

best, Jitendra