Google Analytics for Android client

So, I had been discussing on IRC about putting an Analytics hook in the app to gain overall usage vs time vs geographic data of the users of the app. While my mentor @raff had found this an acceptable idea, @michael found it to be a possible invasion of user privacy. I therefore would like to open this up for discussion. Should/shouldn’t the app have an analytics hook? I plan on making the data publicly available on an Openmrs webpage and be as transparent about it as possible, plus we could think of providing users an option when they first run the app to opt in.


Some screenshots of example userdata:

1 Like

So long as the data is anonymous and there is a way to opt out, I am fine with it. The opt-out feature (for me) is a non-negotiable. This strikes a middle-ground between what you want and what @michael feels…Make it clear that it’s on so that users can turn it off if they choose. I would add some hook so that you can get a feel of how users use that feature…if not a lot of people use it – it’s probably a good candidate for being thrown in the bit bucket.

1 Like

The android client is outside of my expertise, but broadly speaking, I think this is a bad idea. It’s not appropriate for OpenMRS (centrally) to collect this detailed a level of data from implementations.

The OpenMRS software is open source, but data captured with it is very private. You will note that on the Atlas module in the reference application, where we try to get installations to automatically upload some stats we have been very conservative.

What you are proposing goes a lot further with centralized data sharing, and although it’s not patient-identifiable data, I don’t think it’s appropriate to capture/share it.

Now, what would be cool is gathering more specific usage data in a way that centralizes it on the OpenMRS server, for the implementation to use as they see fit.


I agree with Darius 100%, but would add that storing data on the behavior of our customers on a server Google controls, not us, jeopardizes our trust with customers even more.

+1 to the idea of giving system admins a way to gather analytics locally within their own system… That could be a very cool project.

1 Like

Creating a backend then falls outside of the scope of this project. Hmm. A new project idea?