A front-desk bot for a multi-specialty clinic: a thousand-item price list and booking
A multi-specialty clinic's administrator spends all day answering the same things: how much is an ultrasound, until what time are you open, which doctor for a bad knee. In the evening and on Sundays nobody answers. I built a bot that takes those questions over. It takes prices from the clinic's actual spreadsheet instead of recalling them from memory, the way a regular AI chat does.
The chats in the pictures are illustrations. The prices and hours in them come from the clinic's price list and schedule; the exact wording in a live chat may differ.
The price list has 1,047 items in 31 categories, too many to stuff into a prompt whole. So for each patient message, code searches for the matching rows and the model only sees those. Any price that isn't in the matched rows counts as invented, and that answer gets thrown out. If a service isn't in the price list or has no published price, the bot says so and points to the administrator. It can't make up a number.
Whether the clinic is open is also decided by code, not by the model. On Saturday at 21:10 the bot says the clinic is closed and opens tomorrow at 7:30, and the trauma unit at 8:00. On Sunday morning it says the clinic is open until 5 pm and the trauma unit until 8 pm. Time is calculated in the clinic's local time, nothing is guessed.
The bot doesn't try to treat anyone over chat. If someone describes a symptom, it suggests which specialist to see, from a list of 23 specialties and the clinic's real roster of doctors, and reminds them that only a doctor diagnoses. A separate check cuts out any treatment advice. And if the message is something urgent, like chest pain or someone not breathing, the answer opens with “call 103 or 112 right now”, and only then everything else.
When the patient is ready to book, the bot collects the service, a convenient time, a name and a phone number, and passes the administrator a ready request card. It types with pauses and merges several messages in a row into one question, so it doesn't answer every line separately.
It's a finished product: 112 automated tests, the price list updates by swapping one spreadsheet, and the schedule, doctors, and contacts live in a separate file. For another clinic the data changes, the logic stays.