Calling the Assistant
A doctor with a patient in the room has three ways to reach the assistant, and all of them are bad: open the door and call out, press a buzzer if the clinic bought one, or phone the desk. In a clinic with more than one room, every one of those is heard by people it was not meant for — including the patient sitting in front of you.
The call button does it from the screen. The assistant hears a tone and sees a message wherever they are in the app, taps On my way, and you see that they are coming without asking anybody.
The messages are your clinic's own. Two are there from the start — send in the next patient and come to my office — and you add whatever else your clinic actually says. Anything one-off, you type.
Where to Find It
The call button is in the top bar of every screen — you do not have to be anywhere particular to use it. It sits there whether doctor mode is on or off.
| Screen | Address |
|---|---|
| Today's patients, where the button is most used | /doctor-queue |
| The consultation screen for one visit | /doctor-consultation/{id} |
Sending a call
Press Call the assistant. You get your clinic's saved messages, one tap each, plus a box to write something once.
Above them is who should come. Pick as many people as you want: one name goes to that person alone, three names go to those three and nobody else, and leaving it empty calls everyone you are set up to reach in your branch.
However many you pick, it is still one call with one answer — the first of them to tap On my way takes it, and the others' banners clear by themselves showing who went. Three people do not walk to your room for the same patient.
Each name is marked not on the site when they do not have the app open, so you can see who could actually answer before you choose. Somebody signed in but working in another branch is marked in that branch instead — for example in Downtown — because a call only reaches them in the branch they are working in; they hear it once they switch to yours. Somebody who has gone home is still listed and still callable — the call is recorded either way — but you know before you press.
It opens on last time's choice
The composer remembers who you called last and reopens on them, per branch. A doctor who buzzes the same assistant all day picks nobody and just taps a message.
A remembered name that can no longer be reached — the person left, or the connection was removed in settings — is quietly dropped rather than sent to.
Ring until answered
The switch under the names. Off, the call chimes once on the assistant's screen and again every half minute. On, it keeps ringing the way a phone does until somebody answers it, you cancel it, or its forty-five seconds run out.
It is per call, not a clinic setting: come now and next patient when you can are sent a minute apart and only one of them should follow somebody around the building. Your last choice is remembered along with the names.
The assistant's banner says Ring until answered on a ringing call, so a muted or deaf assistant can see which kind it is rather than only hear it.
Nobody is on the site
If no assistant has the app open, the app tells you plainly instead of letting you believe somebody heard. The call is still recorded, so the fact that you asked is not lost.
What the assistant sees
A banner at the top of their screen with your name and the message, and a tone. It stays until somebody acts on it — it does not fade away on its own — and it appears on whatever page they happen to be on.
If nobody answers, the tone repeats every half minute for forty-five seconds. After that the call is recorded as unanswered and you are told nobody came — short on purpose, so you learn it inside the pause in a consultation rather than minutes later, when you have already gone and asked.
The assistant taps On my way. The tone stops, the banner clears, and your screen changes to Answered by their name, with how long they took.
When the call went to everyone
The first assistant to tap wins. Everybody else's banner clears by itself and shows who took it, so two people do not both walk to your room for the same patient.
Cancelling
Changed your mind before anyone answered? Press Cancel on the strip at the bottom of your screen. Every banner clears at once and the call is recorded as cancelled.
Once somebody has answered, there is no undo — they are already walking.
Muting the sound
An assistant who does not want the tone can turn it off for themselves: user menu → Mute call sound.
This is per person. Muting yours does not mute anyone else's, and it drops only the sound — the banner still appears exactly as before, so a muted assistant misses nothing.
Sound blocked?
Browsers refuse to play any sound until you have clicked something on the page. If that happens, the banner says so and one click anywhere turns the tone on for the rest of the session. A blocked sound never means a missed call — the banner is always there.
Choosing the tone
Settings → Call messages → Call sound.
Two choices, because the two kinds of call are heard differently:
| Ordinary call | Sounds once, then again every half minute while nobody has answered |
| Ringing call | Keeps playing until the call is answered, cancelled, or its forty-five seconds run out |
Every row plays when you click it — nobody can pick a sound from its filename — and the speaker button on the right plays or stops it without changing your choice. The choice saves as you make it; there is no Save button.
Your choice is what the person you call hears. You pick the tone your calls make, and it plays on their screen — a doctor who chose something insistent gets something insistent in the assistant's room. Your own choice is also what you hear when a call arrives from somebody who has not picked one.
So a tone is chosen once and used three ways, in this order: the tone the call brought with it, then the listener's own choice, then the built-in chime. Muting beats all three — it drops the sound and never the banner.
Adding more tones
The list is whatever audio files are in the public/sounds/ folder on the server. Drop in an .mp3 (and an .ogg beside it, for Safari) and it appears as a choice on the next page load — the filename becomes the name people see, so name it for a human: waiting-room.mp3, not sound7.mp3.
There is nothing to register and nothing to rebuild. A clinic with an empty folder sees only the built-in chime, which is what everybody starts on and the only tone that can never fail to load.
Licences
Free-to-use sound libraries — Mixkit, Pixabay — are fine in a paid product. Do not use the Messenger, WhatsApp or iPhone tones: they are somebody else's property and instantly recognisable as such.
Branches
A call only ever reaches the branch you are working in. If you work in two and are currently in one, the other branch's assistants hear nothing, and the call is recorded against the branch you sent it from.
This is also the usual reason the call window says there is nobody to call. If everyone you are connected to works elsewhere, it tells you so and names the branch you are standing in — switch branch from the top bar and the list fills. That is a different sentence from nobody is set up for you to call, which means the connections themselves have not been drawn yet.
What is kept
Every call is a permanent record: who called, whom, what was said, which branch, when, and whether it was answered, cancelled or left unanswered — with the answering assistant's name and how long they took.
Setting up your messages
Settings → Call messages.
Write the sentences your clinic actually says: bring the suction, the mother can come in, I need help. Keep them short — they are read at a glance across a room.
Each message is either yours alone or shared with the whole clinic. Sharing one needs the Manage clinic call messages and who calls whom permission; your own list needs nothing beyond being able to open the page.
The two built-in messages cannot be edited or deleted, and there is a reason: they are stored in a way that lets every assistant read them in their own language, so an Arabic assistant sees Arabic even when the doctor's screen is in English. Replacing them with one language's words would quietly break that for everybody else. If your clinic never uses one, hide it instead — it disappears from the composer and nothing is lost.
Changing or deleting a message never rewrites history. A call sent last week still shows what was actually said.
Who can call whom
Settings → Call messages, in the Who can call whom section.
This is not decided by job title. Pick a person, pick everyone they can call — the second box takes as many people as you like — and press Connect. That person now has the button, and can reach whoever they are connected to. A nurse can have the button, and a lab technician can be reachable, without anybody changing a role.
Each connection is one direction. Connecting a doctor to an assistant lets the doctor buzz them; it does not let the assistant buzz back. Connect the other way round too if that is what you want.
Drawing connections needs Manage clinic call messages and who calls whom — a permission of its own, under Doctor Calls in the role editor, because whoever runs the floor is not necessarily whoever edits the clinic's settings. A role that could already change settings keeps the screen. Removing a connection never affects calls already sent.
Doctors reach this page from inside the call window itself: Edit these messages, under the message buttons. It is only shown to somebody who may open it.
Clinics that were already using the system keep exactly what they had: every doctor could call every assistant, and that is what was carried over.
| Send a call | Anyone set up as a caller |
| Receive and answer | Anyone a caller is connected to, in that branch |
| Cancel a call | The person who sent it |
Somebody who is not connected to anyone sees no button at all, and somebody nobody calls never receives one.
Things worth knowing
- It only reaches people who have the app open. This is an in-app buzz, not a phone message — nothing is sent to anybody's mobile, by SMS or by WhatsApp.
- Sending "send in the next patient" does not move the appointment. It is a message. The assistant moves the patient's status the same way they do today.
- Sending the same call twice is refused while the first one is still waiting, so a double tap does not double the noise in the assistant's room.
- If your session drops or you reload, a call that is still waiting comes back on screen. Signing in after a call went out shows it too, as long as it has not expired.
- The outcome strip clears itself. Answered by Sara in four seconds stays for ten seconds, or goes at once with the ✕ — a notice you cannot put down is one you stop reading.
- If the live connection drops, your screen says so rather than looking like a quiet afternoon. Calls sent while it is down are still recorded and appear when it comes back.