Medical Device Development

The Vector Tool Chain Illustrated by the Example of an ECG

Developing medical devices requires a meticulous approach, with rigorous testing and attention to detail. We challenged ourselves and our tool chain to develop an electrocardiogram (ECG) device, for demonstration purposes only.

Our device transmits the patient’s heart rate and any alarms to a designated patient monitor via Ethernet. In the following, we show how our tools helped us to ensure the quality and reliability of the device, enabling us to identify and address potential issues early in the development cycle:

1. Static Code Analysis With PC-lint Plus

Like a compiler, PC-lint Plus parses the ECG device’s source code, performs semantic analysis, and builds an abstract syntax tree to

  • Identify a wide range of defects and vulnerabilities
  • Perform in-depth analysis to uncover potential bugs and suspicious code, reducing the risk of future issues
  • Quickly pinpoint the root cause and provide actionable fixes
  • Support for standards such as MISRA, AUTOSAR, and CERT C
  • Certified for ISO 26262 and IEC 61508 critical safety standards

2. Unit and Integration Testing With VectorCAST

During the software development phase, VectorCAST ensures the quality and reliability of our code. It is available with a Medical Device Software Compliance Kit for FDA and IEC 62304, that includes all necessary documentation for validating embedded software components used on all classes of medical devices.

  • Automated generation of test harness and stubs
  • Regression and Robustness Testing
  • Code coverage (all levels required by IEC 62304)
  • Test execution on host, simulator, and target systems

3. Environment Simulation With CANoe

Once we confirmed that our code is functioning as expected, we proceeded to test the device’s interaction with its environment. The ECG device’s environment comprises two main parts: the ECG signal input from the ECG pads and the patient monitor that receives heart rate and alarm data from the ECG.

Fortunately, we can simulate both using CANoe. We generate different kinds of ECG signals, from bradycardia to tachycardia, and simulate the patient monitor to verify that the ECG device correctly transmitted the data.

4. Software-in-the-Loop (SIL) Tests With CANoe

Having the environment simulated in CANoe, we are able to conduct virtual system-level tests during the software development phase. Additionally, we leverage the automated generation of a SIL Adapter to seamlessly connect our ECG Software with CANoe using the Vector SIL Kit. This allows us to fully utilize CANoe’s features, including:

  • Early virtual “black-box” SIL tests independent of hardware availability
  • Simulation of physical and software environments
  • Interactive development and testing in an exploratory way
  • Automated testing with the test design tool vTESTstudio
  • Seamless integration in CI/CT environments

5. Hardware-in-the-Loop (HIL) Tests with CANoe

By disabling vulnerabilities at the outset with static code analysis, ensuring code units behave as intended with unit tests, and conducting thorough software system-level tests, we can finally observe how all the pieces fit together during the HIL testing stage.

We can easily repurpose the simulated ECG signal and patient monitor, but now utilize Vector’s VT System and VH 4110 interface, or “IoT Enabler”, to transmit actual ECG data.

Download PDF
Specialist Contact
Marlene Gebhard
marlene.gebhard@vector.comLinkedIn
Send an Email
Connect on
LinkedIn
Submit
Request
Dr. Ulrich Berthold
Key Account Vector Medical

Contact

Dr. Ulrich Berthold

Keyaccount Vector Medical

ulrich.berthold@vector.com
Insights for Engineers
View all Articles
Always looking for the latest news?
Sign up and keep in touch.
Thanks for your interest.
Please check your e-mail to confirm your subscription.
Scroll up
By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information. Or make your selection in the Preferences.