How EHR Sync Works
When you press Send to EHR, Doctora creates a write job containing a snapshot of the encounter data. What happens next depends on your EHR type:
- Cloud EHRs (RevolutionEHR, Eyefinity): The Doctora browser extension picks up the job, connects to your EHR through its open tab, and writes fields using the EHR's own APIs. Everything happens locally in your browser.
- Local EHRs (CrystalPM, OfficeMate): The Doctora Desktop Agent picks up the job from the cloud, connects to your local EHR server, and writes the data directly---no browser tab needed.
If any link in that chain breaks, the sync will stall or fail. Find your EHR type below for troubleshooting steps.
For Cloud EHR Users (RevolutionEHR, Eyefinity)
When sync starts, a progress overlay appears on your EHR tab with a progress bar and current step. When it finishes, you see a green success screen, a blue success-with-warnings screen, or a red error screen. Press ESC at any time to dismiss the overlay without losing data.
"EHR session expired"
Your EHR logged you out due to inactivity. Switch to your EHR tab, log back in, then retry the job in Doctora. You do not need to navigate to a specific page---just make sure the login is active.
"Your EHR is open but you are not logged in"
The extension detected your EHR tab but could not find a valid session. This often occurs after your computer wakes from sleep. Log into your EHR, wait for the page to fully load, then retry.
"Content scripts failed to load"
The extension's content scripts did not inject into the EHR page. This can happen after a browser update or if the EHR page loaded before the extension initialized. Refresh your EHR tab (Ctrl+R / Cmd+R) and retry. If the problem persists, close the EHR tab completely and open a fresh one.
Sync hangs or never completes
The progress bar is stuck with no status updates. Common causes: the EHR is on a login screen instead of inside a patient encounter, a modal is blocking API calls, or the EHR server is temporarily unresponsive. Switch to your EHR tab, confirm the correct encounter is open, close any popups, and retry.
Wrong patient
The extension reads patient and encounter IDs from whatever chart is open. If you navigated to a different patient after clicking Send to EHR, data may go to the wrong chart. Always confirm the correct encounter is open before sending.
For Local EHR Users (CrystalPM, OfficeMate)
The Doctora Desktop Agent runs in your Windows system tray (near the clock). Right-click the Doctora icon to check status. A healthy agent shows Status: Connected and EHR: Connected with a recent heartbeat.
Agent not running
The Desktop Agent is not started or has crashed. Open it from your Start menu or desktop shortcut. If it was set to auto-start but is missing, launch it manually. If it crashes immediately, restart your computer and try again.
Agent showing "Disconnected"
The agent lost its connection to the Doctora cloud, usually after a network interruption. Right-click the Doctora icon and select Reconnect. If it does not reconnect within 30 seconds, check your internet connection. The agent requires outbound HTTPS access to *.doctora.io.
Local EHR server unreachable
The agent is connected to Doctora but cannot reach your local EHR server. Confirm your EHR software is running on the server machine. For CrystalPM, check that the server application and database service are active. For OfficeMate, verify the OfficeMate Server is running on your network. If the server was recently restarted, give it a minute to initialize.
Pairing expired
The link between the Desktop Agent and your Doctora account has expired. Go to Settings > Devices in the Doctora web app, click Pair Device, and enter the pairing code shown by the Desktop Agent. Once paired, retry the failed job.
Agent needs update
An outdated agent may not support recent sync protocol changes. Right-click the Doctora icon, check for updates, install if available, and restart the agent.
Common to All EHR Types
Partial sync / some fields skipped
Some clinical fields in Doctora do not have a corresponding mapping in your EHR. This is normal. Check the job details to see which fields were skipped and enter those values manually.
Fields missing from the synced data
Two common causes: Template scoping---Doctora only extracts fields defined by the encounter's template, so fields outside the active template will not be sent. AI extraction gaps---occasionally the AI does not capture a finding from the dictation. Review the structured data in the Doctora editor before sending.
How to Retry a Failed Job
Failed jobs appear in the pending jobs banner at the top of the Doctora app with the error reason and a Retry button. Fix the underlying issue first, then click Retry. You can also cancel a stuck job by clicking the X icon. Jobs are never silently discarded.
When to Contact Support
Most sync issues resolve with a login refresh, page reload, or agent restart. Contact support if:
- The same error occurs on every retry after confirming your EHR is accessible.
- You see an unrecognized error message.
- Mapped fields in the Doctora editor are consistently skipped during sync.
- A job is stuck in "claimed" for more than five minutes with no progress.
Reach out via the Help menu or email support@doctora.ai. Include the encounter date/time, the error message, and (for agent users) the agent version.