From day one, our software engineering team is involved in the product development process, working with customers to develop the software requirement specifications. The software is the metaphorical “brain” that runs the medical devices we design. The team ensures that the software architecture is optimized to include the human factors and operator process workflow. In addition, the team allows for the integration of specific operational software needed to deliver all of the functional features.
Software Design and Development
With more than 30 years of experience in developing medical devices and instrumentation, KMC Systems has developed a rigorous, compliant, and proven software development process that supports the FDA Total Product Life Cycle approach, as well as the IEC 62304 standard. Our quality system, which includes our software quality assurance procedures, is audited annually for compliance for ISO 13485:2003 certification.
We develop software for virtually all of the elements in these highly complex devices. Our expertise with in vitro diagnostics (IVD), combined with our capabilities in diagnostic imaging, means that we can help our clients realize the full range of opportunities associated with targeted medicine. Our process helps provide the complete diagnostic picture.
Beyond IVD, our broad experience enables us to provide solutions that address the needs other clinical, therapeutic, and surgical products.
At KMC Systems, we maintain a library of proven software code, developed exclusively for medical products. By re-using software that has been developed by our software engineering team, medical OEMs and start-ups can quickly conduct “voice of the customer” studies and focus groups. In addition, this process reduces the overall software development cost and timeline. Bringing products to market faster, that is KMC’s goal.
Software Development Process
If needed, the software development team at KMC is setup to collaborate with external customer developers on a project. The KMC software development team utilizes its own development server for project development, providing multiple functions that automate the development process.
Here are some of our processes:
Nightly Build Process
- Builds unit tests and executes them
- Builds project firmware
- Build desktop and embedded application software
- Build simulators
- Cross-compile under different compilers
- Compile under several static analysis tools
- All build output captured to an html file, posted to private website, e-mailed to development team
- Used to capture project-specific items
- Group communication/collaboration
Source Code Control
- Utilizes industry standard products for tracking entire change history
- Web-based for internal and external use
- Customer access to current issue status provided via web
Software Coding Guidelines
- Follows KMC QA policies
- Peer-based code reviews
- Used to capture daily build information
- Engineering releases are posted for download