Referral intake and EMR entry, without the typing

OpenAdapt learns an EMR task from a demonstration, then types each new referral as a program: the same steps every time. A person approves each entry. Where your EMR allows a second read, it reads the saved record back. The details must already exist as data, such as an eReferral, a web form or an AI fax reader's output.

Book a 30-minute callSee the processes

Updated 2026-10-14

Real recordings, sped up. Synthetic patients; read-back by the test setup.

Who it's for

  • Clinics and specialty practices whose staff key referrals and new patients into an EMR.
  • Revenue-cycle teams that look up eligibility and claim status in payer portals.
  • Healthcare AI teams whose product reads referrals but can't write into the clinic's EMR: see For healthcare AI teams.
  • Dental front desks: see Dental front desk.

OpenAdapt doesn't read faxes. If referrals arrive by fax, a person or an AI fax reader you choose turns them into data first; OpenAdapt takes it from there.

What it takes over: in a published time study, a faxed referral took about 12 minutes (719 seconds). About 4 minutes of that is typing: finding the patient, demographics, insurance, creating the referral and logging it. Reading the referral and calling the patient stay with your staff. So far we've recorded the new-patient part, 12 fields.

Processes

  • Tested

    Referral intake, new patient

    8 synthetic eReferrals on OpenEMR: 7 saved with 12 of 12 fields read back by our test setup; 1 stopped at the duplicate check.

    Referral intake
  • Tested

    Booking the referred patient

    Our scheduling app over a real remote-desktop connection: 3 of 3 bookings confirmed, 3 of 3 wrong-patient runs stopped.

    Booking
  • Not recorded yet

    Filing reports to the right chart

    No filing run yet. In our look-alike test, it stopped on 5 of 5 look-alike patients.

    Document filing
  • Tested

    Patient note entry

    On the public OpenEMR demo: 19 of 20 notes saved, judged by a screen check.

    Patient notes
  • Tested

    Eligibility look-ups

    On openIMIS, not a US payer portal: 3 of 3 active policies confirmed, 3 of 3 expired stopped. Not tested on a dental or payer portal.

    Eligibility
  • Not recorded yet

    Billing audit

    A monthly billing or coding audit reads notes and bills in the EMR and lists what doesn't match. It saves nothing. We haven't recorded it on any system yet.

Dental eligibility has its own page. Checked exports and worklists are not recorded yet.

Can it check the record in your setup?

OpenAdapt calls an entry "Done and checked" only after it reads the saved record back another way. Re-reading the screen it typed on doesn't count.

Your EMR offersResult OpenAdapt can give
Read-only API access or a reporting databaseDone and checked, at the time of the run
A report you can export on demandDone and checked, once the report is read
No second way to read the recordIt stops, or ends "Finished, not checked". We don't run saves this way.

Some EMR vendors charge for read access or take weeks to enable it. We check this in the access check, before we build. How the record check works.

Questions

Which EMRs does it work with?

It works through the screen, the way your staff do, so it can in principle run on an EMR in a browser, an installed program or over remote desktop. We've recorded only OpenEMR, an open-source EMR. We have no partnership with any EMR vendor, and a real Citrix session isn't tested yet.

Does patient data go to an AI model?

In the runs on this site, the program made 0 AI model calls. It runs on a computer you control. See Security.

Do we still need staff?

Yes. A person approves each entry, answers the stops, and reads anything that arrives on paper or by fax.

Should we use our EMR's API instead?

If your EMR offers an approved API for the task, use it. See How do you get data into an EMR without a usable API?.

What does it cost?

Free to run locally. Team from $499 a month. Healthcare and enterprise qualification sprints from $15k. Pricing.

Where this stands

Tested on OpenEMR (open source) with synthetic patients. Not yet run on a commercial EMR or a real Citrix session.

We work hands-on with a small number of early-access clinics, insurers and healthcare AI teams. Your first workflow is built with you and tested on test records before it touches a real one.

Sources

  1. OpenAdapt on OpenEMR 8.0.0.3 (open-source EMR), local test copy, 11 Oct 2026. One program ran over 8 synthetic eReferrals in one batch, with 0 AI model calls. 7 new patients were saved; our test setup read each chart back through the OpenEMR API and database, and 12 of 12 fields matched the referral. The 8th (Rosa Delgado, same name as an existing chart, different birth date) stopped at the EMR's duplicate check; afterwards no new chart existed. The engine labels the saved runs "Finished, not checked" (practice profile) and the stop "Check the record".
  2. UCSF Pediatric Access Center time-and-motion study, JAMIA Open 2020;3(3):405: 719 seconds per faxed referral (mean, 7 staff). The typing steps: find the patient 16 s, demographics 77 s, insurance 65 s, create the referral 59 s, log it 14 s; 231 s in all (our sum of the study's step times). Calling the patient or the referring office takes 175 s.
  3. OpenAdapt remote-desktop test, 30 Jul 2026: a fictional clinic scheduling app over a real remote-desktop connection (FreeRDP, not Citrix), synthetic patients. 3 of 3 bookings confirmed by a read-only database query; 3 of 3 wrong-patient runs stopped with 0 rows written; 3 of 3 runs on a changed screen stopped. 0 AI model calls.
  4. OpenAdapt look-alike test set (synthetic rows), 2026: 5 of 5 look-alike patients stopped, 2 of 2 matching patients let through. On screens read only as pixels, 43.6 to 49.3% false stops when the right patient's record number has look-alike characters (O and 0, l and 1).
  5. OpenAdapt engine benchmarks, OpenEMR public demo, 8 Jul 2026 (docs/BENCHMARKS.md): an 18-step add-a-note task on the public demo (synthetic patients, resets daily). The compiled program passed 19 of 20 runs at 39.2 s median with 0 model calls; in the 20th the note stayed in the unsaved form. A claude-sonnet-5 computer-use agent passed 10 of 10 at 70.4 s median, about $0.55 a run at list price. Both judged by the same screen check of the saved note, not a database read. Engine version 0.1.0.
  6. OpenAdapt on openIMIS 25.10 (open-source insurance system, not a US payer portal), July 2026, synthetic members: 3 of 3 active policies confirmed, 3 of 3 expired policies stopped, 0 active policies stopped by mistake. Checked by a read-only database query of the policy, product and dates.

See it on your process

Bring one task your team types every day. We'll tell you whether it fits, and what a test on your own system would cover.