# IEC 62304 Summary

## Overview

IEC 62304:2006/A1:2015 — Medical device software — Software life cycle processes

## Software Safety Classification

| Class | Injury Severity | Example |
|-------|-----------------|---------|
| A | No injury possible | Software that processes data but doesn't control hardware |
| B | Non-serious injury possible | Software that could cause user discomfort but not injury |
| C | Death or serious injury possible | Software controlling therapeutic devices |

## Required Processes by Class

| Process | Class A | Class B | Class C |
|---------|---------|---------|---------|
| Software Development Plan | Required | Required | Required |
| Software Requirements Analysis | Required | Required | Required |
| Software Architectural Design | Required | Required | Required |
| Software Detailed Design | — | Required | Required |
| Software Unit Implementation | Required | Required | Required |
| Software Unit Verification | Required | Required | Required |
| Software Integration & Integration Test | Required | Required | Required |
| Software System Integration Test | Required | Required | Required |
| Software Release | Required | Required | Required |
| Software Maintenance Plan | Required | Required | Required |
| Software Risk Management | Required | Required | Required |
| Software Configuration Management | Required | Required | Required |
| Software SUP Documentation | — | Required | Required |
| Software Architecture Analysis | — | — | Required |
| Software Detailed Design Review | — | — | Required |

## Key Documentation Requirements

### Class C (Most Stringent)

1. **Software Development Plan**
   - Development process, milestones, deliverables
   - Software safety class justification

2. **Software Requirements Specification (SRS)**
   - Functional requirements
   - Non-functional requirements (performance, safety, security)
   - User interface requirements
   - Data definition requirements

3. **Software Architecture Document**
   - High-level design
   - Software items (units/subsystems)
   - Interface definitions
   - Static and dynamic relationships

4. **Software Detailed Design**
   - Unit-level design
   - Algorithm design
   - Data structure definitions

5. **Software Unit Verification**
   - Unit test plan
   - Unit test reports
   - Coverage analysis (≥ 90% MC/DC for Class C)

6. **Software Integration Report**
   - Integration sequence
   - Test results
   - Anomaly resolution

7. **System Integration Test Report**
   - End-to-end testing
   - Performance testing

8. **Release Notes**
   - Known issues
   - Version information
   - Installation/deployment instructions

## Traceability

IEC 62304 requires bidirectional traceability:

```
Software Requirements → Software Design → Code → Unit Tests
       ↑                    ↑              ↑
       └────────────────────┴──────────────┘
              (and reverse)
```

Each requirement must be:
- Linked to design elements
- Linked to test cases
- Verifiable

## Unit Testing Requirements

| Class | Coverage Requirement |
|-------|---------------------|
| A | Statement coverage recommended |
| B | > 70% branch coverage |
| C | > 90% MC/DC (Modified Condition/Decision Coverage) |

## Anomaly Management

All anomalies (bugs) must be:
- Documented
- Classified by severity
- Tracked to closure
- Reviewed for impact on safety

Anomaly severity classification:
- **Critical**: Could cause death or serious injury
- **Major**: Could cause minor injury or device malfunction
- **Minor**: Cosmetic or convenience issue
