CTO, Puppeteer AI

Ian Spektor

Ian Spektor is the CTO of Puppeteer AI, the company behind Recupra. He leads engineering and technology across the company, building the AI agents, integrations and infrastructure that let healthcare teams reach their patients at scale, securely and in line with HIPAA.

Ian Spektor on LinkedIn

Articles by Ian

September 21, 2026 · 5 min read

Appointment Reminders in Akute: No Confirmed Status

Akute is the fastest EHR in this series to connect to, and its published API has no confirmation state on an appointment. A field-level look at what that access actually costs, why the missing status is more honest than it looks, and where the confirmation record has to live instead.

Read more

September 15, 2026 · 7 min read

Dental Recall Automation for Open Dental Practices

Most EHRs make you infer recall from appointment history: pull the last visit, apply an interval rule, decide who's due. Open Dental doesn't. Recall has its own table, its own status field, its own interval syntax, and a short-notice ASAP list you can write to directly. A field-level look at what that changes.

Read more

September 14, 2026 · 7 min read

No-Show Recovery for Tebra (Kareo) Practices

Every other EHR in this series exposes its schedule as REST or FHIR JSON. Tebra's practice management API is SOAP, with XML envelopes and a technical guide distributed as a PDF rather than published online. That single fact changes the estimate, the tooling, and the architecture of a no-show recovery project built on top of it.

Read more

September 11, 2026 · 6 min read

Patient Recall in Elation Health: Finding True No-Shows

Elation Health splits a missed appointment into two fields: a top-level status and a status_detail that only applies when the visit was Not Seen. That structure decides how a recall workflow separates true no-shows from patients who walked out, and how it keeps cancellations out of both piles.

Read more

September 10, 2026 · 6 min read

Patient Recall Automation for DrChrono Practices

DrChrono's REST API is one of the friendlier EHR integrations to build against, but it caps you at 500 calls an hour. That limit decides how a recall system syncs, ranks, and contacts patients, not just how fast it runs.

Read more

September 9, 2026 · 6 min read

Appointment Reminders for eClinicalWorks Practices

eClinicalWorks splits its FHIR APIs across two developer portals, and every deployment exposes a different subset of resources. The capability statement is the only way to know which one you're looking at, and it should shape how you build the reminder loop.

Read more

September 7, 2026 · 6 min read

Filling Cancelled Appointments in Avon Health

Avon Health's scheduling API reads like a modern developer product. Two of its design choices, writable appointment types and native group visits, change what you can do when a slot opens up.

Read more

September 4, 2026 · 6 min read

Appointment Scheduling API for Cerner and Oracle Health

Cerner, now Oracle Health, speaks FHIR, which makes it look familiar. The parameters don't behave the same way a slot search that works verbatim against another FHIR server will return nothing here.

Read more

September 3, 2026 · 6 min read

Filling Cancelled Appointments in athenahealth

athenahealth treats an open slot as an object you can create, book onto, and hold. That last one, freezing a slot mid-offer, is a feature almost no other EHR in this series exposes.

Read more

September 2, 2026 · 6 min read

Appointment Status in Medplum: Who Actually Confirmed

A Medplum appointment has a status, and so does every participant on it. They move independently, and code that only reads the first will report a booking as confirmed when the patient never answered.

Read more

September 1, 2026 · 6 min read

Waitlist Automation in Medplum

Medplum is one of the few EHRs where a waitlist is real appointment state instead of something you build alongside it. What that changes, and what it doesn't.

Read more

August 31, 2026 · 6 min read

No-Show Follow-Up in Canvas Medical

Canvas has a dedicated no-show status, and three other statuses that look like it but aren't. Getting the distinction right decides who you contact.

Read more

August 28, 2026 · 6 min read

Fill Cancelled Appointments in Canvas Medical

Canvas treats an open slot as a resource you can query rather than a number you calculate. Here is what that gives a cancellation workflow, and what it still leaves you to build.

Read more

August 27, 2026 · 5 min read

Using Healthie Patient Tags to Drive Recall

Tags are the only thing in Healthie shaped like a list, so every recall workflow ends up built on them. Here is where that stops working.

Read more

August 26, 2026 · 6 min read

Automating Appointment Confirmations in Healthie

Confirmation in Healthie is one boolean, with no timestamp, no attribution, and no link to anything else. Here is what you have to build around it.

Read more

August 21, 2026 · 7 min read

How to Fill Cancelled Appointments in Healthie

A field-by-field walkthrough of what Healthie's scheduling API gives you when an appointment is cancelled, and where you have to build on top of it.

Read more

See your revenue leak in five minutes.

Connect your EHR and get a tailored revenue-at-risk diagnostic on your real clinic data. No call. No credit card.