This application is a continuation of U.S. patent application Ser. No. 11/799,035, filed Apr. 30, 2007, the entire content of which is incorporated herein by reference.
TECHNICAL FIELDThe disclosure relates to medical devices, and more particularly, medical devices that deliver therapy.
BACKGROUNDA variety of types of medical devices are used for chronic, e.g., long-term, provision of therapy to patients. As examples, pulse generators are used for chronic provision of cardiac pacing and neurostimulation therapies, and pumps are used for chronic delivery of therapeutic agents, such as drugs. Typically, such devices provide therapy continuously or periodically according to parameters, e.g., a program comprising respective values for each of a plurality of parameters, specified by a clinician.
In some cases, a medical device may be deliver therapy according to one of a plurality of stored therapy programs. Selections may be made from among the plurality of programs to accommodate different physiological conditions of the patient. For example, the symptoms, e.g., the intensity of pain, of patients who receive spinal cord stimulation (SCS) therapy may vary over time based on the activity level or posture of the patient, the specific activity undertaken by the patient, or the like. Accordingly, different therapy programs may be delivered at different times, depending on the patient activity level or posture.
SUMMARYIn general, the disclosure is directed to techniques for detecting a value of a sensed patient parameter and adjusting a therapy program to accommodate different patient parameter values. In some cases, some therapy programs may be more effective for a particular patient parameter value than other therapy programs. The present disclosure provides techniques for adjusting at least one therapy parameter as a value of a sensed patient parameter changes in order to provide more efficacious therapy for different sensed patient parameter values, such as different patient postures or activity levels. In some embodiments, the patient parameter value may be monitored continuously or substantially continuously, and the therapy parameter may be adjusted as the patient parameter value changes.
Rather than storing an inordinate number of programs for each possible patient parameter value, a limited number of therapy programs are stored and associated with a limited number of patient parameter values. If a sensed patient parameter value is not associated with a stored therapy program, a processor of a medical device, programming device or another computing device implements an algorithm to interpolate between two stored therapy programs to temporarily create a therapy program that provides efficacious therapy for the sensed patient parameter value. In other embodiments, the sensed patient parameter value may be associated with a stored therapy program, and the processor may interpolate between two stored therapy programs to transition therapy delivery according to therapy parameters of a first stored therapy program to therapy parameters according to a second stored therapy program.
In accordance with one embodiment, different therapy programs and associated patient postures are stored within an implantable medical device (IMD). Each therapy program may define one or more therapy parameters such as electrode combinations by which electrical stimulation therapy is delivered, voltage or current amplitude, pulse width or pulse frequency of electrical stimulation, stimulation cycling (e.g., on/off times of an electrical stimulator) or frequency or dosage of drug delivery. When a patient is in a first posture, therapy is delivered according to a first therapy program. A sensor within the IMD or coupled to the IMD (e.g., via wired or wireless communication) detects a change in patient posture. When the sensor senses a second posture of the patient, the IMD may determine whether one of the stored therapy programs is associated with the second posture. If the second posture is associated with a stored therapy program, the IMD implements the associated therapy program. In some embodiments, rather than abruptly changing the therapy delivery via a therapy program associated with a first posture to the therapy program associated with the second posture, IMD may implement an algorithm to create at least one “intermediate” therapy program to gradually adjust therapy between the therapy programs. In one embodiment, one or more intermediate therapy programs are determined by interpolating between the parameters in the first and second therapy programs. The interpolation algorithm may be linear or nonlinear. In one embodiment, the rate of change between the first and second therapy programs is based on the rate of change of the patient's movement between the first and second postures.
If no therapy program is associated with the second posture, the IMD may implement an algorithm to interpolate between the therapy program associated with the first posture and a therapy program associated with a posture that is closest to the second posture. Again, the algorithm may be linear or nonlinear. In this way, the IMD may create a therapy program for the second posture. The rate of change of adjustment of therapy from the first therapy program associated with the first posture to the interpolated program may also be dictated by the rate of change of the patient's movement between the first and second postures, or the rate of change of another patient parameter value that is associated with the therapy programs.
In embodiments, the rate of adjusting between a first therapy program and a second therapy program, or one or more therapy parameters of the first and second therapy programs, may be based on the rate of change of the patient parameter value. The first and second therapy program may be any therapy programs, and are not necessarily limited to stored therapy programs or interpolated therapy programs. In one embodiment, the time rate of change of a patient parameter is used to determine the rate of adjusting between two therapy programs. In another embodiment, the time rate of change of two or more patient parameter values are used to determine the rate of adjustment.
In one embodiment, the disclosure is directed to a method comprising sensing a first value of a parameter of a patient, delivering therapy to the patient according to a first therapy program associated with the first value of the patient parameter, detecting a change from the first value of the patient parameter to a second value of the patient parameter, determining a first rate of the change from the first value to the second value of the patient parameter, identifying a second therapy program based on the second value of the patient parameter, and adjusting the delivery of the therapy to the patient from the first therapy program to the second therapy program at a second rate based on the first rate of the change.
In another embodiment, the disclosure is directed to a system comprising a medical device that is configured to deliver a therapy to a patient, a sensor that is configured to sense a parameter of the patient, a memory that stores a data structure comprising a plurality of values of the patient parameter and associated therapy programs, wherein the therapy programs each comprise at least one therapy parameter, and a processor. The processor controls the medical device to deliver the therapy to the patient according to a first therapy program associated with a first value of a patient parameter detected via the sensor, detect a change from the first value of the patient parameter to a second value of the patient parameter, determine a first rate of the change from the first value to the second value of the patient parameter, identify a second therapy program associated with the second value of the patient parameter via the data structure stored within the memory, and control the medical device to adjust the delivery of the therapy to the patient from the first therapy program to the second therapy program at a second rate based on the first rate.
In another embodiment, the disclosure is directed to a computer-readable medium containing instructions. The instructions cause a processor to receive input indicating a first value a sensed parameter of a patient, identify a first therapy program associated with the first value of the patient parameter, deliver therapy to the patient according to the first therapy program, detect a change from the first value of the patient parameter to a second value of the patient parameter, determine a first rate of change from the first value to the second value of the patient parameter, identify a second therapy program associated with the second value of the patient parameter, and adjust the delivery of the therapy to the patient from the first therapy program to the second therapy program at a second rate based on the first rate of the change.
In another embodiment, the disclosure is directed to a method comprising sensing a first value of a parameter of a patient, delivering therapy to the patient according to a first therapy program associated with the first value of the patient parameter in a data structure comprising a plurality of patient parameter values and associated therapy programs, detecting a change from the first value of the patient parameter to a second value of the patient parameter, identifying a third value of the patient parameter within the data structure that is closest to the second value of the patient parameter, where the third value of the patient parameter is associated with a second therapy program within the data structure, and generating an intermediate therapy program by interpolating at least one therapy parameter between therapy parameters of the first and second therapy programs.
In another embodiment, the disclosure is directed to a system comprising a medical device that is configured to deliver a therapy to a patient, a sensor that is configured to sense a patient parameter of the patient, a memory that stores a data structure comprising a plurality of patient parameter values and associated therapy programs, where the therapy programs each comprise at least one therapy parameter, and a processor. The processor controls the medical device to deliver the therapy to the patient according to a first therapy program associated with a first value of the patient parameter detected via the sensor, detect a change in the first value to a second value of the patient parameter detected via the sensor, identify a third value patient parameter within the data structure that is closest to the second value, wherein the third value is associated with a second therapy program within the data structure, and interpolate at least one therapy parameter between therapy parameters of the first and second therapy programs to generate an intermediate therapy program.
In another embodiment, the disclosure is directed to a computer-readable medium containing instructions. The instructions cause a processor to control a therapy delivery device to receive input indicating a sensed parameter of a patient, associate a first value of the patient parameter with a first therapy program by referencing a data structure comprising a plurality of patient parameter values and associated therapy programs, deliver therapy to the patient according to the first therapy program, detect a change from the first value of the patient parameter to a second value of the patient parameter, identify a third value of the patient parameter within the data structure that is closest to the second value, wherein the third value is associated with a second therapy program within the data structure, and generate an intermediate therapy program by interpolating at least one therapy parameter between therapy parameters of the first and second therapy programs.
The details of one or more embodiments of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.
BRIEF DESCRIPTION OF DRAWINGSFIG. 1 is a conceptual diagram illustrating an example system that facilitates closed-loop therapy adjustment.
FIG. 2 is a block diagram illustrating the implantable medical device ofFIG. 1 in greater detail.
FIG. 3 is a block diagram illustrating an exemplary configuration of a memory of the implantable medical device ofFIG. 2.
FIG. 4 is a block diagram of one embodiment of the programming device of the system shown inFIG. 1.
FIG. 5 illustrates an example patient parameter value table that may be used for closed-loop adjustment of therapy.
FIG. 6 is a flow chart illustrating an example of a technique that a processor of an implantable medical device may employ to interpolate between two therapy programs.
FIGS. 7A-7C illustrate an embodiment of a technique for interpolating an electrode combination between electrode combinations of two therapy programs.
FIG. 8 is a flow diagram illustrating an embodiment of a technique for determining a rate for adjusting therapy delivery between the therapy parameters of two therapy programs.
FIG. 9 is a flow diagram illustrating an example technique for delivering therapy according to a stored or intermediate therapy program or a predetermined default based on whether sensed patient parameter values are stable or transient.
FIG. 10 is a schematic diagram of embodiments of external activity sensing devices that may be used to determine a patient parameter value.
DETAILED DESCRIPTIONFIG. 1 is a conceptual diagram illustrating anexample system10 that facilitates closed-loop therapy adjustment according to the disclosure. In the illustrated example,system10 includes anIMD12, which is implanted within apatient14, and delivers electrical stimulation therapy topatient14. In exemplary embodiments,IMD12 takes the form of an implantable signal generator, and delivers electrical stimulation therapy topatient14 in the form of a programmable stimulation signal (e.g., in the form of electrical pulses or substantially continuous-time signals).
IMD12 delivers electrical stimulation therapy topatient14 vialeads16A and16B (collectively “leads16”), and more particularly, via one or more stimulation electrodes carried by leads16. Leads16 may also carry one or more sensing electrodes. Leads16 may, as shown inFIG. 1, be implanted proximate to thespinal cord18 ofpatient14, andIMD12 may deliver spinal cord stimulation (SCS) therapy topatient14 in order to, for example, reduce pain experienced bypatient14. However, the disclosure is not limited to the configuration of leads16 shown inFIG. 1 or the delivery of SCS therapy. For example, one or more leads16 may extend fromIMD12 to the brain (not shown) ofpatient14, andIMD12 may deliver deep brain stimulation (DBS) therapy topatient14 to, for example, treat tremor, Parkinson's disease, epilepsy or other movement disorders or other neurological disorders. As further examples, one or more leads16 may be implanted proximate to the pelvic nerves (not shown), stomach (not shown), or sexual organs (not shown) andIMD12 may deliver electrical stimulation therapy to treat urinary or fecal incontinence, gastroparesis, sexual dysfunction, peripheral neuropathy, post-operative pain mitigation, ilioinguinal nerve stimulation, intercostal nerve stimulation, gastric stimulation for the treatment of gastric mobility disorders and obesity or muscle stimulation (e.g., functional electrical stimulation (FES) of muscles).
Further, as discussed above, the disclosure is not limited to embodiments in whichIMD12 delivers stimulation therapy. For example, in some embodiments,IMD12 may additionally or alternatively be coupled to one or more catheters to deliver one or more therapeutic substances topatient14, e.g., one or more drugs. Additionally, the disclosure is not limited to implanted devices. Any implantable or external medical device may deliver closed-loop therapy according to the techniques of the disclosure.
IMD12 includes a sensor that is configured to sense at least one patient parameter. The patient parameter may include parameters that may affect the efficacy of therapy or indicate a parameter that affects the efficacy of therapy, e.g., activity, activity level, posture, or a physiological parameter ofpatient14. Physiological parameters may include heart rate, respiration rate, respiratory volume, core temperature, blood pressure, blood oxygen saturation, partial pressure of oxygen within blood, partial pressure of oxygen within cerebrospinal fluid, muscular activity, arterial blood flow, electromyogram (EMG), an electroencephalogram (EEG), an electrocardiogram (ECG) or galvanic skin response. In other embodiments, a sensor used to sense such patient parameters may be implanted at a site withinpatient14 or worn on the exterior of the patient, in which case the sensor may be coupled toIMD12. An example sensor is a 3-axis accelerometer located withinIMD12. Patient parameter values detected byIMD12 based on the signals generated by such a sensor may correspond to an activity or posture undertaken bypatient14, or a gross level of physical activity, e.g., activity counts based on footfalls or the like. For example,IMD12 may associate the signal generated by a 3-axis accelerometer or multiple single-axis accelerometers (or a combination of a three-axis and single-axis accelerometers) with a patient posture, such as sitting, recumbent, upright, and so forth.
In exemplary embodiments,IMD12 delivers therapy according to a therapy program selected from two or more stored therapy programs, or an intermediate therapy program generated by interpolating between two therapy programs, where at least one is a stored therapy program. In particular,IMD12 may select a therapy program or interpolate between two stored therapy programs based on the value of a sensed patient parameter. Different therapy programs may provide efficacious therapy for different physiological conditions of the patient. For example, the symptoms, e.g., the intensity of pain, of patients who receive spinal cord stimulation (SCS) therapy may vary over time based on the activity level or posture of the patient, the specific activity undertaken by the patient, or the like. Accordingly,IMD12 may select different therapy programs for delivery at different times, depending on a sensed patient parameter value, which may be, for example, the patient activity level or posture ofpatient14.
A therapy program may be defined by a set of one or more therapy parameters that define an aspect of the therapy delivered byIMD12. For example, a program that controls delivery of stimulation byIMD12 in the form of pulses may define a voltage or current pulse amplitude, a rate of an amplitude change (e.g., ramping up or down of stimulation amplitudes), a pulse width, a pulse rate, for stimulation pulses delivered byIMD12, a cycle of stimulation delivery (e.g., a timing of whenIMD12 is in an on mode or an off/sleep mode) and so forth. Further, each of leads16 includes electrodes (not shown inFIG. 1), and the parameters for a program that controls delivery of stimulation therapy byIMD12 may include information identifying which electrodes have been selected for delivery of pulses according to the program, and the polarities of the selected electrodes, i.e., the electrode configuration for the program. In addition, a therapy parameter may include the particular pattern and/or locations of anodes and cathodes of the electrodes of leads16 (the “electrode combination”). Programs that control delivery of other therapies byIMD12 may include other parameters. For example, a program that controls delivery of a drug or other therapeutic agent may include a titration rate or information controlling the timing (e.g., frequency) of bolus deliveries.
In exemplary embodiments,IMD12 stores the therapy programs as a plurality of records that are stored in a table or other data structure that may be continually updated asIMD12 “learns” associations of therapy information with patient parameter values. Techniques for generating and updating the records within the table or other data structure are described in commonly-assigned U.S. Patent Application Publication No. 2007/0129774 by Bourget et al., entitled, “CLOSED-LOOP THERAPY ADJUSTMENT” and filed on Apr. 28, 2006, commonly-assigned U.S. Patent Application Publication No. 2007/0150029 by Bourget et al., entitled, “CLOSED-LOOP THERAPY ADJUSTMENT” and filed on Dec. 1, 2006, and commonly-assigned U.S. Patent Application Publication No. 2007/0150026 by Bourget et al., entitled, “CLOSED-LOOP THERAPY ADJUSTMENT” and filed on Dec. 1, 2006, each of which is incorporated herein by reference in its entirety. While the remainder of the disclosure refers primarily to tables, the present disclosure also applies to other types of data structures that store therapy programs and associated physiological parameters.
As described below with reference toFIG. 5, each record within a table stored withinIMD12 includes at least one patient parameter value and associated therapy information. The therapy information may define one or more therapy parameter values, absolute or percentage adjustments for one or more therapy parameters or a complete therapy program that IMD12 implements to deliver therapy topatient14. As described in further detail below, whenIMD12 detects a value of a patient parameter,IMD12 may adjust the therapy delivery based on the therapy information in the records of the table. For example, upon determining a patient parameter value,IMD12 may locate the record in the stored table including the patient parameter value and deliver therapy according to the therapy program associated with the patient parameter value. Alternatively,IMD12 may interpolate between two therapy programs if the table does not include any records that associate the particular patient parameter value with a therapy program. As described in further detail below, the rate at whichIMD12 adjusts therapy delivery between two or more therapy programs may be determined based on a rate of change of one or more patient parameter values, such as a rate of change between the patient parameter values with which the programs are associated.
In the illustrated example,system10 also includes aprogramming device20, which may, as shown inFIG. 1, be a handheld computing device.Programming device20 allows a user to interact withIMD12.Programming device20 may, for example, communicate via wireless communication withIMD12 using radio-frequency (RF) telemetry techniques, or any other techniques known in the art.Programming device20 may, as shown inFIG. 1, include adisplay22 and akeypad24 to allow the user to interact withprogramming device20. In some embodiments,display22 may be a touch screen display, and the user may interact withprogramming device20 viadisplay22. The user may also interact withprogramming device20 using peripheral pointing devices, such as a stylus or mouse.Keypad24 may take the form of an alphanumeric keypad or a reduced set of keys associated with particular functions. In some embodiments,keypad24 may include an increase amplitude button and a decrease amplitude button to directly adjust stimulation amplitude.
In some embodiments,programming device20 is a patient programmer used bypatient14 to control the delivery of neurostimulation therapy byIMD12.Patient14 may useprogramming device20 to activate or deactivate, e.g., start or stop, neurostimulation therapy.Patient14 may also useprogramming device20 to adjust the therapy. For example, whenIMD12 is in one mode, a patient may useprogramming device20 to manually select one or more programs from among a plurality of stored programs to be the current programs used byIMD12 to deliver therapy, e.g.,patient14 may switch from one program to another usingprogramming device20. Further,patient14 may also useprogramming device20 to adjust therapy by adjusting one or more stimulation parameters, e.g., adjust the amplitude, width, or rate of delivered stimulation pulse, for the one or more current programs. However, as described herein, in another mode,IMD12 is programmed to automatically select a therapy program from a plurality of stored programs or interpolate between the stored programs based on a sensed patient parameter value.
In some embodiments, the table of therapy programs and associated patient parameter values may be maintained by and/or stored withinprogramming device20 instead ofIMD12. Accordingly, one or both ofIMD12 andprogramming device20 may provide closed-loop adjustment of the therapy delivered byIMD12. In embodiments in whichprogramming device20 maintains the table,programming device20 may include sensors that sense the patient parameter, or may receive values of the patient parameter fromIMD12 or another implanted or external sensor. After selecting a program or generating an intermediate program by interpolating between the therapy parameters of two therapy programs based on a sensed patient parameter value,programming device20 may send commands toIMD12 based on therapy information stored in the table to implement closed-loop delivery of therapy.
For ease of description, the provision of closed-loop therapy adjustment will be described hereinafter primarily with reference to embodiments in whichIMD12 provides the closed-loop therapy adjustments. However, it is understood that both ofIMD12 andprogramming device20 are medical devices capable of providing closed-loop therapy adjustments according to the techniques described in the disclosure.
FIG. 2 is a blockdiagram illustrating IMD12 in greater detail.IMD12 is coupled to leads16A,16B, which includeelectrodes30A-H and31A-H, respectively.IMD12 may be coupled to leads16A,16B either directly or indirectly via a lead extension.IMD12 includestherapy module32,processor34,memory36,telemetry module38,sensor40, andpower source41.
IMD12 may deliver neurostimulation therapy viaelectrodes30A-H oflead16A andelectrodes31A-H oflead16B (collectively “electrodes30 and31”). In the embodiment shown inFIG. 2, implantablemedical leads16A and16B are cylindrical. In other embodiments, leads16A and16B may be, at least in part, paddle-shaped (i.e., a “paddle” lead). In some embodiments, electrodes30,31 may be ring electrodes. In other embodiments, electrodes30,31 may be segmented or partial ring electrodes, each of which extends along an arc less than 360 degrees (e.g., 90-120 degrees) around the outer perimeter of therespective lead16A,16B. The configuration, type, and number of electrodes30,31 illustrated inFIG. 2 are merely exemplary. For example,IMD12 may be coupled to one lead with eight electrodes on the lead or to three leads with the aid of a bifurcated lead extension.
Electrodes30,31 are electrically coupled to atherapy module32 ofIMD12 via conductors within the respective leads16A,16B. Each of electrodes30,31 may be coupled to separate conductors so that electrodes30,31 may be individually selected, or in some embodiments, two or more electrodes30 and/or two or more electrodes31 may be coupled to a common conductor. In one embodiment, an implantable signal generator or other stimulation circuitry withintherapy module32 delivers electrical signals (e.g., pulses or substantially continuous-time signals, such as sinusoidal signals) to a target tissue site withinpatient14 via at least some of electrodes30,31 under the control ofprocessor34. The stimulation energy generated bytherapy module32 may be delivered fromtherapy module32 to selected electrodes30,31 via a switch matrix and conductors carried by leads16, as controlled byprocessor34.
Processor34 may include any one or more of a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), discrete logic circuitry, or the like.Processor34 controls the implantable signal generator withintherapy module32 to deliver electrical stimulation therapy according to selected therapy parameters. Specifically,processor34controls therapy module32 to deliver electrical signals with selected voltage or current amplitudes, pulse widths (if applicable), and rates specified by the stimulation parameters (i.e., therapy parameters). The therapy parameters may be defined as part of a therapy program. In addition,processor34 may also controltherapy module32 to deliver the electrical stimulation signals via selected subsets of electrodes30,31 with selected polarities. For example, electrodes30,31 may be combined in various bipolar or multi-polar combinations to deliver stimulation energy to selected sites, such as nerve sites adjacent the spinal column, pelvic floor nerve sites or cranial nerve sites. The above-mentioned switch matrix may be controlled byprocessor34 to configure electrodes30,31 in accordance with a therapy program.
IMD12 also includes amemory36, which may include any volatile, non-volatile, magnetic, optical, or electrical media, such as a random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), electrically-erasable programmable ROM (EEPROM), flash memory, and the like.Memory36 may store program instructions that, when executed byprocessor34,cause IMD12 to perform the functions ascribed toIMD12 herein.Memory36 may also store a table of therapy programs (e.g., the therapy parameters of each therapy program) and associated patient parameter values.
In some embodiments,processor34 maintains, e.g., creates and modifies, the table stored inmemory36. For example, in some embodiments,processor34 maintains the table in accordance with the techniques described in commonly-assigned U.S. Patent Application Publication No. 2007/0129774 by Bourget et al., entitled, “CLOSED-LOOP THERAPY ADJUSTMENT” and filed on Apr. 28, 2006, commonly-assigned U.S. Patent Application Publication No. 2007/0150029 by Bourget et al., entitled, “CLOSED-LOOP THERAPY ADJUSTMENT” and filed on Dec. 1, 2006, and U.S. Patent Application Publication No. 2007/0150026 by Bourget et al., entitled, “CLOSED-LOOP THERAPY ADJUSTMENT” and filed on Dec. 1, 2006.
IMD12 includes asensor40 that senses one or more patient parameters.Processor34 detects values of the patient parameter based on the signal generated bysensor40 as a function of the patient parameter.Sensor40 may be a sensor that generates an output, such as an electrical signal, based on activity, activity level, posture, and/or one or more physiological parameters ofpatient14, as discussed above. In some embodiments,processor34 receive the electrical signal from sensor and determines a parameter value from the signal. In exemplary embodiments,sensor40 is a 3-axis accelerometer, such as a piezoelectric and/or micro-electro-mechanical accelerometer. In other embodiments, a single axis accelerometer may be employed, or multiple single axis accelerometers may be used in place of one 3-axis accelerometer.
In some embodiments,processor34 processes the analog output ofsensor40 to determine digital activity and/or posture information. For example, wheresensor40 comprises a piezoelectric accelerometer,processor34 may process the raw signal provided bysensor40 to determine activity counts, whereby the table of therapy information stored withinmemory36 associates a therapy program with a number of activity counts. In some embodiments,IMD12 includes one or more sensors oriented along various axes, orsensor40 comprises a single multi-axis, e.g., three-axis, accelerometer. In such embodiments,processor34 may process the signals provided by the one ormore sensors40 to determine velocity of motion information for each axis.
In other embodiments,IMD12 may include an ultrasonic transducer on at least one ofleads16A,16B to detect movement relative to a target tissue site. An example of a technique for detecting relative movement between a target tissue site and at least one ofleads16A,16B is provided in commonly-assigned U.S. Pat. No. 7,406,351 to Wesselink et al., entitled, “ACTIVITY SENSING FOR STIMULATOR CONTROL,” and issued on Jul. 29, 2008. As previously described, the movement ofleads16A,16B withinpatient14 may affect the efficacy of therapy, for example, by changing the intensity of stimulation perceived bypatient14. Accordingly, a position of leads16A,16B relative to a target tissue site may represent a patient parameter value that may be associated with a therapy program. Upon detecting lead16A,16B movement relative to the target tissue site, a therapy program may be adjusted.
Although illustrated inFIG. 2 as including asingle sensor40, systems according to the disclosure may include any number ofsensors40. In exemplary embodiments, the one ormore sensors40 are housed within a housing (not shown) ofIMD12. However, the disclosure is not so limited. In some embodiments, one ormore sensors40 are coupled toIMD12 via additional leads16 (not shown). Such sensors may be located anywhere withinpatient14. In some embodiments,IMD12 may be coupled tomultiple accelerometer sensors40 located at various positions withinpatient14 or on the external surface ofpatient14, andprocessor34 may receive more detailed information about the posture of and activity undertaken bypatient14. For example,accelerometer sensors40 may be located within the torso and at a position within a limb, e.g. a leg, ofpatient14.
In some embodiments, one ormore sensors40 may communicate wirelessly withIMD12 instead of requiring a lead to communicate with the IMD. For example,sensors40 located external topatient14 or implanted separately fromIMD12 may communicate wirelessly withprocessor34, either directly or viaprogramming device20. In some embodiments, one ormore sensors40 may be included as part of or coupled toprogramming device20.
Moreover, the disclosure is not limited to embodiments wheresensors40 are accelerometers. In some embodiments, one ormore sensors40 may take the form of, for example, a thermistor, a pressure transducer, or electrodes to detect thoracic impedance or an electrogram.Such sensors40 may be appropriately positioned withinpatient14, or on an external surface of the patient, to allowprocessor34 to measure a physiological parameter ofpatient14, such as a skin temperature, an arterial or intracardiac pressure, a respiration rate, a heart rate, or a Q-T interval ofpatient14.
Processor34 may also controltherapy module32 to deliver the electrical stimulation to patient14 according to records stored within a table stored inmemory36, as described above. In particular,processor34 may monitor the patient parameter viasensor40 and select a therapy program that is associated with the sensed patient parameter from the stored table. A range of patient parameters may be associated with a single therapy program becausepatient14 may find the therapy program effective for multiple patient conditions represented by the range of patient parameters.
Processor34 may transition between therapy programs based on the rate of change in the sensed patient parameter in order to provide a gradual change to minimize any discomfort topatient14. For example, ifsensor40 is configured to generate a signal indicative of a posture ofpatient14, andprocessor34 determines, based on the signal fromsensor40, thatpatient14 is moving from a recumbent posture to a standing posture,processor34 may controltherapy module32 to transition therapy delivery from a program associated with the recumbent posture to a program associated with the sitting posture prior to delivering therapy according to a program associated with the standing posture based on the detected rate of movement between the recumbent and standing postures.Processor34 may determine the rate of movement based on the trend in signals received fromsensor40. The trend may be, for example, the rate of change of the signal over time, which indicates the rates of change in the sensed patient parameter that is indicative of posture over time.
Depending upon the differences in the therapy parameters of the first and second programs,patient14 may notice the shift in therapy from the first program to the second program. For example, if the first program is associated with a recumbent posture, while the second program is associated with a standing posture, an amplitude of stimulation therapy may be greater for the second program. Accordingly,patient14 may notice an abrupt change in the stimulation therapy from therapy according to the first program to therapy according to the second program. Gradually transitioning between the first and second therapy programs at a rate that is determined based on the patient's movement between the two postures may minimize any noticeable change in therapy topatient14.
In the embodiment in whichpatient14 changes posture from a recumbent posture to a standing posture, if the sensed patient parameter value associated with the standing posture is present in the table stored withinmemory36,processor34 may select the therapy program associated with the standing posture and begin delivering therapy according to the selected therapy program. However, as described above, it may be desirable to gradually transition between the therapy programs associated with the recumbent and standing postures. Thus,processor34 may implement one or more intermediate therapy programs asprocessor34 shifts between the therapy programs associated with the recumbent and standing postures. The intermediate therapy program may be associated with, for example, a sitting posture, which may be a posture between the recumbent and standing postures. Alternatively,processor34 may generate the intermediate therapy program that is based on the therapy programs within the table of programs stored inmemory36 using one of the techniques described below. The recumbent and standing postures are used herein merely as examples. In other embodiments,processor34 may transition between therapy programs associated with other patient postures or other patient parameters.
If the sensed patient parameter is not present in the table or within a certain range of a parameter value in the table, and, thus, not associated with any stored therapy program,processor34 may interpolate between two programs in the table. In one embodiment,IMD12 may reference the table stored inmemory36 to determine whether to interpolate between two predetermined therapy programs, and to select the programs to interpolate between. For example, iftherapy delivery module32 is delivering therapy according to a first program, butprocessor34 determines that the sensed patient parameter has changed and is no longer associated with the first program,processor34 may reference the table to determine what program, if any, is associated with the current value of the sensed physiological parameter. Because the table includes discrete parameter values associated with discrete programs,processor34 may select the most closely related program (e.g., the program associated with a parameter value that is the closest to the current patient parameter value out of all the parameter values in the table) and deliver therapy according to the most closely related program. However, the most closely related program may not be the most optimal for the patient's current posture or activity level.
According to some techniques of the present disclosure,processor34 may identify the most closely related program, but rather than delivering therapy according to that program,processor34 may implement an algorithm to interpolate between the current therapy parameters and the therapy parameters of the most closely related program. The algorithm may, for example, set forth maximum increments in a particular therapy parameter value, such as increases in the amplitude of electrical stimulation.
In some embodiments,processor34 may only interpolate between a current therapy program and a next closest program based if the sensed patient parameter value not only is not associated with a therapy program, but differs from any of the physiological parameter values in the table by a threshold value, which may be for example an absolute or percentage value. The threshold value may be set by, for example, a manufacturer ofIMD12 or a clinician, and controls difference in the parameter value thatprocessor34 identifies as being significant enough to interpolate between two therapy programs. If the threshold value is set to a low value,processor34 may interpolate between the current therapy program and the therapy program that is associated with a patient parameter value that is closest to the currently sensed patient physiological parameter value. Alternatively, the threshold value may be set to a higher value to minimize the frequency with whichprocessor34 interpolates between two therapy programs.
Processor34 may monitor the signal fromsensor40 at regular intervals or substantially continuously in order to determine whether to change the therapy program by whichtherapy module32 delivers electrical stimulation therapy topatient14. In this way, signals fromsensor40 are used in a closed-loop therapy program adjustment technique implemented byprocessor34. In other embodiments, a separate processor, rather thanprocessor34 ofIMD12 may be used to monitor the signal fromsensor40 and select therapy programs for implementation based on the sensed patient parameter or interpolate between two therapy programs.IMD12 may include another processor or the separate processor may be included within a separate medical device (either implanted withinpatient14 or carried external to patient14). The separate processor may provide an input toprocessor34 that indicates the sensor output or the input toprocessor34 may indicateprocessor34 should implement a change in therapy program based on the change in thesensor40 output. In addition, in some embodiments, the separate processor may also determine a rate of change between adjusting therapy delivery between two or more therapy programs and/or interpolate between therapy parameters of two or more programs. Use of a processor separate fromprocessor34, and especially a separate processor in another medical device, may help conservepower source41 and extend the useful life ofIMD12.
IMD12 also includes atelemetry circuit38 that allowsprocessor34 to communicate withprogramming device20.Processor34 may receive program selections, therapy parameter adjustments, or other therapy adjustments that override the therapy program selected byprocessor34, as well as commands to initiate or terminate stimulation, from a user, e.g.,patient14, usingprogramming device20 viatelemetry circuit38. In some embodiments, as will be described in greater detail below,processor34 also communicates with a clinician programmer to provide diagnostic information stored inmemory36 to a clinician viatelemetry circuit38. The diagnostic information may be, for example, the patient parameter values detected bysensor40. The clinician programmer may operate similarly toprogrammer20, but the clinician programmer may be more fully featured, e.g., provide greater control of or interaction withIMD12, than programmingdevice20.Telemetry circuit38 may correspond to any telemetry circuit known in the implantable medical device arts.
Therapy module32 andprocessor34 may be coupled topower source41.Power source41 may take the form of a small, rechargeable or non-rechargeable battery, or an inductive power interface that transcutaneously receives inductively coupled energy. In the case of a rechargeable battery,power source41 similarly may include an inductive power interface for transcutaneous transfer of recharge power.
FIG. 3 is a block diagram illustrating an example configuration ofmemory36 ofIMD12. As illustrated inFIG. 3,memory36stores therapy programs50, one or more of which processor34 (FIG. 2) may select to control delivery of stimulation by therapy module32 (FIG. 2), as described above. Each of the programs includes respective values for a plurality of therapy parameters, such as pulse amplitude, pulse width, pulse rate, and electrode configuration.Processor34 may select one or more programs based on a patient parameter value, which may be determined based on input fromsensor40.Programs50 may have been generated using a clinician programmer, e.g., during an initial or follow-up programming session, and received byprocessor34 from the clinician programmer viatelemetry circuitry38. In other embodiments,programming device20stores programs50, andprocessor34 receives selected programs fromprogramming device20 viatelemetry circuit38.
In some embodiments,memory36 also stores an indication of thecurrent therapy parameters52 used byprocessor34 to control delivery of stimulation bytherapy module32.Current therapy parameters52 may be the one or more selected programs, or may reflect modifications to one or more therapy parameters of the one or more programs based on an interpolation between two or more storedprograms50. Further,processor34 may determinecurrent therapy parameters52 based on therapy information associated with a detected value of a sensed patient parameter, which is determined viasensor40.
As described above, patient parameter values table54 comprises a plurality of records that each include a respective value of a patient parameter and associated therapy information.Processor34 may also collectdiagnostic information56 and storediagnostic information56 withinmemory36 for future retrieval by a clinician.Diagnostic information56 may, for example, include selected recordings of the output ofsensor40. In exemplary embodiments,diagnostic information56 includes information identifying the time at which patient sensor outputs occurred, either during operation in a learning mode or as subsequently detected byprocessor34.Diagnostic information56 may include other information or activities indicated bypatient14 usingprogramming device20, such as changes in symptoms, medication ingestion or other activities undertaken bypatient14. A clinician programming device (not shown in FIGS.) may presentdiagnostic information56 to a clinician in a variety of forms, such as timing diagrams, or a graph resulting from statistical analysis ofdiagnostic information56, e.g., a bar graph.Diagnostic information56 may also include calibration routines for eachsensor40 and malfunction algorithms to identify stimulation dysfunctions.Memory36 may also store interpolation algorithms58, which include algorithms employed byprocessor34 to interpolate one or more therapy parameter values between two therapy programs stored withinprograms50. The algorithms in interpolation algorithms58 may include both linear and nonlinear algorithms.
FIG. 4 is a block diagram further illustratingprogramming device20. As indicated above, in exemplaryembodiments programming device20 may take the form of a patient programming device used bypatient14 or a clinician programming device used by a clinician.Patient14 or the clinician may interact with aprocessor60 via a user interface62 in order to control delivery of electrical stimulation therapy, e.g., provide therapy adjustments, if desired. User interface62 may includedisplay22 andkeypad24, and may also include a touch screen or peripheral pointing devices as described above.Keypad24 may include an increase amplitude button and a decrease amplitude button.Processor60 may also provide a graphical user interface (GUI) to facilitate interaction withpatient14.Processor60 may include a microprocessor, a controller, a DSP, an ASIC, an FPGA, discrete logic circuitry, or the like.
Programming device20 also includes atelemetry circuit64 that allowsprocessor60 to communicate withIMD12. In exemplary embodiments,processor60 communicates commands, indications, and therapy adjustments made bypatient14 via user interface62 toIMD12 viatelemetry circuit64.Telemetry circuit64 may correspond to any telemetry circuit known in the implantable medical device arts.
Programming device also includes amemory66. In some embodiments,memory66, rather thanmemory36 ofIMD12, may storeprograms50 and table54 to control delivery of electrical stimulation therapy.Memory66 may also include program instructions that, when executed byprocessor60,cause programming device20 to perform the functions ascribed toprogramming device20 herein.Memory66 may include any volatile, non-volatile, fixed, removable, magnetic, optical, or electrical media, such as a RAM, ROM, CD-ROM, hard disk, removable magnetic disk, memory cards or sticks, NVRAM, EEPROM, flash memory, and the like.
FIG. 5 illustrates an example patient parameter value table70 that may be used for closed-loop adjustment of therapy. Table70 may correspond to table54 (FIG. 3) stored inmemory36 ofIMD12. As shown inFIG. 5, table70 includes a plurality of records. Each record contains a 3-axis accelerometer output, which is an example of a value of a sensed patient parameter, as well as an associated therapy program. In the embodiment shown inFIG. 5, the therapy parameters of each therapy program are shown in table70, and include an amplitude, a pulse width, a pulse frequency, and an electrode configuration.Processor34 may search table70 based on a currently-detected accelerometer output in order to match therapy to the current condition, e.g., posture, ofpatient14.
Sensor40 (FIG. 2) ofIMD12 may include the 3-axis accelerometer, whose output may indicate a patient posture. A measured acceleration in each direction creates a vector acceleration. Therefore, each accelerometer output includes an X variable, a Y variable, and a Z variable. The value of the accelerometer may be a raw value or a calibrated value equal to the actual acceleration. The resolution value may be equal to the maximum range of each acceleration component divided by a pre-set size. For example, the maximum range may be 10 volts, and the pre-set size may be 100. Therefore, the resolution value for each component is 0.1 volts. In some embodiments, each component of the acceleration value may have a different resolution value.
With respect to the therapy information, the amplitude is in volts, the pulse width is in microseconds (μs), the pulse frequency is in Hertz (Hz), and the electrode configuration determines the electrodes and polarity used for delivery of stimulation according to the record. The amplitude of program table70 is the voltage amplitude, but other embodiments may use a current amplitude. In the illustrated example, each record includes a complete set of therapy parameters, e.g., a complete program, as therapy information. In other embodiments, each record may include one or more individual parameter values, or information characterizing an adjustment to one or more parameter values.
Whenprocessor34 detects an output from the accelerometer, e.g., whenpatient14 is in a recumbent posture,processor34 may automatically deliver therapy appropriate for the recumbent posture by selecting therapy program in the table70 that is associated with an accelerometer output that substantially matches or is within a predetermined range of the detected accelerometer output. The predetermined range may be determined by the clinician or another user, and in some embodiments, may be customized topatient14. By providing therapy adjustments automatically,IMD12 provides closed-loop control of the therapy parameters, which may allowpatient14 to avoid having to manually adjust the therapy each time a particular patient parameter value occurs, e.g., each time the patient engages in a particular activity, activity level or posture. Such manual adjustment of stimulation parameters can be tedious, requiringpatient14 to, for example, depress one or more keys ofkeypad24 of programming device20 (FIG. 1) multiple times during the patient activity to maintain adequate symptom control.
The look-up table70, however, is limited in breadth of coverage for all patient postures because, for example, of limits in the capacity ofmemory36. Thus, in some cases,processor34 may detect an output from the accelerometer that is not present in table70 or within a predetermined range of an accelerometer output that is present in table70. In such cases,processor34 may interpolate between two programs in table70 to generate a therapy program that best-suits the detected accelerometer output.
An example of a technique thatprocessor34 may employ to interpolate between two therapy programs is shown in the flow diagram ofFIG. 6.Processor34 may control therapy module32 (FIG. 2) to deliver therapy according to a therapy program within table70 (72). For example, as described above,patient14 may be in a recumbent posture, andprocessor34 may select a therapy program for implementation bytherapy module32 from table70, where the therapy program is associated with an accelerometer output indicative of the recumbent posture.Processor34 may monitor the signal from sensor40 (FIG. 2) to detect a change in the patient parameter value, i.e., in this example, a change in the accelerometer output that indicates a change in patient posture (74). While the remainder of the description ofFIG. 6 refers to accelerometer output, in other embodiments, other patient parameter values may be monitored by other types ofsensors40 and table70 may associate other types of patient parameter values with therapy programs.
In one embodiment,processor34 may compare a first accelerometer output signal with a second accelerometer output signal that was generated by the accelerometer after the first signal in order to determine whether the patient posture changed. In another embodiment,processor34 may determine whether there was a patient posture change based on the posture levels associated with the accelerometer signals, rather than merely comparing the first and second signals. In some cases,processor34 may detect a posture change based on any output from an accelerometer or an accelerometer signal (e.g., an amplitude) that exceeds a certain threshold, because the accelerometer output typically indicates movement, and thus, may suggest patient movement. Other techniques for determining whether there was a change in patient posture based on the output of an accelerometer may be used.
If the signal fromsensor40 indicates there has not been a change in accelerometer output,therapy module32 continues delivering therapy according to the therapy program associated with the accelerometer output in table70 (72). If the signal fromsensor40 indicates the accelerometer output has changed,processor34 may reference table70 to determine whether the new accelerometer output is present in table70 (76). The accelerometer output may indicate that a patient posture has changed, and that the currently implemented therapy program may not be as effective as other therapy programs. Thus,processor34 may refer to table70 to determine whether the new posture, as indicated by the accelerometer output, is associated with a stored therapy program. If the current accelerometer output is present in table70,processor34 selects the new therapy program and controlstherapy module32 to deliver therapy according to the therapy program associated with the current accelerometer output in table70 (72).
If the new accelerometer output is not present in table70,processor34 finds the closest matching accelerometer output in table70 in order to identify the closest matching therapy program (78) relative to the therapy program currently implemented bytherapy module32. Identifying the closest matching therapy program may help theprocessor34 determine a range for therapy parameters of an interpolated program that may be effective for the patient's new posture. For example, referring to table70 inFIG. 5, if the accelerometer output is [X1.5, Y1.5, Z1.5], which is midway between the accelerometer outputs [X1, Y1, Z1] and [X2, Y2, Z2] that are included in table70, and the therapy program currently implemented bytherapy module32 is program1 (shown inFIG. 5),processor34 identifies accelerometer output [X2, Y2, Z2] as the closest matching patient parameter value. Alternatively, if the accelerometer output is [X1.5, Y1.5, Z1.5], and the therapy program currently implemented bytherapy module32 is program2,processor34 identifies accelerometer output [X1, Y1, Z1] as the closest matching patient parameter value.
After identifying the closest matching accelerometer output in table70 and the associated therapy program (78),processor34 may interpolate between the current therapy program and the program associated with the closest matching accelerometer output (80). Thus, in the example in whichprocessor34 identifies accelerometer output [X2, Y2, Z2] as the closest matching patient parameter value,processor34 interpolates betweentherapy programs1 and2 to generate an intermediate therapy program that is best-suited to the new accelerometer output [X1.5, Y1.5, Z1.5] (80).Processor34 may then controltherapy module32 to deliver therapy according to the interpolated intermediate therapy program.Processor34 may continue to monitor the signal fromsensor40 to detect when the patient parameter changes (74), and adjust the therapy program or interpolate the therapy program as necessary to address the patient posture changes. In some cases,processor34 may interpolate between an interpolated program and a stored therapy program, e.g., if the currently implemented therapy program is an interpolated program.
Therapy module32 may deliver therapy according to an interpolated program during a transition between two programs within table70 or instead of delivering therapy according to one of the stored programs of table70. For example, the new accelerometer output [X1.5, Y1.5, Z1.5] may reflect thatpatient14 is in the midst of changing postures between the posture associated with accelerometer output [X1, Y1, Z1] to the posture associated with accelerometer output [X2, Y2, Z2]. That is, becauseprocessor34 monitors the accelerometer output at regular intervals or substantially continuously,processor34 may determine an accelerometer output that reflects a patient posture that is incidental to movement between two patient postures. As one example, if accelerometer output [X1, Y1, Z1] is associated with a recumbent posture and accelerometer output [X2, Y2, Z2] is associated with a sitting posture, accelerometer output [X1.5, Y1.5, Z1.5] may be associated with a posture midway between a recumbent and sitting posture (e.g., a “reclined” posture). Accordingly, whenprocessor34 determines that the accelerometer output fromsensor40 is [X1.5, Y1.5, Z1.5],processor34 may merely be detecting an accelerometer output that is the result of patient movement, not an actual posture that will be maintained bypatient14 for a significant amount of time (e.g., more than one minute). However, in order to provide a relatively smooth transition between the therapy program associated with the accelerometer output [X1, Y1, Z1] and [X2, Y2, Z2],processor34 may interpolate an intermediate program that provides effective therapy topatient14 for the intermediate posture associated with accelerometer output [X1.5, Y1.5, Z1.5]. In some cases, however,patient14 may maintain the “intermediate” posture.
As another example of howtherapy module32 may deliver therapy according to an interpolated program during a transition between two programs stored within table70, a change in accelerometer output to the output [X1.5, Y1.5, Z1.5] may suggest thatpatient14 is in the midst of changing postures between the posture associated with accelerometer output [X1, Y1, Z1] to the posture associated with accelerometer output [X2, Y2, Z2]. However, subsequent accelerometer signals may indicate thatpatient14 returned to the posture associated with accelerometer output [X1, Y1, Z1], rather than changing to the posture associated with accelerometer output [X2, Y2, Z2]. Accordingly, in that example,processor34 may deliver therapy according to the interpolated program untilprocessor34 detects another accelerometer output change, e.g., the change indicating thatpatient14 returned to the posture associated with accelerometer output [X1, Y1, Z1], at which time,processor34 may reference table70 and deliver therapy according toprogram1, which is associated with the accelerometer output [X1, Y1, Z1]. The interpolated program may provide a better fit for the “intermediate” posture, in the sense that the posture is between two postures present in table70. In some cases, delivery of therapy according to the interpolated program may provide a more efficient use of power in addition to a better fit, as compared to delivering therapy according to a program associated with a patient posture thatpatient14 does not assume (in the example, program2 associated with accelerometer output [X2, Y2, Z2]).
FIGS. 7A-7C illustrate an embodiment of a technique for interpolating betweentherapy programs1 and2 (shown in the table70 ofFIG. 5).FIG. 7A illustrates a first electrode combination on leads16 (FIG. 2), which are coupled totherapy module32. The electrode combination shown inFIG. 7A is a therapy parameter oftherapy program1, and the anode and cathode are both in the (3+, 3−) location, respectively, as indicated in table70. In particular,electrode30C oflead16A is the anode andelectrode31C oflead16B is the cathode of the electrode combination. As provided in table70, therapy program2 includes an electrode combination in which the anode and cathode are in the (5+, 5−) locations, respectively. AsFIG. 7B illustrates, theelectrode30E oflead16A is the anode andelectrode31E oflead16B is the cathode in the electrode combination of therapy program2.
In one embodiment, in order to interpolate betweentherapy programs1 and2,processor34 implements an algorithm that determines an electrode combination that is intermediate to the electrode combinations of therapy program1 (FIG. 7A) and therapy program2 (FIG. 7B). As one example,processor34 may implement an algorithm that linearly interpolates between the therapy parameters oftherapy programs1 and2. As applied to the electrode combination therapy parameter,processor34 may determine that the new accelerometer output [X1.5, Y1.5, Z1.5] is approximately halfway between the accelerometer outputs associated withtherapy programs1 and2. Based on a linear interpolation technique,processor34 may interpolate a program including an electrode combination approximately midway between the combinations shown inFIGS. 7A and 7B.FIG. 7C illustrates an example of an electrode combination that is approximately midway between the combinations oftherapy programs1 and2. In particular, the interpolated program includes an electrode combination that includes an anode and cathode in a (4+, 4−) location, wherebyelectrode30D oflead16A is the anode andelectrode31D oflead16B is the cathode.
As an example,processor34 may use a table of possible electrode combinations arranged according to their axial positions on one or more leads may be used to identify an intermediate electrode combination for the purpose of interpolating between two programs. Such a table may be stored inmemory36. In some embodiments, a number of possible electrode combinations, including (4+, 4−), may be present in such a table between (3+, 3−) and (5+, 5−). Other possible combinations between (3+, 3−) and (5+, 5−) may include changes in the relative location or orientation of anodes and cathodes, e.g., (4−, 4+), and/or additional anodes and cathodes. In some cases, such a table may be generated, culled, or parsed based on user input and/or characteristics of the electrode combinations ofprograms1 and2. For example, in some embodiments, the selection of an intermediate electrode combination byprocessor34 may be limited by the relative location or orientation of anodes and cathodes, or the number of electrodes or type of combination, e.g., bipole, guarded cathode, or tranverse tripole.
Processor34 may implement a linear interpolation algorithm for determining the therapy parameters of the interpolated program other than the electrode combination. For example, in the embodiment in which the accelerometer output is [X1.5, Y1.5, Z1.5] and the therapy parameters include a frequency of electrical stimulation signals, as shown in table70 (FIG. 5),processor34 may select a frequency that is midway between the frequencies oftherapy programs1 and2. With the example frequencies provided in table70,processor34 may select a frequency of about 30 Hz for the interpolated program.
In other embodiments,processor34 may implement an algorithm that follows a nonlinear interpolation technique. For example, ifpatient14 is afflicted with lower back pain that is intensified in a sitting position, andtherapy program1 is associated with a recumbent posture and therapy program2 is associated with a sitting posture in whichpatient14 feels a significant increase in pain as compared to the recumbent posture, the algorithm may consider the nonlinear increase in pain levels to interpolate betweentherapy programs1 and2. In one embodiment, rather than following a strictly linear interpolation in whichprocessor34 selects an electrode combination that is approximately midway between the combinations fortherapies1 and2,processor34 may implement a nonlinear algorithm and select the electrode combination associated with program2 (shown inFIG. 7B). The nonlinear algorithm may reflect a consideration that although the patient posture indicated by the accelerometer output of [X1.5, Y1.5, Z1.5] is approximately midway between the accelerometer outputs associated withtherapy programs1 and2, the pain level associated with the patient posture is likely to be more than half the pain treated by program2. Similar nonlinear interpolation techniques may be employed for determining the other therapy parameters of an interpolated program, such as the amplitude, pulse width, and frequency of electrical stimulation.
Processor34 may also implement a linear interpolation algorithm or a nonlinear interpolation algorithm to determine the therapy parameters, such as voltage or current amplitude, pulse width or pulse frequency of electrical stimulation, for the intermediate program. The shifting of stimulation energy between two programs, e.g., between the electrode combinations ofFIGS. 7A and 7C may be implemented via any suitable technique. In one embodiment,processor34 provides instructions that causetherapy module32 to time-interleave stimulation energy between the electrode combinations ofFIGS. 7A and 7C, as described in commonly-assigned U.S. Pat. No. 7,519,431 to Steven Goetz et al., entitled, “SHIFTING BETWEEN ELECTRODE COMBINATIONS IN ELECTRICAL STIMULATION DEVICE,” and issued on Apr. 14, 2009, the entire content of which is incorporated herein by reference. In the time-interleave shifting embodiment, the amplitudes of the first and second electrode combinations (FIGS. 7A and 7C, respectively) are ramped downward and upward, respectively, in incremental steps until the amplitude of the second electrode combination reaches a target amplitude. The incremental steps may be different between ramping downward or ramping upward. The incremental steps in amplitude can be of a fixed size or may vary, e.g., according to an exponential, logarithmic or other algorithmic change. When the second electrode combination reaches its target amplitude, or possibly before, the first electrode combination can be shut off.
In another embodiment, shifting electrical stimulation and in particular, the current, between two electrode combinations of respective therapy programs is achieved by reducing an amplitude delivered to an electrode of one combination relative to the increase in amplitude an electrode of another combination. In such embodiments, therapy module32 (FIG. 2) may include at least two current sources. For example, to shift between therapy program1 (FIG. 7A) and an interpolated therapy program (FIG. 7C), the amplitude of current provided toelectrode30C onlead16A may be reduced as the amplitude of current provided toelectrode30D onlead16A is increased. The reduction in amplitude of current provided toelectrode30C may be proportionate to the increase in amplitude of current provided toelectrode30D. It may be desirable to maintain the current at a relatively consistent perceptual intensity forpatient14 in order to prevent the current from exceeding a maximum threshold forpatient14, above which,patient14 may feel pain or discomfort.
The rate of shifting between two therapy programs, whether the two therapy programs are interpolated programs or programs stored inmemory36, may be determined based on the rate of change of the patient parameter value.FIG. 8 is a flow diagram illustrating one technique for determining a rate of change between whichprocessor34 may control the change in therapy between two therapy programs.
Processor34 stores a first patient parameter value in memory36 (90), such as within thecurrent parameters52 section (FIG. 3) ofmemory36. The first patient parameter value may be, for example, the current parameter value associated with the therapy program currently implemented bytherapy module32. The first patient parameter value is not necessarily permanently stored inmemory36, but rather, in some embodiments,memory36 may include a buffer in which the first patient parameter value may be temporarily stored.Processor34 monitors the signal fromsensor40 and determines whether the patient parameter value changes (92). Upon detecting a change in the patient parameter value to a second value,processor34 may store the second patient parameter value in memory36 (e.g., a buffer within memory36) (94) along with the first patient parameter value.
Processor34 may then determine a rate of change of the patient parameter value between the first and second values over time (96). For example,processor34 may determine the duration of time between the occurrence of the first and second parameter values, such as by determining the difference in time in which the first and second parameter values were each stored inmemory36, and divide the difference between the first and second parameter values by the determined duration in time. In other words,processor34 “plots” the parameter values over time and determines the slope in the plot between the first and second parameter values. As applied to an accelerometer output, e.g., an electrical signal,processor34 may determine a rate of change of the amplitude of the electrical signal over time in order to determine the rate of change of the patient parameter value. In this way, the electrical signal from an accelerometer may be directly used to determine a rate of adjusting therapy between two or more therapy programs. Output of other sensors may also be directly used byprocessor34 to determine a rate of changing between two therapy programs.
After determining the rate of change between the first and second parameter values over time (96),processor34 may control therapy module to shift between a therapy program associated with the first patient parameter value to a therapy program associated with the second patient parameter value (either from table70 or interpolated based on programs within table70) based on the determined rate of change. In embodiments in which electrical stimulation is shifted between two electrodes via interleaving signals, the signals may be interleaved via the determined rate of change. In embodiments in which electrical stimulation is ramped up and down between two electrodes, the determined rate of change may determine the rate at which the ramping of current is performed.
In other embodiments,processor34 may utilize a rate of change to shift between two therapy programs that is based on the rate of change between the first and second patient parameter values, but is not proportionate to the rates of change. For example,processor34 may determine the rate of change between the first and second patient parameter values and utilize a look-up function to find a corresponding rate of change for shifting between two therapy programs. The former approach of basing the rate of change for shifting between two therapy programs on the rate of change between two patient parameter values, rather than adopting the rate of change between the patient parameter values, may be useful for personalizing the rate of change to a particular patient. In some cases, different patients may prefer different techniques for shifting between two therapy programs. Accordingly, a clinician may determine what a patient's preference as to the rate of change for shifting between two programs and how it is related to the rate of change between two parameter values. The patient's preference as to the rate of change for shifting between two programs may be correlated to a rate of change between two patient parameter values during a trial period, prior toprogramming IMD12 for delivery of chronic therapy.
In some embodiments, the rate of adjusting between two therapy programs may be based on a rate of change between two or more patient parameter values. For example, an average or mean of a first rate of change based on a first patient parameter value and a second rate of change based on a second patient parameter value may determine the actual rate of change implemented byprocessor34 to shift between two therapy programs. Alternatively, the first rate of change may be validated based on the second rate of change (i.e., is the second rate of change substantially similar to the first rate of change?). In one embodiment, the first rate of change may be based on patient posture, which may be determined based on one or more accelerometer signals, while a second rate of change is based on another physiological parameter that varies as a function of patient activity (e.g., respiration rate, heart rate, etc.). In another embodiment, both the first and second rates of change may be based on patient posture, where the first rate of change is based on a signal from a first accelerometer and the second rate of change is based on a signal from a second accelerometer. Use of more than one patient parameter to determine a rate of adjusting between therapy programs may provide a robust algorithm for determining the rate of change (or “adjustment”). In other embodiments, a rate change of any number of patient parameters may be considered when determining an actual rate for adjusting between two or more therapy programs.
When delivering therapy fromIMD12 based on therapy information/patient parameter value associations, there may be a delay, or “lag,” prior to identifying a substantially constant patient parameter value because the patient parameter value may change aspatient14 transitions from one physiological condition to another. For example, when patient14 transitions from a recumbent posture to a standing posture, a large number of patient parameter values that are changing may be detected whenpatient14 is in a posture between the recumbent and standing postures. Thus, when the patient parameter is rapidly changing, e.g., when the patient is quickly transitioning between activities or postures, the therapy may be inappropriate for a short period of time prior to identifying the correct therapy information. Inappropriate therapy may cause, for example, patient discomfort. As described in commonly-assigned U.S. Patent Application Publication No. 2007/0150029 by Bourget et al., entitled, “CLOSED-LOOP THERAPY ADJUSTMENT” and filed on Dec. 1, 2006,IMD12 may instead deliver a predetermined, default, therapy according a known safe mode program, or suspend therapy, during times in which the patient parameter is rapidly and/or transiently changing in order to avoid delivering inappropriate therapy. The safe mode is a set of parameters that is known to provide a safe and comfortable therapy to patient14 fromIMD12. For example, the safe mode for an implanted electrical stimulator may be to set the stimulation amplitude to 0 volts. This would effectively turn off the stimulation and remove any undesirable side effects of the therapy.
For some therapies and patients, however, turning off the therapy may not be safe or comfortable. In the example of an implanted neurostimulator, the safe mode forpatient14 may be a specific combination of therapy parameters that yield a safe and comfortable therapy setting. In some embodiments, the safe mode is a preconfigured setting or a rollback to a last or last-known safe and comfortable therapy state. For an implantable drug delivery device, the safe mode setting may involve a user-predefined rate which takes into account the possibilities of drug concentration change, tube-set, and/or other variables.
In some embodiments, the safe mode may be defined by allowingpatient14, a clinician, a caregiver, or another qualified individual to save one or more safe therapy configurations that provide patient16 with safe and comfortable therapy. In other embodiments,IMD12 may determine the therapy parameters of the safe mode, such as by implementing an algorithm that configures the safe mode based on a last known therapy program, which includes one or more therapy parameters, that yielded safe and comfortable therapy to patient16. Patient16, a clinician, a caregiver, or another qualified individual may have the ability to rollback to any of the safe mode configurations forIMD12 as desired.
The safe mode may be patient, therapy, and/or clinician specific. In some embodiments, one safe mode configuration may be used for all patients who receive a certain type of treatment. For example, the safe mode for a drug delivery device may involve suspending drug delivery. In this embodiment, the patient may be alerted whenIMD12 enters safe mode and may be instructed to take oral medications until therapy is restored. In other embodiments, a clinician may use a specific safe mode for all patients. For example, the safe mode may be set to fifty percent of a last-known therapy. In yet other embodiments, the safe mode may be specific to theindividual patient14 and customizable based on the needs and symptoms ofpatient14.
For example, according to the example ofFIG. 9,processor34 senses the one or more patient parameter values (100).Processor34 then determines whether the patient parameter values are transient or stable (102). For example,processor34 may determine whether the rate of change of the patient parameter values exceeds a threshold.
If the patient parameter is transient, e.g., rapidly changing,processor34 controls delivery of therapy according to predetermined, default therapy information, which may include low values for therapy parameters such as amplitude, pulse width, or pulse rate, for a predetermined period of time (104). In other embodiments, the predetermined, default therapy information may causeprocessor34 to suspend delivery of therapy for a period of time. The predetermined period of time may be chosen such that the patient parameter is likely to be stable at the end of the period, e.g., the patient is likely to be stable within the new posture or activity. If the patient parameter value is stable, e.g., the rate of change is below the threshold,processor34 may control delivery of therapy according to a therapy program associated with the stable patient parameter value in the table or generating an intermediate program by interpolating between a most recently implemented therapy program and a stored therapy program (106).
As previously described, one or more internal and/or external sensors may be used to monitor one or more patient parameter values andIMD12 may adjust a therapy program based on a sensed patient parameter value. For example, in the case of SCS that is delivered to treat pain, the posture of the patient may affect the lead placement relative to the target tissue sites. The lead placement may affect the efficacy of therapy delivered to the patient. Thus, in some cases, it may be desirable to adjust one or more therapy parameters (e.g., switch between therapy programs) in order to optimize the efficacy of therapy delivery in response to patient posture changes. In addition to posture, the patient parameter may include activity, heart rate, respiration rate, respiratory volume, core temperature, blood pressure, blood oxygen saturation, partial pressure of oxygen within blood, partial pressure of oxygen within cerebrospinal fluid, muscular activity, arterial blood flow, electromyogram (EMG), an electroencephalogram (EEG), an electrocardiogram (ECG) or galvanic skin response.
FIG. 10 is a schematic diagram illustratingexternal sensing device110 that may be used to monitor a patient parameter, such as a posture, activity level, respiration rate or ECG, ofpatient14. Signals generated byexternal sensing device110 may be sent toIMD12 orprogrammer20 via wireless signals or a wired connection.IMD12 orprogrammer20 may implement the signals fromexternal sensing device110 in a closed-loop therapy adjustment technique, as described above.Activity sensing device110 is an external device that may be attached topatient14 via abelt112. Alternatively,activity sensing device110 may be attached topatient14 by any other suitable technique, such as a clip that attaches to the patient's clothing, oractivity sensing device110 may be worn on a necklace that is worn around the patient's neck or a watch on the patient's wrist.Activity sensing device110 may include a sensor that generates a signal indicative of patient motion, such as accelerometer or a piezoelectric crystal. Ifactivity sensing device110 includes a sensor that senses relative motion, such as an accelerometer, it may be desirable to attachsensing device110 to a torso ofpatient14 in order to gather the most relevant activity data.
In addition to or instead of a motion sensor,external sensing device110 may include or be coupled to a sensor that generates a signal that indicates a physiological parameter that varies as a function of patient activity, which may be used to determine an activity level ofpatient14. As described above, suitable physiological parameters include heart rate, respiratory rate, ECG morphology, respiration rate, respiratory volume, core temperature, a muscular activity level, subcutaneous temperature or electromyographic activity ofpatient14. For example, in some embodiments,patient14 may wear anECG belt114 that incorporates a plurality of electrodes for sensing the electrical activity of the heart ofpatient14. The heart rate and, in some embodiments, ECG morphology ofpatient14 may monitored based on the signal provided byECG belt114. Examples of suitable ECG belts for sensing the heart rate ofpatient14 are the “M” and “F” heart rate monitor models commercially available from Polar Electro. In some embodiments, instead ofECG belt114,patient14 may wear a plurality of ECG electrodes (not shown inFIG. 10) attached, e.g., via adhesive patches, at various locations on the chest ofpatient14, as is known in the art. An ECG signal derived from the signals sensed by such an array of electrodes may enable both heart rate and ECG morphology monitoring, as is known in the art.
Arespiration belt116 that outputs a signal that varies as a function of respiration of the patient may also be worn bypatient14 to monitor activity to determine whetherpatient14 is undertaking activity or a change in posture for which a therapy programming change may be desirable.Respiration belt116 may be a plethysmograpy belt, and the signal output byrespiration belt116 may vary as a function of the changes is the thoracic or abdominal circumference ofpatient14 that accompany breathing bypatient14. An example of a suitable respiration belt is the TSD201 Respiratory Effort Transducer commercially available from Biopac Systems, Inc. Alternatively,respiration belt116 may incorporate or be replaced by a plurality of electrodes that direct an electrical signal through the thorax ofpatient14, and circuitry to sense the impedance of the thorax, which varies as a function of respiration ofpatient14, based on the signal. In some embodiments, the ECG andrespiration belts114,116 may be a common belt worn bypatient14.
Patient14 may also weartransducer118 that outputs a signal as a function of the oxygen saturation of the blood ofpatient14.Transducer118 may be an infrared transducer.Transducer118 may be located on one of the fingers or earlobes ofpatient14. Each of the types ofsensors110,114,116, and118 described above may be used alone or in combination with each other, as well as in addition to or instead of sensor40 (FIG. 2) located withinIMD12.
Various embodiments have been described. However, one of ordinary skill in the art will understand that various modifications may be made to the described embodiments without departing from the scope of the disclosure. For example, although described with reference to techniques for automatically populating a table of patient parameter values and associated therapy programs, the disclosure is not so limited. Programs may be associated with sensed patient parameter values by any technique, including manual programming by, for example, a clinician. In addition, although to interpolating between two therapy programs and determining a rate of adjusting between two therapy programs were primarily described in the embodiments above as being performed byprocessor34 ofIMD12, in other embodiments processors of other devices, such as a processor of programmer20 (FIG. 1) may interpolate between programs and determine a rate of changing between two programs. In addition, the sensors that generate the signals indicative of patient parameter values may be external topatient14 or implanted withinpatient14. The use of external sensors or sensors otherwise separate fromIMD12 may allow IMDs already implanted within a patient to be retrofit to include the therapy program interpolation and rate of adjustment features described herein.
These and other embodiments are within the scope of the following claims.