IEC 62304 Software Development: A Real-World Perspective
IEC 62304 Software Development: A Real-World Perspective
A Real-World Perspective
Sharpen your Skills 2020, 28.04.2020
* the computer does what you tell it to do, not what you want it to do
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
Embedded software or Medical Device Software is software that is part of a
physical medical device and is designed for a specific hardware.
Note: The Medical Device Coordination Group (MDCG) uses the term Medical Device
Software (MDSW) for both, embedded and standalone software.
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
SOUP (Software of Unknown Provenance)
− Software item that is already developed and generally available and that has not
been developed for the purpose of being incorporated into the medical device (also
known as “off-the-shelf-software” or “3rd party component”).
− Software item previously developed for which adequate records of the development
processes are not available
Note: Usually integrated into a product to reduce development time and cost and/or not
to re-invent the wheel.
Note: The standard defines requirements and activities regarding the use of SOUP,
adding SOUP thus also incurs some effort and costs.
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
Product Lifecycle
Planning
Analysis Requirements
Testing Design
Implementation
Planning
Analysis Requirements
Risk
Management
Testing Design
Implementation
Post Market
Decommission
Risk Management
ISO 14971
Health Software
IEC 82304-1
Risk Management
ISO 14971
IEC / EN 60601-1
IEC 82304-1
IEC / EN 62304
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
Risk Based Approach
The standard defines three software safety classes:
− Class A: No injury or damage to health is possible
− Class B: Non-serious injury is possible
− Class C: Death or serious injury is possible
The software safety class applies to the software as a whole, but may optionally be
applied to individual or groups of software modules or components, e.g. low-risk
components may fall into a lower safety class.
The software safety class is defined by the potential harm emanating from the software,
regardless of the probability of the harm actually occurring.
Note: Software safety class is independent from the medical device classification
(Europe) and the level of concern (FDA); all of them are risk-based though.
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
The software safety class determines which lifecycle activities need to be performed for
the specific part of the software:
Note: The standard states that “Probability of a software failure shall be assumed to be
1”, this only concerns the software safety classification and not failure probability for risk
management or in general
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
Software Safety Classification
Software items with a lower safety class must Software System / Software Item
not be able to adversely affect software items (Class C)
Maintenance Request
Activities outside of the scope of this standard
Request satisfied
Note: Software developers are not risk managers! They can and should be part of the risk
management team as subject matter experts though.
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
Configuration Management Process
Identify the inputs (and environment) from which a specific output has been developed:
− Establish means to identify configuration items (traceability)
− Techfile documents as defined in the document plan
− Source code as maintained in the version control system
− Toolchain, SOUP, and other inputs as defined in the configuration manual
Note: The configuration of a software release is essentially a snapshot of all the inputs
and the generated output, including all relevant documents of the techfile.
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
Problem Resolution Process
Handle problems found during development or in the field:
− Prepare problem report for each problem found
− Investigate the problem and analyze the problem’s impact on safety (risk
management, not the developer)
− Inform relevant parties
− Create change requests (change management, maintenance process) to fix the
problem
− Verify problem resolution (also add to regression tests)
− Analyse problems for trends
Note: Most of these activities can be handled by a properly configured ticketing system.
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
Chronological order often encountered in projects
V1.0 V1.x
7 Risk Management
9 Problem Resolution
Project Progress
Note: Usually people only call for external help when they’re already stuck
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
Example – “University Project”
− Develops a proof of concept and wants to market it
− High employee turnover (e.g. built by postdocs and research assistants)
− Does not employ a structured development process
− No experience in medical device development / medical device software development
− No reasonable way to make the existing result compliant with the regulatory or
normative requirements
− Project abort or redo from start by an experienced supplier or manufacturer
Note: To make things worse, proof of concept sometimes already used on patients
through university clinics or similar institution.
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
Example – “Startup, not motivated”
− Develops a product and wants to market it
− Suddenly confronted by fact that product is a medical device and covered by
legislative and normative requirements (and that these also apply to startups)
− Goal is quick exit and not becoming a legal manufacturer
− Retrospective application of IEC 82304/IEC 62304 activities and documentation; find
gaps and fill them
− IEC 82304/IEC 62304 outsourced / ghostwriting by service provider
− No or negligible internal acquisition of know-how
− Painful but possible for Class I products (MDD, likely no longer possible under MDR)
Note: The legacy software process can only be applied for software that has already
been placed on the market legally.
Robert-Walser-Platz 7 I CH-2503 Biel I +41 32 513 67 67 I [email protected] I www.iss-ag.ch
What does work
− Compliant development from the start
− Retrospective activities and documentation for legacy projects or motivated startups
− Remove medical functionality and market product as lifestyle product or medical
device of a lower class
− Using the time the product is sold as a lifestyle product to get the required processes
and infrastructure to create medical devices, collecting and using post market data
from the lifestyle product and in the end add the medical device functionality back to
the product and release it as such
− Moving from pure agile development to IEC compliant development