Skip to main content

What HealOS does in SimplePractice

AI Frontdesk

What the AI Frontdesk (AI Receptionist) can do in SimplePractice during a call: Connect it from AI Frontdesk → Integrations → Connect an EHR (Connect your EHR).

AI Scribe

How a finished AI Scribe note gets into SimplePractice:

Connection

Method: HealOS cloud browser, Chrome extension. How the methods compare. You provide
  • A SimplePractice username and password, in AI Frontdesk → Integrations → Connect an EHR.
  • For AI Scribe, the HealOS Chrome extension (no connection card needed).
HealOS does
  • Checks the sign-in before saving anything: a login that fails is not stored.
  • Stores the credentials encrypted and signs in from a secure, US-based cloud browser.
  • Keeps one signed-in session per practice and renews it during business hours, so calls don’t wait for a login.
  • Yes: works once the practice connects the EHR (or, for the Chrome extension, installs it).
  • On request: built; HealOS turns it on for a practice after a review with them.
  • Specific setups: built for particular practice configurations; ask us before relying on it.
A Yes means the workflow exists, not that every practice’s setup allows it: practice settings, user permissions and the EHR plan can still limit it, so confirm during onboarding.

API actions

This is a catalog of what HealOS can do in each EHR. Running these actions through the HealOS API is coming later. Listing them (GET /ehr/actions) and checking which EHRs your organization has connected (GET /ehr/connections), with the ehr:read scope, are rolling out: they work on staging but are not yet available on api.healos.ai. Every action runs against the practice’s live EHR, never a sandbox.
HealOS supports 4 actions in SimplePractice. Action names (simplepractice.<action>) are stable.

Search patients

simplepractice.search_patients · patients · version 1 Find an existing patient in the EHR by phone number, name, date of birth or email.
Safety
  • External effect: read
  • Writes to the EHR: No
  • Idempotent: Yes
  • Safe to retry: Yes
  • Dry run: Not supported
  • Touches the practice’s live EHR: Yes
  • Runs in a cloud browser session against the EHR’s web app: expect several seconds per call and limited concurrency per practice.
Inputs Send at least one field. Outputs

Create patient

simplepractice.create_patient · patients · version 1 Register a new patient chart in the EHR. Some EHRs need extra fields (for example a mailing address on NextGen).
Safety
  • External effect: write
  • Writes to the EHR: Yes
  • Idempotent: No
  • Safe to retry: No. After a timeout or unclear result, check the EHR before trying again
  • Dry run: Not supported
  • Touches the practice’s live EHR: Yes
  • Duplicate check: searches by last name and date of birth first, and links an exact single match instead of creating a chart
  • Runs in a cloud browser session against the EHR’s web app: expect several seconds per call and limited concurrency per practice.
Inputs Outputs

Search appointment slots

simplepractice.search_slots · scheduling · version 1 List open appointment times, optionally narrowed to a window, provider, visit type or location.
Safety
  • External effect: read
  • Writes to the EHR: No
  • Idempotent: Yes
  • Safe to retry: Yes
  • Dry run: Not supported
  • Touches the practice’s live EHR: Yes
  • Runs in a cloud browser session against the EHR’s web app: expect several seconds per call and limited concurrency per practice.
Inputs Outputs Each item in slots:

Book appointment

simplepractice.book_appointment · scheduling · version 1 Book an appointment for an existing patient, from a slot returned by search_slots.
Safety
  • External effect: write
  • Writes to the EHR: Yes
  • Idempotent: No
  • Safe to retry: No. After a timeout or unclear result, check the EHR before trying again
  • Dry run: Not supported
  • Touches the practice’s live EHR: Yes
  • Runs in a cloud browser session against the EHR’s web app: expect several seconds per call and limited concurrency per practice.
Inputs Send slot_id or start_at_utc. Outputs