EP1485165B1 - Telemetry module with configurable data layer for use with an implantable medical device - Google Patents

Telemetry module with configurable data layer for use with an implantable medical device Download PDF

Info

Publication number
EP1485165B1
EP1485165B1 EP03744620A EP03744620A EP1485165B1 EP 1485165 B1 EP1485165 B1 EP 1485165B1 EP 03744620 A EP03744620 A EP 03744620A EP 03744620 A EP03744620 A EP 03744620A EP 1485165 B1 EP1485165 B1 EP 1485165B1
Authority
EP
European Patent Office
Prior art keywords
telemetry module
medical device
telemetry
implantable medical
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP03744620A
Other languages
German (de)
French (fr)
Other versions
EP1485165A1 (en
Inventor
Gregory P. Spar
Steven M. Goetz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Medtronic Inc
Original Assignee
Medtronic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Medtronic Inc filed Critical Medtronic Inc
Publication of EP1485165A1 publication Critical patent/EP1485165A1/en
Application granted granted Critical
Publication of EP1485165B1 publication Critical patent/EP1485165B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/372Arrangements in connection with the implantation of stimulators
    • A61N1/37211Means for communicating with stimulators
    • A61N1/37252Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data
    • A61N1/37264Changing the program; Upgrading firmware
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/372Arrangements in connection with the implantation of stimulators
    • A61N1/37211Means for communicating with stimulators
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/372Arrangements in connection with the implantation of stimulators
    • A61N1/37211Means for communicating with stimulators
    • A61N1/37252Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/372Arrangements in connection with the implantation of stimulators
    • A61N1/37211Means for communicating with stimulators
    • A61N1/37252Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data
    • A61N1/37254Pacemaker or defibrillator security, e.g. to prevent or inhibit programming alterations by hackers or unauthorised individuals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • H04Q9/04Arrangements for synchronous operation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/3605Implantable neurostimulators for stimulating central or peripheral nerve system

Definitions

  • the present invention generally relates to implantable medical devices. More particularly, the invention relates to configuration of a telemetry unit for transmitting data to and from an implantable medical device.
  • the medical device industry produces a wide variety of electronic and mechanical devices suitable for use outside and inside the body for treating patient disease conditions.
  • Devices used outside the body are termed external while devices used inside the body are termed implantable medical devices and include devices such as neurostimulators, drug delivery devices, pacemakers, defibrillators, and cochlear implants.
  • Clinicians use implantable medical devices alone or in combination with therapeutic substance therapies and surgery to treat patient medical conditions. For some medical conditions, implantable medical devices provide the best, and sometimes the only, therapy to restore an individual to a more healthful condition and a fuller life.
  • Implantable medical devices can be used to treat any number of conditions such as pain, cancer, incontinence, movement disorders such as epilepsy, spasticity, and Parkinson's disease, and sleep apnea. Additionally, use of implantable medical devices appears promising to treat a variety of physiological, psychological, and emotional conditions.
  • Implantable medical devices have important advantages over other forms of therapeutic substance administration. For example, oral administration is often not workable because the systemic dose of the substance needed to achieve the therapeutic dose at the target site may be too large for the patient to tolerate without very adverse side effects. Also, some substances simply will not be absorbed in the gut adequately for a therapeutic dose to reach the target site Moreover, substances that are not lipid soluble may not cross the blood-brain barrier adequately if needed in the brain. In addition, infusion of substances from outside the body requires a transcutaneous catheter, which results in other risks such as infection or catheter dislodgement Further, implantable medical devices avoid the problem of patient noncompliance, namely the patient failing to take the prescribed drug or therapy as instructed.
  • one type of medical device is an Implantable Neuro Stimulator (INS).
  • INS Implantable Neuro Stimulator
  • the INS is implanted at a predetermined location in the patient's body.
  • the INS generates and delivers electrical stimulation signals at neurostimulation sites or areas to influence desired neural tissue, tissue areas, nervous system and organs to treat the ailment of concern.
  • the stimulation sites can also include the spinal cord, brain, body muscles, peripheral nerves or any other site selected by a physician.
  • electrical impulses may be directed to cover the specific sites where the patient is feeling pain.
  • Neurostimulation can give patients effective pain relief and can reduce or eliminate the need for repeat surgeries and the need for pain medications.
  • Implantable medical devices are often used in conjunction with various computer and telecommunication systems and components. Information obtained by the implantable medical device may be stored and subsequently transmitted to a physician or patient caregiver or a database on demand or automatically. Many ways of using the information are known including decision making to provide optimum medical care to the person with the medical condition.
  • an external device such as a physician programmer can be used to allow a physician to communicate with the implanted medical device.
  • the physician programmer allows the physician to create and store stimulation therapy programs for the patient to be delivered by the implanted medical device.
  • the physician programmers also serve to recharge a rechargeable power source in the implanted medical device.
  • the physician programmer communicates bi-directionally with the implanted medical device via RF telemetry signals.
  • the bi-directional communication between the medical device and the physician or patient programmer is typically accomplished via a telemetry module.
  • the physician programmer, the patient programmer and the medical device each have respective telemetry modules that allow for bi-directional communication between the medical device and the programmers.
  • the bi-directional telemetry communication, between the medical device and the physician or patient programmers is typically conducted at frequencies in a range from about 150 KHz to 200 KHz using existing telemetry protocols.
  • a telemetry protocol is generally an agreed-upon format for transmitting data between two devices. The protocol can be implemented in hardware and/or software.
  • the protocol determines, for example, the type of error checking to be used, the data compression method, if any, how the sending device will indicate that it has finished sending a message, how the receiving device will indicate that it has received a message, etc.
  • the protocol determines, for example, the type of error checking to be used, the data compression method, if any, how the sending device will indicate that it has finished sending a message, how the receiving device will indicate that it has received a message, etc.
  • the external device must support the right protocol(s) in order to communicate with the implanted device.
  • the physician programmer is configured to provide telemetric communication using one or more pre-specified communication protocols. Accordingly, the physician programmer is typically only capable of communicating with those implanted medical devices that utilize those protocols. For each of the varying types of implanted devices available, the physician would need to have separate physician programmers that were compatible with each of the devices. Similarly, if the patient had more than one implanted device, the physician would likely need more than one physician programmer, one for each implanted device.
  • Document US 5 843 139 discloses an adaptive, performance-optimizing communication system for communicating with an implanted medical device.
  • Document US 5 383 912 describes an apparatus and a method for communicating data between an external medical device and an internal medical device.
  • an implantable medical device system having a programming device, a telemetrymodule, and an implanted medical device.
  • the physician programmer launches an application that requires some level of interaction with an implanted medical device and that is specific to the implanted medical device.
  • the physician programmer configures a data layer of the telemetry module to enable communication of the implanted device.
  • the programmer installs an appropriate protocol driver within the telemetry module that is compatible with the implanted medical device.
  • the telemetry module once configured with the appropriate protocol driver, may then facilitate communication between the implanted device and the physician programmer.
  • the implanted device can provide to the physician programmer various configuration parameters of the implanted device.
  • the telemetry module may be physically resident within the physician programmer.
  • the telemetry module may operate to interact with a patient programmer or any other general-purpose computing device such as a personal computer or a hand-held Personal Digital Assistant (PDA) device, thereby allowing any such device to communicate with the implanted medical device.
  • PDA Personal Digital Assistant
  • the present invention provides techniques for configuring a data layer of a telemetry module for communication with an implantable medical device.
  • implantable medical devices including, but not limited to, implantable drug delivery devices, pacemakers, defibrillators, and cochlear implants.
  • one aspect of the present invention enables the external device to be a universal device that can communicate with any number of implanted devices.
  • program modules include routines, programs, objects, scripts, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • FIG. 1 shows the general environment of an implantable medical device system in accordance with a preferred embodiment of the present invention.
  • the implantable medical device system generally includes an implantable medical device 5, such as an Implantable Neuro Stimulator (INS), a lead 11A, a lead extension 12A, a physician programmer 30, and a telemetry module 31.
  • the system also typically includes other components, such as a patient programmer, an external therapy delivery device, and optionally various sensors, which are not shown.
  • INS Implantable Neuro Stimulator
  • U.S. Patent Application Publication No. 20030171789 entitled “Method and Apparatus for Programming an Implantable Device” filed on November 1, 2001 discloses one example of an implantable medical device system for use with the present invention.
  • the implantable medical device 5 is implanted in the body in a subcutaneous pocket at a site selected after considering physician and patient preferences, typically near the abdomen of the patient.
  • the implantable medical device 5 is an INS
  • the device is a modified implantable pulse generator that will be available from Medtronic, Inc. with provisions for multiple pulses occurring either simultaneously or with one pulse shifted in time with respect to the other, and having independently varying amplitudes and pulse widths.
  • the INS 5 contains a power source and other electronics to send precise, electrical pulses to the spinal cord, brain, or neural tissue to provide the desired treatment therapy.
  • the lead 11A is a small medical wire with special insulation.
  • the lead 11A includes one or more insulated electrical conductors with a connector on the proximal end and electrical contacts on the distal end. Some leads are designed to be inserted into a patient percutaneously, such as the Model 3487A Pisces-Quad® lead available from Medtronic, Inc. of Minneapolis Minnesota, and some leads are designed to be surgically implanted, such as the Model 3998 Specify® lead also available from Medtronic.
  • the lead 11A may also be a paddle having a plurality of electrodes including, for example, a Medtronic paddle having model number 3587A. Alternatively, the lead 11A may provide electrical stimulation as well as drug infusion. Those skilled in the art will appreciate that any variety of leads may be used to practice the present invention depending upon the type of implantable medical device being used.
  • the lead 11A is implanted and positioned to provide treatment therapy to a specific site in the spinal cord or the brain.
  • the lead 11A may be positioned along a peripheral nerve or adjacent neural tissue ganglia like the sympathetic chain or it may be positioned to provide treatment therapy to muscle tissue.
  • the lead 11A contains one or more electrodes (small electrical contacts) at a distal end 13A through which electrical stimulation is delivered from the implantable medical device 5 to the targeted neural tissue.
  • the lead 11A may have electrodes that are epidural, intrathecal or placed into the spinal cord itself. Effective spinal cord stimulation may be achieved by any of these lead placements.
  • the physician programmer 30 also known as a host programmer, uses a telemetry module (discussed further herein) to communicate with the implantable medical device 5, so a physician can program and manage a patient's therapy stored in the implantable medical device 5 and troubleshoot the implantable medical device system.
  • a physician programmer 30 is a Model 8840 Console Programmer soon to become available from Medtronic.
  • Figure 2 depicts views of the physician programmer 30 including a front view 203, a top view 207, a bottom view 208, a back view 205, a left side view 202, and a right side view 204.
  • the physician programmer 30 is preferably a portable computing device having a user interface.
  • the user interface preferably includes a screen display 201 that is touch-sensitive to a pointing device 206 ( Figure 3 ), similar to that of Personal Digital Assistants (PDA) available today.
  • PDA Personal Digital Assistants
  • On the dorsal side 217 of the physician programmer 30 is an area to receive and hold the telemetry module 240.
  • Figure 3 illustrates how the telemetry module 240 is insertable within a dorsal side 217 of the physician programmer 30.
  • Figure 4 depicts the general componentry of the physician programmer 30, which includes a user interface 405, a processor 410, a transmitter, and a receiver.
  • the physician programmer 30 acts as the control interface to the implanted medical device 5, which is generally dictated by the computer software application in the physician programmer.
  • the software application generally has the following methods for implementing its control functionality: navigation methods; reporting methods; printing methods; data storage and transfer methods; data entry methods; methods to perform interrogation/review; methods to perform batch programming; user preferences; help methods; methods to resolve conflicts, and the like.
  • FIG. 5 provides a schematic block diagram of an exemplary INS 5.
  • the INS generally includes a processor 540A with an oscillator 535A, a calendar clock 530A, memory 545A, and system reset 550A, a telemetry module 505A, a recharge module 510, a power source 515A, a power management module 520A, a therapy module 555A, and a therapy measurement module 560.
  • INS 5 can include, for example, a diagnostics module (not shown). All components except the power source 515A can be configured on one or more Application Specific Integrated Circuits (ASICs), may be part of one or more discrete components, or a combination of both. Also, all components except the oscillator 535A, the calendar clock 530A, and the power source 515A are connected to bi-directional data bus 525 that is non-multiplexed with separate address and data lines.
  • ASICs Application Specific Integrated Circuits
  • the processor 540A is synchronous and operates on low energy such as a Motorola 68HC11 synthesized core operating with a compatible instruction set
  • the oscillator 535A operates at a frequency compatible with the processor 540A, associated components, and energy constraints such as in the range from 100 KHz to 1.0 MHZ.
  • the calendar clock 530A counts the number of seconds since a fixed date for date/time stamping of events and for therapy control such as circadian rhythm linked therapies.
  • the memory 545A includes memory sufficient for operation of the INS 5 such as volatile Random Access Memory (RAM) for example Static RAM, nonvolatile Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM) for example Flash EEPROM, and register arrays configured on ASICs.
  • RAM volatile Random Access Memory
  • ROM nonvolatile Read Only Memory
  • EEPROM Electrically Erasable Programmable Read Only Memory
  • register arrays configured on ASICs.
  • Direct Memory Access is available to selected modules such as the telemetry module 505A, so the telemetry module 505A can request control of the data bus 525 and write data directly to memory 545A bypassing the processor 540A.
  • the system reset 550A controls operation of ASICs and modules during power-up of the INS 5, so ASICs and modules registers can be loaded and brought on-line in a stable condition.
  • All components of the INS 5 are contained within or carried on a housing that is hermetically sealed and manufactured from a biocompatible material such as titanium. Feedthroughs provide electrical connectivity through the housing while maintaining a hermetic seal, and the feedthroughs can be filtered to reduce incoming noise from sources such as cell phones. Those skilled in the art will appreciate that the INS 5 may be configured in a variety of versions by removing modules not necessary for the particular configuration and by adding additional components or modules.
  • the telemetry module 240 is a relatively small device used to conveniently provide communication between the physician programmer 30 and the implanted medical device 5.
  • the telemetry module 240 includes a programming head designed to support multiple existing and future implantable medical devices.
  • the telemetry module 240 communicates directly with the implanted medical device via a modulated inductive link and with a host programming instrument (e.g., a physician programmer), preferably by means of a cable, but may be any sort of connection including, for example without limitation, RF and infrared.
  • the telemetry module 240 interacts with the physician programmer 30 as a separate device, those skilled in the art will appreciate that other embodiments are conceivable and still considered within the scope of the present invention.
  • the telemetry module 240 may be physically resident within the physician programmer 30 or any other programming device for use with an implantable medical device.
  • the telemetry module 240 may operate to interact with a patient programmer or any other general-purpose computing device such as a personal computer or a hand-held Personal Digital Assistant (PDA) device, thereby allowing any such device to communicate with the implanted medical device 5.
  • PDA Personal Digital Assistant
  • FIGURE 6 is a schematic block diagram depicting the various components of the telemetry module 240 in accordance with a preferred embodiment of the present invention.
  • the telemetry module 240 generally includes a host interface 605 (e.g., an interface to a physician programmer), a microcontroller 610, a power management module 615, a source of power 620, telemetry hardware, memory, and uplink and downlink interfaces to the implanted medical device.
  • the telemetry module 240 is a microprocessor-based device that includes software to control its functionality.
  • the present invention may also be implemented using discrete logic-based or other circuitry.
  • the host interface 605 is preferably an asynchronous, full duplex serial port
  • the host interface 605, attaches directly to the telemetry module head itself and provides both power and a serial interface for messages and commands to and from the host 603.
  • the source of power 620 is preferably provided by the host 603 having a voltage range of 4.0 and 12.0 volts, with 8.8 volts for optimal telemetry downlink power and 3.3 volts for use by the digital sections of the telemetry module 240.
  • the telemetry module 240 may be powered in any number of ways including power supplied by the host and/or an internal power source (e.g., one or more batteries) in the telemetry module 240 itself.
  • a regulator (not shown) supplies power to the analog receiver portions of telemetry module 240.
  • the memory 625 preferably includes FLASH memory as well as RAM memory.
  • the FLASH memory may store platform firmware as well as up to nine protocol drivers (discussed herein). Of course, with more memory or with smaller drivers, the number of stored protocol drivers could be arbitrarily larger (or smaller).
  • One or more 64K byte sectors may be used for protocol driver execution or to store factory information, such as device serial number.
  • the FLASH is connected to allow in-circuit programming, allowing both the platform code for the telemetry module 240, or individual protocol drivers to be saved or upgraded in its memory.
  • An internal 4K RAM space is provided primarily for storage of STACK and possibly some critical global variables.
  • An external SRAM may also be provided, which shares an address and data bus with the FLASH memory.
  • FIG. 7 is a schematic block diagram of the hardware and software components of the telemetry module 240 in accordance with a preferred embodiment of the present invention.
  • Resident within memory 625 is software, which is subdivided into functions that are common across all uses of the telemetry module 240 (called the platform software 715) and functions that are specific to a particular protocol (called a protocol driver 725).
  • the platform aspect of the telemetry module software is permanently resident within the telemetry module hardware itself.
  • These components (platform software 715, the platform hardware 710, and the protocol driver interface 720) comprise the telemetry module platform that then host one or more installable protocol drivers 725.
  • the protocol driver 725 is generally a program that acts as a translator between the implanted device and application programs 604 that use the device.
  • Each implanted device has its own set of specialized commands that only its driver knows. In contrast, most programs access devices by using generic commands.
  • the protocol driver 725 therefore, accepts generic commands from a program and then translates them into specialized commands that are understood by the implanted device.
  • the platform software 715 controls the basic features of the platform hardware 710 and interfaces with the host 603 and the telemetry transceiver. For example, the platform software 715 handles initial boot procedure and initializations, manages the operational modes of the telemetry module 240, and manages the installation and subsequent launching of the protocol driver software. To support the operation of protocol driver software, the platform software 715 operates with the protocol driver interface 720, which provides a standardized interface that abstracts and encapsulates all of the functionality necessary for the protocol driver operations.
  • the platform software 715 functions are implemented across several distinct subsystems including, but not limited to, a host interface 730, a telemetry module executive 735, a block of utility functions 740, and a telemetry engine 745.
  • the host interface 730 manages the serial channel communications with the host programming instrument.
  • the host interface 730 includes a serial driver 733, a host protocol 732, and a message handler 731.
  • the message handler 731 serves to process the various messages that can be received over the host interface 730 and routes them appropriately.
  • the message handler 731 manages the serial driver 733, identifies the intended source and the validity of received messages, routes messages not intended for the basic telemetry module platform (e.g., test and protocol driver messages), responds appropriately to all other messages with either an acknowledgement of proper reception and routing, or with the expected data, and intercepts and acts on special message commands to facilitate non-standard features that exist outside the normal message protocol (e.g., reset command, override commands, etc.).
  • the basic telemetry module platform e.g., test and protocol driver messages
  • the telemetry module executive 735 handles basic operational modes of the telemetry module 240 and some of the built-in functions of the telemetry module 240 including, for example, the installation procedures for protocol driver 725, protocol driver verification and launching procedures, and test mode management facilities.
  • the telemetry module executive 735 includes a protocol driver installation manager 736, a telemetry module mode management module 737, and a test management module 738, respectively.
  • the block of utility functions 740 include a self-test operations module 741, flash erasing and writing tools (in flash programming module 742), general purpose algorithms 743 (e.g., Cyclic Redundancy Check (CRC), checksum, etc.), and provisions for the other resources that are provided to the protocol driver 725 (e.g., timers, revision and ID information, etc.).
  • the telemetry engine 745 holds a transmit driver 746 and a receive driver 747 and other primitive operations for the generation of and reception of telemetry waveforms.
  • the overall system includes a three-layer protocol stack that adds robustness to the serial channel physical layer.
  • Figure 8 provides an illustration of the protocol layers of the telemetry module 240.
  • the platform layer 815 is where messages are formed and sent, and where responses are received and processed.
  • the data layer 810 is where the physical integrity (framing, CRC checking, etc.) of all received information is accomplished.
  • Platform Layer Messages (PLM) are passed to the data layer 810, which manages the actual transmission of the message. To accomplish this, the data layer 810 adds two items to the PLM; a header containing frame type and size information, and a CRC trailer used for validation.
  • the completed product is called a "frame.”
  • the "ACK” and “NAK” frame types are assigned to messages that originate within the Data Layer, and are used to validate the transmission of "DATA" frames.
  • a completed FRAME is buffered in the data layer 810 (in case of the need for re-transmission), and then sent through the physical layer 805 for actual transmission.
  • the data layer 810 may be configured by the application software with an appropriate protocol driver to operate in accordance with a desired telemetry protocol.
  • the telemetry module 240 may contain other hardware/software structures and still be able to incorporate the features of the present invention.
  • there may be any number of varying connections to the host 603 e.g., from a cable to some form of wireless connection).
  • FIG. 9 illustrates a flow chart illustrating the process for configuring a telemetry module 240 by the application software 604.
  • the host 603 e.g., physician programmer
  • the base module platform software 606 generally includes mechanisms for identifying the desired protocol driver 725 from among several saved on a card or in memory, checking the integrity of the protocol driver 725, communicating with the telemetry module 240 to initiate the transfer, transferring the binary data that comprises the protocol driver 725, and verifying the integrity of the transfer.
  • the telemetry module 240 includes an operating system that performs secondary operations for protocol installation, including, for example, loading the protocol driver 725 into memory.
  • the host device 603 e.g., physician programmer
  • the host 603 launches in response to user input an application program 604.
  • the application program 604 and corresponding protocol driver 725 may be stored in a memory such as compact flash card.
  • the application program 604 preferably includes, as part of its file structure, a file containing the protocol driver 725 that it uses for its telemetric communications. As part of its startup activities, the application program 604 points the base module platform software 606 to this file. The application program 604 then instructs the base module platform software 606 to have the protocol driver 725 installed.
  • the base module platform software 606 opens the protocol driver file and loads it into memory.
  • the host 603 confirms whether the protocol driver 725 is loaded. If it has not loaded, at step 930, the host 603 signals the user that the driver has not loaded (typically, due to a corrupt flash card) and, at step 940, halts further operation. If the protocol driver 725 has loaded, at step 925, the host 603 verifies that the protocol driver 725 is a valid. If loading of the protocol driver 725 is not valid, at step 930, the host 603 signals the user that the driver has not loaded and, at step 940, halts further operation. If the loading of the protocol driver 725 is valid, at step 945, the host 603 installs the protocol driver 725 in the telemetry module 240.
  • the protocol driver 725 is installed in the telemetry module 240. This procedure is described in further detail herein.
  • the installation process continues until it is complete and, at step 960, the host 603 may perform certain checks to determine whether the installation was successful. If the installation was successful, the telemetry module 240 is ready to initiate communication and, at step 970, queries the implanted device for its communications capabilities and, at step 980, determines whether the telemetry module 240 requires further configuration. If no further configuration is necessary, which is likely to be the case for most existing implanted devices, the telemetry module 240 is ready to begin telemetric communication, at step 990. If further configuration is necessary, at step 985, the telemetry module 240 configures the hardware and software in the implanted device and the telemetry module 240 for optimal operation. Configuration parameters may include, for example, data rate, telemetry scheme, etc.
  • FIG 10 is a flow chart providing a more detailed description of the installation of the protocol driver 725 procedure, including steps 950 and subsequent steps.
  • the base platform module of the host 603 parses the protocol driver 725 and, at step 1010, extracts the identification number and revision number of the protocol driver 725.
  • Each protocol driver 725 preferably has a unique identification number and a revision number to provide information regarding any possible updates to the protocol driver 725.
  • the host 603 initializes the telemetry module 240 to ensure that it is operating properly.
  • the host 603 queries the telemetry module 240 for installed protocol drivers 725, particularly the identification number and revision number of each installed protocol driver 725.
  • the host 603 checks whether the protocol driver 725 to be installed is already installed in the telemetry module 240. If it is, then there is no need to reinstall the protocol driver 725 and, at step 1030, the telemetry module 240 is instructed to launch the desired protocol driver 725.
  • the telemetry module 240 signals the application 604 in the host 603 that the telemetry module 240 is successfully configured for communication with the implanted device and, at step 1060, launches the protocol driver 725.
  • the telemetry module memory is checked to see if it is full.
  • the telemetry module 240 may be capable of storing a maximum of nine protocol drivers 725. If the telemetry module memory is not full, at step 1050, the host 603, in concert with the telemetry module operating system, installs the desired protocol driver 725 into the telemetry module 240. If the telemetry module memory is full, at step 1045, the host 603 randomly selects protocol driver 725 in the telemetry module memory, and at step 1055, uninstalls the randomly selected protocol driver 725. At step 1050, the host 603, in concert with the telemetry module operating system, installs the desired protocol driver 725 into the telemetry module 240.
  • the telemetry module 240 confirms whether the installation was successful. If yes, at step 1060, the telemetry module 240 launches the protocol driver 725. If no, the telemetry module 240 signals the host 603'that the telemetry module configuration failed.
  • the telemetry module 240 may be upgraded, for example by installing hardware or software to enable faster telemetry, without requiring replacement of the physician programmer.
  • the telemetry head may be dynamically configured to simultaneously support various configurations of any chosen telemetry protocol.
  • a telemetry protocol may be further configured to enable optimal communication efficiency and data integrity.
  • U.S. Patent Publication Number 20030174066 entitled “Telemetry Modulation Protocol System for Medical Devices” and filed on September 20, 2000, discloses one such telemetry scheme that can be further configured.
  • Figure 11 is a flow chart illustrating the process for dynamically configuring a telemetry module 240.
  • the host 603 is turned on, which launches an application program 604 corresponding to the implanted medical device.
  • the host 603 queries the telemetry module platform for its capabilities.
  • the telemetry module platform may provide information such as its parameter, parameter ranges, parameter resolutions, etc.
  • the host 603 checks whether the telemetry module 240 can support the desired protocol. If no, at step 1120, the host 603 signals the user that the telemetry module 240 is incapable of supporting the desired telemetry protocol. If yes, at steps 1125 through 1150, the telemetry module 240 is prepared for telemetry communication in accordance with the procedures described above.
  • the telemetry module 240 of the present invention may also be implemented for use with host devices other than the physician programmer including, but not limited to, a general purpose computing device such as a personal computer, a laptop or a hand-held device, or a cellular device.
  • host devices other than the physician programmer including, but not limited to, a general purpose computing device such as a personal computer, a laptop or a hand-held device, or a cellular device.

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Animal Behavior & Ethology (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biophysics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Electrotherapy Devices (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

Disclosed is a method and apparatus for configuring an external device so that may communicate with and an implantable medical device in accordance with a desired telemetry protocols. The external device utilizes a telemetry module can be loaded with a protocol driver necessary for communicating with the implantable medical device. Once the desired protocol driver has been installed in the telemetry module, the telemetry module enables communication with the implantable medical device.

Description

    FIELD OF THE INVENTION
  • The present invention generally relates to implantable medical devices. More particularly, the invention relates to configuration of a telemetry unit for transmitting data to and from an implantable medical device.
  • BACKGROUND OF THE INVENTION
  • The medical device industry produces a wide variety of electronic and mechanical devices suitable for use outside and inside the body for treating patient disease conditions. Devices used outside the body are termed external while devices used inside the body are termed implantable medical devices and include devices such as neurostimulators, drug delivery devices, pacemakers, defibrillators, and cochlear implants. Clinicians use implantable medical devices alone or in combination with therapeutic substance therapies and surgery to treat patient medical conditions. For some medical conditions, implantable medical devices provide the best, and sometimes the only, therapy to restore an individual to a more healthful condition and a fuller life.
  • Implantable medical devices can be used to treat any number of conditions such as pain, cancer, incontinence, movement disorders such as epilepsy, spasticity, and Parkinson's disease, and sleep apnea. Additionally, use of implantable medical devices appears promising to treat a variety of physiological, psychological, and emotional conditions.
  • Implantable medical devices have important advantages over other forms of therapeutic substance administration. For example, oral administration is often not workable because the systemic dose of the substance needed to achieve the therapeutic dose at the target site may be too large for the patient to tolerate without very adverse side effects. Also, some substances simply will not be absorbed in the gut adequately for a therapeutic dose to reach the target site Moreover, substances that are not lipid soluble may not cross the blood-brain barrier adequately if needed in the brain. In addition, infusion of substances from outside the body requires a transcutaneous catheter, which results in other risks such as infection or catheter dislodgement Further, implantable medical devices avoid the problem of patient noncompliance, namely the patient failing to take the prescribed drug or therapy as instructed.
  • For example, one type of medical device is an Implantable Neuro Stimulator (INS). The INS is implanted at a predetermined location in the patient's body. The INS generates and delivers electrical stimulation signals at neurostimulation sites or areas to influence desired neural tissue, tissue areas, nervous system and organs to treat the ailment of concern. The stimulation sites can also include the spinal cord, brain, body muscles, peripheral nerves or any other site selected by a physician. For example, in the case of pain, electrical impulses may be directed to cover the specific sites where the patient is feeling pain. Neurostimulation can give patients effective pain relief and can reduce or eliminate the need for repeat surgeries and the need for pain medications.
  • Implantable medical devices are often used in conjunction with various computer and telecommunication systems and components. Information obtained by the implantable medical device may be stored and subsequently transmitted to a physician or patient caregiver or a database on demand or automatically. Many ways of using the information are known including decision making to provide optimum medical care to the person with the medical condition.
  • For example, an external device such as a physician programmer can be used to allow a physician to communicate with the implanted medical device. The physician programmer allows the physician to create and store stimulation therapy programs for the patient to be delivered by the implanted medical device. The physician programmers also serve to recharge a rechargeable power source in the implanted medical device.
  • Typically, the physician programmer communicates bi-directionally with the implanted medical device via RF telemetry signals. The bi-directional communication between the medical device and the physician or patient programmer is typically accomplished via a telemetry module. The physician programmer, the patient programmer and the medical device each have respective telemetry modules that allow for bi-directional communication between the medical device and the programmers. The bi-directional telemetry communication, between the medical device and the physician or patient programmers is typically conduced at frequencies in a range from about 150 KHz to 200 KHz using existing telemetry protocols. A telemetry protocol is generally an agreed-upon format for transmitting data between two devices. The protocol can be implemented in hardware and/or software. The protocol determines, for example, the type of error checking to be used, the data compression method, if any, how the sending device will indicate that it has finished sending a message, how the receiving device will indicate that it has received a message, etc. There are a variety of protocols, each having particular advantages and disadvantages; for example, some are simpler than others, some are more reliable, and some are faster. Ultimately, the external device must support the right protocol(s) in order to communicate with the implanted device.
  • Commercially available systems, however, are limiting in that the physician programmer is configured to provide telemetric communication using one or more pre-specified communication protocols. Accordingly, the physician programmer is typically only capable of communicating with those implanted medical devices that utilize those protocols. For each of the varying types of implanted devices available, the physician would need to have separate physician programmers that were compatible with each of the devices. Similarly, if the patient had more than one implanted device, the physician would likely need more than one physician programmer, one for each implanted device.
  • Document US 5 843 138 describes a pacemaker system having two-way telemetric capability between an implanted pacemaker and an external programmer unit.
  • Document US 5 843 139 discloses an adaptive, performance-optimizing communication system for communicating with an implanted medical device.
  • Document US 5 383 912 describes an apparatus and a method for communicating data between an external medical device and an internal medical device.
  • It is therefore desirable to provide a physician programmer that may be operated using any number of protocol schemes so that it may communicate with any number of implanted devices.
  • BRIEF SUMMARY OF THE INVENTION
  • The present invention provides a system as defined by claim 1. In a first embodiment of the present invention, an implantable medical device system is disclosed having a programming device, a telemetrymodule, and an implanted medical device. The physician programmer launches an application that requires some level of interaction with an implanted medical device and that is specific to the implanted medical device. Upon launching of the application, the physician programmer configures a data layer of the telemetry module to enable communication of the implanted device. In particular, the programmer installs an appropriate protocol driver within the telemetry module that is compatible with the implanted medical device. The telemetry module, once configured with the appropriate protocol driver, may then facilitate communication between the implanted device and the physician programmer. For example, at least initially, the implanted device can provide to the physician programmer various configuration parameters of the implanted device.
  • In other embodiments, the telemetry module may be physically resident within the physician programmer. Alternatively, the telemetry module may operate to interact with a patient programmer or any other general-purpose computing device such as a personal computer or a hand-held Personal Digital Assistant (PDA) device, thereby allowing any such device to communicate with the implanted medical device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • These and other advantages and features of the invention will become apparent upon reading the following detailed description of preferred embodiments (given by way of example only) and referring to the accompanying drawings in which like numbers refer to like parts throughout and in which:
    • Figure 1 is a schematic diagram of an exemplary implantable medical device system for use with the present invention.
    • Figure 2 depicts various views of a physician programmer in accordance with a preferred embodiment of the present invention.
    • Figure 3 depicts further various views of a physician programmer including the telemetry head in accordance with a preferred embodiment of the present invention.
    • Figure 4 is a schematic block diagram of an exemplary physician programmer for use with the present invention.
    • Figure 5 is a schematic block diagram of an exemplary implantable neurostimulator for use with the present invention.
    • Figure 6 is a schematic block diagram of a telemetry module in accordance with a preferred embodiment of the present invention.
    • Figure 7 is a schematic block diagram depicting the various software and hardware components of a telemetry module in accordance with a preferred embodiment of the present invention.
    • Figure 8 is a schematic block diagram depicting the software layers for handling communications between a physician programmer, a telemetry module, and an implantable medical device in accordance with a preferred embodiment of the present invention.
    • Figures 9-10 are flow charts illustrating the processes for configuring a telemetry module to enable communications with an implantable medical device in accordance with a preferred embodiment of the present invention.
    • Figure 11 is another flow chart illustrating the processes for configuring a telemetry module to enable communications with an implantable medical device in accordance with another preferred embodiment of the present invention.
    DETAILED DESCRIPTION OF THE INVENTION
  • The present invention provides techniques for configuring a data layer of a telemetry module for communication with an implantable medical device. Although the present invention is described herein in conjunction with a neurostimulation system, those skilled in the art will appreciate that the present invention may be implemented to communicate within any number of implantable medical devices including, but not limited to, implantable drug delivery devices, pacemakers, defibrillators, and cochlear implants. In fact, one aspect of the present invention enables the external device to be a universal device that can communicate with any number of implanted devices.
  • Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules. Generally, program modules include routines, programs, objects, scripts, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • Overview of an Implantable Medical Device System - Figure 1 shows the general environment of an implantable medical device system in accordance with a preferred embodiment of the present invention. The implantable medical device system generally includes an implantable medical device 5, such as an Implantable Neuro Stimulator (INS), a lead 11A, a lead extension 12A, a physician programmer 30, and a telemetry module 31. The system also typically includes other components, such as a patient programmer, an external therapy delivery device, and optionally various sensors, which are not shown. U.S. Patent Application Publication No. 20030171789 entitled "Method and Apparatus for Programming an Implantable Device" filed on November 1, 2001 discloses one example of an implantable medical device system for use with the present invention.
  • Referring still to Figure 1, the implantable medical device 5 is implanted in the body in a subcutaneous pocket at a site selected after considering physician and patient preferences, typically near the abdomen of the patient. In the case where the implantable medical device 5 is an INS, the device is a modified implantable pulse generator that will be available from Medtronic, Inc. with provisions for multiple pulses occurring either simultaneously or with one pulse shifted in time with respect to the other, and having independently varying amplitudes and pulse widths. The INS 5 contains a power source and other electronics to send precise, electrical pulses to the spinal cord, brain, or neural tissue to provide the desired treatment therapy.
  • The lead 11A is a small medical wire with special insulation. The lead 11A includes one or more insulated electrical conductors with a connector on the proximal end and electrical contacts on the distal end. Some leads are designed to be inserted into a patient percutaneously, such as the Model 3487A Pisces-Quad® lead available from Medtronic, Inc. of Minneapolis Minnesota, and some leads are designed to be surgically implanted, such as the Model 3998 Specify® lead also available from Medtronic. The lead 11A may also be a paddle having a plurality of electrodes including, for example, a Medtronic paddle having model number 3587A. Alternatively, the lead 11A may provide electrical stimulation as well as drug infusion. Those skilled in the art will appreciate that any variety of leads may be used to practice the present invention depending upon the type of implantable medical device being used.
  • The lead 11A is implanted and positioned to provide treatment therapy to a specific site in the spinal cord or the brain. Alternatively, the lead 11A may be positioned along a peripheral nerve or adjacent neural tissue ganglia like the sympathetic chain or it may be positioned to provide treatment therapy to muscle tissue. In the case where electrical stimulation is to be provided, the lead 11A contains one or more electrodes (small electrical contacts) at a distal end 13A through which electrical stimulation is delivered from the implantable medical device 5 to the targeted neural tissue. If the spinal cord is to be stimulated, the lead 11A may have electrodes that are epidural, intrathecal or placed into the spinal cord itself. Effective spinal cord stimulation may be achieved by any of these lead placements.
  • The physician programmer 30, also known as a host programmer, uses a telemetry module (discussed further herein) to communicate with the implantable medical device 5, so a physician can program and manage a patient's therapy stored in the implantable medical device 5 and troubleshoot the implantable medical device system. An example of a physician programmer 30 is a Model 8840 Console Programmer soon to become available from Medtronic.
  • Figure 2 depicts views of the physician programmer 30 including a front view 203, a top view 207, a bottom view 208, a back view 205, a left side view 202, and a right side view 204. The physician programmer 30 is preferably a portable computing device having a user interface. The user interface preferably includes a screen display 201 that is touch-sensitive to a pointing device 206 (Figure 3), similar to that of Personal Digital Assistants (PDA) available today. On the dorsal side 217 of the physician programmer 30 is an area to receive and hold the telemetry module 240. Figure 3 illustrates how the telemetry module 240 is insertable within a dorsal side 217 of the physician programmer 30. Figure 4 depicts the general componentry of the physician programmer 30, which includes a user interface 405, a processor 410, a transmitter, and a receiver. The application program software for handling the functionality of the programmer 30 discussed herein may be stored in memory 425.
  • The physician programmer 30 acts as the control interface to the implanted medical device 5, which is generally dictated by the computer software application in the physician programmer. The software application generally has the following methods for implementing its control functionality: navigation methods; reporting methods; printing methods; data storage and transfer methods; data entry methods; methods to perform interrogation/review; methods to perform batch programming; user preferences; help methods; methods to resolve conflicts, and the like.
  • As expressed previously, the present invention may be implemented generally for use with any number of implantable medical device systems including, but not limited to, implantable drug delivery devices, pacemakers, defibrillators, and cochlear implants. In the embodiment where the implanted medical device is an INS, Figure 5 provides a schematic block diagram of an exemplary INS 5. The INS generally includes a processor 540A with an oscillator 535A, a calendar clock 530A, memory 545A, and system reset 550A, a telemetry module 505A, a recharge module 510, a power source 515A, a power management module 520A, a therapy module 555A, and a therapy measurement module 560. Other components of the INS 5 can include, for example, a diagnostics module (not shown). All components except the power source 515A can be configured on one or more Application Specific Integrated Circuits (ASICs), may be part of one or more discrete components, or a combination of both. Also, all components except the oscillator 535A, the calendar clock 530A, and the power source 515A are connected to bi-directional data bus 525 that is non-multiplexed with separate address and data lines.
  • The processor 540A is synchronous and operates on low energy such as a Motorola 68HC11 synthesized core operating with a compatible instruction set The oscillator 535A operates at a frequency compatible with the processor 540A, associated components, and energy constraints such as in the range from 100 KHz to 1.0 MHZ. The calendar clock 530A counts the number of seconds since a fixed date for date/time stamping of events and for therapy control such as circadian rhythm linked therapies. The memory 545A includes memory sufficient for operation of the INS 5 such as volatile Random Access Memory (RAM) for example Static RAM, nonvolatile Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM) for example Flash EEPROM, and register arrays configured on ASICs. Direct Memory Access (DMA) is available to selected modules such as the telemetry module 505A, so the telemetry module 505A can request control of the data bus 525 and write data directly to memory 545A bypassing the processor 540A. The system reset 550A controls operation of ASICs and modules during power-up of the INS 5, so ASICs and modules registers can be loaded and brought on-line in a stable condition.
  • All components of the INS 5 are contained within or carried on a housing that is hermetically sealed and manufactured from a biocompatible material such as titanium. Feedthroughs provide electrical connectivity through the housing while maintaining a hermetic seal, and the feedthroughs can be filtered to reduce incoming noise from sources such as cell phones. Those skilled in the art will appreciate that the INS 5 may be configured in a variety of versions by removing modules not necessary for the particular configuration and by adding additional components or modules.
  • Overview of the Telemetry Module - Referring back to Figure 3, the telemetry module 240 is a relatively small device used to conveniently provide communication between the physician programmer 30 and the implanted medical device 5. The telemetry module 240 includes a programming head designed to support multiple existing and future implantable medical devices. The telemetry module 240 communicates directly with the implanted medical device via a modulated inductive link and with a host programming instrument (e.g., a physician programmer), preferably by means of a cable, but may be any sort of connection including, for example without limitation, RF and infrared.
  • Although in the preferred embodiment discussed herein the telemetry module 240 interacts with the physician programmer 30 as a separate device, those skilled in the art will appreciate that other embodiments are conceivable and still considered within the scope of the present invention. For example, the telemetry module 240 may be physically resident within the physician programmer 30 or any other programming device for use with an implantable medical device. Alternatively, the telemetry module 240 may operate to interact with a patient programmer or any other general-purpose computing device such as a personal computer or a hand-held Personal Digital Assistant (PDA) device, thereby allowing any such device to communicate with the implanted medical device 5.
  • FIGURE 6 is a schematic block diagram depicting the various components of the telemetry module 240 in accordance with a preferred embodiment of the present invention. The telemetry module 240 generally includes a host interface 605 (e.g., an interface to a physician programmer), a microcontroller 610, a power management module 615, a source of power 620, telemetry hardware, memory, and uplink and downlink interfaces to the implanted medical device. In this embodiment, the telemetry module 240 is a microprocessor-based device that includes software to control its functionality. Those skilled in the art will appreciate that the present invention may also be implemented using discrete logic-based or other circuitry.
  • The host interface 605 is preferably an asynchronous, full duplex serial port The host interface 605, attaches directly to the telemetry module head itself and provides both power and a serial interface for messages and commands to and from the host 603. The source of power 620 is preferably provided by the host 603 having a voltage range of 4.0 and 12.0 volts, with 8.8 volts for optimal telemetry downlink power and 3.3 volts for use by the digital sections of the telemetry module 240. Those skilled in the art will appreciate that the telemetry module 240 may be powered in any number of ways including power supplied by the host and/or an internal power source (e.g., one or more batteries) in the telemetry module 240 itself. A regulator (not shown) supplies power to the analog receiver portions of telemetry module 240.
  • The memory 625 preferably includes FLASH memory as well as RAM memory. The FLASH memory may store platform firmware as well as up to nine protocol drivers (discussed herein). Of course, with more memory or with smaller drivers, the number of stored protocol drivers could be arbitrarily larger (or smaller). One or more 64K byte sectors may be used for protocol driver execution or to store factory information, such as device serial number. The FLASH is connected to allow in-circuit programming, allowing both the platform code for the telemetry module 240, or individual protocol drivers to be saved or upgraded in its memory. An internal 4K RAM space is provided primarily for storage of STACK and possibly some critical global variables. An external SRAM may also be provided, which shares an address and data bus with the FLASH memory.
  • Figure 7 is a schematic block diagram of the hardware and software components of the telemetry module 240 in accordance with a preferred embodiment of the present invention. Resident within memory 625 is software, which is subdivided into functions that are common across all uses of the telemetry module 240 (called the platform software 715) and functions that are specific to a particular protocol (called a protocol driver 725). The platform aspect of the telemetry module software is permanently resident within the telemetry module hardware itself. These components (platform software 715, the platform hardware 710, and the protocol driver interface 720) comprise the telemetry module platform that then host one or more installable protocol drivers 725. The protocol driver 725 is generally a program that acts as a translator between the implanted device and application programs 604 that use the device. Each implanted device has its own set of specialized commands that only its driver knows. In contrast, most programs access devices by using generic commands. The protocol driver 725, therefore, accepts generic commands from a program and then translates them into specialized commands that are understood by the implanted device.
  • The platform software 715 controls the basic features of the platform hardware 710 and interfaces with the host 603 and the telemetry transceiver. For example, the platform software 715 handles initial boot procedure and initializations, manages the operational modes of the telemetry module 240, and manages the installation and subsequent launching of the protocol driver software. To support the operation of protocol driver software, the platform software 715 operates with the protocol driver interface 720, which provides a standardized interface that abstracts and encapsulates all of the functionality necessary for the protocol driver operations.
  • The platform software 715 functions are implemented across several distinct subsystems including, but not limited to, a host interface 730, a telemetry module executive 735, a block of utility functions 740, and a telemetry engine 745. The host interface 730 manages the serial channel communications with the host programming instrument. The host interface 730 includes a serial driver 733, a host protocol 732, and a message handler 731. The message handler 731 serves to process the various messages that can be received over the host interface 730 and routes them appropriately. In particular, the message handler 731 manages the serial driver 733, identifies the intended source and the validity of received messages, routes messages not intended for the basic telemetry module platform (e.g., test and protocol driver messages), responds appropriately to all other messages with either an acknowledgement of proper reception and routing, or with the expected data, and intercepts and acts on special message commands to facilitate non-standard features that exist outside the normal message protocol (e.g., reset command, override commands, etc.).
  • The telemetry module executive 735 handles basic operational modes of the telemetry module 240 and some of the built-in functions of the telemetry module 240 including, for example, the installation procedures for protocol driver 725, protocol driver verification and launching procedures, and test mode management facilities. For these exemplary functions, the telemetry module executive 735 includes a protocol driver installation manager 736, a telemetry module mode management module 737, and a test management module 738, respectively. The block of utility functions 740 include a self-test operations module 741, flash erasing and writing tools (in flash programming module 742), general purpose algorithms 743 (e.g., Cyclic Redundancy Check (CRC), checksum, etc.), and provisions for the other resources that are provided to the protocol driver 725 (e.g., timers, revision and ID information, etc.). The telemetry engine 745 holds a transmit driver 746 and a receive driver 747 and other primitive operations for the generation of and reception of telemetry waveforms.
  • The overall system includes a three-layer protocol stack that adds robustness to the serial channel physical layer. Figure 8 provides an illustration of the protocol layers of the telemetry module 240. Above the physical layer 805 are a data layer 810 and then a platform layer 815. The platform layer 815 is where messages are formed and sent, and where responses are received and processed. The data layer 810 is where the physical integrity (framing, CRC checking, etc.) of all received information is accomplished. Platform Layer Messages (PLM) are passed to the data layer 810, which manages the actual transmission of the message. To accomplish this, the data layer 810 adds two items to the PLM; a header containing frame type and size information, and a CRC trailer used for validation. The completed product is called a "frame." There are three frame types. Messages to or from the Platform layer are frame type "DATA". The "ACK" and "NAK" frame types are assigned to messages that originate within the Data Layer, and are used to validate the transmission of "DATA" frames. A completed FRAME is buffered in the data layer 810 (in case of the need for re-transmission), and then sent through the physical layer 805 for actual transmission.
  • In accordance with a preferred embodiment of the present invention, the data layer 810 may be configured by the application software with an appropriate protocol driver to operate in accordance with a desired telemetry protocol.
  • Those skilled in the art will appreciate that the telemetry module 240 may contain other hardware/software structures and still be able to incorporate the features of the present invention. In addition, those skilled in the art will appreciate that there may be any number of varying connections to the host 603 (e.g., from a cable to some form of wireless connection).
  • Figure 9 illustrates a flow chart illustrating the process for configuring a telemetry module 240 by the application software 604. The host 603 (e.g., physician programmer) includes a base module platform software 606 that manages the various procedures for configuring the telemetry module 240. The base module platform software 606 generally includes mechanisms for identifying the desired protocol driver 725 from among several saved on a card or in memory, checking the integrity of the protocol driver 725, communicating with the telemetry module 240 to initiate the transfer, transferring the binary data that comprises the protocol driver 725, and verifying the integrity of the transfer. The telemetry module 240 includes an operating system that performs secondary operations for protocol installation, including, for example, loading the protocol driver 725 into memory.
  • Referring still to Figure 9, at step 905, the host device 603 (e.g., physician programmer) is turned on and, at step 910, the host 603 launches in response to user input an application program 604. The application program 604 and corresponding protocol driver 725 may be stored in a memory such as compact flash card. The application program 604 preferably includes, as part of its file structure, a file containing the protocol driver 725 that it uses for its telemetric communications. As part of its startup activities, the application program 604 points the base module platform software 606 to this file. The application program 604 then instructs the base module platform software 606 to have the protocol driver 725 installed.
  • At step 915, the base module platform software 606 opens the protocol driver file and loads it into memory. At step 920, the host 603 confirms whether the protocol driver 725 is loaded. If it has not loaded, at step 930, the host 603 signals the user that the driver has not loaded (typically, due to a corrupt flash card) and, at step 940, halts further operation. If the protocol driver 725 has loaded, at step 925, the host 603 verifies that the protocol driver 725 is a valid. If loading of the protocol driver 725 is not valid, at step 930, the host 603 signals the user that the driver has not loaded and, at step 940, halts further operation. If the loading of the protocol driver 725 is valid, at step 945, the host 603 installs the protocol driver 725 in the telemetry module 240.
  • At step 950, the protocol driver 725 is installed in the telemetry module 240. This procedure is described in further detail herein. At step 955, the installation process continues until it is complete and, at step 960, the host 603 may perform certain checks to determine whether the installation was successful. If the installation was successful, the telemetry module 240 is ready to initiate communication and, at step 970, queries the implanted device for its communications capabilities and, at step 980, determines whether the telemetry module 240 requires further configuration. If no further configuration is necessary, which is likely to be the case for most existing implanted devices, the telemetry module 240 is ready to begin telemetric communication, at step 990. If further configuration is necessary, at step 985, the telemetry module 240 configures the hardware and software in the implanted device and the telemetry module 240 for optimal operation. Configuration parameters may include, for example, data rate, telemetry scheme, etc.
  • Figure 10 is a flow chart providing a more detailed description of the installation of the protocol driver 725 procedure, including steps 950 and subsequent steps. At step 1005, the base platform module of the host 603 parses the protocol driver 725 and, at step 1010, extracts the identification number and revision number of the protocol driver 725. Each protocol driver 725 preferably has a unique identification number and a revision number to provide information regarding any possible updates to the protocol driver 725. At step 1015, the host 603 initializes the telemetry module 240 to ensure that it is operating properly. At step 1020, the host 603 queries the telemetry module 240 for installed protocol drivers 725, particularly the identification number and revision number of each installed protocol driver 725. At step 1025, the host 603 checks whether the protocol driver 725 to be installed is already installed in the telemetry module 240. If it is, then there is no need to reinstall the protocol driver 725 and, at step 1030, the telemetry module 240 is instructed to launch the desired protocol driver 725. At step 1035, the telemetry module 240 signals the application 604 in the host 603 that the telemetry module 240 is successfully configured for communication with the implanted device and, at step 1060, launches the protocol driver 725.
  • If the desired protocol driver 725 is not already installed, then further processing is necessary to proceed with the installation. At step 1040, the telemetry module memory is checked to see if it is full. For example, the telemetry module 240 may be capable of storing a maximum of nine protocol drivers 725. If the telemetry module memory is not full, at step 1050, the host 603, in concert with the telemetry module operating system, installs the desired protocol driver 725 into the telemetry module 240. If the telemetry module memory is full, at step 1045, the host 603 randomly selects protocol driver 725 in the telemetry module memory, and at step 1055, uninstalls the randomly selected protocol driver 725. At step 1050, the host 603, in concert with the telemetry module operating system, installs the desired protocol driver 725 into the telemetry module 240.
  • At step 1065, the telemetry module 240 confirms whether the installation was successful. If yes, at step 1060, the telemetry module 240 launches the protocol driver 725. If no, the telemetry module 240 signals the host 603'that the telemetry module configuration failed.
  • Advantageously, the telemetry module 240 may be upgraded, for example by installing hardware or software to enable faster telemetry, without requiring replacement of the physician programmer.
  • In accordance with another embodiment of the present invention, the telemetry head may be dynamically configured to simultaneously support various configurations of any chosen telemetry protocol. For example, a telemetry protocol may be further configured to enable optimal communication efficiency and data integrity. For example, U.S. Patent Publication Number 20030174066 , entitled "Telemetry Modulation Protocol System for Medical Devices" and filed on September 20, 2000, discloses one such telemetry scheme that can be further configured. Figure 11 is a flow chart illustrating the process for dynamically configuring a telemetry module 240. At step 1105, the host 603 is turned on, which launches an application program 604 corresponding to the implanted medical device. At step 1110, the host 603 queries the telemetry module platform for its capabilities. For examples, the telemetry module platform may provide information such as its parameter, parameter ranges, parameter resolutions, etc. At step 1115, the host 603 checks whether the telemetry module 240 can support the desired protocol. If no, at step 1120, the host 603 signals the user that the telemetry module 240 is incapable of supporting the desired telemetry protocol. If yes, at steps 1125 through 1150, the telemetry module 240 is prepared for telemetry communication in accordance with the procedures described above.
  • Although described for use with a physician programmer, the telemetry module 240 of the present invention may also be implemented for use with host devices other than the physician programmer including, but not limited to, a general purpose computing device such as a personal computer, a laptop or a hand-held device, or a cellular device.

Claims (7)

  1. A system for communicating with an implantable medical device comprising in combination:
    means (31) for providing telemetric communication with an implanted device (5); and
    a host device (30) in communication with the means for providing telemetric communication and having stored therein an application for use with the implanted medical device and characterised by a base module platform software (606) for configuring the means for providing telemetric communication with a protocol driver to operate with an appropriate telemetry protocol; and
    wherein the means for providing telemetric communication includes an operating system for performing secondary operations including installing the protocol driver.
  2. The system of claim 1, wherein the means for providing telemetry communication is a telemetry unit.
  3. The system of claim 1, wherein the means for providing telemetric communication comprises a host interface (605) for receiving a protocol driver to enable communication with the implantable medical device in accordance with a telemetry protocol recognized by the implantable medical device.
  4. The system of any preceding claim, wherein the host device is a physician programmer.
  5. The system of any of claims 1 to 3, wherein the host device is a patient programmer.
  6. The system of any of claims 1 to 3, wherein the host device is a general-purpose computing device.
  7. The system of claim 6, wherein the general-purpose computing device is selected from the group consisting of a personal computer, a laptop computer, and a hand-held device.
EP03744620A 2002-03-15 2003-03-07 Telemetry module with configurable data layer for use with an implantable medical device Expired - Lifetime EP1485165B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US99786 1998-06-18
US10/099,786 US6985088B2 (en) 2002-03-15 2002-03-15 Telemetry module with configurable data layer for use with an implantable medical device
PCT/US2003/007040 WO2003077993A1 (en) 2002-03-15 2003-03-07 Telemetry module with configurable data layer for use with an implantable medical device

Publications (2)

Publication Number Publication Date
EP1485165A1 EP1485165A1 (en) 2004-12-15
EP1485165B1 true EP1485165B1 (en) 2010-01-13

Family

ID=28039689

Family Applications (1)

Application Number Title Priority Date Filing Date
EP03744620A Expired - Lifetime EP1485165B1 (en) 2002-03-15 2003-03-07 Telemetry module with configurable data layer for use with an implantable medical device

Country Status (6)

Country Link
US (2) US6985088B2 (en)
EP (1) EP1485165B1 (en)
AT (1) ATE454921T1 (en)
AU (1) AU2003225707A1 (en)
DE (1) DE60330951D1 (en)
WO (1) WO2003077993A1 (en)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024248B2 (en) 2000-10-16 2006-04-04 Remon Medical Technologies Ltd Systems and methods for communicating with implantable devices
US7283874B2 (en) 2000-10-16 2007-10-16 Remon Medical Technologies Ltd. Acoustically powered implantable stimulating device
US6764446B2 (en) 2000-10-16 2004-07-20 Remon Medical Technologies Ltd Implantable pressure sensors and methods for making and using them
US7729776B2 (en) 2001-12-19 2010-06-01 Cardiac Pacemakers, Inc. Implantable medical device with two or more telemetry systems
US6993393B2 (en) * 2001-12-19 2006-01-31 Cardiac Pacemakers, Inc. Telemetry duty cycle management system for an implantable medical device
US6985773B2 (en) * 2002-02-07 2006-01-10 Cardiac Pacemakers, Inc. Methods and apparatuses for implantable medical device telemetry power management
US6985088B2 (en) * 2002-03-15 2006-01-10 Medtronic, Inc. Telemetry module with configurable data layer for use with an implantable medical device
US7010355B2 (en) * 2002-03-15 2006-03-07 Medtronic, Inc. Method and apparatus for connecting various implantable medical treatment system component devices
US7035690B2 (en) 2002-11-15 2006-04-25 Medtronic, Inc. Human-implantable-neurostimulator user interface having multiple levels of abstraction
US8582139B2 (en) * 2002-11-19 2013-11-12 Hewlett-Packard Development Company, L.P. Driver upgrading
US8460243B2 (en) * 2003-06-10 2013-06-11 Abbott Diabetes Care Inc. Glucose measuring module and insulin pump combination
US7722536B2 (en) 2003-07-15 2010-05-25 Abbott Diabetes Care Inc. Glucose measuring device integrated into a holster for a personal area network device
EP1671253A2 (en) * 2003-09-24 2006-06-21 Medtronic, Inc. Apparatus and method for serving medical device application content to a remote computing device
US7272445B2 (en) * 2003-10-02 2007-09-18 Medtronic, Inc. Medical device programmer with faceplate
US7561921B2 (en) 2003-10-02 2009-07-14 Medtronic, Inc. Neurostimulator programmer with internal antenna
US20050075685A1 (en) * 2003-10-02 2005-04-07 Forsberg John W. Medical device programmer with infrared communication
US7356369B2 (en) * 2003-10-02 2008-04-08 Medtronic, Inc. Z-axis assembly of medical device programmer
US7991479B2 (en) 2003-10-02 2011-08-02 Medtronic, Inc. Neurostimulator programmer with clothing attachable antenna
US7203549B2 (en) * 2003-10-02 2007-04-10 Medtronic, Inc. Medical device programmer with internal antenna and display
US7263406B2 (en) 2003-10-02 2007-08-28 Medtronic, Inc. Medical device programmer with selective disablement of display during telemetry
US7729766B2 (en) 2003-10-02 2010-06-01 Medtronic, Inc. Circuit board construction for handheld programmer
US8442643B2 (en) * 2003-10-02 2013-05-14 Medtronic, Inc. Medical device programmer with reduced-noise power supply
JP4705953B2 (en) 2004-04-07 2011-06-22 カーディアック ペースメイカーズ, インコーポレイテッド RF wakeup of implantable medical devices
US7801611B2 (en) * 2004-06-03 2010-09-21 Cardiac Pacemakers, Inc. System and method for providing communications between a physically secure programmer and an external device using a cellular network
CA3090413C (en) 2004-06-04 2023-10-10 Abbott Diabetes Care Inc. Glucose monitoring and graphical representations in a data management system
CN101060815B (en) 2004-06-07 2012-07-18 芯赛斯公司 Orthopaedic implant with sensors
US7539541B2 (en) * 2004-08-09 2009-05-26 Cardiac Pacemakers, Inc. Automatic power control for a radio frequency transceiver of an implantable device
US7890180B2 (en) * 2004-08-09 2011-02-15 Cardiac Pacemakers, Inc. Secure remote access for an implantable medical device
EP1809375A1 (en) * 2004-08-18 2007-07-25 Medtronic, Inc. Conversational interface for programmable implant medical device
AU2005304912A1 (en) 2004-11-04 2006-05-18 Smith & Nephew, Inc. Cycle and load measurement device
US8374693B2 (en) * 2004-12-03 2013-02-12 Cardiac Pacemakers, Inc. Systems and methods for timing-based communication between implantable medical devices
US7610065B2 (en) * 2005-02-28 2009-10-27 Cardiac Pacemakers, Inc. Method and apparatus for antenna selection in a diversity antenna system for communicating with implantable medical device
US8700157B2 (en) * 2005-04-29 2014-04-15 Medtronic, Inc. Telemetry head programmer for implantable medical device and system and method
EP1924211B1 (en) * 2005-08-23 2019-12-18 Smith & Nephew, Inc. Telemetric orthopaedic implant
US8027727B2 (en) 2005-08-29 2011-09-27 Cardiac Pacemakers, Inc. Pacemaker RF telemetry repeater and method
US7489561B2 (en) 2005-10-24 2009-02-10 Cyberonics, Inc. Implantable medical device with reconfigurable non-volatile program
US8078278B2 (en) * 2006-01-10 2011-12-13 Remon Medical Technologies Ltd. Body attachable unit in wireless communication with implantable devices
US7822483B2 (en) * 2006-02-24 2010-10-26 Medtronic, Inc. Electrical and activation field models for configuring stimulation therapy
US7657319B2 (en) * 2006-02-24 2010-02-02 Medtronic, Inc. Programming interface with an unwrapped 2D view of a stimulation lead with complex electrode array geometry
US7676273B2 (en) 2006-02-24 2010-03-09 Medtronic, Inc. Stimulation templates for programming a stimulation lead with complex electrode array geometry
US8380321B2 (en) 2006-02-24 2013-02-19 Medtronic, Inc. Programming interface with a cross-sectional view of a stimulation lead with complex electrode array geometry
US8452415B2 (en) 2006-02-24 2013-05-28 Medtronic, Inc. Electrical and activation field models for programming a stimulation lead with complex electrode array geometry
US8543217B2 (en) 2006-02-24 2013-09-24 Medtronic, Inc. Stimulation templates for configuring stimulation therapy
US8612024B2 (en) 2006-02-24 2013-12-17 Medtronic, Inc. User interface with 3D environment for configuring stimulation therapy
US7826902B2 (en) 2006-02-24 2010-11-02 Medtronic, Inc. User interface with 2D views for configuring stimulation therapy
US7848802B2 (en) 2006-02-24 2010-12-07 Medtronic, Inc. Programming interface with a concentric axial view of a stimulation lead with complex electrode array geometry
US9849216B2 (en) * 2006-03-03 2017-12-26 Smith & Nephew, Inc. Systems and methods for delivering a medicament
US7650185B2 (en) * 2006-04-25 2010-01-19 Cardiac Pacemakers, Inc. System and method for walking an implantable medical device from a sleep state
US8805526B2 (en) * 2006-05-03 2014-08-12 Cardiac Pacemakers, Inc. Configurable medical telemetry radio system
US7965180B2 (en) 2006-09-28 2011-06-21 Semiconductor Energy Laboratory Co., Ltd. Wireless sensor device
US20080171941A1 (en) * 2007-01-12 2008-07-17 Huelskamp Paul J Low power methods for pressure waveform signal sampling using implantable medical devices
WO2008103181A1 (en) * 2007-02-23 2008-08-28 Smith & Nephew, Inc. Processing sensed accelerometer data for determination of bone healing
EP2139556B1 (en) * 2007-03-26 2014-04-23 Remon Medical Technologies Ltd. Biased acoustic switch for implantable medical device
US8060212B1 (en) * 2007-04-17 2011-11-15 Pacesetter, Inc. External medical device configurations for communicating with implantable medical devices
US20090048644A1 (en) * 2007-08-14 2009-02-19 Stahmann Jeffrey E System and method for providing intrabody data security on an active implantable medical device
US8570187B2 (en) 2007-09-06 2013-10-29 Smith & Nephew, Inc. System and method for communicating with a telemetric implant
US9452288B2 (en) * 2007-12-06 2016-09-27 Boston Scientific Neuromodulation Corporation Multimodal neurostimulation systems and methods
US20090172640A1 (en) * 2007-12-26 2009-07-02 Medtronic Minimed, Inc. Medical Device With Full Options and Selective Enablement/Disablement
WO2009097485A1 (en) * 2008-02-01 2009-08-06 Smith & Nephew, Inc. System and method for communicating with an implant
US7890182B2 (en) 2008-05-15 2011-02-15 Boston Scientific Neuromodulation Corporation Current steering for an implantable stimulator device involving fractionalized stimulation pulses
US20090312650A1 (en) * 2008-06-12 2009-12-17 Cardiac Pacemakers, Inc. Implantable pressure sensor with automatic measurement and storage capabilities
US8798761B2 (en) * 2008-06-27 2014-08-05 Cardiac Pacemakers, Inc. Systems and methods of monitoring the acoustic coupling of medical devices
US20100023091A1 (en) * 2008-07-24 2010-01-28 Stahmann Jeffrey E Acoustic communication of implantable device status
CA2740730A1 (en) 2008-10-15 2010-04-22 James K. Rains Composite internal fixators
US8593107B2 (en) * 2008-10-27 2013-11-26 Cardiac Pacemakers, Inc. Methods and systems for recharging an implanted device by delivering a section of a charging device adjacent the implanted device within a body
US8065019B2 (en) 2008-11-18 2011-11-22 Boston Scientific Neuromodulation Corporation Methods and systems for improving the reliability of the time basis for data logged in an implantable medical device
US8635694B2 (en) * 2009-01-10 2014-01-21 Kaspersky Lab Zao Systems and methods for malware classification
WO2010088531A2 (en) 2009-01-29 2010-08-05 Smith & Nephew, Inc. Low temperature encapsulate welding
US9750945B2 (en) 2010-08-02 2017-09-05 St. Jude Medical Luxembourg Holdings SMI S.A.R.L. Neurostimulation programmers with improved RF antenna radiation patterns
WO2012082316A1 (en) * 2010-12-15 2012-06-21 Medtronic, Inc. Medical lead insertion detection by monitoring for electrical continuity between adjacent electrical contacts of a medical device
WO2012092197A2 (en) * 2010-12-27 2012-07-05 Medtronic, Inc. Application limitations for a medical communication module and host device
US10136845B2 (en) 2011-02-28 2018-11-27 Abbott Diabetes Care Inc. Devices, systems, and methods associated with analyte monitoring devices and devices incorporating the same
US9974108B2 (en) * 2012-02-06 2018-05-15 Nuvectra Corporation Paired communication between an implanted medical device and an external control device
US20130289657A1 (en) * 2012-04-25 2013-10-31 Cyberonics, Inc. Programmer upgrading methods, implantable medical device programmers, and articles of manufacture
US9878170B2 (en) 2013-03-15 2018-01-30 Globus Medical, Inc. Spinal cord stimulator system
US9887574B2 (en) 2013-03-15 2018-02-06 Globus Medical, Inc. Spinal cord stimulator system
US9440076B2 (en) 2013-03-15 2016-09-13 Globus Medical, Inc. Spinal cord stimulator system
US9872997B2 (en) 2013-03-15 2018-01-23 Globus Medical, Inc. Spinal cord stimulator system
WO2019216945A1 (en) * 2018-05-07 2019-11-14 Qura, Inc. Business methods based on providing monitoring services and access to information to caregivers, patients with implanted pressure sensors and distributors

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US232801A (en) 1880-10-05 James h
US5383912A (en) 1993-05-05 1995-01-24 Intermedics, Inc. Apparatus for high speed data communication between an external medical device and an implantable medical device
US5350411A (en) * 1993-06-28 1994-09-27 Medtronic, Inc. Pacemaker telemetry system
US5324315A (en) * 1993-08-12 1994-06-28 Medtronic, Inc. Closed-loop downlink telemetry and method for implantable medical device
US5486200A (en) * 1994-04-28 1996-01-23 Medtronic, Inc. Automatic postmortem deactivation of implantable device
US5759199A (en) * 1995-08-02 1998-06-02 Pacesetter, Inc. System and method for ambulatory monitoring and programming of an implantable medical device
US5683432A (en) 1996-01-11 1997-11-04 Medtronic, Inc. Adaptive, performance-optimizing communication system for communicating with an implanted medical device
US5833623A (en) * 1996-05-14 1998-11-10 Pacesetter, Inc. System and method for facilitating rapid retrieval and evaluation of diagnostic data stored by an implantable medical device
US5891178A (en) * 1996-05-14 1999-04-06 Pacesetter, Inc. Programmer system and associated methods for rapidly evaluating and programming an implanted cardiac device
US5938690A (en) * 1996-06-07 1999-08-17 Advanced Neuromodulation Systems, Inc. Pain management system and method
US5843138A (en) 1997-07-09 1998-12-01 Vitatron Medical, B.V. Pacemaker system with enhanced programmable modification capacity
US6985088B2 (en) 2002-03-15 2006-01-10 Medtronic, Inc. Telemetry module with configurable data layer for use with an implantable medical device

Also Published As

Publication number Publication date
AU2003225707A1 (en) 2003-09-29
EP1485165A1 (en) 2004-12-15
DE60330951D1 (en) 2010-03-04
ATE454921T1 (en) 2010-01-15
US7212133B2 (en) 2007-05-01
US6985088B2 (en) 2006-01-10
US20060038701A1 (en) 2006-02-23
US20030174066A1 (en) 2003-09-18
WO2003077993A1 (en) 2003-09-25

Similar Documents

Publication Publication Date Title
EP1485165B1 (en) Telemetry module with configurable data layer for use with an implantable medical device
US7023359B2 (en) Telemetry module with configurable physical layer for use with an implantable medical device
EP1441810B1 (en) Apparatus for programming an implantable medical device
US6453198B1 (en) Power management for an implantable medical device
US7177690B2 (en) Implantable system having rechargeable battery indicator
US7082333B1 (en) Patient directed therapy management
US9492675B2 (en) Method of recharging a power source for implantable medical device
EP1248661B1 (en) Ambulatory medical apparatus and method having telemetry modifiable control software
US7060031B2 (en) Method and apparatus for remotely programming implantable medical devices
US20030177031A1 (en) Data management of patient medical information for use with an implantable medical device
US20060212087A1 (en) Implantable stimulator
US20060020302A1 (en) Medical device telemetry arbitration system based upon user selection
US20120296397A1 (en) System and method for programming neurostimulation devices using cached plug-in software drivers
US20100057167A1 (en) System and Method for the Interrogation of Implantable Medical Devices
US9636509B2 (en) Retrieval of information from an implantable medical device
US7248918B2 (en) System and method for supplying a patient reminder alert from an implantable medical device
US20040215291A1 (en) Programmer storage of implantable medical device settings
EP4124358A1 (en) Inductive charging coil configuration for an implantable medical device

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20041012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK

17Q First examination report despatched

Effective date: 20061113

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: MEDTRONIC, INC.

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

RIN1 Information on inventor provided before grant (corrected)

Inventor name: GOETZ, STEVEN, M.

Inventor name: SPAR, GREGORY, P.

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 60330951

Country of ref document: DE

Date of ref document: 20100304

Kind code of ref document: P

REG Reference to a national code

Ref country code: NL

Ref legal event code: VDEP

Effective date: 20100113

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100424

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100513

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100414

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100331

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100413

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

26N No opposition filed

Effective date: 20101014

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20100413

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100307

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100331

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100331

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100413

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20120406

Year of fee payment: 10

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100307

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100714

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20100113

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20131129

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20130402

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20200218

Year of fee payment: 18

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 60330951

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20211001