Device identification panel
The electronic label. For software, the box and the leaflet do not exist — so the information a regulation requires on them has to appear on a screen, and this is the screen. Its content list is set by law rather than by design.
Overview
Physical devices carry their identity on the packaging. Software has no packaging, so MDR Annex VI Part C §6.5.4 requires the UDI to be displayed on an easily accessible screen — an "about" screen, a splash screen, a menu — in a readily readable form. The same requirement appears in IVDR Annex VI Part C.
That turns a labelling obligation into a user-interface obligation, and it is the reason this is a component rather than a paragraph in someone's technical file. It is also the screen most likely to be built last, by whoever had capacity, and never reviewed — which is a poor fate for the one screen a vigilance report is written from.
This is design guidance for presenting regulatory information. It is not regulatory advice, and the content list below is a reading of the regulations rather than a substitute for them. Article and annex references are given so you can check them, and you should: verify against the current consolidated text, and against your own notified body's expectations. Which items apply depends on your device's class, its route to conformity, and whether you are under MDR or IVDR.
Always reachable
Available from anywhere in the product, without signing in, and without leaving a patient's context to get to it.
Transcribable
Every identifier is selectable, copyable, unabbreviated, and readable aloud down a telephone.
True of the running build
The version shown is the version executing — not a constant someone edits at release time.
Anatomy
- Intended purpose
- Detection support for suspected acute coronary syndrome from 12-lead ECG and high-sensitivity troponin, for use by qualified clinicians in a hospital emergency department. Decision support only; it does not diagnose.
- Software version
- 4.3.1 (build 2026.08.14-a91f2c)
- Release date
- 14 August 2026
- Basic UDI-DI
- 5060XXXXXXXXXAL7Q
- UDI-DI
- (01)05060XXXXXXXXX
- UDI-PI
- (8012)4.3.1
- Manufacturer
- NotJustAnyMed Devices BV
Keizersgracht 000, 1015 XX Amsterdam, Netherlands
SRN NL-MF-000000000 - Class & route
- Class IIa under MDR Annex VIII Rule 11 · Annex IX conformity assessment
Marking and symbols
notified body
Documents and contact
- Instructions for use
- Open the IFU · also available offline · paper copy on request at no charge
- Report a problem
- vigilance@example.invalid · +00 000 000 0000 · and to your national competent authority
Symbols render black on a white plate in both themes — they are not re-themable. The four-digit number beside the CE mark is the notified body. See Symbols for what you must verify before release.
What it must contain
Article and annex references are to MDR (Regulation (EU) 2017/745) and IVDR (Regulation (EU) 2017/746). Applicability depends on your device; this is the superset most software devices draw from.
| Item | Where it comes from | Presentation rule |
|---|---|---|
| Device name | MDR Annex I §23.2(a) · IVDR Annex I §20.2(a) | The name on the certificate, not a marketing name that differs from it. |
| Intended purpose | MDR Annex I §23.4(a) · IVDR Annex I §20.4 | Verbatim from the technical documentation. This is the sentence the whole conformity argument rests on, and paraphrasing it in the UI creates a second, unassessed claim. |
| Software version | MDR Annex I §23.2(h), Annex VI Part C §6.5.2 | The running build — see below. |
| Basic UDI-DI | MDR Annex VI Part C §3 | The model-level key used on the Declaration of Conformity and in EUDAMED. Not the same as the UDI-DI, and the two are routinely confused. |
| UDI-DI / UDI-PI | MDR Annex VI Part C §6.5.4 | Both, on an accessible screen, in readable form. For software the UDI-PI is normally the version. |
| Manufacturer + address | MDR Annex I §23.2(d) | Registered name and registered place of business. A support address is not a substitute. |
| Authorised representative | MDR Art. 11, Annex I §23.2(e) | Required where the manufacturer is outside the Union. With the EC REP symbol. |
| CE marking + NB number | MDR Art. 20, Annex V | The four-digit notified body number accompanies the mark wherever a notified body was involved — that is, everything above Class I self-certified. |
| MD / IVD symbol | ISO 15223-1 5.7.7 / 5.5.1 | States that this thing is a medical device at all — the single most useful item on the panel for a clinician who is unsure. |
| IFU access | MDR Annex I §23.4 · Reg. (EU) 2021/2226 for eIFU | Reachable from the panel, usable offline, and a paper copy available free on request within the period the regulation sets. |
| Warnings and limitations | MDR Annex I §23.4(g)–(j) | The residual risks the user is meant to know about, in the clinical register — or the lay one for a patient-facing device. |
| Vigilance contact | MDR Art. 87 (manufacturer duty) | How a user reports a serious incident, alongside the reminder to report to the national competent authority. |
| Investigational status | MDR Annex I §23.2(m) · IVDR §20.2 | Where applicable, stated unmissably — "exclusively for clinical investigation" / "for performance study only". |
MDR and IVDR
The structure is the same and the citations differ. Every reference application in this system is a medical device under MDR; none is an in vitro diagnostic, so the IVDR column below is given for completeness rather than worked through.
| MDR 2017/745 | IVDR 2017/746 | |
|---|---|---|
| Label content | Annex I Ch. III §23.2 | Annex I Ch. III §20.2 |
| Instructions for use | Annex I Ch. III §23.4 | Annex I Ch. III §20.4 |
| UDI system | Annex VI Part C | Annex VI Part C |
| CE marking | Art. 20, Annex V | Art. 18, Annex V |
| Classification of software | Annex VIII Rule 11 | Annex VIII Rule 1.9 etc. |
| Device symbol | MD — ISO 15223-1 5.7.7 | IVD — ISO 15223-1 5.5.1 |
| Study wording | "exclusively for clinical investigation" | "for performance study only" |
| Public summary | SSCP, Art. 32 (Class III & implantable) | SSP, Art. 29 (Class C & D) |
Symbols
The system ships black, scalable renderings of the symbols a software device normally needs. They do not theme: a regulatory symbol is used black on a light background, so each renders on its own white plate in light and dark alike — the same reasoning that keeps the alarm palette identical across themes.
MDR Annex V
ISO 15223-1 5.7.7
ISO 15223-1 5.5.1
ISO 15223-1 5.7.10
ISO 15223-1 5.1.1
ISO 15223-1 5.1.2
ISO 15223-1 5.1.8
ISO 15223-1 5.1.9
ISO 15223-1 5.4.3
ISO 15223-1 5.4.4
ISO 15223-1 5.1.6
ISO 15223-1 5.1.5
ISO 15223-1 5.1.7
The normative artwork lives inside ISO 15223-1:2021, which is a purchased standard — MedTech Europe's own guidance notes that several symbols are available only in the standard and not in ISO's free browsing platform. The renderings above were drawn from published descriptions, not traced from the standard. Before release, check each one against your licensed copy and replace any that differ. The component is built so that replacing artwork is a one-file change.
The lettered symbols — MD, IVD, UDI, EC REP, REF, LOT, SN — are text in a rounded rectangle and are reproducible exactly. The pictorial ones carry the real risk, and the CE mark most of all: MDR Annex V fixes its proportions, permits scaling but not distortion, and sets a minimum height.
Symbols outside the core set
The IVDR use-context symbols, and the two that only a non-manufacturer uses. Each carries its status, because the status is what you have to act on — the picture is the easy part.
harmonised
ISO 15223-1 5.5.4
not harmonised
MedTech Europe guidance
harmonised
ISO 15223-1 5.5.3
not harmonised
MedTech Europe guidance
words too
IVDR Annex I §20.2
from description
ISO 15223-1 · non-manufacturer use only
from description
ISO 15223-1 · non-manufacturer use only
Not harmonised means exactly that. Not for self-testing and Not for near-patient testing are recommended by MedTech Europe and are not part of a harmonised standard — using them is reasonable industry practice, not a presumption of conformity. Where the meaning is safety-relevant the label also carries it in words, and MedTech Europe suggests placing Not for near-patient testing beside the For near-patient testing symbol rather than on its own.
Words too: "For performance study only" is a phrase IVDR Annex I §20.2 requires on the label. The flask is a convenience for laying out a screen and never replaces the sentence.
From description: Translation and Repackaging were drawn from written descriptions with no reference artwork, so they are the least reliable glyphs on this page. Replace them first.
The four IVD use-context glyphs were redrawn from the symbol artwork published by MedTech Europe in its MDR and IVDR symbol guidance, recoloured to black. They reproduce the composition of the published symbols — a person with a lancet, plus a house for self-testing or a clinic doorway for near-patient testing — but they are redrawings, not the source files. For release, obtain the artwork from MedTech Europe or from your licensed copy of ISO 15223-1 and substitute it.
- Every symbol carries its text equivalent. Symbols are not
self-explanatory to every user, and the text is what assistive technology reads. Each
rendering above is
role="img"with anaria-label. - The accompanying value sits with the symbol. A manufacturer symbol without the name and address is decoration; a CE mark without its notified body number is wrong wherever a notified body was involved.
- Symbols are never recoloured — not for brand, not for dark mode, not for emphasis. Black on white, both themes.
- Never scaled below legibility, and never distorted. The CE mark in particular is scaled proportionally or not at all.
- Symbol meanings are explained somewhere reachable, which the IFU normally does. Link to it from the panel.
- Never invent a symbol. Every glyph here traces to ISO 15223-1 or to published MedTech Europe guidance, and says which. Where neither exists, use words.
- A non-harmonised symbol never travels alone where its meaning is safety-relevant. It brings the words with it.
The version has to be true
This sounds trivial and is the most commonly broken rule on the panel. A version string typed into a constant is a claim about the build, maintained by hand, and it drifts the first time a hotfix ships.
- Injected at build time from the build system, never edited by a person.
- Includes a build identifier as well as the marketed version, so a support call can distinguish two builds of "4.3.1".
- Matches what the server is running where the device has a server component. A client showing its own version while the analysis runs on a different one is stating something untrue about the device.
- Survives caching. A stale cached bundle reporting the previous version is a real and common failure.
- Available when the product is degraded. The panel must render when the network is down — it is what someone reads out while reporting that the network is down.
- Change of version is announced where it affects meaning — see Model version change, and Regulatory labelling for when a change needs a new UDI-DI rather than a new UDI-PI.
States
| State | Rendering |
|---|---|
| Normal | Full panel, all identifiers selectable. |
| Offline | Renders completely from local data. Nothing on this panel may depend on a network call. |
| Not signed in | Renders. Device identity is not confidential and a person reporting an incident may not have an account. |
| Investigational | The study statement is the most prominent element on the panel, above the device name. |
| Server / client mismatch | Both versions shown, and the mismatch stated. This is a fault, not a footnote. |
| Unregistered build | A development or pre-release build says so unmissably, so a screenshot of one is never mistaken for the released device. |
Do's and don'ts
UDI-DI
(01)05060XXXXXXXXX
UDI-PI (8012)4.3.1
Both parts, unabbreviated, monospaced and selectable. Someone can read this down a phone or paste it into a vigilance form.
UDI (01)0506…XXX
Truncated to fit, and merging two identifiers that mean different things. The one use this field has is being transcribed exactly.
Version 4.3.1 (build 2026.08.14-a91f2c) — injected at build time
A marketed version plus a build identifier, generated rather than typed. Two builds of 4.3.1 are distinguishable.
const VERSION = "4.3.0"; // TODO bump
A hand-maintained constant. It is wrong from the first hotfix, and the panel is now making a false statement about the device.
An empty, dashed slot naming the standard clause. Unfilled is obvious at review; the manufacturer supplies the artwork.
C€ — a hand-drawn approximation
The CE mark's proportions are fixed by MDR Annex V. Redrawing it approximately ships a labelling non-conformity to everyone who adopts the system.
Intended purpose: Detection support for suspected acute coronary syndrome… Decision support only; it does not diagnose.
Verbatim from the technical documentation. The UI states exactly the claim that was assessed.
AcuteLine — AI-powered cardiac diagnostics for the modern emergency department.
A marketing sentence in the intended-purpose field. It says "diagnostics" about a device assessed as decision support, which is a claim nobody evaluated.
Accessibility
- A real description list.
<dl>with<dt>/<dd>, so each identifier is programmatically bound to its label rather than merely beside it. - Identifiers are selectable text, never an image and never a canvas. This is the field most likely to be needed by copy-and-paste.
- Long identifiers wrap rather than truncate —
overflow-wrap, never an ellipsis. A truncated UDI is useless (SC 1.4.10). - Symbols carry a text equivalent in the accessible name; a symbol with
alt=""is a legally required item removed from half the users. - Reachable without authentication and by keyboard from the product's main navigation — see Navigation.
- Readable at 320 px and at 200% zoom. The panel is frequently read on a phone by someone standing next to a workstation.
- Language. The label and IFU must be in a language accepted by the Member State where the device is made available — see International design. The version and UDI stay untranslated.
- Printable. A regulatory panel that cannot be printed or exported cannot be attached to an incident report.
Outcomes of use
What this contributes to, in the terms of Usability & context of use. These are attributes believed to contribute to an outcome; the outcome itself is settled by observing real use in a specified context, not by this page.
- Effectiveness — a user reporting an incident supplies the correct device, version and identifiers. A vigilance report naming the wrong version is an investigation that starts by being wrong.
- Efficiency — time to find the panel, which should be seconds and is typically minutes of searching a settings tree.
- Satisfaction — knowing what the software is licensed to do. The intended purpose statement is the answer to "am I allowed to rely on this for that?", and clinicians ask it far more often than product teams expect.
Clinical safety notes
Trace these in your risk file (ISO 14971) and usability engineering file (IEC 62366-1).
- Version injected at build time from the build system. Mitigates: a false statement about which software is running, and an unreproducible incident.
- Client and server versions both shown when they differ. Mitigates: an analysis attributed to the wrong build.
- Identifiers unabbreviated, selectable and wrapping. Mitigates: a mis-transcribed UDI in a vigilance report.
- Basic UDI-DI and UDI-DI shown as distinct fields. Mitigates: two identifiers with different regulatory roles being conflated.
- Intended purpose reproduced verbatim. Mitigates: off-label reliance invited by a UI that claims more than was assessed.
- Panel renders offline and unauthenticated. Mitigates: device identity being unavailable at exactly the moment an incident is being reported.
- Symbol slots empty rather than approximated. Mitigates: a non-conforming label propagated to every adopting product.
- Pre-release builds marked unmissably. Mitigates: a development build mistaken for the released device.
- Investigational statement given top position where it applies. Mitigates: an investigational device used as though placed on the market.
Implementation
$ npx shadcn@latest add https://md.notjustany.tech/r/device-label.json
// The version is a build input, never a literal in source. Wire it from
// your bundler's define/env so a person cannot forget to bump it.
const build = {
version: __APP_VERSION__, // from package.json at build time
buildId: __BUILD_ID__, // commit + timestamp
}
<DeviceLabel
name="AcuteLine"
intendedPurpose={INTENDED_PURPOSE} // verbatim from the technical file
build={build}
serverVersion={health?.version} // mismatch is rendered, not hidden
udi={{ basicDi: "…", di: "…", pi: "…" }}
manufacturer={MANUFACTURER}
notifiedBody="0000"
symbols={["md", "manufacturer", "udi", "ifu"]}
ifuHref="/ifu"
/>
// A literal version string is the failure this component exists to prevent.
if (process.env.NODE_ENV === "production" && !__APP_VERSION__) {
throw new Error("[DeviceLabel] version must be injected at build time.")
}
| Prop | Type | Notes |
|---|---|---|
name | string |
Required. As certified. |
intendedPurpose | string |
Required. Verbatim; the component does not truncate it. |
build | { version, buildId } |
Required. Build-injected. Throws in production if absent. |
udi | { basicDi, di, pi } |
Required. Three distinct fields, rendered separately. |
notifiedBody | string |
Four-digit number. Where present, the CE slot renders with it. |
investigational | boolean |
Promotes the study statement above the device name. |
serverVersion | string |
Rendered whenever it differs from the client build. |
Related
- Regulatory labelling & UDI — where this panel lives, and when a change needs a new UDI-DI.
- Model version change — what a version change does to results already issued.
- Key–value pair — the label/value/unit rules this panel follows.
- International design — language obligations for label and IFU.
- Status & limitations — how to read the regulatory claims on this page.