EMR integration

Your schedule, in the same dashboard as your website

Connect your practice system and your appointments and clinicians appear alongside the tools you already use to run your website. Here is what it gives you, and exactly how the connection is secured.

What the integration gives you

A clinic owner running a ClinicSite website already signs in to a dashboard to edit pages, connect a domain and manage billing. The EMR connection puts the week's schedule in that same place.

Once your EMR is connected, the dashboard gains a schedule view built from your real appointments: who is booked, with which clinician, and when. Your clinician list is derived from the same import, so the people actually delivering care appear without you retyping them. It is the answer to a small but constant annoyance — needing a second tab open to answer “are we busy on Thursday” while you are already in the tool that runs your website.

What it is not is a replacement for your EMR. Your practice system remains the system of record for everything that matters clinically: notes, billing, intake, client communication and treatment history. ClinicSite reads a narrow slice of your schedule and shows that slice back to you where you are already working.

EMR connection is available on the Platinum plan and above. See pricing for where that sits and what each plan includes.

How connecting works

Four steps from the dashboard, and a record of every run afterwards.

  1. 1

    Choose your system in the dashboard

    Pick your practice system from the catalogue. Each entry declares how that system authenticates — an API key, an OAuth redirect, or a login the integration worker automates — so the form asks for the right thing rather than presenting a generic secret box.
  2. 2

    Provide the sign-in the connector needs

    Whatever the system requires, those values are encrypted the moment they are submitted. They are never stored in readable form, never returned to the browser, and never written to a log.
  3. 3

    The first sync backfills your schedule

    An initial run imports a window of existing appointments so the schedule view is useful immediately rather than starting empty. Subsequent runs keep the view current without re-importing everything.
  4. 4

    Each run is recorded

    Every sync opens a session row recording how many records were created, updated, skipped or failed, and whether the run finished cleanly. If the connection breaks — a changed password, for example — the connection status reflects that instead of quietly going stale.

What gets collected. Appointment records — times, the clinician attached to each, and the identifiers needed to keep repeat runs from duplicating rows — plus the clinician list derived from them. Clinical notes, billing records, intake forms and treatment history are not read and have nowhere in ClinicSite to land.

Security, in specifics

This is the part that decides whether connecting is reasonable. Vague reassurance is worth nothing here, so this section describes mechanisms rather than adjectives.

AES-256-GCM at rest

Connection secrets are sealed with AES-256-GCM, which gives both confidentiality and integrity — a tampered blob fails to open rather than decrypting to something wrong. The stored format carries a version prefix so the key-management scheme behind it can change without rewriting existing records.

Ciphertext bound to your tenant

Each blob is encrypted with additional authenticated data identifying the clinic and provider it belongs to. Copy a blob from one clinic’s row into another’s and decryption fails. The secret is not merely encrypted, it is pinned to its context.

An isolated per-clinic worker

Your sync runs in an integration worker separate from the web application, and it connects to the database as a restricted per-clinic Postgres role. That role holds grants on the appointment and clinician landing tables and a narrow column-level grant on the connection record. It is not a general-purpose database login.

Row-level security

The appointment and clinician tables enforce row-level security, so isolation between clinics is a property of the database rather than a promise about application code being careful. A query that forgot a tenant filter still returns nothing it should not.

PHI-free logging

The sync job’s logger accepts only a fixed, typed set of fields — there is no free-form object to smuggle patient data through. On top of that, values the connector has read and flagged as sensitive are scrubbed from the fully serialised log line before it is written, so a leak into any field is caught rather than only the obvious one.

Azure hosting

The application and its integration workers run on Microsoft Azure, behind a Cloudflare edge layer. Published clinic websites are separately locked down with a strict content security policy and collect no patient data through forms.
On BAAs, HIPAA and audit reports
We do not offer a signed business associate agreement, we hold no SOC 2 report, and HIPAA has no certification to hold. Asking a vendor about a BAA before it touches appointment data is the right instinct, and you should apply it to us as firmly as to anyone else. Ask us directly through the contact page and you will get a straight answer about our current position. See also our hosting page for what we do and do not claim about the rest of the platform.

Why therapy and behavioural health practices fit best

Not marketing positioning — a consequence of which systems the catalogue covers most deeply.

Our EMR catalogue leans toward therapy and behavioural health platforms, because those are the practices we most often build websites for. Solo therapists, group practices, counselling centres and psychiatric practices are the clinics most likely to already run on a system we cover well.

The therapy practice website page covers what the site itself should do; this connection is what makes the dashboard behind it worth opening daily. Dental and general medical practices run ClinicSite websites too — see dental practices and medical practices.

Whichever system you run, tell us through contact. It genuinely affects the order we build in, and you will get a direct answer about your system rather than a promised date used to close a sale.

Frequently asked questions

Which EMR systems can I connect?
The dashboard carries a catalogue of practice systems, weighted toward behavioural health and therapy platforms because those are the practices we most often build websites for. Each entry records how that system authenticates. Tell us which one you run through the contact page and you will get a straight answer about where it stands rather than a sales answer.
Does my EMR stay the system of record?
Yes, and you should expect that of any tool like this. Your EMR holds your notes, billing, intake, client communication and clinical history. ClinicSite reads a narrow slice — appointments and the clinicians attached to them — so you can see your week in the same place you manage your website. If the two ever disagree, your EMR is right.
What data does ClinicSite actually collect from my EMR?
Appointment records — times, the clinician attached to each, and the identifiers needed to keep repeat runs from duplicating rows — plus the clinician list derived from them. Clinical notes, billing records, intake forms and treatment history are not read and have nowhere in ClinicSite to land.
Where are my EMR credentials stored?
Encrypted at rest with AES-256-GCM. Each encrypted blob is bound to your tenant using additional authenticated data, so a blob lifted from your row cannot be decrypted in the context of another clinic. Decryption happens inside the isolated integration worker that runs your sync, not in the web application.
What if my EMR account enforces two-factor authentication?
Some practice systems publish no partner API, so the connector signs in the way you do, with a username and password. Where that is how a system works, an account with two-factor authentication enforced may not complete the connection. Check with us on the contact page before you subscribe for this reason, and you will get a direct answer rather than an afternoon of troubleshooting.
Do you have a signed BAA, HIPAA certification or SOC 2 report?
No, and we will not imply otherwise. HIPAA has no certification scheme, we hold no SOC 2 report, and we are not offering a signed business associate agreement today. A BAA is a reasonable thing to ask any vendor that touches appointment data for, and you should ask us and everyone else. Use the contact page and you will get a direct answer about where we stand rather than a badge.

See what your clinic site could look like

Paste your current website address. You get a full generated replacement to look at — free, no account, no card.

Free preview · no card · previews are deleted after 7 days