We're updating the issue view to help you get more done. 

Internet connectivity and remote access


Many destinations have, at least, low bandwidth internet connections in the evening. Let fEMR detect that internet has become available and allow a remote connection to the system. Use cases for this:

Use Cases

  1. Be able to perform software updates so that

  • Systems can ship out early

  • Systems can become more permanent in clinics without becoming outdated

  1. Be able to perform database backups and merges so that

  • Data can be safely backed up before travelling home

  • Systems can sync to a unified global database

  1. Be able to access logs so that

  • Issues can be resolved quickly during a deployment

Solution Components

  1. Internet Connectivity: Play Framework Tasks allow fEMR to schedule checks for internet connectivity

  2. Remote Access: Jsch creates a reverse SSH tunnel to a central fEMR server for us to hook into

  3. Orchestration: Central fEMR app for orchestration of online notifications and system identification

  4. fEMR Notifications: Alert for an administrator to show that an update to fEMR is available

Component Configuration

  1. Internet Connectivity: On/Off switch, timeout window, internet check window, central server endpoint, awake signal window


  1. Internet connectivity check: https://github.com/FEMR/femr/commit/dddc749359d94786b923a08e46861500c46459cf

  2. Remote SSH access: https://github.com/FEMR/femr/commit/10ea6fe02942d0fff75edfbea2648d840d2d7381

  3. Remote SSH access connectivity fix:

  4. Fix for mass process spawning on AWS server:

  5. Turn off SSH attempts if no internet is found:

  6. Change default configuration to off and move config into application.example.conf





Kevin Zurek

Additional Assignee