IEC 62304 software safety class: A, B or C?
IEC 62304 clause 4.3: the software safety class decides how much of the standard you have to do. Answer three questions about your software system and get its class, the reasoning to keep in your design history file, and what changes with each class.
| Result | — |
|---|---|
| Why |
What Class A asks
Software development planning, software requirements, release, configuration management, problem resolution, maintenance and risk management, and system-level testing of the requirements.
What Class B adds
Everything in Class A, plus a software architecture, unit implementation and verification, and integration testing, with the evidence for each.
What Class C adds
Everything in Class B, plus a detailed design for each software unit and additional acceptance criteria for unit verification.
How to read the questions
- Serious injury means an injury or illness that is life-threatening, causes permanent impairment or damage, or needs medical or surgical intervention to prevent it.
- External risk control measures are outside the software system: a hardware interlock, an independent alarm, a procedure. Only those count before you assign the class; measures inside the software do not lower it.
- Start from the system. A software item can sit in a lower class than the system only if you document why it cannot contribute to the hazard, for example because it is segregated. Without that reasoning, it takes the system’s class.
Keep the reasoning
An auditor will ask why you chose the class, not just which one. Write down the hazardous situations you considered, the external measures you relied on and the date. When the design or the intended use changes, check the class again.
This page helps you document a decision; it does not replace your risk management under ISO 14971 or your notified body’s view. IEC 62304 clauses are cited by number and paraphrased. Related: test traceability matrix in Jira and the test plan template.