MicroTools’ 62304 Implementation Guidance

The following provides additional requirements for developing hardware and software systems for medical devices over and above MicroTools’ standard operating procedures and processes

62304 requires MicroTools to implement a Risk Management Process that is compliant with 14971. These guidelines are handled separately.

MicroTools shall include an assessment of the software development process to assure that these standards are met. At MicroTools, this falls upon the head of the Software Quality Assurance (SQA). The project plan will provide a checklist on a project-by-project basis. (1.4)

During the proposal phase, each software package shall be evaluated in terms of the software safety class (A, B, or C from 4.3) it belongs to.

During development, individual software items may be re-evaluated in terms of what software safety class they fall into.

For Class B and C software:

  • all of the documentation shall be placed under configuration control prior to their Review (5.1.10)
  • MicroTools shall include Risk Control measures into the SRS.(5.2.3)
  • an architectural document shall be created. (5.3.1 & 5.3.2)
  • all functional and performance requirements shall be specified for all Software of Unknown Provenance (SOUP) (5.3.3)
  • MicroTools shall establish strategies, methods and procedures for verifying each software unit. (5.5.2)
  • MicroTools shall establish acceptance criteria for software units prior to integration (5.5.3 & 5.5.4)
  • MicroTools shall verify each software unit and document the results (5.5.5)
  • MicroTools shall record the results of software integration (5.6.2, 5.6.3)
  • MicroTools shall verify the integration test plan (5.6.5)
  • MicroTools shall implement the requirements of section 7
  • MicroTools shall provide a mechanism for regular review of the known anomaly list for any SOUP that is identified as having the potential of creating a hazardous condition. Practically, this involves reviewing the Linux kernel bug fix list on a regular basis. Special note needs to be made for this as this becomes a long term project wherever Linux is incorporated into such a device. (7.1.3)


For Class C software:

  • the architecture document shall define any necessary segregation between software items (5.3.5)
  • detailed designs are required for every lowest level software unit (module or function). (5.4.2)


For all classes:

  • MicroTools shall conduct a re-evaluation of the risk analysis during the Requirements Review (5.2.4)
  • MicroTools shall create a software maintenance plan (6.1)
  • MicroTools shall create an audit trail for tracking bugs to the changes made. This will be incorporated in the version control software by including the Mantis number with each check-in after the initial release of the software. (8.2.4)
  • MicroTools shall perform periodic analysis to detect trends in problem reports. The project plan shall reflect the appropriate periodicity of the analysis. (9.6)