Android Client GSoC 2016 Project Ideas

gsoc2016
Tags: #<Tag:0x00007f23d8d290f8>

(Gautam Prajapati) #6

Hello everyone, I am Gautam Prajapati from Delhi Technological University, New Delhi, India. I have good experience in Android Development. I have developed Android apps for startups apart from making various apps for my personal use. I have worked with various libraries like GCM, Volley, GSON, Jackson etc, APIs like TMDB and technologies like Firebase. I am quite good at UI/UX part in apps. I’m also good with linux and version control systems like git/github.

I am pretty excited to be a part of OpenMRS community where I want to learn new stuff and help people around the world through my contribution. I have already started working and contributing in the OpenMRS Android Client project. I have various ideas for improving the existing features like offline/online access and adding new ones. I am a avid learner and believe in hard work with smartness. I hope under the mentorship of @raff I will learn a lot and help in enhancing the features, make the Android Client more intuitive and robust.

Thanks!


(Rafal Korytkowski) #7

Welcome everyone! It’s great to see that you are excited about the project! Please follow https://wiki.openmrs.org/display/RES/Summer+Of+Code+2016 and create or pick up issues from https://issues.openmrs.org/issues/?jql=project%20%3D%20AC%20AND%20status%20%3D%20"Ready%20for%20Work"%20ORDER%20BY%20priority%20DESC to help us before the GSoC 2016 takes off.


(Aashita Dutta) #8

Hello!, Myself Aashita Dutta, a final year student in Btech Computer Science Branch at GNDEC, India . I really liked the project ideas you listed. Since these projects fall under my areas of interest. I have keen interest in one of your projects titled OpenMRS Android Client. I read wiki of this project and would like to know more about this project in-depth.

I have 8 months experience with android application development. I have done my internship from Aptech Institute for teaching android application development to students. I have core knowledge about C++, Java, HTML, CSS, JavaScript, Python. So having knowledge about the android OS, I would like to work on this project so that I can learn more and my personal interest to contribute to an open source organization.

This was some information about me. Do you think I am fit for your project? If yes, what should be the next step to start with Android Client.


(Gautam Prajapati) #9

Welcome on-board @aashita , It’s awesome that you want to work on the Android Client. You have gone through the wiki already, Now I would suggest you to check the Github repository of Android Client, build the project and start working. You can create a new issue in JIRA if you find one, in the app and then fix it. There are some existing issues also in the project on which you can work. If you face any problem you can ask on IRC or discuss on OpenMRS Talk. We have a helping friendly developer community, you will definitely enjoy working with OpenMRS. :slight_smile:

Regards.


(Hossam Ali) #10

I don’t really have experience in android unlike everyone here :slight_smile: I just want to say that I really appreciate your efforts and I can’t even tell you how much I’m looking forward to seeing a powerful android openmrs client. :slight_smile:

One feature I’ve been really excited about (and I talked about it alot before) is linking the client to the provider management module and making it possible for it to send notifications when the provider’s page undergo any changes (eg. When a patient is referred to this particular provider currently logged in to the client). I was wondering if that’s possible or not, as it will make a huge difference in the openmrs experience.

Thank you and best of luck!


(Gautam Prajapati) #12

Overview

This discussion is for further improvement of Android Client, bringing the power of provider management in the app. This is an unlisted project idea for GSOC - 2016 and I would like to work to implement this feature in OpenMRS Android Client.

Background

I have been part of OpenMRS community for a while now. Technically, I have contributed in the OpenMRS Android Client by fixing a fairly good number of issues and adding new features to it. I hope that qualifies me as a good applicant for a new project idea. :slight_smile:

Discussion & Proposal Since mobile phones are a candidate platform for delivering and receiving health information due to its widespread adoption, and technical capabilities, the idea of making an Android Client for OpenMRS was exemplary.

Current Scenario:-

Android Client has various good features like:

  • Searching for a patient by name, downloading his/her details for offline viewing.
  • View of patient information, diagnosis details, last captured vitals etc.
  • Starting and ending visits for a patient. Last visit details etc.
  • The option of capture vitals is there but not yet functional.

All these are good for a start but we need a more powerful, robust, rich in features Android Client so as to increase the user base.

Idea Objective

Coming to the point now, I am really looking forward to implementing Provider Management Module in our Android Client. Provider Management Module in the app will provide all the features which it is providing in Desktop versions of OpenMRS namely:

  • Search for providers and edit their demographic information
  • Assign/unassign patients to providers.
  • Assign/unassign supervisees to providers.

Implementation

I have gone through the docs of Provider Management Module, it is already having an API as mentioned here which provides numerous methods that can be called to perform provider management functionality.

