Primary mentor | |
Backup mentors | |
Assigned to |
...
Considering the services offered by a hospital, an Android application can help doctors, patients, and other staff a lot with its mobility and ease of use, without them having to start the OpenMRS web app on a desktop computer. This will improve the productivity and efficiency of the hospital workflow.
...
There are still frequent crashes when using the app, especially if a doctor is using it for a long time with no pause. On crashes, the app will just return the user to the dashboard page, and any unsaved transactions will be lost. Also, the offline-first solution needs to be developed, where a provider cannot connect to the internet , and needs to work offline temporarily. Data should be synced again when back online.
...
Finally, seeing the number of components in the webappweb app, the Android app should integrate more of them so that doctors and staff can expect to see the same functionalities in the webapp web app implemented in the client.
An additional request is to migrate the Java source code to Android's now recommended Kotlin, to increase readability and reduce the the a thousand lines of code present in the GitHub repository.
Objectives
- Material UI design (Figma Link)
- integrate Integrate more components of the webapp web app to the client (to be discussed further)
- Password reset via email
- Replace Java code with Kotlin
- Replace native SQL to Room
Future Works that need to be done
- Migrate the remaining 80% codebase to kotlin.
- Start converting MVP pattern to MVVM as it follows the new standard guideline brought by Google.
- Re-design Home screen with a better UI.
- Add the password-reset feature.
- Create a diagnosis using REST.
- Implement the Appointment Scheduling Module.
- Mark Patient deceased using a non-coded response.
Sample Use Cases
- A doctor does not have access to a PC, but his Android phone is available to use during office hours.
- No internet connectivity , and a doctor needs to work offline temporarily.
Project Champions
Same people who use the webappweb app: Providers (e.g. doctors, nurses, clinicians)
...
Android, Java, Room, Kotlin
Progress
Issues that are completed and their status:
Iframe | ||||||||
---|---|---|---|---|---|---|---|---|
|
Timeline
Week 1
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-689 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-665 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-763 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-764 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-767 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-770 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-450
Week 2
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-778 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-779 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-783 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-777 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-780 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-782
Week 3
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-780 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-776 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-785 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-787
Week 4
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key RA-1790 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key RESTWS-777
Week 5
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-799 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-791 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-766 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-794
Week 6
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-804
Week 7
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-817
Week 8
Completed database migration (from ActiveAndroid to Room) at
Jira Legacy | ||||||||
---|---|---|---|---|---|---|---|---|
|
Week 9
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-814 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-596 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-805 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-815 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-824 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-823
Week 10
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-810 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-808 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-664 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-809
Week 11
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-811 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-833 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-835
Week 12
Tasks completed:
Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-836 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-829 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-840 Jira Legacy server OpenMRS Issues columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 45c5771b-fa4b-3e43-b34a-c19dc45ccc95 key AC-841
Dev Tracks
- Project Issue Tracker (JIRA) - https://issues.openmrs.org/projects/AC/issues
- GitHub repo - https://github.com/openmrs/openmrs-contrib-android-client
Resources
- OpenMRS Android Client Project 2.8+ - Previous year's GSoC page for this project
- https://github.com/openmrs/openmrs-contrib-android-client - main repo
- https://openmrs.github.io/openmrs-android-client-user-guide/introduction.html - User guide
- https://talk.openmrs.org/t/gsoc-2018-openmrs-android-client-3-x-project/18035?source_topic_id=19471
...