Skip to content
Book a demo
Menu

Integrations

Open Dental analytics, read-only: Calibic for Open Dental

Open Dental analytics without touching a record: Calibic reads your MySQL or MariaDB database with a SELECT-only account and lists exactly what it reads.

4 min readUpdated 2026-10-13

Share
A practice workstation running Open Dental on a generic monitor, no logos visible

Your Open Dental database already holds every answer on this site: the recall list, the unscheduled treatment, the claims that were never sent, the payment that was deleted at 2:14. Open Dental is unusual among practice systems in two ways that matter here. Its schema is public, so every table name below is one you can look up yourself. And it keeps a real audit log that names the person, the time and the workstation.

How does Calibic connect?

A small Windows service runs on the server that hosts your Open Dental database, MySQL or MariaDB. It connects with a database user that has SELECT grants only. On top of that grant, the session itself is opened read-only, so the server refuses a write even if one were attempted, and the connector code exposes no way to send one. It makes outbound HTTPS calls only; nothing listens for connections from outside, and no port is opened.

If one database serves several offices, the agent reads one clinic number and keeps the offices apart. It has been tested on Open Dental 24.1 and 26.1.

The Open Dental connection uses a SELECT-only database user.
The Open Dental connection uses a SELECT-only database user.

What exactly is read?

Open Dental tables What you get in Calibic
appointment, histappointment, schedule, scheduleop, operatory, appointmenttype Daily Huddle, Front Desk, schedule, appointment checks. History gives before and after date, provider, chair, status and user
procedurelog, procedurecode, treatplan Production, Treatment, unscheduled treatment, Revenue Recovery. Deleted procedures are excluded from production
payment, paysplit, claimpayment, adjustment Collections, End of Day, AR aging
claim, claimproc, insplan, inssub, patplan, benefit, carrier Insurance and claims, benefits left, PPO write-offs by carrier
recall, recalltype, commoptout Smart Recall, reactivation, hygiene lists
patient (name, birth date, contact, status, guarantor) Client Finder, Segments, call lists
referral, refattach Referral sources, if the office fills in Referred By
provider, userod, definition, preference Scorecards, names, your own labels, the version number
securitylog, deletedobject Protect: who, when, from which workstation; sign-ins; deletions
perioexam, labcase, procnote dates Revenue Integrity. Dates and counts only

What is never touched?

Nothing is written, edited or deleted. Nothing is read from the Social Security number column, address lines, clinical note text or password columns. Insurance subscriber ids are kept to the last four digits. The free text of securitylog stays in your database. Open Dental’s module-access rows, which record someone opening a screen rather than changing data, are read and ignored on purpose, so Protect does not fill up with “someone opened the chart”.

The audit log free text is never read.
The audit log free text is never read.

Where is Open Dental strong, and where is it limited?

Strong: the audit log carries a real user, a timestamp and a workstation name, so Protect can say who. Appointment history carries before and after values. Sign-ins are logged.

Limited: the audit log carries old and new amounts for write-offs and for newly created payments and adjustments, but an edit to an existing payment carries none, so those checks are marked limited on the Coverage page. The numeric permission codes have changed across versions; a code Calibic does not recognise is ignored rather than guessed. A shared login such as “billing” is never treated as a person.

How do I set it up?

  1. Sign up. A Business Associate Agreement is sent with every sign up; Calibic is built for HIPAA and does not claim a certification.
  2. You or your IT contact create a MySQL user on the Open Dental server with SELECT-only grants. Calibic sends the exact statement.
  3. Run the installer once, as an administrator, on the server that hosts the database. It checks that the database opens before it finishes.
  4. First numbers appear within minutes. History loads newest first, in small steps with pauses, so a busy server is not slowed.
  5. Check the source badge (“Open Dental, synced 4 min ago”) and the Coverage page, which lists every check as active, limited or not available, with the reason.

Change checks run every 10 to 60 seconds and a full pass every five minutes. If the agent goes silent for 45 minutes during office hours, you get an email.

Status

LIVE. Updates to the agent arrive on their own; the previous version is kept until the new one has run cleanly.

Next step

If you run Open Dental’s own reports today, start with the guides and see what Calibic adds on top: recall report, unscheduled treatment, production report, audit trail and security log and remote access. The comparison with Open Dental’s built-in reports says plainly where the built-in ones are enough. For the audit side, read Protect; for Dentrix offices in the same group, the Dentrix integration explains why the two systems differ on “who did it”.

Useful? Send it to the person who runs your front desk.

Share this page

Questions people ask

Does Calibic write to Open Dental?

No. The database account holds SELECT grants only, the session is opened read-only so the server itself refuses writes, and the connector code has no write path. Three separate things would have to fail for a write to happen.

Do you read the audit log's free text?

No. The LogText column of securitylog is never selected. The only things worked out from it are a yes-or-no flag for sign-in rows and deletion rows, and the dollar amounts in a write-off entry, computed inside MySQL so the text never leaves your server.

Keep reading

See it on your own data

Read-only toward Open Dental, Dentrix and Eaglesoft. A Business Associate Agreement is sent with every sign up.