Going somewhat deep in the technical implementation, we can have a fourth entry alongside ‘Find Patient’, ‘Active Visits’ and ‘Capture Vitals’ in the dashboard named as ‘Provider Management’. Clicking on it will open a new Activity having three options for:

  • Searching the providers: Will search for existing provider and clicking on a provider in the search result will load the Provider Dashboard. It is very similar to the implementation of ‘Find Patient’ feature in the app.

  • Adding New Providers: New providers could also be added from the search page. After typing a provider name in the search box, a button to add a new provider will be enabled. To avoid duplicates, a dialog box will appear asking you to confirm that the provider you wish to add is different from any existing providers with similar names. It will also search all existing persons to see if perhaps this person already exists but needs a provider record associated with him/her.

  • Provider Dashboard: The provider dashboard will consist of two main sections. The left section will display the basic demographic information for the selected provider as well as the provider role, and may/may not provide means to edit this information. The right section will contain a series of panes that list the various patients and/or supervisees for the specified provider.

EDIT: Further Additions: After the basic implementation of the Provider Management system, we can add a push notification feature of notifying the provider about 30 minutes prior of his/her appointment.

I have referenced these implementation details from existing docs for the module. I hope you find this idea worthy and will look forward to discussing anything further in it.

I was inspired to implement this idea in the app by @hossam who uses OpenMRS in the real world. He faced some challenges while running a dental clinic in Alexandria, Egypt. He opted for OpenMRS to solve the problems and is looking forward to a more powerful and better Android Client due to the surge in the use of mobile devices in developing countries.

I would really like the reviews/criticism on this idea. It would be great if someone guides me through this implementation. @raff I would like to know your comments on this. :slight_smile:


(Dong-hee Na) #13

Hello devs.

I’m student of Chung-nam National University of South Korea. I want to participate in OpenMRS Android Client for GSoC. I have experience in develop android client with rest api server(developed with Python Django REST framework.) and also I have experienced with Opensource Project Pyston of Dropbox. so I’m familiar with code review and unittest, also CI process. also I have experienced with developing daemon program with java and jsp for ROK army.(I was a soldier for 2 years for ROK army)

I will happy if i could participate in this project. Thank you~

Linkedin


(Robby O'Connor) closed #14

(Robby O'Connor) #15

Hey @brainbreaker, I merged this into the Android Client thread, since @raff would be the mentor of record, he can only mentor one project as primary mentor.


(Robby O'Connor) #16

@corona10, I merged this into the proper thread and removed the other one.


(Shivang Nagaria) #17

I have completed my GSoC proposal and shared it with OpenMRS using GSoC website. Please review and give feedback.

GSoC Proposal

Thanks


(Shivang Nagaria) #18

I have some queries, please answer:

  • Do I need to add mockups for goals as well as improvements suggested by me ?
  • How much detailed implementation are you expecting ?
  • Can you suggest some features/issues for android-client. There is not much work listed on JIRA.
  • Can I start working on the goals ?
  • What are your views about layout, I think we really should work on it. I also created a issue specifically for this purpose.

Please let me know when you’re active on IRC, sometimes I need little guidance and email/message aren’t be appropriate for them.


(Robby O'Connor) #19

Yes.

Enough detail to know you’ve got a good plan of action for the duration of Google Summer of Code

Read this thread. Also look at the project description on the wiki. You can add goals as well. Not knowing this is not good…

If you mean on the project itself, not until you are formally accepted, if that occurs.

That issue was closed as not valid. So not going to respond to it.

In addition to this (and this goes for everybody) – there are very few reasons to private message mentors. Everything needs to be public. I will be moving your messages into this thread if you private message us, so your efforts to keep it private are not going to be effective.


(Shivang Nagaria) #20

Do you mean I can add suggestions ( by me and others ) under the section Objectives ?

If I add suggestions as Objectives,then I can’t really work on them, right ? Or I can work on suggestions but not on original Objectives ?


(Robby O'Connor) #21

No, they’d be scoped under GSoC. If you add objectives, you better be really detailed.

You can suggest things and then make a good proposal. You aren’t constrained to what we suggest, you can add other things. @raff is your primary mentor and is ultimately the boss.


(Shivang Nagaria) #22

@r0bby, @raff. I have updated my proposal, added some relevant mockups, updated the timeline and made the implementation more detailed. Please review. Thanks


(Shivang Nagaria) #23

I want to discuss about the one of the project objective Support for custom form. From all the details I got , I understood that the objective is to make form by interpreting the html response we get from server.(response can be different hence the implementation should be generic).

Correct me, if I’m wrong. Please also provide some details.

Thanks


(Robby O'Connor) #24

REST API gives you JSON. We’re not parsing HTML at all. You’d serialize the form schema in some sane way and then parse that and generate the form widgets accordingly.


(Avijit Ghosh) #25

Here are some mockups which are a part of my proposed design overhaul:

@r0bby @raff and others, your suggestions are welcome!


(Robby O'Connor) #26

They are pretty slick!