EHR Automation Without API Access: FHIR vs RPA vs Computer-Use Agents (2026)
CTO & Co-Founder
CTO & Co-Founder at Nirmitee.io. Architects healthcare integrations across FHIR, SMART on FHIR, ABDM and NHCX, writing from production experience taking hospital software from sandbox to go-live.

Updated October 2026
EHR automation, also called EMR automation, uses software to complete routine tasks in an electronic health record, such as scheduling, registration, referrals and billing. Use the vendor's API where it covers the task, an RPA bot for stable screen steps, and a computer-use AI agent for screens that vary. Each route needs contract permission, patient matching and a check that the result saved.
This guide focuses on the hardest case: EHR workflow automation for a step the public API cannot do, such as booking an appointment, updating coverage or working a referral queue.
This guide is for the people who have to approve that choice: a healthtech CTO, a health system CIO or CISO, or a revenue cycle leader. It shows what Epic, Oracle Health and athenahealth APIs can and cannot write today, how a safe agent works step by step, the ten objections your security and finance teams will raise, and how to work out the cost before you sign anything.
Key takeaways
- Check the API first. In Epic's public FHIR R4 capability statement, 14 of 60 resource types allow any write. Appointment, Coverage, Claim, Encounter and Account are read only.
- RPA bots suit fixed steps on screens that rarely change. Computer-use agents suit screens and documents that vary. Most real workflows end up hybrid.
- The model should only propose actions. Patient matching, allowed actions and read-after-write checks belong in deterministic code.
- Give every agent its own EHR account. HIPAA requires unique user identification and audit controls for anything that touches ePHI.
- Judge the project on cost per verified completed case, including exceptions and maintenance.
If you are deciding how to automate a step your EHR API cannot finish
You are probably here because an integration stopped one step short. Your team can read the patient and the referral through FHIR, but the booking, the coverage update or the claim edit still needs a person to click through the EHR. The question is whether to automate that last step, how, and who will answer for it when it goes wrong.
| Who is deciding | The decision | What they fear most |
|---|---|---|
| Healthtech CTO or VP Engineering | Build the missing write into the product, or keep a human step at each customer site | A brittle bot at every customer and a support burden that grows with each go-live |
| Health system CIO or CISO | Approve an agent that works inside Epic or Oracle Health | PHI leaving the boundary, an agent with broad access, no audit trail |
| VP Revenue Cycle or Patient Access | Clear a backlog of eligibility, claim status, referral or scheduling work | "Done" reported on work that was never saved, and a cheap pilot that is expensive to run |
| Legal or the EHR analyst team | Confirm screen automation is allowed | Breaching the EHR contract or a payer portal's terms |
Scope one EHR workflow in two weeks
Bring one step your API cannot finish. We return an API check, a security design, the acceptance tests and a cost model, with a fixed quote or a recommendation not to build. Book a scoping call.
We build these systems as an engineering partner for healthtech companies and provider groups, starting from the API and adding screen automation only where the API stops. If you want the integration side first, see our EHR integration services.
What EHR APIs can and cannot write today
Most EHR APIs read far more than they write, and the gap sits exactly where admin work piles up: scheduling, coverage, charges and work queues. Before choosing any automation method, check the vendor's published capability statement and then check what your organization has actually switched on.
Epic's public FHIR R4 capability statement (software version August 2026, read on 24 October 2026) lists 60 resource types. Only 14 allow a create, update or operation, including Patient, Observation, Condition, DocumentReference, ServiceRequest, Communication and Task. Appointment, Coverage, Claim, ExplanationOfBenefit, Encounter and Account are read and search only in that statement (Epic R4 metadata). Epic's appointment booking runs through STU3 Appointment $find and $book, and only after the health system configures its Cadence scheduling rules, which we cover in our FHIR scheduling API guide. For an Epic-specific write-access check, see our Epic FHIR API integration services.
Oracle Health is more open on writes. Its Millennium R4 capability statement allows create or patch on Appointment, Coverage, Encounter, Patient and others, and Oracle's documentation says the Appointment resource can write new appointments and update the status of existing ones, with limits on which appointment types FHIR can book (Oracle Appointment API). For athenahealth, our scheduling guide found FHIR R4 Appointment to be read and search, with booking through athenaOne's own appointment API. Confirm the endpoints and permissions enabled for your practice through athenahealth or our athenahealth integration services.
| Workflow step | Epic (public R4 statement) | Oracle Health (Millennium R4) | athenahealth | Usual automation answer |
|---|---|---|---|---|
| Book or reschedule an appointment | R4 read only; STU3 $book after Cadence setup | Create and status update, some appointment types excluded | Proprietary athenaOne API, FHIR read only | API where enabled; agent or bot where not |
| Update insurance coverage | Read only | Create, patch, delete | Proprietary API | API on Oracle; screen automation on Epic |
| Eligibility verification automation | Coverage read only | Coverage read and write | Proprietary API | X12 270/271 first (see our 270/271 guide); portal automation for payers without it |
| Referral management automation (work a referral queue) | ServiceRequest create exists, often restricted per customer; work queues have no public write | Depends on build | Depends on build | Agent reads the packet and queue; writes go through checks |
| Charge entry and claim edits | Claim and Account read only | Limited | Proprietary API | Clearinghouse X12 where possible; screen automation for edits |
| Payer portal steps (auth attachments, status) | Not an EHR API question | Same | Same | X12 270/271 and 276/277 first; portal automation for the rest |
One caution: a sandbox capability statement shows what the vendor can expose, not what a given health system has turned on. Each Epic customer enables APIs and reviews apps on its own, so confirm with the customer's Epic team before you design around a write. Our Epic FHIR integration guide walks through that process.
Three ways to automate an EHR step: API, RPA or a computer-use agent
Use the API when it can do the whole step, an RPA bot when the screens are stable and the rules are fixed, and a computer-use agent when the step needs reading varied screens or documents. The table compares them on what actually decides the choice.
| Vendor API (FHIR, proprietary, X12) | RPA bot | Computer-use AI agent | |
|---|---|---|---|
| How it works | Structured calls the vendor supports | Scripted clicks and keystrokes on known screen elements | A model reads screenshots, proposes the next action, and software carries it out |
| Best for | Any step the API fully covers | High-volume, identical steps on screens that rarely change | Steps with varied layouts, free-text notes, faxes or judgment between allowed options |
| Breaks when | The customer has not enabled the API, or the vendor changes versions | A field moves, a label changes, a Citrix upgrade removes the bot's extension | Screens are ambiguous, or it trusts its own report of success without checking |
| Speed per task | Fastest | Fast | Slower: each step needs a screenshot and a model call |
| Main running cost | Vendor fees, integration upkeep | Licenses, bot maintenance after every screen change | Model calls, isolated compute, monitoring, human review of exceptions |
| Controls a CISO will ask for | OAuth scopes, app review, audit | Bot account, credential vault, change control | All of the RPA controls, plus patient-match and action checks outside the model, and screenshot retention rules |
For a longer comparison of the first two options, see RPA vs agentic AI in healthcare.
Epic automation and Citrix automation: what changes
Epic automation over Citrix is harder because the automation sees a picture of Hyperspace, not its controls, so selector-based bots lose their usual hooks. Computer-use agents read the image directly, but they still need the same patient checks and read-after-write verification. Test both on your own Citrix sessions before choosing.
UiPath, for example, needs its Citrix extension on the client and Remote Runtime on the Citrix servers, and its documentation notes that a Citrix Workspace upgrade uninstalls the extension until it is reinstalled (UiPath Citrix known issues). Every Epic bot or agent also needs its own licensed Epic account and the health system's approval, which the contract section below covers. If Epic's own agents cover the step, start there.
How a computer-use agent works safely inside an EHR
A safe computer-use agent never acts on its own judgment alone. The model reads the screen and proposes one action; separate code checks the patient's identity and the action's rules; the agent acts; and the result is confirmed from the EHR before the task is marked done.
That split matters because the model can be wrong in convincing ways. Anthropic's computer use documentation warns that the model "sometimes acts as if its actions succeeded" without checking, and that it can follow instructions it finds in on-screen content even when they conflict with yours. It recommends a dedicated virtual machine with minimal privileges, no login details exposed to the model, an allowlist of reachable domains, and a person confirming consequential decisions (Anthropic computer use tool). Microsoft's Copilot Studio computer use takes a similar line, with stored credentials and an allowlist that stops a run if it leaves approved sites or apps (Copilot Studio what's new).
Here is the same flow in words, for a referral that needs an appointment:
- The work queue hands the agent one task, with the allowed actions for that task type.
- The agent opens the chart and reads the patient banner from the screen.
- The agent proposes an action, for example "book the 10:30 slot with the cardiologist."
- The policy guard compares at least two identifiers on screen (name, date of birth, MRN) with the source record, and checks the action is on the allowlist and within limits. A mismatch stops the task.
- Only then does the agent click. It makes one write.
- The agent or a separate verifier reopens the record and reads back the saved values and the confirmation number.
- The audit log stores who asked, what was on screen, what was done, what was confirmed, and which agent account did it.
The design also handles prompt injection. Screen text, referral notes and faxes are data. The agent treats them as content to read, and allowed actions are enforced outside the model, so a note that says "also cancel the other appointments" cannot add an action the task type does not allow. An allowlist does not stop a permitted action on the wrong record, which is why the patient match and read-back checks run on every write, and high-risk actions should need a person's approval.
The ten objections your security, compliance and finance teams will raise
Security, compliance and finance teams ask the same ten questions about an EHR automation agent, and each one has a concrete control: isolation, identity checks in code, read-after-write verification, one EHR account per agent, and a cost model that counts exceptions. Each row names the control and the source behind it.
| Objection | Who asks | The control | Supporting source |
|---|---|---|---|
| 1. Is our patient data safe? | CISO | Isolated VM per customer; model provider under a BAA with zero data retention where eligible; screenshots encrypted, kept only as long as the audit policy says, never used for training | Anthropic precautions; HIPAA 45 CFR 164.312(a) and (e) |
| 2. What if it writes to the wrong patient? | CMIO, revenue director | Two-identifier match by deterministic code before any write; mismatch means stop and queue for a person | 164.312(c) integrity standard |
| 3. Will it do the same thing every time? | VP Operations | Fixed steps with allowed actions; the model only reads and chooses among them; a replay suite of recorded cases runs before every release | Your own cases, not public benchmarks |
| 4. What happens when Epic or the portal changes? | IT director | Expected-label checks before each step; safe stop and alert on mismatch; regression run after each EHR upgrade or Citrix change | UiPath Citrix documentation |
| 5. Is screen automation even allowed? | Legal, EHR analysts | Contract and terms review before the build; a licensed account per agent; payer portal terms checked payer by payer | Your EHR and portal agreements |
| 6. How do we know it really finished? | Revenue director | Read-after-write from the EHR, with the confirmation number or a screenshot stored as evidence | Anthropic note on unverified success |
| 7. Who owns it when it fails? | COO | Exception queue with a named owner, an SLA and manual takeover; daily counts of completed, stopped and failed tasks | Operating design |
| 8. Can we audit every action? | Compliance | Unique EHR account per agent, so the EHR's own audit trail shows it; a linked log of request, screen, action, verification and reviewer | 164.312(a)(2)(i) and (b) |
| 9. Will it still save money after maintenance? | CFO | Cost per verified completed case, including model, compute, monitoring, maintenance and human review | CAQH Index 2025 manual vs electronic cost |
| 10. Why not FHIR, RPA or our current vendor? | CTO | API-first assessment from the capability statement; RPA where screens are stable; an agent only for the remainder | Epic and Oracle R4 capability statements |
Two more come up often. Multi-factor authentication on agent accounts: never switch MFA off for the agent; use the EHR's supported service-account options or a person-held second factor at session start. And "CMS-0057-F will fix prior auth soon": the Prior Authorization API requirements apply to impacted payers from January 2027, and the 2025 CAQH Index found 63% of medical plans were still building their ePA FHIR APIs, so portal work will not disappear for commercial plans outside the rule (CAQH Index 2025).
For the security architecture behind these controls, see our guide to building HIPAA-compliant AI agents, and for how agent actions show up in an audit, agent audit trails.
What happens when something goes wrong
When something goes wrong, the agent should stop safely or retry once, and it checks the record before any retry so it does not repeat a write blindly. Four failures need a planned response in any screen automation: the wrong patient, a changed screen, a timeout after a click, and a save that did not stick.
- Patient mismatch. No write happens. The task goes to the exception queue with the screenshot, so a person can see why.
- Changed screen. If the expected labels are not where the workflow expects them, the agent stops before acting and engineers get an alert. After every EHR upgrade, the replay suite runs before agents go back to work. Our integration monitoring and support covers these alerts, ownership and recovery after go-live.
- Timeout after a click. The agent checks the record first. If the save happened, the task is marked done with no retry. If not, it retries once, after re-checking the screen.
- Bad save. If the read-back value does not match, a person fixes it and the case feeds the next test run.
What a production system contains
A production EHR automation system needs an orchestrator, a policy guard, a secrets vault, an isolated runtime, a verifier, an exception queue, an audit log and monitoring. The agent is one component; identity, policy, verification and audit are what let a security team approve it, and they take most of the engineering time.
- Orchestrator keeps durable state for every task, so after a crash or restart it checks the last confirmed state before acting again.
- Policy guard holds the allowed actions per task type, the patient-matching rules and the approval thresholds.
- Secrets vault injects the agent's EHR credentials into the session. The model never sees them.
- Isolated VM per customer runs the computer-use agent, any RPA steps and the API client side by side, because most workflows mix all three.
- Verifier, exception queue, audit log and monitoring turn a demo into something an operations team can run: success rate, safe stops and screen-change alerts every day.
HIPAA's technical safeguards shape several of these choices directly. The Security Rule requires unique user identification and audit controls for systems that hold ePHI, plus integrity and authentication controls (45 CFR 164.312). In practice, that means one EHR account per agent, never a shared staff login, and logs that tie each change to that account.
Is screen automation allowed in Epic and payer portals?
Whether screen automation is allowed depends on your contracts. Epic does not publish a public policy on bots or Hyperspace automation, and customer agreements are private, so the only reliable answer comes from the health system's Epic team and its contract.
Three practical points help. First, many software licenses count a bot as a user, so each agent usually needs its own licensed account. Second, payer portals have their own terms, checked payer by payer, and some payers have started pushing back on automated traffic. Third, EHR vendors are building their own agents: Epic has announced agents for clinical, patient and revenue cycle work and an Agent Factory for customers to build their own (Fierce Healthcare). If a native option covers your step, it will usually be the easiest one to get approved.
What it costs, and how to work out your return
The number that matters is cost per verified completed case: everything you spend on automation, divided by the cases the EHR confirms as done. Compare it with what the same case costs your staff today, including the exceptions the automation sends back.
For a default manual cost, the 2025 CAQH Index puts the average medical provider cost of a manual administrative transaction at $8.03, against $2.65 for an electronic one (CAQH Index 2025). That figure is an average across administrative transaction types, so treat it as a placeholder, not the cost of your claim-status or referral work. For EHR steps such as booking referrals, measure your own: minutes per case times loaded hourly cost.
| Input | Symbol | Where to get it |
|---|---|---|
| Cases per month | V | Work queue or report counts |
| Manual cost per case | c | Minutes per case times loaded wage, or the CAQH default of $8.03 |
| Straight-through rate | s | Measured in the pilot on your own cases |
| Monthly running cost | R | Model calls, compute, monitoring, maintenance hours, vendor fees |
Monthly saving = (V × c) − (R + (1 − s) × V × c), and cost per verified case = R ÷ (s × V).
A worked example, with assumptions labelled as assumptions: 3,000 claim-status cases a month at the CAQH average of $8.03, used here as a placeholder, cost $24,090 manually. If a pilot shows an 80% straight-through rate (assumption) and running costs are $6,000 a month (assumption), the remaining 600 exceptions cost $4,818 to handle by hand. The monthly total falls to $10,818, a saving of $13,272, and each verified automated case costs $2.50. Replace every assumption with your own measured numbers before you take this to finance; the pilot exists to produce them.
Watch three costs that pilots tend to hide: the human time spent on exceptions, the engineering time after every EHR upgrade, and model costs on long screens. If the straight-through rate stays low, the right recommendation is to leave that step manual and spend the budget elsewhere.
Benchmarks are not your EHR
Public benchmarks measure general desktop tasks, so they say little about how an agent will do in your Epic build. OSWorld, a benchmark of 369 real computer tasks, found that people complete 72.36% of them while the best model at publication completed 12.24% (OSWorld). Scores have climbed sharply since, on tasks that involve no PHI, no Citrix session and no hospital build.
The only number that should drive a decision is the one from your own recorded cases, replayed in a test environment, with pass rules agreed before the test starts.
How we run a pilot
We start with one workflow in a test environment, outside production. The pilot answers one question with evidence: can this step be automated safely for less than it costs today?
- Walk the workflow. We sit with the people who do it, record the steps and the exception types, and count the volume.
- Check the API first. We read the EHR's capability statement and the customer's enabled APIs, and check X12 options for payer steps. Anything the API can do, it does.
- Review contract and security. We confirm screen automation is allowed, design the agent accounts, map where PHI goes, and agree retention for screenshots and logs.
- Agree pass rules up front. For example: zero writes to the wrong patient, every write verified, safe stop on every changed screen, and a target straight-through rate.
- Replay recorded cases. We run the agent on real case types in the test environment, including deliberate failures: wrong identifiers, moved fields, timeouts and expired sessions.
- Report cost per verified case. You get the measured numbers, the formula filled in, and a recommendation: API, RPA, agent, hybrid, or do not automate.
EHR automation feasibility and risk assessment
For healthtech companies, provider groups and RCM teams with a workflow their EHR integration cannot finish.
- An API check for your workflow against the EHR's capability statement and your enabled APIs.
- A security design: agent identity, PHI data flow, screenshot and log retention, and the BAA chain.
- A failure analysis and the acceptance tests the automation must pass before go-live.
- A cost model with your volumes, and a fixed-price quote for the build, or a clear recommendation not to build.
Two weeks. You get a fixed quote after a short scoping call. Book a scoping call, or read about our healthcare AI agent development.
Who sells EHR automation today
Choose a packaged product when your workflow is standard and the vendor's controls satisfy your security team, a platform when you have builders who can own the healthcare controls, and an engineering partner when the workflow is specific to your product or EHR build.
| Option | Approach | Best for | One limitation |
|---|---|---|---|
| Novoflow | Computer-use agents that work inside the practice's EHR with their own login, plus voice agents | Clinics that want scheduling and front-office work done as a service | Their workflows, their roadmap |
| Infinitus | AI voice agents that call payers for benefits and prior auth | Benefit verification at volume | Phone channel only; some payers push back on automated calls |
| Epic native agents and Agent Factory | Agents built inside Epic | Epic customers whose step is covered | Epic customers only, on Epic's timeline |
| Microsoft Copilot Studio computer use | Build your own computer-use agents | Teams with Microsoft licensing and in-house builders | You own the healthcare controls and the testing |
| RPA platforms (UiPath, Blue Prism, Automation Anywhere) | Selector-based bots, with image fallback | Stable, high-volume screens | Maintenance after screen and Citrix changes |
| Nirmitee | Engineering partner: API first, then RPA or computer-use agents with the controls above, run in your cloud or ours | Healthtech products and provider groups with custom workflows | Not an off-the-shelf product; every engagement starts with an assessment |
If you are weighing a product against a build, our build vs buy framework for healthcare AI agents has a three-year cost model, and our review of AI agent platforms with a HIPAA BAA shows which platforms sign one.
Where to start
Pick one step that a person does many times a day, that your API cannot finish, and that you can test outside production. Count the volume, write down the exception types, and check the capability statement. If the API covers it, use the API. If not, the decision flowchart above tells you whether a bot or an agent fits, and the cost formula tells you whether it is worth it.
Related reading: which healthcare workflows to automate first, claim status automation with X12 277, and how to choose prior authorization software.
Ready to scale?
Talk to our healthcare engineering team about building, integrating, and shipping faster.
Frequently Asked Questions
Can you automate Epic without an API?
What is EHR automation?
What can Epic's FHIR API write?
What is a computer-use agent in healthcare?
Is RPA or a computer-use agent better for EHR automation?
How do you automate Epic over Citrix?
What happens if an EHR automation times out after saving?
Is a computer-use agent HIPAA compliant?
How much does EHR automation cost?

