Abhinav Sharma
All work

Practice management for Luxembourg doctors, in every language their patients speak.

ClientMedlucy
RoleProduct engineer
Year2025
Duration6 months
TypeScriptReactNodePostgreSQLi18nDoctena API
9Medical specialties served
3Fully localised languages
5Modules in one system

The problem

Luxembourg is a small market with disproportionate complexity. A practice runs consultations in French, German and English across the same afternoon, so localisation is a clinical requirement rather than a growth feature — a mistranslated dosage field is a safety problem. Prescriptions follow national rules that no generic EHR encodes. And a waiting room is a live thing: the agenda has to reflect who has actually arrived, not who was scheduled, or reception ends up managing it on paper anyway.

The approach

Localisation was treated as data rather than as a translation layer bolted on afterwards, so clinical vocabulary stays reviewable by the people who are accountable for it. Prescription tooling encodes Luxembourg-specific rules directly instead of approximating them from a general model. The agenda is driven by real-time arrival state, which is what lets reception see the waiting room rather than the schedule, and the Doctena integration keeps patient-side bookings and practice-side availability from drifting apart.

The outcome

One system covers the working day across nine specialties, in three genuinely localised languages, with prescriptions that match the jurisdiction the practice actually operates in.

What mattered

Localisation as a clinical concern

French, German and English are consultation languages here, not market segments. Medical vocabulary stays reviewable by the people accountable for it.

Jurisdiction-specific prescribing

Luxembourg prescription rules are encoded directly rather than approximated from a general European model.

The waiting room, not the schedule

Real-time arrival state means reception sees who is actually present — otherwise the room gets managed on paper regardless.