I am Avijit, and under @raff and @r0bby 's guidance as mentors, I’ve been working on the OpenMRS Android Client Project. This is the status upto the midterm.
Till now, the following has been accomplished:
- Travis-CI: Configured Travis to automatically build and release the Android APK to the Play Store.
- Patient Registration: Added Patient Registration with offline support.
- Form Creation: Using the JSON returned by the /form resource I’ve managed to create the form UI dynamically. This work will continue until it covers all the forms and also saving the results as encounters.
All the details can be found on my blog: https://avikgp.wordpress.com/
Here is a video describing the current status:
Please ask any questions you might have, and I’ll try my best to answer/incorporate. Thank you!
This is awesome, @avijitghosh82, and thanks for providing the video! Very helpful to follow.
For use case that a client has existing record in the system and provider creates a new record for this client in offline mode, is there any mechanism on the server side to double check this newly created record should be merged to existing record for the same client after the sync is on?
By record, do you mean a new patient registered while the client is offline, or a new vitals entry recorded?
The second case should be possible, but I don’t think there is any mechanism on the server side to merge duplicate entries automatically…each time a new patient post request is sent a new patient with a new uuid is created.
This is an interesting problem though… @raff how can we handle this?
I think we will do the merge on the mobile device. I envision that before we will actually create a new patient via REST when online, we will do a similar patient matching search using REST and give the user a chance to select an existing patient instead. It’s not in the scope of GSoC, but we may fit it in if time allows.
Nice overview @avijitghosh82! Thanks for posting!