The
international standard IEC 62304 – medical device software – software life
cycle processes is a standard which specifies life cycle requirements for the
development of medical software and software within medical devices. It is
harmonized by the European Union (EU) and the United States (US), and therefore
can be used as a benchmark to comply with regulatory requirements from both
these markets.
This
standard covers safe design and maintenance of software. It provides processes,
activities, and tasks to ensure safety.
There
are nine parts of IEC 62304:
Part
1: Scope.
Part
2: Normative references.
Part
3: Terms and definitions.
Part
4: General requirements.
Part
5: Software development process.
Part
6: Software maintenance process.
Part
7: Software risk management process.
Part
8: Software configuration management process.
Part
9: Software problem resolution process.
It’s
assumed that you use a quality management system and risk management system.
It’s
important to ensure safety from the start of development. Product testing isn’t
enough to ensure patient safety. And patient safety is critical. Plus, building
safety into your processes early on saves time and expense later.
Software
safety classification in IEC 62304 determines the safety-related processes
you’ll need to use. This impacts the entire software development lifecycle —
from requirements and coding to release and maintenance.
IEC
62304 defines three safety classes for software:
Class
A: No injury or damage to health is possible.
Class
B: Injury is possible, but not serious.
Class
C: Death or serious injury is possible.
The
IEC 62304 standard calls out certain cautions on using software, particularly
SOUP (software of unknown pedigree or provenance). The standard spells out a
risk-based decision model on when the use of SOUP is acceptable, and defines
testing requirements for SOUP to support a rationale on why such software
should be used.
Software development process
–
Software development planning
–
Software requirements analysis
–
Software architectural design
–
Software detailed design
–
Software unit implementation and verification
–
Software integration and integration testing
–
Software system testing
–
Software release
Software maintenance process
–
Establish software maintenance plan
–
Problem and modification analysis
–
Modification implementation
Software risk management process
–
Analysis of software contributing to hazardous situations
–
Risk control measures
–
Verification of risk control measures
–
Risk management of software changes
–
Security and reliability through software quality
Software configuration management process
–
Configuration identification
–
Change control
–
Configuration status accounting
Software problem resolution process
–
Prepare problem reports
–
investigate the problem
–
Advise relevant parties
–
Use change control process
–
Maintain records
–
Analyse problems for trends
–
Verify software problem resolution
– Test documentation contents.
User questions & answers