APIANT.ai / Stories / Dental practice
Customer story · Dental practice · Jotform and Cliniko
A dental practice asked for its online bookings and health forms to land in Cliniko, matched to the right patient or not written at all.
A dental practice takes bookings and health histories through Jotform and keeps its patient records in Cliniko. The practice connected both apps to APIANT and asked its AI client for the flows.
The challenge
Every online booking and health form had to reach the right patient's record in Cliniko, with the completed form attached as a PDF, and never the wrong one.
One rule sits above the rest: match on email and date of birth together, create a new patient only when there is clearly no match, and if the match is not certain, write nothing and send it to a person.
- 39live form submissions handled since go-live, every one successful
- 37form PDFs attached to a matched patient record
- 78validation runs on made-up records, no real patient data
- 2uncertain matches set aside for a person, not written
The journey
-
Day 1
First tested flow within the hour
The practice signed up, connected Jotform and Cliniko, and had a booking-to-patient flow built and through its first test run 43 minutes after signing up.
-
Three weeks later
Live the same day
They came back and the booking flow went live on real bookings. Within the hour the agent made two more copies for the practice's other booking forms and switched them on.
-
Day 21
The health form
Next came the health-history form: read the answers by question wording, write each answer to the matching field on the patient record, and attach the completed form as a PDF. The agent built it and tested it, and it went live the same day.
Works
-
Day 22
Made-up patients first, then tighter matching
Before the matching was tightened, the rules were proved without touching real records. The agent built two validation suites that run only on synthetic test records and ran them 78 times in 44 minutes. Minutes later all four live flows were updated with the stricter rules: match on email and date of birth together, create a patient only when there is clearly no match, and send anything ambiguous to review.
-
Days 22 to 29
Running
Every booking and health form since has gone through the stricter rules: 30 live submissions, all successful.
What they built
| Flow | What it does | Result |
|---|---|---|
| Booking to patient record (three booking forms) | Finds the patient by email and date of birth, creates one only when there is clearly no match, fills the treatment fields, attaches the booking PDF | 28 live bookings, all successful; 24 new patient records |
| Health form to patient record | Writes each health-history answer to the matching field on the patient record and attaches the form PDF; a blank answer leaves the existing value unchanged | 11 live forms: 9 written with PDF, 2 set aside for review |
| Matching and PDF validation (two suites) | Runs the matching and PDF rules against made-up records only | 78 runs, retired once the rules were proved |
Four flows live today, each with a successful latest run.
Why it worked
- 01
One rule in every flow.
Certain match or no write: since Day 22 every flow follows that rule, and an uncertain or invalid submission goes to a person instead of into a record.
- 02
Proved on made-up records.
The stricter matching rules were exercised 78 times on synthetic test patients, and only then put into the live flows.
- 03
The form travels with the record.
Each matched booking and health form is attached to the patient's record in Cliniko as a PDF: 37 so far.
More stories
- A church needed each Stripe gift in DonorPerfect, on the right donor, with its own codes. By the next day, its charges were arriving as gifts on their own.
- A yoga studio wanted every Mindbody sale in its membership register, sorted by its own rules. It went live on day three and sorted 21 paid sales by the afternoon of day four.
- A spa owner wanted Mindbody's bookings and time blocks in Google Calendar, kept in step. Its block sync ran 1,508 times in just over two weeks, all successful.
What would you ask for?
Details are taken from the account's own run history, counted from run status only, and shared without the practice's name. No patient information was read or used for this story.