OpenMRS O3 Offline Mode

OpenMRS offline mode update

Introduction

Tendayi Mutangadura is my name, and I’m a product management fellow at OpenMRS, working closely with my mentor, Grace Potma. In this post, I will inform and educate the OpenMRS community about the new O3 Offline Mode. I have been collaborating with the Mekom team on this project and helping with QA activities and bug tracking.

Offline mode summary

Offline data collection refers to data that is collected in environments with slow or no internet connectivity. This project aims to support offline mode for the scenario of an outreach worker leaving a clinic or health centre going to remote sites where there is no internet accessibility. It enables the health worker to collect patient information offline using a tablet or mobile phone, which will be synced back to the main server when online.

Demo Video of Offline Mode MVP:

Important things while collecting patient data offline:

  • Users need to successfully log into OpenMRS while online before they select offline mode and go for an outreach exercise
  • Users need to understand when they are offline in the EMR
  • Device storage space is very limited since users will be using a mobile device
  • The data needs to sync with the main server at some time

Offline mode features:

After a successful login into OpenMRS, select Offline Tools:

The Offline Offline home screen shows the following screen with widgets as follows:

Forms – is for viewing the forms available offline

Patients- this is for showing the offline patients available

Offline actions—this is viewing the actions or records pending sync with the main server when online.

Search – this is for searching a patient from the list

User Workflow while Offline

Users are able to perform the following:

  • Login
  • Add patients to the Offline LList
  • Visit the Offline home
  • View Offline patients
  • View & Complete & Complete Forms
  • View a slimmed-down version of the patient chart while offline
  • View upload offline actions (success)
  • See success or failure ofView uploading offline actions (fail), as shown below:

Workflow Demo video link: Loom | Free Screen & Video Recording Software | Loom

Important Links

The following are important link to know more about the offline mode.

Designs: Public version here. (If you already have a Zeplin account with OpenMRS, you can see the more detailed designs here.)

Technical Documentation & Design: Index – O3 Docs

Jira Epic: O3-538 - Offline Mode (for CHWs) v1 IN PROGRESS

Repo: openmrs-esm-core/packages/apps/esm-offline-tools-app at main · openmrs/openmrs-esm-core · GitHub

Talk Thread: about the potential of this work to help with clinic offline mode - see here.

Project status and scope

The project does not provide offline collaboration like the synchronization google docs does. The scope of this project is limited. The offline mode functionality is not a redesign of the EMR and the look and feel is still the same.

Users are given the opportunity to directly interact with the offline mode functionalities of the EMR during user acceptance testing, which the Mekom team is now busy conducting with ICRC. The functionality is rigorously evaluated during this crucial activity before receiving go-live approval. After the UAT, feedback will be collected, and any additional offline mode improvements will be made before the production launch.

5 Likes

This post and 3 minute video was excellent. Important work and news. Thank you @tendayi.mutangadura and MEKOM!

Hello @tendayi.mutangadura sincere claps for your work. permit me ask during this offline mode, I saw you on the video displaying the patient in the offline and updating, then deleting. Firstly we are offline and on a device like a tablet or a phone, we do not have the database so where is the collected data stored ? Again what happens when we click update patient? here we are still in the offline mode and yet we click update. I am trying to understand please. Could you give more info about that. Is there something i am missing? thanks

Hi @njiddasalifu , We explored this quite a bit and are moving away from this approach due to the following reasons:

  • Data is stored in the browser and not encrypted. To meet our data protection rules, data must be encrypted and therefore the use will need to enter a password before going offline (and this may be different from their OpenMRS login password).
  • There is a risk that users might use private browsing and closes the browser - which deletes the cache stored.
  • Users sometimes share computers to use OpenMRS,. When they are offline, the previous user’s account will be pulled up and they won’t have the password (or use the same password which is not the correct approach).

However, this functionality is useful when the user experiences temporary internet outage and need to continue working on the patient file. But you still need to enable your forms and patients to be available offline first. For this reason, there is a feature in the patient grid that allows the user to add patients offline in bulk and you just need to enable the forms:

There is a discussion call around offline that you might be interested in attending: O3 Offline Mode discussion call - Development - OpenMRS Talk

Best regards, John

Thanks @jesplana this is a complete clear off. May I have an idea on the approach you are taking to it now?

This is what we’re proposing but we need the community’s guidance to make sure that the approach is something that is supported by the community: image

Here’s the link to the GSoC 2024: Summer of Code 2024 - Resources - OpenMRS Wiki

1 Like

Great @jesplana this is a great topic to work on. I will be interested in taking a close to the project and why not apply for it during gsoc.

1 Like