Week 3: GSoC With OpenMRS — 2022

Amr Salah
1 min readJul 1, 2022

--

Hi everyone!

This week was challenging, and challenges are my fuel!

I’ve started with converting matchingpatients package from MVP to MVVM. This package is for the screen that appears when the sync button is activated in the app so that the locally registered patients are compared to similar patients retrieved from the server. The screen has two options: “Register new” and “Merge”.

I’ve faced some bugs with this screen:

  • Patients retrieved from the server have null properties.
  • Merge option does not work and crashes the app.
  • The repository has methods that require callbacks which tightly couples multiple presenters with this repository, so it is difficult to migrate to a ViewModel.

I’ve solved all of these problems, step by step trying to eliminate callbacks in the project and use RxJava instead.

Next week, I am gonna validate everything is working fine for matchingpatients package, and add unit tests for it.

I would like to thank GSoC OpenMRS admins for solving our issue with android client project’s JIRA and Github repo, now we are able to contribute to the project.

Currently, I am preparing for my graduation project’s final discussion, so I may be a bit slower the next week.

Have a great day!

--

--