IEC 62304:2006 is an internationally recognised medical device standard which provides a framework for the development, testing and maintenance of software used as or within medical devices. It is a fundamental standard, especially considering the development of the new software-based technologies in the medical device world.
This standard is quite complex, so different posts will be published taking in consideration different aspects of this ISO regulation. In this post, the following topics will be discussed:
- Software Safety Classification
- How to apply the software safety classification
- Software Development Plan
- Software Architecture
Software Development Lifecycle according to IEC 62304
Different levels of requirements and verification/validation activities.
Software Safety Classification
Safety class A: the software system cannot contribute to a hazardous situation; or the software system can contribute to a hazardous situation which does not result in unacceptable risk after implementation of risk control measures external to the software system.
Safety class B: the software system can contribute to a hazardous situation which results in unacceptable RISK after consideration of risk control measures external to the software system and the resulting possible harm is non-serious injury.
Safety class C: the software system can contribute to a hazardous situation which results in unacceptable risk after consideration of risk control measures external to the software system and the resulting possible harm is death or serious injury.
How to apply the software safety classification?
There can be different approaches to determine the class of risk of a software according to IEC 62304. One possibility is the following:
- Take the list all the SRS (software requirement specifications)
- For each of them evaluate, from risk point of view, what could bring the failure of these requirements; based on the output, classify each requirement with A, B or C, based on the explanation provided in the previous section.
- The class of risk of the software is the highness class of risk of any software requirements evaluated.
Software Development Plan for the IEC 62304
The IEC 62304 – Medical Device Software requires the documentation of a software development plan. This provides a framework for the conduction of the activities related to the SW development lifecycle. The plan shall address the following:
- process in the development of the software
- the deliverables of the activities
- Traceability between Software requirements – software systems – and risk control measures.
- Software configuration and change management, including management of SOUP
- Software problem resolution for management of software related issue.
It is very important that the software development plan is updated during the design process or, alternatively, a specific justification is documented why update is not needed.
Software Architectural Design according to IEC 62304
The software architecture shall be defined, including all the different software items and their interconnections. In case the software items are formed by Software of Unknown Provenance (SOUP), functional and performance requirements of SOUP need to be identified.
Activities of verification for software architecture shall be documented, and the following need to be verified:
- the architecture of the software implements systems and software requirements including those relating to risk control;
- The architecture is able to support interactions within software items and between software items and hardware.
- the architecture support