PVS: Pacemaker Verification System
Motivation
About 3 million individuals in the world depend on surgically implanted pacemakers to maintain proper heart rhythm. Pacemakers are inherently complex. They are programmed with tens of thousands of lines of code, and are inevitably prone to bugs. Between 1990 and 2000, over 200,000 pacemakers were recalled due to software issues.
The purpose of the Pacemaker Verification System is to test pacemakers with the realism of clinical trials but without the inherent risks, with the goal of finding and removing software errors before patient implantation.
Design
Our system allows testing of pacemakers using a virtual heart. The heart is programmed to exhibit a variety of irregular rhythms, or arrhythmias, and we can see how the pacemaker reacts. This is not enough though. The heart and the pacemaker form a closed-loop, dynamic system; we need to see both how the heart affects the pacemaker, and how the pacemaker affects the heart. By designing our virtual heart to react to pacing signals, we can capture these interactions.
Existing methods test how the heart affects the pacemaker, but NOT how the pacemaker affects the heart
The Virtual Heart
The virtual heart was built using finite state machines to model the heart's signal propagation properties for different types of arrhythmias. Using code generation tools, these models were directly translated to an FPGA hardware implementation, ensuring proper and desirable behavior of the models. See Penn mLAB's page for research and publications on the underlying virtual heart model.
Results
The Pacemaker Verification System allows testing with a realism prior systems do not match. By capturing the closed-loop interactions between the pacemaker and the heart, we can detect errors that won't crop up in static input testing. One such scenario that we can demo with a real pacemaker is endless-loop tachycardia. In this case, the feedback loop forced by the pacemaker can only be detected with a closed-loop testing system like this.
This new system saves lives (and insurance costs). Imagine the FDA using this device to pre-certify that all pacemakers meet one or more new testing standards. Or what if medical device manufacturers could load their own custom models as baseline testing for new pacing algorithms they're developing to overcome specific arrhythmias. Lastly, consider your cardiologist, who can configure a model for your heart and verify that the pacemaker he bought for you will perform as intended. These are but a few of the possibilities this new testing platform affords.
Let our heart catch bugs before your heart does
Demo
Recognition
- First Prize in the High-tech Medical Service category of the 2012 World Embedded Software Contest. See the Penn Engineering article.
- Winner of the Penn Engineering school-wide Senior Design Competition
- Winner of the Berger Award, Penn ESE Senior Design
- Finalist in the 2012 IEEE Presidents' Change the World Competition
- Demonstrated at IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2012), Beijing, China. Abstract available on IEEE Xplore.
A Presentation in Pictures
See more information on how the Pacemaker Verification System works and some presentation shots in the slideshow below. Click "Show info" to see captions.Links
- Senior design poster [PDF]
- Senior design paper (warning: terribly long) [PDF]
- Presentation Video [YouTube]
- Code [GitHub]
- Contact: pvs@medcps.org