We are looking to use OpenEMR in a temporary clinic/hospital setting during disasters (hurricanes mostly). I’m trying to figure out the best way to go about this. Since internet access may be limited or intermittent, it seems like hosting it locally on a portable server would make the most sense.
If we went this route, could we then use laptops and/or tablets at the site for charting purposes, assuming they had local network access to the server? Would there be any advantages or considerations if we hosted it locally but ended up having stable internet access?
Has anyone done something similar and willing to share your experience and how you accomplished it/what your setup is? It would be greatly appreciated!
This is one of the things I find most compelling about a tool like OpenEMR, although I’ve never had the need to use it this way. While I think this has been done a few times before in various ways and for various reasons (see e.g. OpenEMR on Raspberry Pi 400). I think what I’d be thinking about is this:
If this is a disaster scenario, I’d run OpenEMR independently on each laptop, and worry about syncing/merging data later, when you can be sure of stable network and power. It’ll create some issues, such as two different patients having the same id on different laptops, but those can be overcome easily enough later, when there’s time. (Or, if you have time to prepare, offset the patient ids in each install by a large enough number.) I’d also give some thoughts to ways to manage backups, either to a local sturdy drive and/or to the cloud if internet exists, but is intermittent.
If you arrive and find out that power and network are not a problem, then you can always expose one of the laptops on a local network and make all the roamers use it instead of their local installs.
At a high level it seems to me that it’d work great.
@juggernautsei didn’t you help someone setup something in Haiti running on a solar power setup w/ some of their disaster setup? Want to chime in here?
Also I believe @chaudhariatul was doing something w/ OpenEMR offline work and syncing using AWS Greengrass technology so he might be able to chime in also.
That’s right. We built an AWS IoT Greengrass solution that daily would ship the logs and sql database backups to S3 which can be used to restore in event of disaster. This uses MySQL binlog (CDC - Change Data Capture).
I have this setup for a few private clinics in India and worked well in a PoC with Raspberry Pi. These clinics do not have complex workflows and daily less than 100 patients for 1 clinician. It’s not tested for scale but it’s been used for a year with few power outages and the box came online without issues. It runs over 4G/LTE modem connected to the Raspberry pi, however you can customize this with any other form of internet.
I currently have a protection for short term workflow changes during outage: Downtime mode runs a Service Worker that caches a facility snapshot to IndexedDB. If the network drops, nurses continue entering arrivals, vitals, and status notes into a browser-side write queue. On reconnect, the sync endpoint replays the queue in order.