Sync locally hosted ODK central with ODK cloud

I am running a mass screening and prevention service in a remote/poorly connectivity environment. We will set up mobile clinics at community locations and invite people to participate in screening. The screening process will include multiple stations with dedicated staff. Participants will register at one station, then be directed to the next station. There will be a data capture device at each station. I want each capture device to be able to retrieve registration ID data and see data captured at previous stations, without devices being connected to the internet.

My idea is to have a locally hosted ODK central server at the mobile screening clinics. The capture devices will be connected to that server on the local area network, thereby being able to retrieve data in real time that was captured on other devices.

Once we are able to access the internet, then I want to sync the data stored on the local ODK central server with an ODK cloud server. All clinics will have a locally hosted ODK central server, and will sync periodically.

Another solution would be to have capture devices following participants around the clinic, rather than allocated to each station. This is not feasible due to the throughput of the screening clinics.

Is there a tool to sync data between ODK central instances?
Any suggestions for other ways to solve this data capture challenge?

Welcome to the ODK forum, @j_zhill! We're glad you're here. When you get a chance, please introduce yourself on this forum thread. I'd also encourage you to add a picture as your avatar because it helps build community!

Sorry for the delayed response. Unfortunately, there is not a tool for the functionality you describe. I think it's a quite difficult problem, especially when it comes to resolving conflicts if the same data are edited in multiple offline places between syncs.

The (in-progress) work on entity-based data collection touches on some of your desired features but not the multiple server nodes.

1 Like