Techniques for increasing the safety of medical device programming using
general purpose hardware, such as a general purpose personal computer,
are described. Some embodiments include a watchdog module that is
serviced by the general purpose hardware, a mediator module that monitors
programming instructions from the general purpose hardware, and/or a safe
mode input that may be activated by a user. In some embodiments, a system
comprises an implantable medical device, an intermediate device, a
computing device that communicates with the implantable medical device
via the intermediate device. The intermediate device may provide any one
or more of the safety measures described above. In some embodiments, the
intermediate device is dedicated hardware, and critical programming
functions are provided by the intermediate device, rather than the
general purpose hardware. In some embodiments, an implantable medical
device provides one or more of the above-discussed safety features,
rather than a separate intermediate device.