Foundations

International design

The same number means different things in different places. A design system for a device that ships across borders has to make the ambiguity impossible rather than unlikely.

Stable · v1.0 MDR · IVDR WCAG 2.2 AA

Overview

Internationalisation is usually a translation problem. In clinical software the translation is the easy half. The hard half is that units, name order, date order and decimal separators all vary, and every one of them can change what a number means without changing a single character of the interface.

Most of the rules live on other pages — ISO dates on Date & time picker, units on Key–value pair, expansion budgets on Voice & tone. This page is what those rules are for, plus the two things nothing else covers: locale-dependent units and script direction.

Structural

Direction, order and formatting come from the platform's logical properties, not from hand-written left and right. RTL works because the code never assumed otherwise.

Explicit

Units, zones and formats are stated, never inferred from a locale. A value that changes meaning when the interface language changes is a defect.

Clinically reviewed

Clinical terminology is translated by someone who reads both the language and the medicine. A linguistically correct mistranslation is still a mistranslation.

Units are the real hazard

A locale change must never change a unit

Measurement units vary by country in ways that alter magnitude by orders of magnitude — glucose in mg/dL or mmol/L, troponin in ng/L or ng/mL, weight in kg or lb. Switching the interface language must never silently convert or reinterpret a stored value. Unit is a property of the measurement, chosen per deployment and displayed alongside every value; language is a property of the reader. They are configured separately and neither follows the other.

The same measurement, two unit conventions
hs-cTnI
47ng/L
ref < 34 ng/L · site unit
hs-cTnI
0.047ng/mL
ref < 0.034 ng/mL · site unit

One measurement, two conventions, a thousandfold apart. Both are correct; a value shown without its unit is neither.

Right-to-left

Spacing, borders and text alignment use logical properties (margin-inline-start, not margin-left), so those mirror without per-locale overrides — see Typography. This is enforced: check-tokens.mjs fails the build on any physical inline property in the stylesheet.

What is not yet true

This page previously said RTL “works by construction”. When that was written the stylesheet contained 54 physical declarations and not a single logical one, so a right-to-left layout would have kept every margin, padding and border on the side an English reader expects. The declarations have since been converted — behaviour-identical in LTR, and verified by rendering every page — and the gate above exists so the claim cannot decay again.

Still physical: 19 inset declarations (left/right) that position overlays rather than lay out flow. Those need a real RTL render to convert safely. Every page has now been rendered right-to-left — see below. See Known gaps.

And the components were never in scope at all. The gate reads assets/njt-ds.css, the stylesheet this site is built from, while the registry a consumer installs carried 36 physical utilities across 17 files — ml-8 under a checkbox hint, text-left in a data-grid cell, right-4 on the toast stack. Converted, and now scanned by the render gate, so the claim covers the code as well as the page.

Rendered right-to-left, finally. The visual gate has an --rtl mode that sets dir="rtl" on the root, proves the computed direction took, and runs every probe: all 98 pages, three widths, both themes, 600 renders, nothing overflowing, nothing clipped, every pair meeting its ratio. What that proves is narrower than it sounds. It proves nothing breaks in a right-to-left layout. It does not prove anything mirrors correctly: an overlay pinned to the wrong edge by one of the 19 remaining physical insets does not overflow, does not clip and does not fail contrast — it is simply on the side an English reader expects, and no probe here can tell. That still needs a person who reads right-to-left looking at a screen.

Waveforms and time axes never mirror

Chrome mirrors; clinical data does not. An ECG is read left to right in every country, calibrated against paper that runs left to right, and the convention is part of how clinicians are trained. Mirroring a trace in an RTL layout would invert the direction of time. The same applies to trend charts and any time axis: the container flips, the plot does not, and the axis labels stay in reading order for the data rather than the page.

Mirrors in RTLNever mirrors
Navigation, layout regions, side panelsECG traces and any time axis
Text alignment, list markers, breadcrumb orderTrend charts and their direction of travel
Icons with a direction of travel — back, forwardAnatomical images and lead diagrams
Progress fill directionNumbers, identifiers, ISO dates

Names

Language

Do's and don'ts

Do
Peak hs-cTnI
1 240ng/L
ref < 34 ng/L

Thin-space separator and an explicit unit. Unambiguous in every locale the product ships to.

Don't
Peak hs-cTnI
1.240

A full stop as thousands separator, no unit. Read in another country this is one and a quarter of something unstated.

Do
V3

In an RTL layout the panel flips; the trace does not. Time still runs left to right, as it does on paper everywhere.

Don't

The whole layout mirrored, trace included. Time now runs backwards and the ST segment appears before the QRS.

Do
NAKAMURA, Tomoko
MRN 58 904 471
Date of birth
1981-04-02

Family name capitalised, so the order is unambiguous whichever convention the reader expects.

Don't
Tomoko Nakamura
MRN 58 904 471
DOB
02/04/81

Ambiguous name order and an ambiguous date. Two readings of the name, two readings of the date, one patient.

Accessibility

Outcomes of use

What this contributes to, in the terms of Usability & context of use.

Clinical safety notes

Risk controls carried by this foundation

Trace these in your risk file (ISO 14971) and usability engineering file (IEC 62366-1).

NotJustAnyMed.Tech Design System · International design · v1.0 · draft for review
Reference applications named in this system are fictional; all values and reference ranges shown are fabricated and illustrative.