An AI receptionist for doctors under the EU AI Act: what it says, what it keeps, what it never records
How we built the phone and chat assistant at Profilmedic: one knowledge base for both channels, the disclosure in the first sentence, transcripts instead of audio, and a person who can take over.
Robert Eduard Antal · · 7 min read · Română
A doctor’s practice misses calls all day. The doctor is with a patient, the assistant is with another, and the phone rings out. An AI receptionist is the obvious answer, and in Romania, from this year, it is also a regulated one: the transparency rule of the EU AI Act (Article 50) applies from 2 August 2026, and it says, in short, that people must know when they are talking to a machine.
At Profilmedic, where I run AI and automation, we built one. Our own line answers doctors who want to know what we do, and it doubles as the working demonstration of the reception we install for their practices. This is how it is put together, and the decisions that mattered more than the model.
One brain, two channels
The assistant answers by voice, on a Romanian phone number, and by chat, on the website. They are two different stacks — a voice platform on the phone, a chat platform on the site — but they share everything that decides what gets said:
- one knowledge base, exported from the website’s own pages after every deploy and loaded into both channels, so the assistant cannot promise what the site does not;
- the same three tools, called the same way from either channel: save a request, send the onboarding link, propose a call with the team;
- the same data store, where every request lands as a record the team can see, whichever door it came through.
The first version answered a surprising number of questions with “I don’t have that information”. The documents were uploaded; the search index over them simply had not been built. Uploading a document and making it retrievable turned out to be two separate steps, and only one of them was in the documentation we were following. It is the kind of failure that looks like the model being dim when it is really plumbing.
The disclosure comes first
Every call opens with the same greeting: the name of the practice, then I’m Irina, the automated assistant, then the fact that the call is not recorded as audio but its written transcript is kept for 90 days — and that the caller can say no. All of that comes before the first question. The chat’s first message says the same, and the chat header reads automated assistant · the team reads everything.
This is the easiest part of the law to comply with and the easiest to get subtly wrong. A friendly persona with a human name is fine; a persona that lets the caller believe for two minutes that she is a person is not. We kept the name and put the disclosure in the same breath.
Transcripts, not audio
For the conversation with the assistant, no audio is recorded anywhere. The voice platform is configured not to keep recordings, the telephony provider holds none for this number, and we checked both rather than trusting the settings page. What is kept is the written transcript, for 90 days, at our end and at every provider, after which a nightly job deletes it. What remains is the fact that a conversation took place — date, channel, outcome — without its content.
Callers can object. Saying so on the phone, or asking in the chat, deletes that conversation, including the copy held by the provider.
A person can always take over
The assistant does not diagnose, does not advise and does not triage. In testing we played a patient describing chest pain; the only acceptable answer was to call 112 immediately, and that is what it says.
When a caller asks for a person, or needs something the assistant cannot do, the call is handed to a member of the team during working hours — without a questionnaire first. This is the one place where we do record audio, because the call becomes a working conversation about a project, and the voice platform cannot record an inbound call once it hands it on. So the handover runs through our own call control instead: before the call connects, a recorded message says that this conversation will be recorded and transcribed, and that pressing 1 continues without recording. Those recordings and their summaries are kept for 12 months, visible only to the team, and then deleted.
The website had to stop contradicting the robot
The hardest bug was not in the code. Before we published the phone number, two pages on our own site said that we do not record calls and that there is no automated processing. Both had been true when they were written. Neither was true of the product we were about to switch on.
So the privacy notice was rewritten before the number went live. It now names every provider involved — the database in Frankfurt, the telephony provider, the voice platform, the language model — and states the retention periods above, in the same words the assistant uses. If the legal text and the assistant disagree, the assistant is the one people hear, and the legal text is the one they rely on. They have to say the same thing.
What I would tell a practice considering one
- Ask where the audio goes. “We don’t store recordings” should be checked at every provider in the chain, not read off one settings screen.
- Ask what the assistant is not allowed to do. No advice, no triage, 112 for emergencies — written into its instructions and tested, not assumed.
- Ask how a person takes over. If the answer involves the caller repeating everything to a form first, the practice will lose the calls it was trying to save.
- Read the practice’s own privacy notice after the assistant goes live. It was written before the robot, and it is probably wrong now.
None of this is legal advice; it is how we read the rules and built to them. The assistant is live on Profilmedic’s own line and site, and it is the same system we install for doctors. More of what I build is at antal.me.