IEC 62304:2006 (Medical Device Software- Software Life-cycle Processes) is a functional safety standard. A system to which IEC 62304 is applicable often has varying levels of risk to the user or different safety requirements. To accommodate this IEC 62304 has three Software Safety Classes (Class A, Class B and Class C), with Class C being assigned to software systems where death or serious injury is possible.
In the European Union compliance with IEC 62304 will satisfy the essential requirements contained in Medical Devices Directive 93/42/EEC (MDD) with amendment M5 (2007/47/EC) as related to software development. In the United States, the US FDA will also accept ANSI/AAMI/IEC 62304 as evidence that medical device software has been designed to an acceptable standard and covers the following regulatory processes: 510(k), IDE, PMA, HDE, Software Validation (FDA Recognition List Number: 020 Publication Date: 09/09/2008). The relationship of IEC 62304 to other standards is documented on Annex C. Of particular note is “Readers of the standard are encouraged to use IEC 61508 as a source for good software methods, techniques and tools while recognising that other approaches, both present and future, can provide equally good results.

QA Systems enables organisations to accelerate IEC 62304 compliance with automated static analysis and software testing tools:

Automated analysis synchronised with Cantata tests
QA Systems’ tools have been classified and certified by SGS-TÜV GmbH, an independent third party certification body for functional safety, accredited by Deutsche Akkreditierungsstelle GmbH (DAkkS). Cantata has been classified as a Tool Confidence Level (TCL) 1 tool, and is usable in development of safety related software according to IEC 62304:2006 up to SW safety Class C.
The tool certification kit for IEC 62304 is available to ease our customers’ path to certification. This contains everything needed to prove that Cantata fulfills IEC 62304 recommendations as well as guidance to help you to achieve compliance.
Please contact us for more information about the tool certification kit.
The Cantata testing tool enables developers to automate unit and integration testing and to verify IEC 62304 compliant code on host native and embedded target platforms.
Cantata helps accelerate compliance with the standard’s software testing requirements by automating:
Our IEC 62304 Standard Briefing traces the requirements of IEC 62304, identifying the scope of those which are supported by Cantata and identifies how the requirements are supported by Cantata.
Please contact us for more information on Cantata for IEC 62304.
The IEC 62304 software testing recommendations by Class and where these are supported by Cantata are summarised in the tables below:

