4 | General requirements | Y | Y | Y |
4.1 | Quality management system | Y | Y | Y |
4.2 | Risk management | Y | Y | Y |
4.3 | Software safety classification | Y | Y | Y |
4.4 | Legacy software (not applicable unless you have legacy software) | Y | Y | Y |
4.4.1 | General | Y | Y | Y |
4.4.2 | Risk management activities | Y | Y | Y |
4.4.3 | Gap analysis | Y | Y | Y |
4.4.4 | Gap closure activities | Y | Y | Y |
4.4.5 | Rational for use of legacy software | Y | Y | Y |
| | | | |
5 | Software development process | | | |
5.1 | Software development planning | | | |
5.1.4 | Software development standards, methods and tool planning | | | Y |
5.1.5 | Software integration and integration test planning | | Y | Y |
5.1.10 | Supporting items to be controlled | | Y | Y |
5.1.11 | Software configuration item control before verification | | Y | Y |
5.1.12 | Identification and avoidance of common software defects | | Y | Y |
5.2 | Software requirements analysis | | | |
5.2.3 | Include risk control measures in software requirements | | Y | Y |
5.3 | Software architectural design | | | |
5.3.1 | Transform software requirements into an architecture | | Y | Y |
5.3.2 | Develop an architecture for the interfaces of software items | | Y | Y |
5.3.3 | Specify functional and performance requirements of SOUP item | | Y | Y |
5.3.4 | Specify system hardware and software required by SOUP item | | Y | Y |
5.3.5 | Identify segregation necessary for risk control | | | Y |
5.3.6 | Verify software architecture | | Y | Y |
5.4 | Software detailed design | | | |
5.4.1 | Subdivide software into software units | | Y | Y |
5.4.2 | Develop detailed design for each software unit | | | Y |
5.4.3 | Develop detailed design for interfaces | | | Y |
5.4.4 | Verify detailed design | | | Y |
5.5 | Software unit implementation | | | |
5.5.2 | Establish software unit verification process | | Y | Y |
5.5.3 | Software unit acceptance criteria | | Y | Y |
5.5.4 | Additional software unit acceptance criteria | | | Y |
5.5.5 | Software unit verification | | Y | Y |
5.6 | Software integration and integration testing | | | |
5.6.1 | Integrate software units | | Y | Y |
5.6.2 | Verify software integration | | Y | Y |
5.6.3 | Software integration testing | | Y | Y |
5.6.4 | Software integration testing content | | Y | Y |
5.6.5 | Evaluate software integration test procedures | | Y | Y |
5.6.6 | Conduct regression tests | | Y | Y |
5.6.7 | Integration test record contents | | Y | Y |
5.6.8 | Use software problem resolution process | | Y | Y |
5.7 | Software system testing | | | |
5.8 | Software release for utilization at a system level | | | |
5.8.3 | Evaluate known residual anomalies | | Y | Y |
5.8.5 | Document how released software was created | | Y | Y |
5.8.6 | Ensure activities and tasks are complete | | Y | Y |
| | | | |
6 | Software maintenance process | | | |
6.2 | Problem and modification analysis | | | |
6.2.1 | Document and evaluate feedback | | | |
6.3 | Modification implementation | | | |
| | | | |
7 | Software risk management process | | | |
7.1 | Analysis of software contributing to hazardous situations | | | |
7.1.1 | Identify software items that could contribute to a hazardous situation | | Y | Y |
7.1.2 | Identify potential causes of contribution to a hazardous situation | | Y | Y |
7.1.3 | Evaluate published SOUP anomaly lists | | Y | Y |
7.1.4 | Document potential causes | | Y | Y |
7.1.5 | Deleted | | | |
7.2 | Risk control measures | | | |
7.2.1 | Define risk control measures | | Y | Y |
7.2.2 | Risk control measures implemented in software | | Y | Y |
7.3 | Verification of risk control measures | | | |
7.3.1 | Verify risk control measures | | Y | Y |
7.3.2 | (Not used) | | | |
7.3.3 | Document traceability | | Y | Y |
7.4 | Risk management of software changes | | | |
7.4.2 | Analyse impact of software changes on existing risk control measures | | Y | Y |
7.4.3 | Perform risk management activities based on analyses | | Y | Y |
| | | | |
8 | Software configuration management process | | | |
8.1 | Configuration identification | | | |
8.2 | Change control | | | |
9 | Software problem resolution process | | | |
5.1.1 | Software development plan | Y | Y | Y |
5.1.2 | Keep software development plan update | Y | Y | Y |
5.1.3 | Software development plan reference to system design and development | Y | Y | Y |
5.1.6 | Software verification planning | Y | Y | Y |
5.1.7 | Software risk management planning | Y | Y | Y |
5.1.8 | Documentation planning | Y | Y | Y |
5.1.9 | Software configuration management planning | Y | Y | Y |
5.2.1 | Define and document software requirements from system requirements | Y | Y | Y |
5.2.2 | Software requirements content | Y | Y | Y |
5.2.4 | Re-evaluate medical device risk analysis | Y | Y | Y |
5.2.5 | Update requirements | Y | Y | Y |
5.2.6 | Verify software requirements | Y | Y | Y |
5.5.1 | Implement each software unit | Y | Y | Y |
5.7.1 | Establish tests for software requirements | Y | Y | Y |
5.7.2 | Use software problem resolution process | Y | Y | Y |
5.7.3 | Retest after changes | Y | Y | Y |
5.7.4 | Evaluate software system testing | Y | Y | Y |
5.7.5 | Software system test record contents | Y | Y | Y |
5.8.1 | Ensure software verification is complete | Y | Y | Y |
5.8.2 | Document known residual anomalies | Y | Y | Y |
5.8.4 | Document released versions | Y | Y | Y |
5.8.7 | Archive software | Y | Y | Y |
5.8.8 | Assure reliable delivery of released software | Y | Y | Y |
6.1 | Establish a software maintenance plan | Y | Y | Y |
6.2.1.1 | Monitor feedback | Y | Y | Y |
6.2.1.2 | Document and evaluate feedback | Y | Y | Y |
6.2.1.3 | Evaluate problem report’s effects on safety | Y | Y | Y |
6.2.2 | Use software problem resolution process | Y | Y | Y |
6.2.3 | Analyse change requests | Y | Y | Y |
6.2.4 | Change request approval | Y | Y | Y |
6.2.5 | Communicate to users and regulators | Y | Y | Y |
6.3.1 | Use established process to implement modification | Y | Y | Y |
6.3.2 | Re-release modified software system | Y | Y | Y |
7.4.1 | Analyse changes to medical device software with respect to safety | Y | Y | Y |
8.1.1 | Establish means to identify configuration items | Y | Y | Y |
8.1.2 | Identify SOUP | Y | Y | Y |
8.1.3 | Identify system configuration documentation | Y | Y | Y |
8.2.1 | Approve change requests | Y | Y | Y |
8.2.2 | Implement changes | Y | Y | Y |
8.2.3 | Verify changes | Y | Y | Y |
8.2.4 | Provide means for traceability of change | Y | Y | Y |
8.3 | Configuration status accounting | Y | Y | Y |
9.1 | Prepare problem reports | Y | Y | Y |
9.2 | Investigate the problem | Y | Y | Y |
9.3 | Advise relevant parties | Y | Y | Y |
9.4 | Use change control process | Y | Y | Y |
9.5 | Maintain records | Y | Y | Y |
9.6 | Analyse problems for trends | Y | Y | Y |
9.7 | Verify software problem resolution | Y | Y | Y |