Skip to main content

What HealOS does in CharmHealth

AI Frontdesk

What the AI Frontdesk (AI Receptionist) can do in CharmHealth 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 CharmHealth:

Connection

Method: HealOS cloud browser, Chrome extension. How the methods compare. You provide
  • A CharmHealth username and password and your Charm web address (for example ehr2.charmtracker.com), in AI Frontdesk → Integrations → Connect an EHR.
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.
Limits
  • CharmHealth limits daily sign-ins per account. HealOS reuses one signed-in session per practice, but heavy use can still exhaust them.
  • 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 7 actions in CharmHealth. Action names (charmhealth.<action>) are stable.

Search patients

charmhealth.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.
  • CharmHealth limits daily sign-ins per account. HealOS reuses one signed-in session per practice, but heavy use can still exhaust them.
Inputs Send at least one field. Outputs

Create patient

charmhealth.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: not run by HealOS before creating
  • Runs in a cloud browser session against the EHR’s web app: expect several seconds per call and limited concurrency per practice.
  • CharmHealth limits daily sign-ins per account. HealOS reuses one signed-in session per practice, but heavy use can still exhaust them.
Inputs Outputs

Search appointment slots

charmhealth.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.
  • CharmHealth limits daily sign-ins per account. HealOS reuses one signed-in session per practice, but heavy use can still exhaust them.
Inputs Outputs Each item in slots:

Book appointment

charmhealth.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.
  • CharmHealth limits daily sign-ins per account. HealOS reuses one signed-in session per practice, but heavy use can still exhaust them.
Inputs Send slot_id or start_at_utc. Outputs

List upcoming appointments

charmhealth.list_appointments · scheduling · version 1 List a patient’s upcoming appointments.
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.
  • CharmHealth limits daily sign-ins per account. HealOS reuses one signed-in session per practice, but heavy use can still exhaust them.
Inputs Outputs Each item in appointments:

Cancel appointment

charmhealth.cancel_appointment · scheduling · version 1 Cancel one of the patient’s appointments. Refused unless the appointment belongs to that patient.
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
  • Ownership check: the appointment must belong to the patient, or the action is refused
  • Runs in a cloud browser session against the EHR’s web app: expect several seconds per call and limited concurrency per practice.
  • CharmHealth limits daily sign-ins per account. HealOS reuses one signed-in session per practice, but heavy use can still exhaust them.
Inputs Outputs

Reschedule appointment

charmhealth.reschedule_appointment · scheduling · version 1 Move one of the patient’s appointments to a new time. Refused unless the appointment belongs to that patient.
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
  • Ownership check: the appointment must belong to the patient, or the action is refused
  • Runs in a cloud browser session against the EHR’s web app: expect several seconds per call and limited concurrency per practice.
  • CharmHealth limits daily sign-ins per account. HealOS reuses one signed-in session per practice, but heavy use can still exhaust them.
Inputs Send slot_id or start_at_utc. Outputs