| Clauses/Subclauses | Class A | Class B | Class C | Cantata |
|---|---|---|---|---|
| 5.1.1 Software development plan | X | X | X | Yes |
| 5.1.2 Keep software development plan updated | X | X | X | Yes |
| 5.1.4 Software development standards, methods and tools planning | - | - | X | Yes |
| 5.1.5 Software integration and integration testing planning | - | X | X | Yes |
| 5.1.6 Software VERIFICATION planning | X | X | X | Yes |
| 5.1.10 Supporting items to be controlled | - | X | X | Yes |
| Clauses/Subclauses | Class A | Class B | Class C | Cantata |
|---|---|---|---|---|
| 5.5.2 Establish software unit verification process | - | X | X | Yes |
| 5.5.3 Software unit acceptance criteria | - | X | X | Yes |
| 5.5.4 Additional software unit acceptance critera | - | - | X | Yes |
| 5.5.5 Software unit verification | - | X | X | Yes |
| Clauses/Subclauses | Class A | Class B | Class C | Cantata |
|---|---|---|---|---|
| 5.6.3 Test integrated software | - | X | X | Yes |
| 5.6.4 Integration testing content | - | X | X | Yes |
| 5.6.5 Verify integration test procedures | - | X | X | Yes |
| 5.6.6 Conduct regression tests | - | X | X | Yes |
| 5.6.7 Integration test record contents | - | X | X | Yes |
| 5.6.8 Use software problem resolution process | - | X | X | Yes |
| Clauses/Subclauses | Class A | Class B | Class C | Cantata |
|---|---|---|---|---|
| 5.7.1 Establish test for software requirements | - | X | X | Yes |
| 5.7.2 Use software problems resolution process | - | X | X | Yes |
| 5.7.3 Retest after changes | - | X | X | Yes |
| 5.7.4 Verify software system testing | - | X | X | Yes |
| 5.7.5 Software system test record contents | - | X | X | Yes |
| Clauses/Subclauses | Class A | Class B | Class C | Cantata |
|---|---|---|---|---|
| 5.8.1 Ensure software verification is complete | - | X | X | Yes |
| 5.8.2 Document known residual anomalies | - | X | X | Yes |
| 5.8.6 Ensure activities and tasks are complete | - | X | X | Yes |
| 5.8.7 Archive software | - | X | X | Yes |
| Clauses/Subclauses | Class A | Class B | Class C | Cantata |
|---|---|---|---|---|
| 6.1 Establish software maintenance plan | X | X | X | Yes |
| 6.3.1 Use established PROCESS to implement modification | X | X | X | Yes |
| Clauses/Subclauses | Class A | Class B | Class C | Cantata |
|---|---|---|---|---|
| 8.1.1 Establish means to identify configurations items | X | X | X | Yes |
| 8.2.1 Approve change requests | X | X | X | Yes |
| 8.2.2 Implement changes | X | X | X | Yes |
| 8.2.3 Verify changes | X | X | X | Yes |
| 8.2.4 Provide means for traceability of change | X | X | X | Yes |
| 8.3 Configuration status accounting | X | X | X | Yes |
| Clauses/Subclauses | Class A | Class B | Class C | Cantata |
|---|---|---|---|---|
| 9.4 Use change control process | X | X | X | Yes |
| 9.5 Maintain records | X | X | X | Yes |
| 9.7 Verify software problem resolution | X | X | X | Yes |
| 9.8 Test documentation contents | X | X | X | Yes |
| Key | |
|---|---|
| X | Recommended for this class |
Start a free trial & get a complete copy of Cantata to evaluate using your code.
Coding standards form an integral part of software acceptance criteria within the IEC 62304 standard.
The guidance in Annex B.5.5 explains the rationale as “To consistently achieve the desirable code characteristics, coding standards should be used to specify a preferred coding style. Examples of coding standards include requirements for understandability, language usage rules or restrictions, and complexity management.” Static analysis tools can dramatically reduce the manual effort in enforcing compliance with such coding standards. QA-Verify adds reporting to ensure this over time and across product versions.
Please contact us for more information on static analysis tools and QA-Verify for IEC 62304.
The IEC 62304 static analysis recommendations by Class are summarised in the tables below.
| Clauses/Subclauses | Class A | Class B | Class C |
|---|---|---|---|
| 5.1.1 Software development plan | X | X | X |
| 5.1.2 Keep software development plan updated | X | X | X |
| 5.1.4 Software development standards, methods and tools planning | - | - | X |
| 5.1.6 Software verification planning | X | X | X |
| 5.1.7 Software risk management planning | X | X | X |
| 5.1.9 Software configuration management planning | X | X | X |
| 5.1.10 Supporting items to be controlled | - | X | X |
| Clauses/Subclauses | Class A | Class B | Class C |
|---|---|---|---|
| 5.5.2 Establish software unit verification process | - | X | X |
| 5.5.3 Software unit acceptance criteria | - | X | X |
| 5.5.4 Additional software unit acceptance critera | - | - | X |
| 5.5.5 Software unit verification | - | X | X |
| Clauses/Subclauses | Class A | Class B | Class C |
|---|---|---|---|
| 5.6.3 Test integrated software | - | X | X |
| 5.6.4 Integration testing content | - | X | X |
| 5.6.5 Verify integration test procedures | - | X | X |
| 5.6.6 Conduct regression tests | - | X | X |
| 5.6.7 Integration test record contents | - | X | X |
| 5.6.8 Use software problem resolution process | - | X | X |
| Clauses/Subclauses | Class A | Class B | Class C |
|---|---|---|---|
| 5.7.1 Establish test for software requirements | - | X | X |
| 5.7.2 Use software problems resolution process | - | X | X |
| 5.7.3 Retest after changes | - | X | X |
| 5.7.4 Verify software system testing | - | X | X |
| 5.7.5 Software system test record contents | - | X | X |
| Clauses/Subclauses | Class A | Class B | Class C |
|---|---|---|---|
| 5.8.1 Ensure software verification is complete | - | X | X |
| 5.8.2 Document known residual anomalies | - | X | X |
| 5.8.6 Ensure activities and tasks are complete | - | X | X |
| 5.8.7 Archive software | - | X | X |
| Clauses/Subclauses | Class A | Class B | Class C |
|---|---|---|---|
| 6.1 Establish software maintenance plan | X | X | X |
| 6.3.1 Use established PROCESS to implement modification | X | X | X |
| Clauses/Subclauses | Class A | Class B | Class C |
|---|---|---|---|
| 8.1.1 Establish means to identify configurations items | X | X | X |
| 8.1.2 Identify SOUP | X | X | X |
| 8.2.1 Approve change requests | X | X | X |
| 8.2.2 Implement changes | X | X | X |
| 8.2.3 Verify changes | X | X | X |
| 8.2.4 Provide means for traceability of change | X | X | X |
| 8.3 Configuration status accounting | X | X | X |
| Clauses/Subclauses | Class A | Class B | Class C |
|---|---|---|---|
| 9.4 Use change control process | X | X | X |
| 9.5 Maintain records | X | X | X |
| 9.6 Analyse the problem for trends | X | X | X |
| 9.7 Verify software problem resolution | X | X | X |
| 9.8 Test documentation contents | X | X | X |
| Key | |
|---|---|
| X | Recommended for this class |