If your medical device contains software — or is software — IEC 62304 is the standard your development process will be judged against, in Europe and the US alike. Here's what it actually demands: the safety classes, the five processes, SOUP, and the parts everyone gets wrong.
IEC 62304 — formally IEC 62304:2006 with its 2015 amendment — defines the lifecycle processes for medical device software: what must be planned, documented, verified and maintained from first requirement to final retirement. It applies whether the software is embedded in a device or is the device itself (SaMD).
Just as important is what it leaves out. It doesn't tell you what language, architecture or methodology to use. It doesn't cover validation — proving the software meets user needs belongs to usability engineering (IEC 62366-1) and product-level validation. And it doesn't stand alone: the standard explicitly assumes it operates inside an ISO 13485-style quality system and an ISO 14971 risk management process. 62304 is the software-shaped hole in that larger machine.
Every software system gets a safety class, assigned through your risk management process and documented with its rationale. The logic of the 2015 amendment: if a failure of the software can contribute to a hazardous situation, classify by the severity of the harm that could result — after taking external risk controls (hardware interlocks, independent monitoring) into account.
Software failure can't lead to injury. The lightest documentation set: requirements, basic verification, configuration management, problem resolution.
Failure could injure, but not seriously. Adds architecture documentation, integration testing and deeper verification on top of Class A.
The full programme: detailed design documentation, unit verification, and the most rigorous evidence trail across every activity.
Two practical notes. First, the class is a documentation and rigor dial, not a quality judgement — a Class A wellness feature and a Class C dosing algorithm can live in the same product. Second, that's exactly the point of segregation: a system can be partitioned into software items with different classes, as long as you can demonstrate the boundaries hold. Without demonstrated segregation, the highest class wins for everything it touches.
| Process | What it demands |
|---|---|
| 5 · Development | The core: a development plan (5.1), software requirements traced to system requirements (5.2), architecture (5.3), detailed design (5.4), unit implementation and verification (5.5), integration testing (5.6), system testing (5.7) and a controlled release (5.8). Which of these apply, and how deeply, depends on the safety class. |
| 6 · Maintenance | A maintenance plan and a controlled process for post-release changes — bug fixes and updates go through analysis, implementation and verification, not straight to production. |
| 7 · Software risk management | The software-specific arm of your ISO 14971 process: identifying software contributions to hazardous situations, implementing software risk controls, and verifying them. |
| 8 · Configuration management | Every software item, every version, every SOUP component identified and controlled. You must be able to reconstruct exactly what any released version contained. |
| 9 · Problem resolution | A documented path from bug report to analysis, to risk relevance, to fix, to verification — with records that survive the people who handled the ticket. |
If that table looks like "competent software engineering, written down" — that's the right reading. Teams with healthy practices (version control, code review, CI, issue tracking) usually have 70% of the behaviour already. What they're missing is the controlled record: the plans, the traced requirements, and evidence at named versions.
Any software you ship but didn't develop under 62304 is SOUP — open-source libraries, vendor SDKs, the runtime, the operating system. The standard doesn't forbid it; modern software is mostly other people's code, and the committee knew it. It requires you to manage it:
The practical consequence for a startup: pin your dependency versions, keep the inventory automatically generated if you can, and treat dependency upgrades as controlled changes with a risk look — not as a Friday-afternoon npm update.
No regulation names IEC 62304 as mandatory. Its force comes from how the regulators read it:
In other words: you could, in theory, argue an equivalent lifecycle of your own design. In practice, every reviewer you'll ever meet thinks in 62304's vocabulary, and the cheapest way through the conversation is to speak it.
IEC 62304:2006/AMD1:2015, Medical device software — Software life cycle processes — the standard itself, available from IEC or your national standards body.
FDA: Recognized Consensus Standards database — IEC 62304's recognition status for premarket submissions.
Johner Institute on IEC 62304 — detailed clause-level commentary from notified-body auditors.
Threeqa keeps software requirements, risks, architecture and test evidence traced in one structure — so your 62304 story is the current state of the work, not an archaeology project before the audit. Book a 30-minute walkthrough.