Significance of Offline Work: Novel Feature of 3.0

In last week’s 3.0 Frontend Squad call demos, @manuel shared the latest work on 3.x Offline Mode for Outreach Workers.

@jdick pointed out to me that there’s something pretty cool going on here, and I thought others should hear this too. Significance: Any widget can use this function and then be used offline. This takes us closer to a future of supporting Offline Mode even in clinics.*

6 min video excerpt below (the embedded video says 30 mins but I’ve cropped it for your convenience).

This is the re-useable function:

Other new functionality we’re including in the first 3.x RefApp release (3.0.0) includes:

  • beautiful Test Results viewers
  • Medication Ordering
  • Patient List functionality

We’re hoping to wrap up the 3.0.0 release this month.

*Caveat: What would still be needed for Offline Mode at Clinics: A solo mobile worker in the field is like “their own island”, but in a clinic there are usually multiple people accessing the server at the same time or right after each other. So, more thought would be needed for how you’d want your clinic to run when it goes offline. Would be have to be very careful about how you handle any kind of data review, b/c you don’t know if it’s current or not.


Using this thread to continue a Slack conversation. Context:

  • @bistenes: “PIH Mexico is very interested in the offline capabilities of MFE, and might prioritize adopting MFE for that. The thing is, their communities are often without internet for days, sometimes weeks at a time. Is offline mode meant to handle that kind of downtime? Data loss after entry in offline mode would be much worse than not having access to the EMR and just recording everything on paper. The data needs to survive in the browser across closing and opening, restarting the computer, etc. Automatic population of the offline list will be essential for them.”
  • @jdick: “I actually thing that the way Manuel implemented this, it would work quite well to support a clinician working in a clinic with unreliable network. One challenge would be trying to “guess” which patients to automatically move to the offline list. Right now, a user has to add patients manually. I don’t think it would be too difficult to some functionality to auto-add members to the offline list. Data loss shouldn’t be a concern other than the expected concerns about the device itself being lost, broken, etc.”
  • @mksd: “Back when we were doing the original design for Offline Mode for Community Health Workers there were voices screaming “let’s not go into the rabbit hole of having an EMR system work offline!” :slightly_smiling_face: However indeed having a UI that tries at every turn to protect users from intempestive lost of connectivity while they are busy capturing data would be absolutely amazing. But the reality is that AMPATH, the ICRC and PIH seem to desire this at the same time and when the architecture of the frontend app seems to allow it. So let’s definitely open that discussion.”

I’m opening this discussion :wink: This also definitely seems like a huge possible immediate value-add of 3.x, IF we can wrangle this well.

Further context: Here is the original requirements page we wrote up for the Offline Mode for CHWs page - we tried to spell out how this is different from an in-clinic scenario: Offline Mode: Requirements & Project Status in 2021 - Projects - OpenMRS Wiki

@bistenes a few questions:

  • How many computers are being used at this PIH Mexico location? I think the main concern that @jdick and I had for the in-clinic scenario was that we didn’t want users to get the impression that actions done by staff member 1 would automatically be updated for staff member 2 (on a different device) if that wasn’t actually possible.
  • David showed me the one massive CES Consult Note form used at the Mexico clinic location. If it’s only one device, and not a large # of pts, our existing offline workflow might meet their needs. Have a look through the workflow here - you can imagine the form being done in this case is not an Outpatient Worker form, but instead, the single Consult Note form. Zeplin - Login
  • You mentioned that “CES really badly needs data integration between their sites.” So - did I misunderstand the need here - is it not just about supporting really unreliable internet for one site; is it also about syncing data across multiple sites?
  • How many computers are being used at this PIH Mexico location?
  • is it also about syncing data across multiple sites?

They have a dozen different “sites,” most of which are in the mountains, some of which are in town. Connectivity in the mountains is poor. In town there may be a handful of computers; at each site in the mountains there is one or two. Right now, each site in the mountains has its own OpenMRS server. We envision using offline mode to support migrating all those servers to the cloud and merging them together. So the vision is just one cloud-based server, with users connecting from all over.

  • David showed me the one massive CES Consult Note form used at the Mexico clinic location.

We should definitely do user research to confirm, but I’m pretty sure that they will need automatic population of the offline list. I would guess that if it maintained the offline list as the last 100 patients that have been seen, that would work great. But again, I wouldn’t take my word for it. There are a lot of interesting questions worth investigating, around how many patients a clinic sees, how regular those patients tend to be, whether there are patients who come in very rarely but for whom having the full history is really especially important, how common are one-offs (patients that come in once and are never seen again), etc.