Five months in production. What moved, and which way.

Conversations a month

Volume tripled.

Patient conversations a month, March to July 2026 March 2026: 318 April 2026: 536 May 2026: 853 June 2026: 932 July 2026: 989 318 989 Mar Apr May Jun Jul
Asked for a person

The assistant signalled for a human in 13% of conversations in March and 2% in July.

Share of conversations where the assistant asked for a person, March to July 2026 March 2026: 13.2% April 2026: 9.5% May 2026: 7.4% June 2026: 3.1% July 2026: 2.2% 13% 2% Mar Apr May Jun Jul
Corrections a month, and the tests they became

Corrections fell while volume rose; every one became a test.

Corrections raised

Corrections raised each month, March to July 2026 March 2026: 53 corrections April 2026: 38 corrections May 2026: 71 corrections June 2026: 34 corrections July 2026: 22 corrections 53 22 Mar Apr May Jun Jul

Regression suite, at month end

Regression test cases at month end, April to 22 August 2026 End of April 2026: 30 tests End of May 2026: 30 tests End of June 2026: 37 tests End of July 2026: 68 tests 22 August 2026: 99 tests 30 99 Apr May Jun Jul 22 Aug
Screening-package revenue through the assistant's channel

42% in June, 56% in July — the assistant's channel overtook the desk.

Share of screening-package revenue through the assistant's channel, June and July 2026 June 2026: 42% July 2026: 56% 42% 56% Jun 2026 Jul 2026
What changed, March to August 2026. Every figure charted above.
Month Conversations Asked for a person Corrections raised Regression tests at month end Screening-package revenue through the assistant's channel
March 202631813.2%53Not chartedNot charted
April 20265369.5%3830Not charted
May 20268537.4%7130Not charted
June 20269323.1%343742%
July 20269892.2%226856%
22 August 2026Not chartedNot chartedNot charted99Not charted

Counted from the assistant's own records and the clinic's sales ledger, re-derived 22 August 2026. “Asked for a person” means the assistant itself raised a handoff notification in the conversation. What good looks like, and six questions to ask any assistant →

Before this existed, I was the system

For four years I coordinated appointments for this group by hand — forty to seventy WhatsApp conversations a day. Quote a price from a catalogue of over a thousand services. Check the practice-management system for a slot. Type the booking in. Repeat.

It worked, and it didn't scale. An enquiry arriving at 11pm waited until morning. An enquiry arriving during a busy clinic hour waited too. Every one of those was a booking the group had already spent marketing money to generate.

What the assistant does

It runs on the clinic's own WhatsApp number and on their website. It answers from the live catalogue — real services, current prices — checks genuine availability, and takes a patient right up to the booking — pre-filled, so the patient's own submission is what creates it.

The interesting part isn't the happy path. It's the edges.

A pricing question, answered from live data

Clinic assistant
Answering, 24/7
hi how much is the executive screening? does it include the heart scan
The Executive Health Screening is $1,280, and it includes an ECG and a treadmill stress test. The CT coronary calcium scan is a separate add-on at $420. Want me to check availability with the scan included?
yes please, somewhere central
Novena has Thursday 9:00am or Friday 8:30am — both leave enough time for the scan afterwards. Which works better?

Illustrative example, not a real patient conversation. Written to show the shape of an exchange and the catalogue logic behind it — package contents, add-on pricing, and the slot duration a scan requires.

A clinical question, declined on purpose

Clinic assistant
Answering, 24/7
my dad has high blood pressure, is the executive package ok for him or should he do something else
That one's better answered by one of our doctors than by me — whether a particular screening suits someone with an existing condition is a clinical judgement, and I'm not the right one to make it. I've passed this to the clinic team and someone will follow up. If it's urgent, do call the clinic directly.

Illustrative example. This boundary is deliberate, and it's where a great deal of the design effort went.

The line it doesn't cross

The assistant doesn't diagnose, doesn't recommend treatment, and doesn't judge whether a screening is clinically appropriate for a particular person. That isn't a limitation I worked around — it's the specification. Crossing it would make the system a regulated medical device under Singapore's Health Products Act, and more immediately, it would be the wrong thing to put in front of a patient.

So it's built to notice when a question stops being about logistics and starts being about medicine, and to hand over cleanly when that happens. Those handoffs push a notification straight to the clinic team.

In July 2026, 83 of 989 conversations had a staff member type in them. That isn't a failure rate — it's the oversight layer doing its job, and it's the part of the design that frameworks like AIHGle 2.0 actually care about.

The integration layer underneath

This is the part nobody demos, and it's where most of the work is. The assistant doesn't touch the clinic's systems directly. A separate service sits in between and does the operational work against Plato, the group's practice-management system:

  • Reading genuine availability across four locations, rather than guessing at a schedule
  • Creating and rescheduling appointments under the constraints each clinic and each service actually imposes
  • Reconciling bookings against issued invoices, so what was booked can be matched to what was billed
  • Holding the credentials — they're never exposed to the language model
  • Writing every action to an audit trail the clinic owns

Running against a live practice-management system teaches you things a demo never will. Requests that succeed on the far side while reporting failure back. Retries tripping your own rate limiting. A webhook subscription that quietly removes itself after enough failed deliveries. Fields that look optional and aren't, where omitting one lands a booking in the wrong clinic's calendar.

None of that is exotic. It's what integration looks like once real patients depend on it — and it's the difference between a system that demos well and one that's been running for five months.

Coordinating a party nobody controls

Home screening was the hardest scheduling problem, because the binding constraint sits outside the clinic entirely: an external phlebotomy partner with their own calendar and their own working pattern.

The bridge syncs confirmed home-screening visits out to a shared calendar the partner already uses, so their schedule stays current without anyone re-typing anything. Patient identifiers are masked to the last four digits — enough to identify the visit, and nothing beyond that.

It went live in July, and it's the piece I'd point to for anyone wondering whether this approach survives contact with a third party's systems. Most clinic workflows don't stop at the clinic's own walls.

How it's kept honest

  • It improved every month. 80% of conversations answered without a staff member typing in them in March; 92% in July. That didn't happen on its own — it took a couple of hundred refinements to the service knowledge and booking logic across May and June.
  • Nothing ships untested. Automated tests across both services gate every deployment, and prompt changes run against a regression suite before they reach a patient.
  • Everything is logged. Every action is written to an audit trail, with patient identifiers masked wherever they aren't needed.
  • It can be switched off. A live corrections panel and a pause control mean a bad answer can be caught and the assistant stopped in minutes, not at the next deploy.

What it changed for the business

Enquiries now get answered at 11pm and during the clinic's busiest hour — which is when a good share of them arrive. The figures above show the revenue shift; what they don't show is that the manual channel, the one where enquiries came to me and I typed them into Plato one at a time, keeps shrinking as the system absorbs it.

Five months, two services. Still one client — and everything on this page is in production today, not in a pilot.

Wondering whether any of this fits your clinic?

Start with a map of your own operations — what's worth automating, what isn't, and why. I'll tell you honestly if the answer is that you don't need me.