WO2010033366A1 - Automatic validation techniques for validating operation of medical devices - Google Patents

Automatic validation techniques for validating operation of medical devices Download PDF

Info

Publication number
WO2010033366A1
WO2010033366A1 PCT/US2009/055204 US2009055204W WO2010033366A1 WO 2010033366 A1 WO2010033366 A1 WO 2010033366A1 US 2009055204 W US2009055204 W US 2009055204W WO 2010033366 A1 WO2010033366 A1 WO 2010033366A1
Authority
WO
WIPO (PCT)
Prior art keywords
therapy
patient
parameter values
medical device
imd
Prior art date
Application number
PCT/US2009/055204
Other languages
French (fr)
Inventor
Dennis M. Skelton
Emmanuel R. Darne
Justin A. Kemp
Nicholas S. Mairs
Brian Sorenson
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 WO2010033366A1 publication Critical patent/WO2010033366A1/en

Links

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/3605Implantable neurostimulators for stimulating central or peripheral nerve system
    • 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/37235Aspects of the external programmer
    • A61N1/37247User interfaces, e.g. input or presentation means

Definitions

  • the disclosure relates to medical devices and, more particularly, to automatic validation of medical devices that deliver therapy.
  • a variety of types of medical devices are used for chronic, e.g., long-term, provision of therapy to patients.
  • pulse generators are used for chronic provision of cardiac pacing and neurostimulation therapies
  • pumps are used for chronic delivery of therapeutic agents, such as drags.
  • 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.
  • the patient is allowed to activate and/or modify the therapy.
  • 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.
  • SCS spinal cord stimulation
  • a patient who receives SCS therapy from an implantable medical device e.g., an implantable pulse generator
  • IMD implantable medical device
  • a patient programming device that communicates with his IMD via device telemetry, and allows the patient to activate the neurostimulation and/or adjust the intensity of the delivered neurostimulation.
  • a device may automatically deliver therapy to the patient according to those adjustments whenever the one or more parameters are detected.
  • U.S. Patent Application 1 1/607,454 entitled “Closed-Loop Therapy Adjustment” filed December 1, 2006, assigned to the assignee of the current disclosure describes techniques for detecting a value of a sensed patient parameter, and automatically delivering therapy to a patient according to recorded therapy adjustment information previously associated with the detected value. According to these techniques, a therapy adjustment is received from the patient or other user and, in response to the adjustment, a sensed value of a patient parameter is stored with the therapy information determined based on the adjustment, The association may be made automatically or after user confirmation.
  • Therapy may then be delivered according to the associated therapy information whenever the parameter value is subsequently detected.
  • a medical device that delivers therapy to the patient may "learn" to automatically adjust the therapy in the manner desired by the patient as the sensed parameter of the patient changes.
  • the techniques may be used to validate operation of a medical device that delivers therapy in a closed-loop manner in response to patient parameter values that are sensed by a sensor.
  • the medical device is an implantable medical device (IMD), although this need not be the case, and the disclosed techniques may be used to validate other types of medical devices.
  • IMD implantable medical device
  • the techniques may include a data collection phase and a validation phase. During the data collection phase, the patient is outfitted with an external sensor.
  • the senor may be carried on a belt or otherwise affixed to an exterior surface of the patient or to the patient's clothing.
  • this external sensor is a three-axis accelerometer that detects a patient's posture state comprising at least one of posture and activity state (e.g., activity level, direction of activity, etc.).
  • the data from this sensor is recorded in the form of patient parameter values.
  • Patient parameter values may describe, or are indicative, of a posture state of the patient.
  • the posture state involves at least one of posture and activity level of the patient.
  • the recorded patient parameter values may be associated with tiraestamps.
  • the IMD may be delivering therapy to the patient.
  • the patient uses a patient programmer to make adjustments to the therapy as needed.
  • a description of the resulting therapv, including therapy changes occurring because of patient adjustments, may be recorded. This description may be recorded by the patient programmer or another recording device, for example.
  • the recorded therapy description may be described as therapy parameter values (e.g.. stimulation amplitude, stimulation pulse width, electrode configuration, etc). This description may include timestamps.
  • the two sets of data may be correlated to one another. This correlation may be performed using the timestamps, for instance.
  • the correlated data sets may be used to create a test data file that describes a sequence of patient parameter values (e.g., a description of the sequence of posture states assumed by the patient, as detected by a three-axis accel ⁇ rom ⁇ ter) and a description of the corresponding therapy that was being delivered to the patient while the patient parameter values were recorded.
  • the test data file may be employed to automatically recreate the conditions experienced by the patient during the data collection process.
  • the patient parameter values from the test file may be provided to an automated device to control operation of an automated device, which may be a robotic arm.
  • an IMD affixed to the automated device may be delivering therapy to the patient.
  • This IMD may be configured to execute a closed-loop control algorithm that adjusts the therapy in accordance with a sensor that is contained within, or otherwise accessible to, the IMD.
  • the closed-loop algorithm controlling the IMD will automatically deliver therapy in response to the posture states.
  • the therapy parameter values associated with the delivered therapy may be measured and compared to those recorded during data collection.
  • a miscorapare may indicate that a potential problem exists with the IMD design. Therefore, a miscompare will he recorded along with data that may be used by technicians and logic designers to analyze the miscompare situation.
  • One embodiment of the disclosure relates to a method of testing a medical device.
  • the method includes recording therapy parameter values describing therapy being delivered to a patient, and recording a sequence of patient parameter values indicative of at least one of posture and activity of the patient occurring while the therapy is being delivered.
  • the method further includes automatically reproducing tbe sequence of patient- parameter values and validating that, the medical device is delivering therapy in accordance with the recorded therapy parameter values, in one example, automatically re- producing the sequence of patient parameter values includes attaching the medical device to an automated device, providing the recorded sequence of patient parameter values to control the automated device, and re-producing, by the automated device, conditions that resulted in sensing the sequence of patient parameter values.
  • the conditions may result in at least one of orienting the medical device in one or more predetermined positions and exposing the medical device to one or more predetermined activity states.
  • the activity states are characterized by at least one of activity level, velocity of activity, acceleration of activity, a direction of velocity or acceleration, or at least one other parameter that describes the activity.
  • validating that the medical device is delivering therapy in accordance with the recorded therapy parameters may comprise delivering, by the medical device, therapy in response to a closed-loop algorithm.
  • Recording therapy parameter values may comprise operating a second medical device in response to an open- loop algorithm.
  • the system includes a therapy delivery module to deliver therapy to a patient according to therapy parameter values, and a sensor to sense patient parameter values indicative of one or more posture states assumed by the patient while the therapy is being delivered.
  • the system also includes an automated system coupled to receive the patient parameter values and the therapy parameter value, to reproduce a sequence of conditions indicated by the patient parameter values, and to validate that the medical device provides therapy according to the therapy parameter values while the medical device is subjected to the reproduced conditions.
  • Yet another embodiment involves a system to automatically verify operation of an implantable medical device.
  • the system includes a first implantable medical device carried by a patient to deliver therapy to the patient according to therapy parameter values, and a sensor carried by the patient to sense posture states assumed by the patient during delivery of the therapy.
  • This system further comprises an automated device to automatically re-create the posture states and an automated programmer to automatically generate at least some of the therapy parameter values.
  • a second implantable medical device provides therapy in response to the automatically-generated therapy parameter values while being subjected to the automatically re-created the posture states,
  • Compare logic is communicatively coupled to the second implantable medical device to determine whether the therapy provided by the second implantable medical device is substantially similar to the therapy delivered by the first implantable medical device.
  • FIG. 1 is a conceptual diagram illustrating an example system that facilitates closed-loop therapy adjustment.
  • FIG. 2 is a block diagram illustrating an example medical device that delivers therapy and provides closed-loop adjustment of the therapy.
  • FIG, 3 is a block diagram illustrating an example configuration of a memory of the medical device of FlG. 2.
  • FIG, 4 is a block diagram illustrating an example external programmer that allows a patient to communicate with the medical device of FIG. 2.
  • FIG. 5 is a flow diagram illustrating an example technique for automatically associating therapy information with patient parameter values in response to therapy adjustments.
  • FIG. 6 is a flow diagram illustrating an example technique for delivering stimulation according to existing associations of therapy information and parameter values, and automatically associating existing therapy information with additional patient parameter values
  • FIG 7 is a chart illustrating an example patient parameter values table that may be used for closed-loop adjustment of therapy
  • FlG. 8 is a block diagram illustrating collecting data for use in performing automated validation of an IMD according to one embodiment.
  • FIG. 9 is a block diagram illustrating one embodiment of sensor logic of FIG. 8.
  • FlG. 10 is a flow diagram illustrating one method of performing data collection.
  • FIG. 1 1 is a block diagram of an automated system that utilizes data collected according to the techniques described herein to validate operation of an IMD.
  • FIG. 12 is a block diagram of one system for validating control scripts
  • FIG 13 is a flow diagram illustrating one method of performing data collection.
  • Electrical stimulation is one example of a therapy that may be delivered in a closed-loop manner.
  • Electrical stimulation may be, for example, used to treat patients that suffer from chronic back pain, leg pain, or other pain that cannot be treated through other methods, As a patient changes posture, the stimulation may need to be adjusted in order to maintain efficacy.
  • the patient may use a programmer to manually change one or more stimulation parameters, e.g., amplitude, to adjust the therapy in response to the posture change.
  • the patient may select a new stimulation program that includes new respective values for each of the stimulation parameters to adjust the therapy.
  • an implantable medical device may include, or be coupled to, one or more sensors that sense a patient parameter, The IMD may deliver closed-loop therapy based on values of the patient parameter. The IMD '"learns" to provide this closed-loop therapy based on therapy adjustments made by the patient. In particular, during a '"learning phase", the IMD associates patient parameter values with therapy information (e.g., therapy adjustments) received from the patient. Later, the SMD may use these associations to automatically deliver therapy. As the IMD senses patient parameter values, the IMD may automatically deliver therapy according to therapy parameters that have been previously associated with the sensed patient parameter values. The patient may rarely need to manually enter an adjustment to the therapy after a medical device learns to automatically adjust the therapy based on sensed patient parameter values.
  • therapy information e.g., therapy adjustments
  • the IMD may store a table or other data structure that contains records, where each record contains therapy information associated with a respective value of a patient parameter.
  • the ⁇ MD may automatically update the table in response to a therapy adjustment from the patient, or may update the table after receiving confirmation that the adjusted therapy is desired.
  • the ⁇ MD may update the program table after every adjustment input from the patient, after a complete therapy adjustment that includes a number of inputs, or periodically during therapy.
  • the IMD it is necessary to validate that the IMD is indeed delivering the appropriate level of therapies as determined by a closed-loop algorithm. To do this, it is helpful to subject the IMD to sequence of conditions that is known to have previously resulted in generation of therapy by the IMD in a predetermined manner. When the IMD is re-exposed to a same sequence of conditions, the resulting therapy generation may then be compared to the expected therapy to determine whether the IMD design is currently responding as expected.
  • One way to subject the IMD to a sequence of conditions is to use manual intervention. For instance, a patient may be required to re-enact a sequence of activities and postures that were previously enacted and that were known to result in therapy delivery in an expected manner. During this re-enactment, therapy delivery by the IMD may be compared to the expected therapy delivery to detect differences. A change in the way the IMD is reacting to a sequence of conditions may indicate that a design change has unexpectedly altered the way the IMD is responding.
  • re-enactment generally requires that the patient re-perform each posture and/or activity that was undertaken during the learning phase. This may be time- consuming and tedious for the patient. Moreover, it will likely be difficult for a patient to precisely re-enact each movement in the way it was originally performed. This may result in differences in posture and/or activity level which may, in turn, alter the therapy that is automatically delivered by the IMD. Additionally, ensuring that the patient is accurately re-enacting each posture state using the same timing as previously used is difficult. Such a re-enactment is time-consuming and expensive to conduct
  • the current disclosure provides techniques for automatically re-enacting a sequence of conditions.
  • This type of re-enactment may be useful for regression testing after design changes are made,
  • This type of re-enactment is also useful when implementing new functionality, as when a new closed-loop algorithm is being incorporated into an IMD.
  • the automated system for re-enaeting patient conditions is an automated device such as robotic arm that subjects the device to positions and levels of movement in a manner consistent with a sequence of posture states recorded during a previous learning, or daia collection, phase,
  • the automated device is capable of positioning the device in any position within three-dimensional space. This positioning capability thereby mimics any posture that a patient may assume.
  • the automated device is further capable of generating movement while the device is in a given position. This movement may he generated according to an activity parameter that may be associated with acceleration, velocity or an activity level, for instance. This is discussed further below.
  • the current techniques may comprise two phases: a data collection phase and a validation phase.
  • the patient is outfitted with an external sensor.
  • the sensor may he carried on a belt or otherwise affixed Io an exterior surface of the patient or to the patient's clothing.
  • this external sensor is a three-axis acceleromeier that detects a patient's posture and an activity parameter (e.g., activity level).
  • the data from this sensor is recorded in the form of patient parameter values.
  • patient parameter values describe, or are indicative, of a posture state of the patient.
  • the posture state involves at least one of posture and activity level of the patient.
  • the recorded patient parameter values may be associated with timestamps.
  • the IMD delivers therapy to a patient.
  • the patient may control this therapy by using a patient programmer. For instance, as the patient transitions from a sitting position to a standing posture, or from a stationary state to an active state, the patient may experience a heightened level of pain. As such, the patient may use the patient programmer to incrementally increase the amplitude of electrical stimulation that is being delivered by the IMD. Such a change may be requested by the patient in anticipation of the posture state transition, during that transition, or sometime after the transition is completed, In a similar manner, the patient may desire to decrease therapy levels, as may occur if a patient transitions from an upright state to a reclining posture.
  • therapy parameter values are those parameters that control and adjust delivery of therapy.
  • therapy parameter values may include, for example, current or voltage stimulation amplitude, pulse width, pulse shape, pulse frequency, duty cycles, electrode polarities and configurations, a description of field strength, a description of the programs used to control therapy, and any other parameter or descriptor that describes and/or controls how therapy is being delivered.
  • other types of parameters may be included in this description. For instance, a rate of flow or a bolus of a substance may be recorded for a therapy involving delivery of a substance to a patient.
  • the description of the delivered therapy may be recorded by the patient programmer or another device associated with this programmer.
  • the recorded therapy description may be recorded in any type of formal. For instance, delta values may be recorded that indicate changes reflected by therapy adjustments (e.g., a requested increase in stimulation by 0.2V). By recording an initial therapy level and one or more such delta values, the sequence of therapy adjustments may be reconstructed.
  • the recorded description may describe therapy adjustments in terms of normalized values (e.g., a 10% decrease in amplitude, etc.).
  • absolute values may be recorded, such as resulting stimulation levels (e.g., 5.0 V). Any one or more of these, or other types, of descriptions may be recorded to describe the delivered therapy.
  • the recorded data may include timestamps.
  • recording of a therapy description may optionally also be performed by the IMD itself.
  • the IMD may have a measurement module that determines the manner in which therapy is being delivered to a patient. A description of this measured therapy may be stored within the IMD. If the system is operating properly, any description recorded by the IMD should correspond with the data that is being recorded by the patient programmer or an associated device.
  • the IMD may further record sensor data. If the IMD sensor is of a same type as the external sensor worn by the patient, the sensor data recorded by the medical device may be compared to the data collected by the external sensor. This comparison may be used to determine whether both sensors are operating properly.
  • Manual data collection may also be performed during the data collection phase if desired.
  • the patient may be asked to manually record patient parameter values associated with conditions the patient is experiencing.
  • the patient parameter values may indicate posture state changes (e.g., transitioning from lying to standing, or from stationary to active).
  • Such parameter values may be recorded in an eDiary, which may be a personal data assistance (PDA), palm pilot, some other type of handheld electronic device, a laptop computer, an audio and/or video recording device, or some other device to record this information.
  • PDA personal data assistance
  • Such data may include one or more timestamps, for instance.
  • the patient may further be asked to use the eDiary to record any therapy adjustments requested by patient via the use of patient programmer.
  • Data collection will continue in the foregoing manner for a predetermined period of time (e.g., three days) for a particular patient. Thereafter, some of the various types of data that were collected during this period are correlated to one another to create a test data file.
  • the patient parameter values sensed by the external sensor e.g., posture and/or activity level
  • the correlations between patient parameter values and the therapy parameter values may be created using the stored timestamps.
  • the order in which the records are created may be used to make the correlations between the patient parameter values and the therapy parameter values.
  • the resulting test data file describes a sequence of patient parameter values (e.g., a description of the sequence of posture states assumed by the patient, as detected by a three-axis aeeelerometer) and the corresponding therapy that was being delivered to the patient while the patient parameter values were recorded.
  • the recorded therapy parameter values will describe any changes in therapy that occurred over time in response to patient-specified therapy adjustments.
  • the eDiary entries entered by the patient may be used to validate patient parameter values recorded from the external sensor.
  • posture states recorded in the eDiary in conjunction with time stamps are used to validate accuracy of the posture states indicated by the patient parameter values sensed by the external sensor
  • a further validation may compare patient parameter values sensed by any internal sensor of the medical device with those sensed by the external sensor. 'This additional validation step may be used to verify proper operation of any internal sensor included within the IMD, assuming proper operation of the external sensor has already been confirmed.
  • test data file may be used to automatically recreate the conditions experienced by the patient during the data collection phase.
  • patient parameter values from the test file may be provided to an automated device, either directly as raw data or in the form of processed data, such as via test scripts. In either case, the patient parameter values are used to control operation of an automated device, which may be a robotic arm,
  • the raw data may include a series of accelerometer readings that each comprises at least one of a vector in three-dimensional space and an activity level.
  • This raw data may be provided to a robotic arm to cause the robotic arm to transition through a series of motions corresponding to the postures and activity states (e.g., activity levels) assumed by the patient during data collection.
  • This re-creation of the posture states experienced by the patient during data collection may occur in real-time. That is, the re-creation may occur over the same time period and at the same speed as the posture state transitions were performed by the patient during data collection.
  • an IMD that is similar to that which delivered therapy to the patient during data collection is affixed to the automated device in a predetermined manner, Unlike the IMD used during data collection, however, the IMD used during validation will execute a closed-loop control algorithm that adjusts therapy in accordance with a sensor that is contained within, or otherwise accessible to, the IMD, As the automated device re-enacts the posture states in the manner described above, the closed- loop algorithm controlling the IMD will automatically deliver therapy in response to the posture states.
  • the therapy parameter values associated with the delivered therapy may be measured and compared to those recorded during data collection, A miscompare may indicate that a potential problem exists with the IMD design. Therefore, a miscompare will be recorded along with data that may be used by technicians and logic designers to analyze the miscompare situation.
  • control scripts may be used to prompt an automated programmer to issue a therapy adjustment command to the IMD.
  • This therapy adjustment may be verified by measuring the resulting therapy parameter values and comparing them against those that were obtained during the data collection phase. This validates the ability of the IMD to respond to changes in the closed-loop operation.
  • the IMD is pre-loaded with a table or other data structure that stores the correlations between therapy parameter values and patient parameter values that are discussed above. These correlations are formed using the values recorded during the data collection phase.
  • the IMD develops the table of data used to facilitate closed-loop operation at the start of the data validation phase.
  • the table is populated using therapy parameter values that are provided to the IMD from data collected during the data collection phase. These values may be communicated to the IMD via an automated programmer that operates under the control of controls scripts. Once so populated, this table is used by the IMD to control the closed-loop operation during the data validation phase.
  • the automated device is automatically re-creating a sequence of conditions (e.g., postures and/or activity states) that occurred during the data collection phase, This is done by providing the patient parameter values collected from the externally-worn sensor to the automated device,
  • a technique is provided to verify that this recreation is occurring accurately. This involves affixing a sensor to the automated device that is the same as, or similar to, that used as the external sensor during data collection. This sensor may be calibrated such that a predetermined sensor reading is obtained when the automated device is generating a corresponding calibration condition (e.g., is oriented in a predetermined manner and/or moving in a predetermined manner).
  • the patient parameter data collected during the collection phase may be used to control the automated device.
  • the sensor affixed to the automated device detects a sequence of patient parameter values describing the re-created sequence of conditions.
  • This sequence of patient parameter values obtained while re- creating the sequence of conditions e.g., the posture state transitions
  • the two sequences should be approximately the same.
  • Significant discrepancies may indicate a design problem with control of the automated device. Such problems must be resolved prior to performing validation of the medical device in the manner described above. It will be recognized that while one embodiment of the disclosed mechanisms that is described in detail below relates to the delivery of electrical stimulation therapy, other embodiments are possible.
  • the disclosed mechanism may be used to validate a device that delivers a drug or other substance to a body in a manner that changes based on conditions to which an IMD is subjected.
  • the disclosure may likewise be used to validate any other type of IMD that delivers another type of therapy, including light, motion, and/or sound in a closed-loop manner.
  • FIG. 1 is a conceptual diagram illustrating an example system 10 that facilitates closed-loop therapy adjustment.
  • system 10 includes an IMD 12, which is implanted within, and delivers neurostimulation therapy to, patient 14.
  • IMD 12 takes the form of an implantable pulse generator, and delivers neurostimulation therapy to patient 14 in the form of electrical pulses. It will be understood that IMDs configured in a manner other than that shown in FIG. 1 and/or that
  • FIG, I is merely exemplary.
  • IMD 12 delivers neiirostiraulation therapy to patient 14 via leads 16A and 16B (collectively “leads 16")
  • Leads 16 may, as shown in FIG. 1, be implanted proximate to the spinal cord 18 of patient 14, and IMD 12 may deliver SCS therapy to patient 14 in order to, for example, reduce pain experienced by patient 14,
  • one or more leads 16 may extend from IMD 12 to the brain (not shown) of patient 14, and IMD 12 may deliver deep brain stimulation (DBS) therapy to patient 14 to, for example, treat tremor, Parkinson ' s disease, or epilepsy.
  • DBS deep brain stimulation
  • one or more leads 16 may be implanted proximate to the pelvic nerves (not shown), stomach (not shown), or sexual organs (not shown) and IMD 12 may deliver neurostimulation therapy to treat incontinence, gastroparesis, or sexual dysfunction.
  • IMD 12 may additionally or alternatively be coupled to one or more catheters to deliver one or more therapeutic substances to patient 14, e.g., one or more drags,
  • IMD 12 delivers therapy according to one or more programs, A program includes one or more parameters that define an aspect of the therapy delivered by the medical device according to that program.
  • a program that controls deliver ⁇ ' of stimulation by IMD 12 in the form of pulses xriay define a voltage or current pulse amplitude, a pulse width, a pulse shape, an electric field and/or a pulse rate, used to deliver energy to tissue according to that program.
  • each of leads 16 may carry electrodes (not shown in FlG 1), and the parameters for a program that controls delivery of stimulation therapy by IMD 12 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.
  • Programs that control delivery of other therapies by IMD 12 may include other parameters.
  • a program that controls delivery of a drug or other therapeutic agent may include a titration rate or information controlling the timing and/or size of bolus deliveries.
  • IMD 12 may deliver therapy to patient 14 according to therapy information within a record
  • a plurality of records may be stored in a table or other data structure. This structure may be continually updated as associations are formed between therapy information (e.g., therapy parameter values) and patient parameter values during a 'learning" process.
  • Each record includes at least one sensed patient parameter value (e.g., a sensed value thai indicates patient posture or activity). This value may be associated therapy information.
  • the therapy information may comprise a complete program that IMD 12 uses to deliver therapy, one or more therapy parameter values, or absolute or percentage adjustments for one or more parameters.
  • IMD 12 may automatically adjust therapy as indicated by the therapy information in the record for the patient parameter value, e.g., by delivering therapy according to the program in the record, or by adjusting one or more parameters as indicated by the therapy information in the record.
  • system 10 also includes a programming device 20, which may, as shown in FIG. 1, be a handheld computing device.
  • Programming device 20 allows a user to interact with IMD 12.
  • Programming device 20 may, for example, communicate via wireless communication with IMD 12 using radio-frequency (RF) telemetry techniques, or any other techniques known in the art.
  • RF radio-frequency
  • Programming device 20 may, as shown in FIG. 1 , include a display 22 and a keypad 24 to allow the user to interact with programming device 20.
  • display 22 may be a touch screen display, and the user may interact with programming device 20 via display 22.
  • the user may also interact with programming device 20 using peripheral pointing devices, such as a stylus or mouse.
  • Keypad 24 may take the form of an alphanumeric keypad or a reduced set of keys associated with particular functions.
  • keypad 24 may include an increase amplitude button and a decrease amplitude button to directly adjust stimulation amplitude.
  • programming device 20 is a patient programmer used by patient 14 to control the delivery of neurostimulation therapy by IMD 12.
  • Patient 14 may use programming device 20 to activate or deactivate, e.g., start or stop, neurostimulation therapy.
  • Patient 14 may also use programming device 20 to adjust the therapy.
  • a patient may use programming device 20 to select one or more programs from among a plurality of stored programs. The selected program is then used by IMD 12 to deliver therapy. This may occur, for example, when patient 14 switches from one program to another using programming device 20.
  • the programs may be stored by IMD 12 or patient programmer 20. Further, patient 14 may also use programming
  • IS device 20 to adjust therapy by adjusting one or more stimulation parameters such as, but not limited to, the amplitude, width, rate, field shape, pulse shape, and/or duty cycle of delivered stimulation for the one or more programs.
  • stimulation parameters such as, but not limited to, the amplitude, width, rate, field shape, pulse shape, and/or duty cycle of delivered stimulation for the one or more programs.
  • Patient 14 may provide a number of consecutive inputs to adjust the therapy information, These consecutive inputs may be described singly as a "therapy adjustment," Programming device 20 and IMD 12 may treat all consecutive inputs as an adjustment before acting on the changes. Each input may only he separated by a pre-defined time delay, or all inputs may occur within a predefined time period, to treat the inputs as one adjustment.
  • IMD 12 detects a value of a sensed patient parameter, and associates therapy information with the detected value.
  • IMD 12 stores the associated parameter value and therapy information as a record within a table or other data structure. This type of information may subsequently be used to control IMD 12 in a closed-loop manner. If an existing record already contains the same patient parameter value as is currently sensed by the system, IMD 12 may modify the existing record to include new therapy information based on the patient adjustment. Otherwise, IMD 12 may add a new record with the associated patient parameter value and therapy information,
  • the data structure containing the above-described associations may he maintained by, and stored in, programming device 20 instead of
  • IM D 12 and programming device 20 may provide closed-loop adjustment of the therapy delivered by IMD 12.
  • the programming device may receive therapy adjustments from patient 14 via user interface components such as display 22 and keypad 24.
  • programming device 20 may include sensors that sense the patient parameter, or may receive values of the patient parameter from IMD 12.
  • Programming device 20 may send commands to IMD 12 based on therapy information stored in the data structure to effect closed-loop delivery of therapy,
  • !MD 12 In response to receiving a therapy adjustment from patient 14, e.g., via programming device 20, !MD 12 detects a value of a sensed patient parameter, and associates therapy information with the value.
  • the sensed parameter value may be an activity and/or posture of patient 14, and the therapy information may include the therapy parameters currently used, or adjustments to such parameters made, at the time the sensed patient parameter value was detected.
  • IMD 12 continually 'learns " ' such associations, e.g., by updating the applicable table or other data structure. Closed-loop delivery of therapy by IMD 12 based on the associations of therapy information with sensed patient parameter values may eventually eliminate the need for patient 14 to manually adjust therapy parameters.
  • patient 14 may adjust the amplitude of stimulation, which may indicate that the original program was inadequate to treat the patient because of a change of symptoms.
  • the change in symptoms may be correlated with a change in a sensed patient parameter.
  • both of these changes may be due to the patient undertaking an activity or posture, such as running, golfing, taking medication, sleeping, sitting, bending over, transitioning from sitting to standing, or some particular activity or posture related to an occupation of patient 14,
  • IMD 12 may associate therapy information determined based on the received therapy adjustment with a value of a patient parameter, e.g., an activity, activity level, or posture, that is sensed at the time of the therapy adjustment by a sensor.
  • a user other than patient 14 may user programmer 20, or another programming device that may or may not he associated with patient 14, to adjust therapy for patient.
  • the therapy adjustments made by another user may result in updating the table or other data structure with a new or modified association of a therapy parameter value with a patient parameter value.
  • IMD 12 may also monitor the sensed patient parameter, and create additional associations between patient parameter values and existing therapy information, without receiving any therapy adjustment from patient 14. In particular, when the sensed patient parameter value has changed without a therapy adjustment, IMD 12 may automatically associate the patient parameter value with therapy information determined based on the current, unadjusted therapy parameters. In some embodiments, IMD 12 may only make such an automatic, non-adjustment based association if the sensed patient parameter value has changed by a threshold or "'resolution' " value, which may be for example an absolute or percentage value,
  • the resolution value for the sensed patient parameter may control the size and resolution of a data structure that stores associations between values of the patient parameter and therapy information; whether the associations are made based on a therapy adjustment or not,
  • the resolution value may be set by, for example, by a manufacturer of IMD 12 or a clinician, and controls difference In the parameter value that IMD 12 identifies as being significant enough to update the data structure. If the resolution value is set to a high value, the data structure may include a greater number of records, each with respective values for the patient parameter, A high resolution value may accordingly provide more stimulation control. Alternatively, the resolution value may be set to a low value to limit the number of records in the data structure, which would also result in less frequent therapy adjustments.
  • IMD 12 may increase the resolution value if existing records are frequently being modified or overwritten, e.g., in response to frequent therapy adjustments by the patient or other user. This occurrence may indicate thai patient 12 or other user needs a higher level of control of adjustments to stimulation therapy.
  • a sensor used to sense patient parameters may be implanted at a site within patient 14, worn on the exterior of the patient, or located within IMD 12.
  • An example sensor is a three-axis accelerometer located within IMD 12.
  • Patient parameter values detected by IMD 12 based on the signals generated by such a sensor may correspond to an activity and/or posture undertaken by patient 14, Signals related to activity may describe a gross level of physical activity such as activity counts based on footfalls or the like, an activity vector in three-dimensional space indicating direction of velocity or acceleration, etc.
  • a three-axis accelerometer may provide a signal that includes both a DC and an AC component.
  • the DC component indicates the orientation of the acceleroraeter within the earth's gravitation field.
  • the DC component of ihe accelerometer measurement may be used to determine a posture of a patient.
  • the DC component of the accelerometer may be expressed as a vector in three-dimensional space. By comparing this vector to vectors that have been used to define known postures, a patient's posture may be classified as one of the known postures, or alternatively classified as being ""not classified''.
  • a signal provided by an accelerometer may also include an AC component that may be used to determine and classify a patient's activity, including the activity level, velocity and/or acceleration of the patient's motion, a direction of the velocity and/or direction of acceleration associated with the motion, etc.
  • a three-axis aceelerorneter signal may be used to classify a patient ' s posture state as well as changes in that posture state, where a posture state includes at least one of a posture and an activity level parameter.
  • IMD 12 may record the aceelerorneter signal, which is then associated with a therapy adjustment that is received contemporaneously with receipt of the aceelerorneter signal.
  • IMD 12 may automatically deliver therapy appropriate for that position.
  • IMD 12 may allow patient 14 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.
  • FIG. 2 is a block diagram illustrating IMD 12 in greater detail.
  • IMD 12 may deliver neurostimulation therapy via electrodes 30 A-D of lead 16A and electrodes 30E-H of lead 16B (collectively "electrodes 30 ' ' ⁇ . Electrodes 30 may be ring electrodes or some other type of electrodes.
  • Electrodes 30 are electrically coupled via leads 16 to a therapy delivery module 32, which may be a stimulation pulse generator.
  • Therapy delivery module 32 may, for example, include an output pulse generator coupled to a power source such as a battery.
  • Therapy delivery module 32 x ⁇ iay deliver electrical pulses to patient 14 via at least some of electrodes 30 under the control of a processor 34.
  • Processor 34 may control therapy delivery module 32 to deliver neurostimulation therapy according to a selected program.
  • processor 34 may control therapy delivery module 32 to deliver electrical pulses with the amplitudes and widths, and at the rates specified by the program.
  • Processor 34 may also control therapy delivery module 32 to deliver the pulses via a selected subset of electrodes 30 with selected polarities, e.g., a selected electrode configuration, as specified by the program,
  • Processor 34 may also control therapy delivery module 32 to deliver the neurostimulation therapy according to records stored within a table or other data structure, as described above. Processor 34 may create and modify this table during a learning period, and at time thereafter as determined by a closed-loop therapy delivery algorithm. Specifically, processor 34 may receive a therapy adjustment from a user, such as patient 14, detect a patient parameter value, and associate therapy information with the patient parameter value by creating or modifying a record within the data structure, as described above.
  • Processor 34 may subsequently detect previously-recorded patient parameter values, and control therapy delivery module 32 to deliver therapy via at least some of electrodes 30 as indicated by the associated therapy information. For example, processor 34 may control therapy delivery module 32 to deliver stimulation pulses with the amplitude, width, rate, shape, and/or electrode configuration indicated by the therapy information, or, in some embodiments, may control therapy delivery module 32 to adjust the amplitude, width, and/or rate over time as indicated by the therapy information. IMD 12 may also include a telemetry circuit 38 that allows processor 34 to communicate with programming device 20. Processor 34 may receive program selections, therapy parameter adjustments, or other therapy adjustments, as well as commands to initiate or terminate stimulation, from a user, e.g., patient 14, This information may be received from programming device 20 via telemetry circuit 38,
  • processor 34 also communicates with a clinician programmer to provide diagnostic information and validation data stored in memory 36 to a clinician via telemetry circuit 38.
  • the clinician programmer may operate similarly to programmer 20, but the clinician programmer may be more fully featured, e.g., provide greater control of or interaction with I MD 12, than programming device 20.
  • Telemetry circuit 38 may correspond to any telemetry circuit known in the implantable medical device arts.
  • IMD 12 includes at least one sensor 40 that senses a patient parameter
  • Processor 34 detects values of a patient parameter based on one or more signals generated by sensor 40
  • Sensor 40 may be a sensor that generates an output based on activity (activity level and/or direction), posture, and/or one or more physiological parameters of patient 14, as discussed above.
  • sensor 40 is a three-axis aecelerometer, such as a piezoelectric and/or micro-el ectro-mechanica! aecelerometer.
  • a single-axis aecelerometer may be employed, or multiple single-axis accelerometers may be used in place of one three-axis aecelerometer.
  • IMD 12 may include multiple sensors oriented along various axes.
  • processor 34 processes the analog output of sensor 40 to determine activity and/or posture information.
  • processor 34 may process an AC component of the raw signal provided by sensor 40 to determine activity counts of the system, which may be indicative of footfalls, for instance.
  • processor 34 may process the AC signal component to determine velocity or acceleration of motion along one or more axis.
  • a DC component of the sensor signal may be used to derive posture, as discussed above.
  • sensor 40 is housed within a housing (not shown) of IMD 12.
  • one or more sensors may be coupled to IMD 12 via additional leads 16 (not shown).
  • Such sensors may be located anywhere within patient 14,
  • IMD 12 may be coupled to multiple acceleroraeter sensors located at various positions within patient 14 or on the external surface of patient 14, and processor 34 may receive more detailed information about the posture and/or activity undertaken by patient 14,
  • accelerometer sensors may be located within the torso and at a position within a limb, e.g., a leg, of patient 14.
  • Sensor 40 may communicate wirelessly with IMD 12 instead of requiring a physical connection with the IMD.
  • a sensor located external to patient 12 may communicate wirelessly with processor 34, either directly or via programming device 20,
  • one or more sensors may be included as part of or coupled to programming device 20.
  • IMD 12 also includes a memory 36, which may include programmed instructions that, when executed by processor 34, cause IMD 12 to perform the functions ascribed to IMD 12 herein.
  • Memory 36 may include any volatile, mm- volatile, magnetic, optical, or electrical media, such as a random access memory (RAM), read-only memory (ROM) 5 non-volatile RAM (NVRAM), electrically-erasable programmable ROM (EEPROM), flash memory, and the like.
  • IMD 12 may further include a measurement module 42 to determine the therapy that is being delivered by therapy delivery module 32,
  • measurement module 42 may be used to record amplitude, frequency, duty cycle, shape, the field generated, electrode usage, and other parameters associated with therapy delivery. Such measurement may be performed by voltage and/or current detection circuits, A/D converters, and other logic circuits used to detect and digitize electrical signals.
  • measurement module 42 may include circuits for reading registers of therapy delivery module 32 to determine how therapy is being delivered by therapy delivery module 42. These measured and/or retrieved values may be recorded within memory 3(S and provided by telemetry circuit 38 to an external device such as a clinician or laboratory programmer in a manner to be discussed below.
  • FIG. 3 is a block diagram illustrating an exemplary configuration of memory 36 of 12.
  • memory 36 stores programs 50, one or more of which processor 34 (FiG. 2) may select to control delivery of stimulation by therapy delivery module 32, 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, as described above.
  • Processor 34 may select one or more programs based on input or commands received from patient 14 via programming device 20 and telemetry circuit 38.
  • Programs 50 may have been generated using a clinician programmer, e.g., during an initial or follow-up programming session, and received by processor 34 from the clinician programmer via telemetry circuitry 38.
  • programming device 20 stores programs 50, and processor 34 receives selected programs from programming device 20 via telemetry circuit 38.
  • memory 36 also stores an indication of the current therapy parameters 52 used by processor 34 to control delivery of stimulation by therapy delivery module 32.
  • Current therapy parameters 52 may identify the one or more selected programs, or may reflect modifications to one or more therapy parameters of the one or more programs based on patient adjustment.
  • processor 34 may determine current therapy parameters 52 based on therapy information associated with a detected value of a sensed patient parameter, as described herein,
  • patient parameter values table 54 comprises a plurality of records that each includes at least one respective value of a patient parameter and associated therapy information. When therapy is first initiated, table 54 may be empty. As therapy progresses during a learning phase, processor 34 creates records, by associating therapy information with patient parameter values, and stores them in table 54.
  • a therapy adjustment causes processor 34 to identify a sensed patient parameter value that is substantially identical to, or within an allowable tolerance of, a patient parameter value for an existing record
  • processor 34 modifies the existing record based on new therapy information in order to keep updated therapy information available for stimulation therapy.
  • patient parameter values stored in table 54 may include the raw output of sensor 40, which may be an acceleromeier.
  • the parameter values could include processed signal data obtained via hardware processing, software processing, or some combination thereof. If the sensor is an aeceleromeler, the processed signal data may include an AC signal component, a DC signal component, a posture classification, an activity level, and/or some other indication of activity of the
  • Processor 34 may also collect diagnostic information 56 that is then stored within memory 36 for future retrieval by a clinician. Diagnostic information 56 may, for example, include selected recordings of the output of sensor 40 and/or of therapy changes made by patient 14. In exemplary embodiments, diagnostic information 56 may include information identifying the time at which patient sensor outputs occurred. Diagnostic information 56 may include other information or activities indicated by patient 14 using programming device 20, such as changes in symptoms, taking medication, or other activities undertaken by patient 14.
  • a clinician programming device may present diagnostic information 5(S to a clinician in a variety of forms, such as timing diagrams, or a graph resulting from statistical analysis of diagnostic information 56, e.g., a bar graph. Diagnostic information 56 may also include calibration routines for sensor 40 and malfunction algorithms to identify stimulation or control dysfunctions.
  • FIG. 4 is a block diagram further illustrating programming device 20.
  • programming device 20 takes the form of a patient programming device used by patient 14 to control delivery of therapy by IMD 12,
  • Patient 14 may interact with a processor 60 via a user interface 62 in order to control delivery of neurostimulation therapy, e.g., provide patient therapy adjustments, as described herein.
  • User interface 62 may include display 22 and keypad 24, and may also include a touch screen or peripheral pointing devices as described above.
  • Keypad 24 may include an increase amplitude button and a decrease amplitude button.
  • Processor 60 may also provide a graphical user interface (GUI) to facilitate interaction with patient 14.
  • GUI graphical user interface
  • Processor 60 may include a microprocessor, a controller, a DSP, an ASIC, an FPGA, discrete logic circuitry, or the like.
  • Programming device 20 also includes a telemetry circuit 64 that allows processor 60 to communicate with BVID 12.
  • processor 60 communicates commands, indications, and therapy adjustments made by patient 14 via user interface 62 to IMD 12 via telemetry circuit 64.
  • Telemetry circuit 64 may correspond to any telemetry circuit known in the implantable medical device arts.
  • Programming device 20 also includes a memory 66.
  • memory 66 may store programs 50 and table 54 to control delivery of neurostimulation therapy.
  • Memory 66 may also include program instructions that, when executed by processor 60, cause programming device 20 to perform the functions ascribed to programming device 20 herein.
  • Memory 66 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 5 flash memory, and the like,
  • FlG. 5 is a flow diagram illustrating an example technique for automatically associating therapy information with patient parameter values in response to patient therapy adjustments. More particularly, FiG 5 illustrates an example technique for updating a program table following therapy adjustments by patient 14. The illustrated technique may be performed by a medical device, such as IMD 12, and will be described with reference to ⁇ MD 12 and system 10,
  • processor 34 of ⁇ MD 12 receives a therapy adjustment from patient 14 via programmer 20, e.g., an amplitude adjustment (70).
  • Processor 34 determines therapy information, such as the amount or percentage of the amplitude adjustment, the adjusted value of the amplitude, or respective values for a plurality of therapy parameters including the adjusted amplitude value, based on the therapy adjustment.
  • Processor 34 also identifies a current value of a patient parameter, such as posture or activity, based on a signal generated by sensor 40 (72).
  • Processor 34 determines whether any of the records in table 54 already include or encompass the identified patient parameter value (74), If the patient parameter value is already in an existing record of table 54, processor 34 modifies, or in some cases, adds to, the existing record based on the newly determined therapy information (76). Otherwise, processor 34 may enter a new record including the identified patient parameter value and the determined therapy information into the table 54 (78), The determination of whether a value of the sensed patient parameter is included in or encompassed by a record already in table 54, e.g., whether the value is substantially equivalent to an existing value, may
  • the therapy adjustment received frora patient 14 may be one or more inputs or a command that stops delivery of therapy.
  • Such an adjustment Indicates that the current therapy parameter values 52, whether they were determined based on a program 50 or therapy information from table 54, were inappropriate for the current condition of patient 14.
  • the current condition of the patient is reflected by the current value of a sensed patient parameter.
  • the patient may stop therapy if it becomes too intense when a particular posture such as lying down is assumed,
  • processor 34 may remove any current association between the current value of the sensed patient parameter and therapy information, e.g., delete any record in table 54 for the current value of the sensed patient parameter.
  • processor 34 may instead create a new record or modify an existing record such that a relatively innocuous, predetermined therapy program is associated with the patient parameter value that indicates the problematic condition, e.g., posture or activity, of the patient.
  • processor 34 or programming device 20 may request patient 14 to assume the activity or posture associated with the therapy discontinuation, and manually find therapy parameters that provide comfortable and efficacious therapy, In this case, processor 34 or the programming device may provide some guidance or direction to patient 14 to assist in quickly determining therapy parameters that are effective. Once such parameter values are found, IMD 12 may create a record in table 54 that associates the previously problematic sensed patient parameter value with the therapy information chosen by patient 14.
  • Part of the learning process may involve monitoring therapy adjustments over a relatively long period of time.
  • base- level therapy parameters may be derived that reflect an average level of therapy generally desired by a patient in a given situation (e.g., when transitioning from a prone to a sitting position) as determined by the patient parameter values, in addition to this base-level therapy parameter, one or more short-term adjustments may also be associated with this same posture transition, and may be used to adjust therapy over a shorter predetermined period of time,
  • a patient desires a stimulation level of approximately 1.0 V in response to detecting one or more patient parameter values indicating a transition from a prone to a sitting posture.
  • therapy is delivered to the patient at this stimulation level as a default when this posture transition is detected.
  • the patient may incrementally adjust the stimulation upward by .2V after this posture transition. This adjustment may be associated as a short-term adjustment with the posture transition such that during the current day, a therapy level of 1 ,2V will he delivered to the patient whenever the patient transitions from a prone to a sitting position.
  • the IMD may be recording associations between patient parameter values and therapy values not only during an initial learning period, but also during every day use by the patient,
  • IMD 12 may begin delivering therapy in an automated way. During this time, few, if any, patient adjustments may be needed. This type of operation is described in reference to FIG. 6.
  • FIG. 6 is a flow diagram illustrating an example technique for delivering stimulation in a closed-loop manner, and further for automatically associating existing therapy information with additional patient parameter values.
  • the illustrated technique may be performed by a medical device, such as IMD 12. Operation will be described with reference to IMD 12 and system 10.
  • processor 34 of IMD 12 controls pulse generator 32 to deliver therapy according to the therapy information stored in table 54 (80). As previously discussed, this therapy deliver)' may be performed using a base-level therapy value and an incremental adjustment.
  • Processor 34 may adjust therapy parameters or change therapy programs as indicated by therapy information stored in records of table 54.
  • Processor 34 accesses different records, and thus different therapy information, based on detected values of a sensed patient parameter, which may provide information regarding the posture and/or activity of a patient.
  • a patient While therapy is being delivered according to table 54, a patient may make an incremental adjustment (81 ). If this occurs, the therapy that is being delivered according to the table may be adjusted accordingly (82). In one embodiment, this adjustment may be stored within table 54 for use in automatic therapy delivery either indefinitely, or for a subsequent predetermined period of time, such as during the current day.
  • processor 34 may determine whether the parameter value is already in the table (84). As discussed above, this determination may depend on a resolution value for the sensed patient parameter. If the detected patient parameter value is already in table 54, processor 34 may control therapy generator 32 to deliver therapy according to the table, e.g., according to the therapy information associated with the detected patient parameter value in the table (80).
  • processor 34 may enter a new record in table 54 for the value, which associates the detected patient parameter value with the current therapy parameter values 52 (86), In this manner, processor 34 may continue to populate table 54 with therapy information for various values of therapy and/or the sensed patient parameter even after a learning period is over and the table has been put into use for providing automated
  • processor 34 may wait a predetermined time after the sensed patient parameter value changes before storing a new record. Since the output of sensor 40 may change rapidly, recording a new record for each small change in sensor output may not be necessary or even possible without slowing down the performance of processor 34. Processor 34 may wait for 10 seconds, for example, in order to let the sensor output stabilize before generating a new record.
  • FlG 7 is a chart illustrating an example patient parameter value table that may be used for closed-loop adjustment of therapy.
  • Table 110 may correspond to table 54 stored in memory 36 of IMD 12. As shown in FlG. 7, table 110 includes a plurality of records. Each record contains several values derived from an accelerometer output, which is an example of a value of a sensed patient parameter, The table further includes an amplitude, a pulse width, a pulse frequency, and an electrode configuration, which are values for example therapy parameters.
  • Processor 34 may search table 1 10 based on a currently- detected accelerometer output in order to match therapy to the current condition, e.g., posture and/or activity, of patient 14, hi the current example, the accelerometer output is from a three-axis accelerometer.
  • An AC portion of the accelerometer output may be used to derive one or more values indicative of motion of the patient, such as activity level, velocity, acceleration, and so on.
  • activity levels e.g., Al ⁇ A5
  • a DC portion of the acceleroraeter output may be used to determine a value indicative of the orientation of the accelerometer within a gravitational field. 'This value may be expressed as a three-dimensional vector having X, Y, and Z components. Assuming the accelerometer position is fixed with respect to IMD 12, and the position of IMD 12 is fixed with respect to patient 14, the vector measurement may be used to determine a patient' s posture.
  • the vector may he accompanied by a tolerance, which represents some distance from the vector.
  • the tolerance may be expressed as a cosine of an angle describes an area surrounding the vector. This area may define a cone in three-dimensional space.
  • the vector determined from the output of an accelerometer will be matched with a table entry whenever that vector lies within the cone (assuming any activity criteria for that table entry is also satisfied). This provides a mechanism for matching any accelerometer output with one of a limited set of posture states.
  • processor 34 may enter a new record into program table 110.
  • Each posture state of table 1 10 may be associated with therapy information.
  • Therapy information may include a voltage amplitude (as shown in the example), a current amplitude, or some other amplitude, as may be ihe case if a therapy other than stimulation is being provided.
  • the current example also provides a stimulation pulse width in microseconds ( ⁇ s), the pulse frequency (Hz) 5 and the electrode configuration, which determines the electrodes and polarity used for delivery of stimulation according to ihe
  • Table 110 also illustrates the recording of an incremental adjustment, which in this example is an adjustment to the voltage amplitude.
  • This adjustment may he received from a patient and used to adjust therapy amplitude for some predetermined period of time (e.g., the current day).
  • a predetermined period of time e.g., the current day.
  • it is entered into a table entry associated with the currently-sensed activity level and posture, and is thereafter used to adjust therapy when the patient is in that posture state. This continues until a different adjustment for this posture state is received, or until the predetermined period of time has elapsed (e.g., the next day arrives).
  • FIG. 8 is a block diagram illustrating a mechanism for performing data collection according to one embodiment.
  • Sensor logic 152 is affixed to patient 150, as may be performed by clipping or otherwise attaching this logic in a stationary manner to an external surface of the patient or the patient's clothing.
  • This sensor logic 152 may include a sensor such as an accelerometer discussed above.
  • This logic may optionally further include other hardware, software, and/or firmware modules to pre-process the output of the sensor, as will be discussed below.
  • Sensor logic 152 may be affixed to patient 150 in a predetermined orientation.
  • sensor logic 152 includes a three-axis accelerometer
  • sensor logic may be affixed to patient 150 in a known orientation with respect to the patient, As an example, a Y axis of the accelerometer may be aligned approximately with the patient ' s spine and the X axis of the accelerometer may be aligned with the patient's lateral axis. Any other predetermined alignment maybe used in the alternative.
  • sensor logic 152 may he affixed to patient 150 and the three-axis accelerometer calibrated so that a predetermined accelerometer reading is provided when patient 150 is in a predetermined position, such as standing. Techniques for performing calibration are described in commonly-assigned U.S. Patent Application Serial No. 12/433,623 filed April 30, 2009, entitled '"Reorientation of Patient Posture States for Posture-Responsive Therapy".
  • Patient 150 carries an SMD 154 that delivers therapy in a known manner.
  • IMD 154 may provide electrical stimulation therapy to the patient in a previously- verified open-loop fashion that responds to therapy modification commands from a programmer such as patient programmer 158, which maybe similar to patient programmer 20 (FIG. I).
  • Patient 150 uses patient programmer 158 to control the therapy delivered by IMD 154.
  • patient programmer 158 receives patient adjustments to modify the therapy that is being delivered by IMD, patient programmer communicates these adjustments to IMD 154, which responds accordingly to deliver the therapy in an altered manner.
  • Patient programmer 158 may communicate such modifications via a wireless communication session such as a telemetry downlink session,
  • patient 150 may also be provided with electronic means for manually recording conditions associated with sensor logic 152.
  • the electronic means may be an eDiary 156 such as a personal data assistant (PDA) or other recording device for recording patient-entered data with a key pad, stylus, and/or via other user interface mechanisms.
  • PDA personal data assistant
  • the system of FIG, 8 further includes an automated programmer 160 (also referred to as a "lab programmer' " ).
  • This programmer may be a modified clinician programmer that has a larger set of capabilities and functions than patient programmer 158. These functions include the ability to communicate with, and control IMD 154.
  • Automated programmer 160 may be adapted for use in configuring the system of FIG. 8 for data collection. During a data validation phase that may occur after data collection is complete, automated programmer 160 is adapted to automatically issue commands that cause an IMD to adjust therapy, as will be described further below.
  • a synchronizing event is performed that synchronizes operation of patient programmer 158, sensor logic 152, eDiary 156, and optionally IMD 154.
  • a synchronizing event may be a synchronization command that is selected via a user interface of an automated programmer 160, for example.
  • Such a command may be communicated via wireless communication (e.g., telemetry) to each of the other devices, including patient programmer 158, sensor logic 152, eDiary 156, and IMD 154.
  • wireless communication e.g., telemetry
  • one or more of these other devices may receive this command via a hardwired connection such as provided via a USB cable or any other type of communication connection.
  • some other type of signal such as a hardwired reset signal
  • this synchronization event may alternatively or additionally involve some manual intervention, such as activating a reset switch, removing or providing a magnet that activates a configuration function, and so on.
  • the synchronization event is used to synchronize respective counter/timers in each of the devices 152-158. For instance, the synchronization event may zero all of the counter/timers so that clocks in each of the devices are synchronized to one another.
  • IMD 154 may begin delivering therapy to patient 150 according to a known manner.
  • electronic stimulation therapy may be delivered to patient via one or more leads according to a known amplitude, frequency, electrode configuration, and so on.
  • the way in which therapy is initially delivered may be selected according Io the algorithm being executed by IMD 154 and patient programmer 158.
  • therapy parameter values describing the delivered therapy are recorded by patient programmer 158, For instance, a record 162 that is created during this process may describe amplitude, frequency, duty cycle, pulse width, pulse shape, electrode combinations, electrode polarities, program usage, and so on, for the delivered electrical stimulation therapy.
  • Each such record describing delivered therapy may be recorded along with a time stamp indicating the time at which the record was created. This time may be a relative indication, such as an elapsed time since the synchronization event occurred or a time since the last record was recorded. Alternatively, the time may be related to the time in a selected time zone.
  • One or more of these records 162 may include additional information such as patient identification data, a date in which the record was created, and so on. Alternatively, some or all of the records may omit this type of additional information to conserve storage space.
  • Each record 162 may be created within a storage device of patient programmer 158, such as memory 66 (FIG. 4). Alternatively or additionally, each record 162 may be created in the memory of some other device, such as a persona! computer or automated programmer 160. These records may be communicated to, and stored within, a memory of a device using wireless and/or hardwired communication link(s).
  • the patient goes about a daily routine.
  • the patient may request adjustments to the delivered therapy.
  • patient 150 may utilize patient programmer 158 to request incremental modifications to therapy.
  • Such modifications may be desired because of changes in patient parameter values (e.g., changes in posture and/or activity level). For instance, the patient may want to increase stimulation levels when commencing a higher level of activity.
  • patient programmer makes a record of the requested therapy modification. This may be recorded as some type of delta value, indicating a change between currently-delivered therapy and the therapy the patient requests. Alternatively, this may be recorded in terms of the therapy levels that will result after the modifications are applied. In either case, the recorded therapy adjustment may he stored along with a timestamp.
  • the requested therapy modifications are communicated to the LMD 154 for use in altering delivered therapy.
  • sensor logic 152 While patient programmer 158 is recording therapy parameters indicative of the on-going therapy being delivered to patient 150, sensor logic 152 is sensing patient parameters indicative of a condition being experienced by the patient. For instance, assuming sensor logic 152 contains an aceelerometer, sensor logic 152 records a posture state of a patient that describes at least one of a current patient position (posture) and a patient activity (e.g., activity level, velocity, acceleration, direction of the velocity, direction of acceleration, etc.) In the current example, sensor logic 152 may record patient posture using a vector in three-dimensional space as described with respect to FIG. 7. Each such record 164 containing a sensed posture state may be associated with a timestamp indicating a time of recordation.
  • a posture state of a patient that describes at least one of a current patient position (posture) and a patient activity (e.g., activity level, velocity, acceleration, direction of the velocity, direction of acceleration, etc.)
  • sensor logic 152 may record patient posture using a vector in three
  • This time may he a relative time, such as time elapsed since occurrence of the synchronization event.
  • Such records may be created within a storage device included within sensor logic 152.
  • data may he provided by the sensor logic 152 to one or more other devices via a wireless or hardwired connection so that one or more such records could be created in the memory of these other devices, which may comprise a personal computer, automated programmer 160. or any other type of recording device. Reeordation of data in the foregoing manner may continue as the patient goes about daily life.
  • sensor logic 152 will continue to monitor patient parameter values. For instance, according to the current example, the patient's posture and activity level will change, and the output of sensor logic will reflect these changes. As these posture state changes occur, patient 150 may utilize patient programmer 154 to request therapy changes. The posture state changes and the therapy changes are recorded as patient parameter values and therapy parameter values, respectively.
  • patient 150 may optionally manually record data using eDiary 156.
  • manual records 166 include information concerning patient parameter values. For instance, before, during, or after a posture and/or activity level change, patient 150 may manually enter data describing the change, If a posture state change is accompanied by a requested therapy modification, the patient may likewise record information describing the requested therapy change.
  • Each such record may be associated with a timestamp in a manner similar to that associated with records 162 and 164. For instance, a timestamp may be automatically appended by the system to each record 166 each time the patient creates a new eDiary entry.
  • IMD 154 may also he recording data associated with the delivered therapy. For instance, measurement module 42 of IMD (FIG. 2) may determine what therapy parameter values are associated with the therapy being delivered by therapy delivery module 32. Such records 168 may be stored within memory 36 of IMD 154, and/or may be transferred via a wireless communication link to a memory of automated programmer 160, a memory of a personal computer, memory 66 of patient programmer 158, or to some other storage device. In one embodiment, IMD 154 may have a sensor 40 (FIG. 2) that is similar to that of sensor logic 152. In this case, records 168 may include patient parameter values collected by the sensor of IMD 154 (e.g., sensor 40 of FIG. 2).
  • Such sensor is preferably of a same type and operates in a similar manner as that included within sensor logic 152, In general, it should be noted that during this phase of testing, any sensor included within IMD 154 is not being used for closed-loop control, but rather is only being used to record patient parameter values.
  • patient parameter values shown collected by sensor 40 of IMD 154 include posture and activity level. Records may also include a timestar ⁇ p in a manner described above.
  • Resulting therapy levels may also be recorded as therapy parameter values within records 168 by IMD 154 in an embodiment wherein such records are being generated.
  • patient parameter values as sensed by sensor logic 152 and optionally by a sensor of IMD 154 are recorded in records 164 and 168, respectively.
  • Additional data indicative of patient parameter values and therapy parameter values may optionally be recorded manually by patient 150 as records 166 using eDiary 156, AU such records may be correlated to one another via timestaraps which indicate when the patient parameter values and/or therapy parameter values were recorded.
  • Collection of data optimally occurs as the monitored condition(s) (e.g., posture, activity level etc.) undergoes a wide variety of changes. For instance, it is desirable to perform data collection over a period of time during which a patient will experience many different postures, activity levels, and so on, In one embodiment, such monitoring continues over a period of three days, with records 162, 164, and optionally 168. Recordings may, in one instance, be created at predetermined intervals. In one embodiment, such records are created and stored every five seconds, however any other interval may be used in the alternative. Records 166 are created at intervals determined by patient compliance.
  • records 162, 164, and optionally 168 may, in one instance, be created at predetermined intervals. In one embodiment, such records are created and stored every five seconds, however any other interval may be used in the alternative. Records 166 are created at intervals determined by patient compliance.
  • processing of the recorded data occurs.
  • This processing is carried out by data analysis logic 172, which forms associations between the patient parameter values (e.g., posture, activity descriptions, etc.) stored within records 164 and therapy parameter values (e.g., amplitude, frequency, etc.) stored within records 162, wherein the therapy parameter values indicate patient 150 requests to modify therapy and/or the resulting therapy delivered by IMD 154 to the patient.
  • the associations between patient parameter values and therapy parameter values may be formed via the timestamps or according to the ordering of records that were created at known time intervals.
  • Data analysis logic 172 stores the created associations in a test data file 174.
  • Test data file 74 may be retained within a storage device of automated programmer 160, a personal computer, or some other external device and/or loaded onto a storage medium such as a DA 7 D, CD 5 flash drive, etc. Alternatively or additionally, this information may be transferred to a memory of a central server or some other data processing system.
  • processing may include an additional step to validate the operation of sensor logic 152.
  • this step will involve validating postures and activity descriptions recorded within records 164 by sensor logic 152 against postures and activity descriptions recorded manually by patient in records 166.
  • This validation process is performed by posture and activity validation logic 170, which may be implemented in hardware, software, or some combination thereof.
  • this logic is software executing on an external device such as automated programmer 160, a personal computer, a clinician programmer, or some other processing device.
  • posture and activity validation logic 170 operates by first assigning a posture state to the posture and/or activity data stored within each of records 164, Techniques for assigning a posture state in this manner are described in commonly-assigned Patent Application Serial Nos, 12/433,004 and 12/432,993 referenced above.
  • the assigned posture state e.g., lying down, upright, upright & active, etc.
  • the assigned posture state may then be compared to the manually-entered posture and activity data of records 166, using the timestamp data to match corresponding records. Assuming patient compliance was adequate, the resulting comparison will provide an additional level of validation indicating whether sensor logic 152 recorded data that accurately reflects patient posture and activity levels.
  • a comparison may be performed between posture and/or activity data sensed by a sensor (e.g., sensor 40) of IMD, as recorded in records 168, Such data may be compared against that stored within records 164, assuming that the sensor of IMD 154 has a similar function to the sensor of sensor logic 152, Assuming it has been determined that sensor logic 152 is performing properly, this comparison may be used to confirm operation of the sensor of IMD 154 in an embodiment wherein the IMD includes such a sensor.
  • a sensor e.g., sensor 40
  • timestamps to correlate data between the various ones of files 162, 164, 166, and 168. This may not be desirable in some embodiments because of the storage space required to store the limestamps.
  • records 162, 164 and 168 maybe created at a same predetermined frequency (e.g., one record every five seconds), [f the records of a same type are stored in an ordered manner, a correspondence will be maintained between a given record 162 and counterpart records 164 and 168. This eliminates the need to store timestamps in these types of eases.
  • Timestamps will still generally be required in the case of records 166 which are created manually by patient 150, A record 166 may be matched with records 162, 164, and 168 by using the known data collection frequency of the automatically-collected data to select the ordered record that correlates roughly to the timestamp of a record 166.
  • FIG. 8 relates to a system wherein during the data collection phase, all therapy delivered by IMD is provided in an open-loop manner. In other words, initially, the IMD is delivering therapy using a default set of therapy parameter values. Thereafter, therapy delivery is modified solely in response to requests made by patient 150 via patient programmer 158. No automated therapy adjustments are performed as a result of sensed patient parameter values, such as those that indicate a posture state,
  • sensor logic 152 and patient programmer 158 include the capability to communicate using a long-range wireless communication protocol, such as Bluetooth, Using this long-range communication protocol, the patient programmer 158 receives patient parameter values from the sensor logic 152 indicative of the patient's posture stale. Irs this embodiment, when the patient programmer 158 receives from patient 150 a therapy adjustment, the therapy parameter values describing this therapy adjustment are stored along with patient parameter values received from the sensor logic 152 about the same time. In this manner, the patient programmer 158 creates a table that is similar to that of FIG, 7.
  • a long-range wireless communication protocol such as Bluetooth
  • patient programmer 158 may receive a patient parameter value that is the same as, or similar to, that already entered into this table. In this case, patient programmer 158 may automatically issue a command to adjust therapy according to the corresponding therapy parameter values include in the applicable table entry.
  • therapy adjustment occurs not only as a result of patient adjustments, but also automatically using the table values and the patient parameter values that are available from sensor logic.
  • patient programmer 158 continues to create records indicative of the therapy being delivered to the patient.
  • patient programmer 158 may also include the patient parameter values indicative of posture state in the same records as those that are recording the therapy parameter values.
  • patient programmer 158 may create the test data file 174 directly, eliminating the need for data analysis logic 172.
  • patient programmer 158 pre-load patient programmer 158 with a table that associates therapy parameter values with patient parameter values.
  • This pre-loaded table may be a default table used by many patients, or may instead contain data developed specifically for patient 1 50. In this ease, closed-loop therapy deliver ⁇ ' may commence immediately during the data collection phase. Updates to this table may be made as the patient makes adjustments.
  • Patient programmer records therapy parameter values along with patient parameters in the manner described above to create test data file 174.
  • FlG. 9 is a block diagram illustrating one embodiment of sensor logic 152.
  • This sensor logic includes a sensor 180, which in this example may be a three-axis aceelerometer. Other embodiments may be adapted for use with other types of sensors, Sensor 180 provides an output signal to logic 182, which includes analog-to-digital converter (ADC) and filter logic.
  • ADC analog-to-digital converter
  • sensor 180 is an aceelerometer, a high-pass filter may be used to extract an AC signal component for use in determining an activity parameter and a low-pass filter may be used to extract a DC signal component used to determine posture.
  • Signal processing logic 184 processes both the AC and DC components to obtain a first measure indicative of posture, which in this example is a vector, and a second measure indicative of activity, which in this illustration is an activity level. Exemplary techniques for performing this signal processing are described in commonly-assigned Patent Application Serial No, 12/433,029 filed April 30, 2009 entitled '"Posture State Detection Using Selectable System Control Parameters' ' referenced above.
  • the posture and activity level data may be stored in storage device 186 of sensor logic along with a timestamp. Alternatively, such data may be recorded at a known interval such that a timestamp may be derived in the manner discussed above.
  • Data stored within storage device 186 may be transferred to an external device via communication logic 188, which may be a telemetry circuit capable of short-range or long-range communication. This is necessary if patient programmer 158 is to utilize closed-loop control to adjust therapy delivery according to the alternative embodiment described above.
  • communication logic 188 may simply include a communication port such as a USB or other type of connector for establishing a hardwired connection whereby data within storage device 186 may be read and used to create test data files 174 (FIG. 8),
  • FIG, 10 is a flow diagram illustrating one method of performing data collection according to the current disclosure.
  • a synchronizing event is initiated to synchronize the various devices performing data collection (200), During a predetermined period of time, manually-entered patient parameter values (e.g., posture, activity) and therapy parameter values may optionally be collected from a patient (202). Also during this period of time, patient parameter values are collected automatically from one or more sensors (204), These sensors include at least one sensor affixed externally to the patient. The sensors may also include a sensor of an !MD, such as sensor 40.
  • the manually-entered patient parameter values are optionally used to validate the raw and/or processed patient parameter values collected from the one or more sensors (206). In particular, this verifies proper operation of sensor logic 152. This comparison can further validate correct operation of an internal sensor 40 and associated logic, assuming the external sensor logic 152 and the logic within the IMD correspond to one another,
  • FIG. 1 1 is a block diagram of an automated system that utilizes data collected according to the techniques described herein to validate operation of an IMD 220 during a validation phase.
  • the IMD 220 has a similar therapy delivery module (e.g., therapy delivery module 32 of FSG, 2) to that of IMD 154 used during the data collection described above.
  • IMD 220 may have a measurement module 42 similar to that included in IMD 154,
  • IMD 220 includes a sensor that may correspond to that of sensor logic 152. In the current embodiment, this sensor is capable of detecting posture states of a patient.
  • IMD 220 is adapted to execute a closed-loop algorithm that utilizes data such as that shown in the table of FIG, 7 to control therapy delivery module 32.
  • the data contained within this table will be pre-loaded into IMD 154 before the validation phase commences.
  • This data is derived from an analysis of the data in test data file 174, That is, each entry of the table will associate one or more patient parameter values (e.g., a posture vector and/or an activity level) obtained by sensor logic 152 during data collection with therapy parameter values indicative of a therapy adjustment made by a patient.
  • This data may then be used by IMD 220 to control therapy delivery from the start of the validation phase, as will be described below.
  • test data file 174 may adjust therapy inconsistently in response to a certain set of patient parameter values. For instance, the patient 150 may only adjust therapy some of the time when transitioning from a sitting to a standing position. This may be the result of the burden placed on the patient to perform the therapy adjustments.
  • the patient may not bother to adjust therapy if the patient knows the standing position will be assumed only temporarily,
  • the patient's physical condition e.g., pain state
  • the patient's physical condition may change from day-to-day,
  • the patient may desire more or less stimulation when assuming a given posture state than was required the day before, for example.
  • pre-processing may first classify each set of patient parameters into one of multiple pr ⁇ -defmed posture states. Such classification could he performed in a manner described in U.S. Patent Application Serial Nos, 12/433,004 and 12/432,993 referenced above. Other forms of classification are possible.
  • processing may utilize some mechanism (determining average or median values) to obtain a single set of therapy parameter values that correspond to the patient parameter values for the posture state. This will yield a single table entry that provides patient parameter values and associated therapy parameter values for a given posture.
  • pre-processing may be performed on data within test data file 174 to generate a table to be pre-loaded on IMD 220 for use in performing validation.
  • IMD 220 will also he pre-loaded with control logic (e.g., software and/or firmware) to implement a closed-loop algorithm that will control therapy delivery module 32 to deliver therapy according to the data in the pre-loaded table.
  • control logic e.g., software and/or firmware
  • IMD 220 may be affixed to an automated device 222 that is adapted to re-create the patient conditions that existed during data collection.
  • automated device 222 is a robotic arm that is capable of positioning I1V1D 220 to be in any orientation in three-dimensional space, and is further capable of re-creating any type of activity (e.g., activity levels) recorded by a three-axis accelerometer to indicate patient activity, as reflected by records 164, and optionally records 168.
  • robotic arm 222 is a model LR-200 ⁇ C available from FAMUC Robotics America, Inc., Rochester Hills, MI, although other types of automated devices and robotics technologies may be employed.
  • test fixture is oriented in a known mariner such that the sensor of IMD 220 is in a predetermined position relative to the automated device 222. In one embodiment, this predetermined position substantially aligns the axis of a three-axis accelerometer to three corresponding axes of movement of a robotic arm.
  • Test data file 174 is provided as input to the system of FlG. 11. As discussed above, test data includes the associations between patient parameter values recorded by sensor logic 152 in records 164, and therapy parameter values recorded by patient programmer 158 in records 162. This type of file may be generated by data analysis logic 172,
  • Test data of test data file 174 may be stored within a memory of automated programmer 160, a memory of a personal computer, within a memory of a server, a storage medium such as a DVD, CD, flash drive, and/or any other storage device. This data may be made accessible to the system of FIG. 1 1 using a hardwired or wireless communication link, via a network connection such as a secure intranet or an internet connection that has the capability to access the data, by loading the test data 174 from a storage medium, etc.
  • a network connection such as a secure intranet or an internet connection that has the capability to access the data
  • Test data file 174 may be in any format generated by daia analysis logic 172 (FIG. 8), or in the closed-loop embodiment, in a format generated by patient programmer 158.
  • the format provided by data analysis logic 172 is a Comma-Separated Values (CSV) format that may be provided as input directly to control movement of automated device 222, Thus, no data formatting is needed, and test data file 174 may be used as the formatted data file 226 that is provided as input to control automated device 222. This is as indicated by arrow 175.
  • a data formatter 224 may be employed to manipulate the data included in test data file 174 so that it is in a format expected for use by automated device 222.
  • the formatted file 226 describes a sequence of posture states that each describes at least one of a posture (e.g., in the form of a vector) and an activity (e.g., an activity level).
  • This sequence of posture states corresponds to the sequence of posture states that patient 150 assumed during data collection.
  • Such a sequence may span the entire time period during which data collection occurred (e.g., three days, in one embodiment),
  • the raw patient parameter daia contained in formatted data file 226 is provided to interface layer 234 of movement control logic 232 of automated device 222, This is as indicated by arrow 227.
  • the patient parameter data is delivered to interface layer 234 via a control script 230. In either case, delivery of this data is used by movement control logic 232 to cause automated device 222 to recreate the posture states that were experienced by patient 150 during data collection.
  • Movement control logic 232 includes the hardware, software, and/or firmware to control operation of automated device 222,
  • the interface layer contains firmware and/or software routines to translate the patient parameter values (e.g., vectors and activity level parameters) from the formatted data file 226 into commands that control the hardware of automated device 222.
  • automated device 222 reproduces the orientations and movements represented by the patient parameter values.
  • IMD 220 When IMD 220 is affixed to automated device 222 in a predetermined manner, IMD 220 will be subjected to the same sequence of orientations and movements as those to which IMD 154 was subjected during data collection. In a preferred embodiment, this occurs in real-time such that the time period during which re-enactment occurs corresponds to the time period used for data collection.
  • the posture states of one embodiment each include at least one of a posture vector that controls orientation and an activity level that controls a level of movement,
  • IMD 220 must be affixed to automated device 222 in a predetermined manner to obtain accurate results, In one embodiment, this involves utilizing a test fixture that aligns an axis of an accelerometer included within the IMD with the axis of automated device 222. In this manner, when interface layer 234 responds to a vector [Xl, Yl, and Zl] provided by test data file 174, the sensor (e.g., sensor 40) of
  • IMD 220 will likewise generate a posture vector of [Xl, Yl, and Zl ], Alternatively, this may be accomplished by calibrating sensor 40 of IMD 220 so that sensor 40 produces the desired vector reading when automated device 222 is responding to that vector in the test data. Such calibration of sensor 40 of IMD 220 may be performed programmably using a clinician programmer or automated programmer 160.
  • interface layer 234 is accurately controlling automated device 222 to reproduce orientations and motions performed by patient 150 during data collection. For example, when a vector [Xl , Y 1 , Zl] and an activity level of Al is provided to interface layer 234, automated device 220 must respond by positioning IMD 220 in an orientation, and/or subjecting this device to a level of movement such that sensor 40 of IMD 220 also generates vector [Xl, Yl, Zl] and/or an activity level of A 1.
  • a verification mechanism for ensuring that interface layer 234 is responding properly is described below in reference to FIG.
  • IMD 220 is affixed to automated device 222, calibration is performed, and patient parameter values from formatted data file 226 are provided to interface layer 234.
  • This causes automated device 222 to begin reproducing the posture states assumed by patient 150 during data collection, thereby subjecting IMD 220 to the same sequence of posture states as occurred during data collection,
  • the sensor of IMD 220 senses the posture states and provides patient parameter values indicative of the posture states.
  • these patient parameter values are used by IMD 220 to reference the table and locate an associated set of therapy parameter values. These located therapy parameter values are provided to therapy delivery module 32 for use in controlling therapy delivered by IMD 220.
  • measurement module 42 of IMD 220 is monitoring the therapy delivery module 32 to determine the therapy parameter values being used to deliver therapy.
  • These therapy parameter values are communicated to automated programmer 160 as validation data 242, as may be accomplished via a wireless communication link (e.g., telemetry uplink session), or in another embodiment maybe provided via a hardwired connection.
  • This validation data 242, which includes the therapy parameter values, is forwarded to compare logic 244 of control script 230.
  • Control script further has access to the therapy parameter values contained in formatted data file 226, Since re-enactment of the posture states is occurring in ""real-tirae" (i.e., over a same time period as the posture states were assumed during data collection), control script 230 utilizes timestaraps to locate the therapy parameter values from formatted data file 226 that correspond with the current validation time. The therapy parameter values from the formatted data file 226 should correspond closely with those included in the validation data 242.
  • a miseompare between the therapy parameter values within formatted data file 226 and those contained within validation data 242 indicates a potential problem.
  • hardware, software, and/or firmware of IMD 220 may not be detecting, and/or responding in an appropriate manner to, the posture states. If this is the ease, an entry should be created in validation results 246 indicating that a potential problem exists. This entry may include data such as a timestamp indicating the time during validation when the miscompare occurred, the measured therapy parameter values from the IMD 220, and the therapy parameter values from formatted data file 226.
  • Other data may include the patient parameter values used by automated device 222 to re-create the posture state, as well as patient parameter values sensed by IMD 220 at a time leading up to, or during, the raiscorapare. This information is then available to diagnose potential problems with the design of IMD 220.
  • control script 230 obtains the therapy parameter values available from the formatted data file 226, and provides these values to automated programmer 160 via either a hardwired or wireless communication link. Automated programmer 160 then communicates these values to IMD 220. This is generally accomplished via a wireless communication link (e.g., a telemetry downlink session) although a hardwired connection could be used in the alternative. Therapy delivery module 32 of IMD 220 should respond to these adjustments by changing therapy in accordance with the adjustments.
  • a wireless communication link e.g., a telemetry downlink session
  • measurement module 42 which determines the therapy parameter values being used to deliver the therapy, communicates these measurements as validation data 242 to automated programmer 160, which then forwards these values to control script 230 for validation. That is, compare logic 244 of control script 230 will again compare the therapy parameter values from the validation data 242 with those obtained from formatted data file 226 and communicated to IMD 220, This compare will validate that the adjustment was completed properly. If not, an entry may be created in validation results 246 in a manner similar to that described above.
  • miscompare situations may be detected that are not related Io a potential problem associated with IMD 220.
  • a patient may only adjust therapy some of the time when making a posture state transition. For instance, the patient may not bother to adjust therapy when the patient knows that a posture state will be assumed only briefly rather than being sustained for a longer period of time. Since during the validation phase, the IMD 220 uses a closed-loop algorithm and data in the pre-loaded table to automatically adjust therapy in response to all posture changes (including those for which the patient did not bother Io perform adjustment), a miscompare may result in these situations.
  • the patient's physical condition may change from day-to-day.
  • the patient may desire more or less stimulation when assuming a given posture state than was required the day before, for example.
  • the therapy level in the pre-loaded table of the IMD will contain some base level therapy value that may have been derived by processing (e.g., averaging) all recorded patient adjustments received while the patient assumed a given posture state.
  • the therapy as delivered by IMD 220 may not precisely match the therapy parameter values contained in the formatted data file 226 such that a miscompare results.
  • control script 230 may detect and manage the foregoing types of situations.
  • the table that is pre-loaded onto I MD 220 for use in performing closed-loop therapy adjustment may be made accessible to control script 230.
  • control script 230 may compare the therapy parameter values measured by measurement module 42 of IMD 220 to those contained in the applicable table entry that corresponds to the patient" s posture state that was being assumed at the time the therapy parameter values were measured. If the measured therapy is consistent with these therapy parameter values, it is determined that the IMD is responding appropriately to the closed-loop mechanism in use at that time.
  • validation results 246 it may be desirable to omit a step of creating an entry in validation results 246, since the miscompare is likely the result of inconsistent patient adjustments.
  • an entry may be created in validation results 246 indicating that the delivered therapy was consistent with the table data but inconsistent with therapy parameter values obtained during data collection.
  • the measured therapy is not consistent with the parameters in the pre-loaded table, it may be desirable to create an entry in validation results 246 to indicate that a closer analysis of the situation by technicians is warranted.
  • control script 230 issuing a therapy adjustment request to automated programmer 160 to adjust therapy according to the therapy parameter values of formatted data file 226.
  • such adjustments may only be requested when the actual therapy delivered by IMD 220 is within some tolerance (e.g., some percentage value) of that reflected by the therapy parameter values of the formatted data file 226. This will generally result in therapy adjustments for those cases wherein the patient ' s selected therapy varies incrementally from day-to-day, for instance.
  • adjust logic 245 of control script 230 may be provided to determine how to handle miscompares, including whether to create an entry in validation results 246 and/or whether to request an adjustment via automated programmer 160 in response to such a miscompare.
  • Adjust logic 245 may be configured according to preferences of the technicians performing validation. In one embodiment, adjust logic 245 may be programmable, allowing the technicians to determine the types of situations in which entries are created in validation results 246 to report potential problems, and/or when to issue adjustments as a result of a miscompare.
  • IMD 220 is pre-loaded with a table to control closed-loop operation of IMD 220.
  • IMD 220 commences closed-loop operation at the start of the validation phase.
  • IMD 220 may build the table that will he used for closed-loop operation from the data contained in the formatted data file.
  • control script 230 will provide the therapy parameter values from formatted data file 226 io automated programmer 160, which will, in turn, communicate these adjustments to IMD 220
  • IMD 220 will record the therapy parameter values in a table in association with the patient parameter values that were being sensed by the sensor of the IMD (e.g., sensor 40) contemporaneously with the receipt of the therapy parameter values.
  • IMD 220 will adjust therapy accordingly.
  • Therapy adjustments made by IMD 220 will be detected by measurement module 42, communicated as validation data 242 to automated programmer 160, and forwarded to compare logic 244 for comparison against the therapy parameter values from formatted data file 226.
  • a miscompare may result in the creation of an entry in validation results 246 in the manner described above.
  • IMD 220 will receive therapy adjustments that are used to populate a table creating associations between patient parameter values and therapy parameter values, As this table is populated, a set of therapy parameter values will eventually be retrieved from formatted data file 226 by control script 230 thai is associated with a posture state for which a table entry already exists. That is, IMD 220 has already handled this posture state at least once before during validation. It may be desirable for control script 230 to detect this type of scenario so it may be handled appropriately. One way control script 230 may detect this scenario is by using a same, or similar algorithm, as is being used by IMD 220 to build a table that duplicates thai being built by IMD 220. This table may then be used by control script 230 to determine whether an entry already exists for a given posture state described by patient parameter values.
  • control script 230 determines that therapy parameter values have been obtained from formatted data file 226 that are associated with patient parameter values that are already represented by a table entry, several courses of action may be taken, In one scenario, control script 230 may delay issuing a therapy adjustment to automated programmer 160. Instead, control script may wait until IMD 220 has an opportunity to adjust therapy according to the table values. Measurement module 42 of IMD 220 will convey detected therapy parameter values to automated programmer 160, which will forward these values to control script 230 for validation. If they correspond to the therapy parameter values of the applicable table entry, control script 230 can handle any mismatch between the measured values and the therapy parameter values in one of the ways described above.
  • control script may forego creating an entry in validation results 246, and may additionally prompt automated programmer 160 to adjust therapy only if the measured values and the values from formatted data file 226 are within a certain tolerance of one another.
  • control script 230 may handle this type of scenarios by always creating an entry in validation results 246 and/or always issuing a request to adjust therapy according to the data in formatted data file 22(S.
  • adjustments may never be issued to IMD 220 in this type of situation. Again, these decisio s are largely design choices, and may be programmable in one embodiment by adjusting control settings associated with adjust logic 245.
  • FIG. 12 is a block diagram of one system for verifying that interface layer 234 of automated device 222 is operating to accurately reproduce the patient posture states. Many of the elements of FIG. 11 are included in the system of FIG. 12. A primary difference, however, is that in FIG. 12 sensor logic 152 is affixed to automated device 222 rather than IMD 220. Sensor logic 152, or logic similar to sensor logic 152, is coupled to automated device 222 and calibrated so that sensor 180 generates a predetermined calibration vector [Xl, YI , Zl] when the vector [XI , Yl , Zl ] is interpreted by interface layer 234. Thereafter, the entire sequence of patient parameter values contained with test data file 174 is provided to interface layer 234.
  • sensor logic 152 should generate the same output signals indicating the same posture states as those represented by test data file 174. To verify this, the output of sensor logic 152 is recorded as verification data 260. This recordation may be performed via a wireless or a hardwired communication link between sensor logic 152 and another device, such as automated programmer 160. The verification data is then compared by compare logic 262 to the posture and activity data included in test data 174. If the comparison indicates a difference between the two, interface layer 234 is not asserting proper control over automated device 222, or some other problem exists within the hardware of automated device itself. This situation must be addressed before validation of a device may be
  • FlG. 13 is a flow diagram illustrating one method of performing validation of an IMD.
  • the IMD is configured to operate according to a closed-loop control mechanism that takes into account the associations formed between the recorded patient parameter values and the therapy parameter values that were recorded during data collection (290).
  • This IMD is affixed to an automated device (29I) 5 which maybe a robotic arm.
  • the recorded patient parameter values are utilized to control the automated device to automatically recreate the sequence of conditions experienced by the patient (292), which may be a sequence of posture states assumed by the patient during data collection.
  • Therapy is provided by the IMD according to the closed-loop control mechanism while the IMD is subjected to the re-created sequence of conditions (294). Therapy provided by the IMD is detected and compared to the recorded therapy parameter values and validation data indicating potential inconsistencies between the two is recorded (296). At predetermined times, the recorded therapy parameter values obtained during data collection are provided to the IJVID to supplement and/or modify the closed-loop control mechanism (298). This includes making adjustments to therapy when potential inconsistencies exist between detected therapy and the therapy that is expected. This also includes issuing therapy adjustments to the IMD at the start of the validation phase in an embodiment wherein the IMD is populating a data structure for controlling closed-loop operation at the start of the validation phase.
  • the foregoing examples describe automated techniques for testing a medical device which may, but need not, be an implantable device
  • the testing utilizes one or more sensors that detect posture states.
  • sensors may include, but are not limited to, gyroscopes, acceleroraeters, strain gages, pressure transducers, impedance monitoring devices (e.g., for measuring thoracic impedance), electrodes to detect some other electrical signal produced by a living body, and so on.
  • the one or more sensors may be appropriately positioned within the patient or on an external surface of the patient. It Is understood that the described mechanisms are Illustrative, and those skillet! in the art may contemplate other embodiments and adaptations of these techniques. Therefore, the d ⁇ seription above is not to be considered limiting, with the scope of the invention to be set forth by the claims thai follow.

Abstract

Techniques for validating operation of a medical device are disclosed. A data collection phase utilizes a first sensor carried by a patient to record patient parameter values indicative of conditions experienced by the patient (e.g., posture states). Therapy parameter values describing therapy adjustments requested by the patient in response to the conditions are also recorded. Associations formed between the therapy parameter values and the patient parameter values are used to develop a closed-loop algorithm for control of an IMD having a sensor similar to the first sensor. An automated device such as a robotic arm uses the recorded patient parameter values to automatically reproduce conditions present during the data collection phase. Therapy delivered by the IMD while under control of the closed-loop algorithm and while being subjected to the conditions is compared to the recorded therapy parameter values e to validate IMD operation.

Description

AUTOMATIC VALIDATION TECHNIQUES FOR VALIDATING OPERATION
OF MEDICAL DEVICES
The disclosure relates to medical devices and, more particularly, to automatic validation of medical devices that deliver therapy.
A 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 drags. 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, the patient is allowed to activate and/or modify the therapy. 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. For this reason, a patient who receives SCS therapy from an implantable medical device (IMD), e.g., an implantable pulse generator, is often given a patient programming device that communicates with his IMD via device telemetry, and allows the patient to activate the neurostimulation and/or adjust the intensity of the delivered neurostimulation.
It is advantageous to associate patient therapy adjustments with one or more measurable parameters, After this association is made, a device may automatically deliver therapy to the patient according to those adjustments whenever the one or more parameters are detected. U.S. Patent Application 1 1/607,454 entitled "Closed-Loop Therapy Adjustment" filed December 1, 2006, assigned to the assignee of the current disclosure, describes techniques for detecting a value of a sensed patient parameter, and automatically delivering therapy to a patient according to recorded therapy adjustment information previously associated with the detected value. According to these techniques, a therapy adjustment is received from the patient or other user and, in response to the adjustment, a sensed value of a patient parameter is stored with the therapy information determined based on the adjustment, The association may be made automatically or after user confirmation. Therapy may then be delivered according to the associated therapy information whenever the parameter value is subsequently detected. In this manner, as an example, a medical device that delivers therapy to the patient may "learn" to automatically adjust the therapy in the manner desired by the patient as the sensed parameter of the patient changes.
Techniques for validating operation of a medical device are disclosed. The techniques may be used to validate operation of a medical device that delivers therapy in a closed-loop manner in response to patient parameter values that are sensed by a sensor. In examples described below, the medical device is an implantable medical device (IMD), although this need not be the case, and the disclosed techniques may be used to validate other types of medical devices. Additionally, while examples involving medical devices that deliver electrical stimulation to treat a pain condition are described in detail, other devices that deliver other types of therapy may usefully employ these mechanisms. According to one example embodiment, the techniques may include a data collection phase and a validation phase. During the data collection phase, the patient is outfitted with an external sensor. For instance, the sensor may be carried on a belt or otherwise affixed to an exterior surface of the patient or to the patient's clothing. In one embodiment, this external sensor is a three-axis accelerometer that detects a patient's posture state comprising at least one of posture and activity state (e.g., activity level, direction of activity, etc.). The data from this sensor is recorded in the form of patient parameter values. Patient parameter values may describe, or are indicative, of a posture state of the patient. The posture state involves at least one of posture and activity level of the patient. The recorded patient parameter values may be associated with tiraestamps.
During this data collection phase, the IMD may be delivering therapy to the patient. The patient uses a patient programmer to make adjustments to the therapy as needed. A description of the resulting therapv, including therapy changes occurring because of patient adjustments, may be recorded. This description may be recorded by the patient programmer or another recording device, for example. The recorded therapy description may be described as therapy parameter values (e.g.. stimulation amplitude, stimulation pulse width, electrode configuration, etc). This description may include timestamps.
After the therapy description and the patient parameter values are recorded, the two sets of data may be correlated to one another. This correlation may be performed using the timestamps, for instance. The correlated data sets may be used to create a test data file that describes a sequence of patient parameter values (e.g., a description of the sequence of posture states assumed by the patient, as detected by a three-axis accelεromεter) and a description of the corresponding therapy that was being delivered to the patient while the patient parameter values were recorded. The test data file may be employed to automatically recreate the conditions experienced by the patient during the data collection process. In particular, the patient parameter values from the test file may be provided to an automated device to control operation of an automated device, which may be a robotic arm.
While the automated device is controlled by the patient parameter values from the test file, an IMD affixed to the automated device may be delivering therapy to the patient. This IMD may be configured to execute a closed-loop control algorithm that adjusts the therapy in accordance with a sensor that is contained within, or otherwise accessible to, the IMD. As the automated device re-enacts the posture states, the closed-loop algorithm controlling the IMD will automatically deliver therapy in response to the posture states. The therapy parameter values associated with the delivered therapy may be measured and compared to those recorded during data collection. A miscorapare may indicate that a potential problem exists with the IMD design. Therefore, a miscompare will he recorded along with data that may be used by technicians and logic designers to analyze the miscompare situation. Various methods and techniques for performing automated testing and regression analysis are disclosed herein. These techniques provide a mechanism to very accurately and automatically reproduce a sequence of conditions to which a medical device may be subjected during therapy delivery. Without this ability, validating that a medical device is performing as expected, as may be needed after design changes are made, must be performed by manually re-creating the sequence of conditions. For instance, a patient may be required to manually re-enact a series of activities and postures that were previously performed over a series of days. Such re-creation is not only very tedious, but is also error prone. Moreover, conducting this type of re-enactment is expensive,
One embodiment of the disclosure relates to a method of testing a medical device. The method includes recording therapy parameter values describing therapy being delivered to a patient, and recording a sequence of patient parameter values indicative of at least one of posture and activity of the patient occurring while the therapy is being delivered. The method further includes automatically reproducing tbe sequence of patient- parameter values and validating that, the medical device is delivering therapy in accordance with the recorded therapy parameter values, in one example, automatically re- producing the sequence of patient parameter values includes attaching the medical device to an automated device, providing the recorded sequence of patient parameter values to control the automated device, and re-producing, by the automated device, conditions that resulted in sensing the sequence of patient parameter values. The conditions may result in at least one of orienting the medical device in one or more predetermined positions and exposing the medical device to one or more predetermined activity states. The activity states are characterized by at least one of activity level, velocity of activity, acceleration of activity, a direction of velocity or acceleration, or at feast one other parameter that describes the activity.
According io another aspect, validating that the medical device is delivering therapy in accordance with the recorded therapy parameters may comprise delivering, by the medical device, therapy in response to a closed-loop algorithm. Recording therapy parameter values may comprise operating a second medical device in response to an open- loop algorithm.
Another embodiment provides a system for automatically testing a medical device. The system includes a therapy delivery module to deliver therapy to a patient according to therapy parameter values, and a sensor to sense patient parameter values indicative of one or more posture states assumed by the patient while the therapy is being delivered. The system also includes an automated system coupled to receive the patient parameter values and the therapy parameter value, to reproduce a sequence of conditions indicated by the patient parameter values, and to validate that the medical device provides therapy according to the therapy parameter values while the medical device is subjected to the reproduced conditions. Yet another embodiment involves a system to automatically verify operation of an implantable medical device. The system includes a first implantable medical device carried by a patient to deliver therapy to the patient according to therapy parameter values, and a sensor carried by the patient to sense posture states assumed by the patient during delivery of the therapy. This system further comprises an automated device to automatically re-create the posture states and an automated programmer to automatically generate at least some of the therapy parameter values. A second implantable medical device provides therapy in response to the automatically-generated therapy parameter values while being subjected to the automatically re-created the posture states, Compare logic is communicatively coupled to the second implantable medical device to determine whether the therapy provided by the second implantable medical device is substantially similar to the therapy delivered by the first implantable medical device.
The details of one or more embodiments 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.
FIG. 1 is a conceptual diagram illustrating an example system that facilitates closed-loop therapy adjustment. FIG. 2 is a block diagram illustrating an example medical device that delivers therapy and provides closed-loop adjustment of the therapy.
FIG, 3 is a block diagram illustrating an example configuration of a memory of the medical device of FlG. 2.
FIG, 4 is a block diagram illustrating an example external programmer that allows a patient to communicate with the medical device of FIG. 2.
FIG. 5 is a flow diagram illustrating an example technique for automatically associating therapy information with patient parameter values in response to therapy adjustments.
FIG. 6 is a flow diagram illustrating an example technique for delivering stimulation according to existing associations of therapy information and parameter values, and automatically associating existing therapy information with additional patient parameter values, FIG 7 is a chart illustrating an example patient parameter values table that may be used for closed-loop adjustment of therapy,
FlG. 8 is a block diagram illustrating collecting data for use in performing automated validation of an IMD according to one embodiment. FIG. 9 is a block diagram illustrating one embodiment of sensor logic of FIG. 8.
FlG. 10 is a flow diagram illustrating one method of performing data collection.
FIG. 1 1 is a block diagram of an automated system that utilizes data collected according to the techniques described herein to validate operation of an IMD.
FIG. 12 is a block diagram of one system for validating control scripts, FIG 13 is a flow diagram illustrating one method of performing data collection.
Electrical stimulation is one example of a therapy that may be delivered in a closed-loop manner. Electrical stimulation may be, for example, used to treat patients that suffer from chronic back pain, leg pain, or other pain that cannot be treated through other methods, As a patient changes posture, the stimulation may need to be adjusted in order to maintain efficacy. The patient may use a programmer to manually change one or more stimulation parameters, e.g., amplitude, to adjust the therapy in response to the posture change. Alternatively, the patient may select a new stimulation program that includes new respective values for each of the stimulation parameters to adjust the therapy.
While manual adjustment of stimulation may be effective, the patient is burdened by the need to adjust the therapy throughout a daily routine. Thus, an implantable medical device (IMD) may include, or be coupled to, one or more sensors that sense a patient parameter, The IMD may deliver closed-loop therapy based on values of the patient parameter. The IMD '"learns" to provide this closed-loop therapy based on therapy adjustments made by the patient. In particular, during a '"learning phase", the IMD associates patient parameter values with therapy information (e.g., therapy adjustments) received from the patient. Later, the SMD may use these associations to automatically deliver therapy. As the IMD senses patient parameter values, the IMD may automatically deliver therapy according to therapy parameters that have been previously associated with the sensed patient parameter values. The patient may rarely need to manually enter an adjustment to the therapy after a medical device learns to automatically adjust the therapy based on sensed patient parameter values.
For example, the IMD may store a table or other data structure that contains records, where each record contains therapy information associated with a respective value of a patient parameter. The ΪMD may automatically update the table in response to a therapy adjustment from the patient, or may update the table after receiving confirmation that the adjusted therapy is desired. The ΪMD may update the program table after every adjustment input from the patient, after a complete therapy adjustment that includes a number of inputs, or periodically during therapy. During design and test of the IMD, and as changes are made to the design of the
ΪMD, it is necessary to validate that the IMD is indeed delivering the appropriate level of therapies as determined by a closed-loop algorithm. To do this, it is helpful to subject the IMD to sequence of conditions that is known to have previously resulted in generation of therapy by the IMD in a predetermined manner. When the IMD is re-exposed to a same sequence of conditions, the resulting therapy generation may then be compared to the expected therapy to determine whether the IMD design is currently responding as expected.
One way to subject the IMD to a sequence of conditions is to use manual intervention. For instance, a patient may be required to re-enact a sequence of activities and postures that were previously enacted and that were known to result in therapy delivery in an expected manner. During this re-enactment, therapy delivery by the IMD may be compared to the expected therapy delivery to detect differences. A change in the way the IMD is reacting to a sequence of conditions may indicate that a design change has unexpectedly altered the way the IMD is responding. Several problems exist with requiring the type of manual re-enactment of conditions in the manner described above. First, in the scenario wherein the conditions involve posture states, re-enactment generally requires that the patient re-perform each posture and/or activity that was undertaken during the learning phase. This may be time- consuming and tedious for the patient. Moreover, it will likely be difficult for a patient to precisely re-enact each movement in the way it was originally performed. This may result in differences in posture and/or activity level which may, in turn, alter the therapy that is automatically delivered by the IMD. Additionally, ensuring that the patient is accurately re-enacting each posture state using the same timing as previously used is difficult. Such a re-enactment is time-consuming and expensive to conduct
In accordance with the foregoing challenges, the current disclosure provides techniques for automatically re-enacting a sequence of conditions. This type of re- enactment may be useful for regression testing after design changes are made, This type of re-enactment is also useful when implementing new functionality, as when a new closed-loop algorithm is being incorporated into an IMD. In this ease, it may be useful to implement that algorithm in stages such thai at first, the algorithm is implemented using an external programmer, such as a patient programmer, and an external sensor. Later, after the algorithm is verified, the algorithm can be incorporated into the IMD, At that point, it is necessary to perform testing to ensure that the IMD is performing as expected using the algorithm. Techniques for addressing these, and other, types of lest and design validation scenarios are disclosed.
According to one embodiment, the automated system for re-enaeting patient conditions is an automated device such as robotic arm that subjects the device to positions and levels of movement in a manner consistent with a sequence of posture states recorded during a previous learning, or daia collection, phase, In particular, according to this embodiment, the automated device is capable of positioning the device in any position within three-dimensional space. This positioning capability thereby mimics any posture that a patient may assume. The automated device is further capable of generating movement while the device is in a given position. This movement may he generated according to an activity parameter that may be associated with acceleration, velocity or an activity level, for instance. This is discussed further below.
As previously mentioned, the current techniques may comprise two phases: a data collection phase and a validation phase. During the data collection phase, the patient is outfitted with an external sensor. For instance, the sensor may he carried on a belt or otherwise affixed Io an exterior surface of the patient or to the patient's clothing. In one embodiment, this external sensor is a three-axis acceleromeier that detects a patient's posture and an activity parameter (e.g., activity level). The data from this sensor is recorded in the form of patient parameter values. For purposes of the disclosure, patient parameter values describe, or are indicative, of a posture state of the patient. The posture state involves at least one of posture and activity level of the patient. The recorded patient parameter values may be associated with timestamps.
While the external sensor is recording patient parameter values in the foregoing manner, the IMD delivers therapy to a patient. The patient may control this therapy by using a patient programmer. For instance, as the patient transitions from a sitting position to a standing posture, or from a stationary state to an active state, the patient may experience a heightened level of pain. As such, the patient may use the patient programmer to incrementally increase the amplitude of electrical stimulation that is being delivered by the IMD. Such a change may be requested by the patient in anticipation of the posture state transition, during that transition, or sometime after the transition is completed, In a similar manner, the patient may desire to decrease therapy levels, as may occur if a patient transitions from an upright state to a reclining posture.
As the patient uses the patient programmer to modify parameters that control therapy, a description of the delivered therapy is recorded. The therapy description may be expressed in terms of therapy parameter values, which are those parameters that control and adjust delivery of therapy. For electrical stimulation therapy, therapy parameter values may include, for example, current or voltage stimulation amplitude, pulse width, pulse shape, pulse frequency, duty cycles, electrode polarities and configurations, a description of field strength, a description of the programs used to control therapy, and any other parameter or descriptor that describes and/or controls how therapy is being delivered. For other therapies, other types of parameters may be included in this description. For instance, a rate of flow or a bolus of a substance may be recorded for a therapy involving delivery of a substance to a patient.
The description of the delivered therapy may be recorded by the patient programmer or another device associated with this programmer. The recorded therapy description may be recorded in any type of formal. For instance, delta values may be recorded that indicate changes reflected by therapy adjustments (e.g., a requested increase in stimulation by 0.2V). By recording an initial therapy level and one or more such delta values, the sequence of therapy adjustments may be reconstructed. Similarly, the recorded description may describe therapy adjustments in terms of normalized values (e.g., a 10% decrease in amplitude, etc.). Alternatively or additionally, absolute values may be recorded, such as resulting stimulation levels (e.g., 5.0 V). Any one or more of these, or other types, of descriptions may be recorded to describe the delivered therapy. The recorded data may include timestamps.
ID one embodiment, recording of a therapy description may optionally also be performed by the IMD itself. For instance, the IMD may have a measurement module that determines the manner in which therapy is being delivered to a patient. A description of this measured therapy may be stored within the IMD. If the system is operating properly, any description recorded by the IMD should correspond with the data that is being recorded by the patient programmer or an associated device.
If the medical device includes a sensor, the IMD may further record sensor data. If the IMD sensor is of a same type as the external sensor worn by the patient, the sensor data recorded by the medical device may be compared to the data collected by the external sensor. This comparison may be used to determine whether both sensors are operating properly.
Manual data collection may also be performed during the data collection phase if desired. For instance, the patient may be asked to manually record patient parameter values associated with conditions the patient is experiencing. In the current example, the patient parameter values may indicate posture state changes (e.g., transitioning from lying to standing, or from stationary to active). Such parameter values may be recorded in an eDiary, which may be a personal data assistance (PDA), palm pilot, some other type of handheld electronic device, a laptop computer, an audio and/or video recording device, or some other device to record this information. Such data may include one or more timestamps, for instance. The patient may further be asked to use the eDiary to record any therapy adjustments requested by patient via the use of patient programmer.
Data collection will continue in the foregoing manner for a predetermined period of time (e.g., three days) for a particular patient. Thereafter, some of the various types of data that were collected during this period are correlated to one another to create a test data file. For example, the patient parameter values sensed by the external sensor (e.g., posture and/or activity level) may be correlated with a description of the therapy that was being delivered to the patient at substantially the same time. The correlations between patient parameter values and the therapy parameter values may be created using the stored timestamps. Alternatively, in an embodiment wherein data is collected at regular known time intervals (e.g., every three seconds), the order in which the records are created may be used to make the correlations between the patient parameter values and the therapy parameter values.
After the patient parameter values are associated with therapy parameter values in the above-described manner, the resulting test data file describes a sequence of patient parameter values (e.g., a description of the sequence of posture states assumed by the patient, as detected by a three-axis aeeelerometer) and the corresponding therapy that was being delivered to the patient while the patient parameter values were recorded. The recorded therapy parameter values will describe any changes in therapy that occurred over time in response to patient-specified therapy adjustments. If desired, the eDiary entries entered by the patient may be used to validate patient parameter values recorded from the external sensor. For instance, posture states recorded in the eDiary in conjunction with time stamps are used to validate accuracy of the posture states indicated by the patient parameter values sensed by the external sensor, A further validation may compare patient parameter values sensed by any internal sensor of the medical device with those sensed by the external sensor. 'This additional validation step may be used to verify proper operation of any internal sensor included within the IMD, assuming proper operation of the external sensor has already been confirmed.
Next, a validation phase may be entered wherein ihe test data file may be used to automatically recreate the conditions experienced by the patient during the data collection phase. In particular, the patient parameter values from the test file may be provided to an automated device, either directly as raw data or in the form of processed data, such as via test scripts. In either case, the patient parameter values are used to control operation of an automated device, which may be a robotic arm,
As an example of the foregoing, the raw data may include a series of accelerometer readings that each comprises at least one of a vector in three-dimensional space and an activity level. This raw data may be provided to a robotic arm to cause the robotic arm to transition through a series of motions corresponding to the postures and activity states (e.g., activity levels) assumed by the patient during data collection. This re-creation of the posture states experienced by the patient during data collection may occur in real-time. That is, the re-creation may occur over the same time period and at the same speed as the posture state transitions were performed by the patient during data collection. During this validation phase, an IMD that is similar to that which delivered therapy to the patient during data collection is affixed to the automated device in a predetermined manner, Unlike the IMD used during data collection, however, the IMD used during validation will execute a closed-loop control algorithm that adjusts therapy in accordance with a sensor that is contained within, or otherwise accessible to, the IMD, As the automated device re-enacts the posture states in the manner described above, the closed- loop algorithm controlling the IMD will automatically deliver therapy in response to the posture states. The therapy parameter values associated with the delivered therapy may be measured and compared to those recorded during data collection, A miscompare may indicate that a potential problem exists with the IMD design. Therefore, a miscompare will be recorded along with data that may be used by technicians and logic designers to analyze the miscompare situation.
According to another aspect of the disclosure, at least some of the time when a miscompare results, control scripts may be used to prompt an automated programmer to issue a therapy adjustment command to the IMD. This should, in turn, prompt the IMD to adjust therapy according to the levels recorded during the data collection phase. This therapy adjustment may be verified by measuring the resulting therapy parameter values and comparing them against those that were obtained during the data collection phase. This validates the ability of the IMD to respond to changes in the closed-loop operation. In one embodiment, during data validation, the IMD is pre-loaded with a table or other data structure that stores the correlations between therapy parameter values and patient parameter values that are discussed above. These correlations are formed using the values recorded during the data collection phase. This table is used to facilitate closed- loop operation during data validation, In another embodiment, the IMD develops the table of data used to facilitate closed-loop operation at the start of the data validation phase. In particular, the table is populated using therapy parameter values that are provided to the IMD from data collected during the data collection phase. These values may be communicated to the IMD via an automated programmer that operates under the control of controls scripts. Once so populated, this table is used by the IMD to control the closed-loop operation during the data validation phase. As discussed above, during the validation phase, the automated device is automatically re-creating a sequence of conditions (e.g., postures and/or activity states) that occurred during the data collection phase, This is done by providing the patient parameter values collected from the externally-worn sensor to the automated device, According to another aspect of the disclosure, a technique is provided to verify that this recreation is occurring accurately. This involves affixing a sensor to the automated device that is the same as, or similar to, that used as the external sensor during data collection. This sensor may be calibrated such that a predetermined sensor reading is obtained when the automated device is generating a corresponding calibration condition (e.g., is oriented in a predetermined manner and/or moving in a predetermined manner). Once so affixed and calibrated, the patient parameter data collected during the collection phase may be used to control the automated device. When this occurs, the sensor affixed to the automated device detects a sequence of patient parameter values describing the re-created sequence of conditions. This sequence of patient parameter values obtained while re- creating the sequence of conditions (e.g., the posture state transitions) is compared to the sequence of patient parameter values used to control the automated device. The two sequences should be approximately the same. Significant discrepancies may indicate a design problem with control of the automated device. Such problems must be resolved prior to performing validation of the medical device in the manner described above. It will be recognized that while one embodiment of the disclosed mechanisms that is described in detail below relates to the delivery of electrical stimulation therapy, other embodiments are possible. For instance, the disclosed mechanism may be used to validate a device that delivers a drug or other substance to a body in a manner that changes based on conditions to which an IMD is subjected. The disclosure may likewise be used to validate any other type of IMD that delivers another type of therapy, including light, motion, and/or sound in a closed-loop manner.
FIG. 1 is a conceptual diagram illustrating an example system 10 that facilitates closed-loop therapy adjustment. In the illustrated example, system 10 includes an IMD 12, which is implanted within, and delivers neurostimulation therapy to, patient 14. In exemplary embodiments, IMD 12 takes the form of an implantable pulse generator, and delivers neurostimulation therapy to patient 14 in the form of electrical pulses. It will be understood that IMDs configured in a manner other than that shown in FIG. 1 and/or that
n deliver other types of therapy may be usefully employed with the validation techniques described herein, and FIG, I is merely exemplary.
IMD 12 delivers neiirostiraulation therapy to patient 14 via leads 16A and 16B (collectively "leads 16"), Leads 16 may, as shown in FIG. 1, be implanted proximate to the spinal cord 18 of patient 14, and IMD 12 may deliver SCS therapy to patient 14 in order to, for example, reduce pain experienced by patient 14, In other configurations, one or more leads 16 may extend from IMD 12 to the brain (not shown) of patient 14, and IMD 12 may deliver deep brain stimulation (DBS) therapy to patient 14 to, for example, treat tremor, Parkinson's disease, or epilepsy. As further examples, one or more leads 16 may be implanted proximate to the pelvic nerves (not shown), stomach (not shown), or sexual organs (not shown) and IMD 12 may deliver neurostimulation therapy to treat incontinence, gastroparesis, or sexual dysfunction. IMD 12 may additionally or alternatively be coupled to one or more catheters to deliver one or more therapeutic substances to patient 14, e.g., one or more drags, In exemplary embodiments, IMD 12 delivers therapy according to one or more programs, A program includes one or more parameters that define an aspect of the therapy delivered by the medical device according to that program. For example, a program that controls deliver}' of stimulation by IMD 12 in the form of pulses xriay define a voltage or current pulse amplitude, a pulse width, a pulse shape, an electric field and/or a pulse rate, used to deliver energy to tissue according to that program. Further, each of leads 16 may carry electrodes (not shown in FlG 1), and the parameters for a program that controls delivery of stimulation therapy by IMD 12 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. Programs that control delivery of other therapies by IMD 12 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 and/or size of bolus deliveries.
As discussed above, in one embodiment, IMD 12 may deliver therapy to patient 14 according to therapy information within a record, A plurality of records may be stored in a table or other data structure. This structure may be continually updated as associations are formed between therapy information (e.g., therapy parameter values) and patient parameter values during a 'learning" process. Each record includes at least one sensed patient parameter value (e.g., a sensed value thai indicates patient posture or activity). This value may be associated therapy information. The therapy information may comprise a complete program that IMD 12 uses to deliver therapy, one or more therapy parameter values, or absolute or percentage adjustments for one or more parameters. When IMD 12 later detects a value of a patient parameter that was previously stored and associated with a therapy adjustment, IMD 12 may automatically adjust therapy as indicated by the therapy information in the record for the patient parameter value, e.g., by delivering therapy according to the program in the record, or by adjusting one or more parameters as indicated by the therapy information in the record.
In the illustrated example, system 10 also includes a programming device 20, which may, as shown in FIG. 1, be a handheld computing device. Programming device 20 allows a user to interact with IMD 12. Programming device 20 may, for example, communicate via wireless communication with IMD 12 using radio-frequency (RF) telemetry techniques, or any other techniques known in the art.
Programming device 20 may, as shown in FIG. 1 , include a display 22 and a keypad 24 to allow the user to interact with programming device 20. In some embodiments, display 22 may be a touch screen display, and the user may interact with programming device 20 via display 22. The user may also interact with programming device 20 using peripheral pointing devices, such as a stylus or mouse. Keypad 24 may take the form of an alphanumeric keypad or a reduced set of keys associated with particular functions. In some embodiments, keypad 24 may include an increase amplitude button and a decrease amplitude button to directly adjust stimulation amplitude.
In exemplary embodiments, programming device 20 is a patient programmer used by patient 14 to control the delivery of neurostimulation therapy by IMD 12. Patient 14 may use programming device 20 to activate or deactivate, e.g., start or stop, neurostimulation therapy. Patient 14 may also use programming device 20 to adjust the therapy. For example, a patient may use programming device 20 to select one or more programs from among a plurality of stored programs. The selected program is then used by IMD 12 to deliver therapy. This may occur, for example, when patient 14 switches from one program to another using programming device 20. The programs may be stored by IMD 12 or patient programmer 20. Further, patient 14 may also use programming
IS device 20 to adjust therapy by adjusting one or more stimulation parameters such as, but not limited to, the amplitude, width, rate, field shape, pulse shape, and/or duty cycle of delivered stimulation for the one or more programs.
Patient 14 may provide a number of consecutive inputs to adjust the therapy information, These consecutive inputs may be described singly as a "therapy adjustment," Programming device 20 and IMD 12 may treat all consecutive inputs as an adjustment before acting on the changes. Each input may only he separated by a pre-defined time delay, or all inputs may occur within a predefined time period, to treat the inputs as one adjustment. When patient 14 adjusts one or more stimulation parameters, and/or switches programs, IMD 12 detects a value of a sensed patient parameter, and associates therapy information with the detected value. In some embodiments, IMD 12 stores the associated parameter value and therapy information as a record within a table or other data structure. This type of information may subsequently be used to control IMD 12 in a closed-loop manner. If an existing record already contains the same patient parameter value as is currently sensed by the system, IMD 12 may modify the existing record to include new therapy information based on the patient adjustment. Otherwise, IMD 12 may add a new record with the associated patient parameter value and therapy information,
In some embodiments, the data structure containing the above-described associations may he maintained by, and stored in, programming device 20 instead of
IMD 12. Accordingly, one or both of IM D 12 and programming device 20 may provide closed-loop adjustment of the therapy delivered by IMD 12. In embodiments in which programming device 20 maintains the data structure, the programming device may receive therapy adjustments from patient 14 via user interface components such as display 22 and keypad 24. In such embodiments, programming device 20 may include sensors that sense the patient parameter, or may receive values of the patient parameter from IMD 12. Programming device 20 may send commands to IMD 12 based on therapy information stored in the data structure to effect closed-loop delivery of therapy,
In response to receiving a therapy adjustment from patient 14, e.g., via programming device 20, !MD 12 detects a value of a sensed patient parameter, and associates therapy information with the value. The sensed parameter value may be an activity and/or posture of patient 14, and the therapy information may include the therapy parameters currently used, or adjustments to such parameters made, at the time the sensed patient parameter value was detected. In exemplary embodiments, IMD 12 continually 'learns"' such associations, e.g., by updating the applicable table or other data structure. Closed-loop delivery of therapy by IMD 12 based on the associations of therapy information with sensed patient parameter values may eventually eliminate the need for patient 14 to manually adjust therapy parameters.
For example, patient 14 may adjust the amplitude of stimulation, which may indicate that the original program was inadequate to treat the patient because of a change of symptoms. The change in symptoms may be correlated with a change in a sensed patient parameter. For example, both of these changes may be due to the patient undertaking an activity or posture, such as running, golfing, taking medication, sleeping, sitting, bending over, transitioning from sitting to standing, or some particular activity or posture related to an occupation of patient 14, IMD 12 may associate therapy information determined based on the received therapy adjustment with a value of a patient parameter, e.g., an activity, activity level, or posture, that is sensed at the time of the therapy adjustment by a sensor.
In some embodiments, a user other than patient 14 may user programmer 20, or another programming device that may or may not he associated with patient 14, to adjust therapy for patient. The therapy adjustments made by another user may result in updating the table or other data structure with a new or modified association of a therapy parameter value with a patient parameter value.
Further, in some embodiments, IMD 12 may also monitor the sensed patient parameter, and create additional associations between patient parameter values and existing therapy information, without receiving any therapy adjustment from patient 14. In particular, when the sensed patient parameter value has changed without a therapy adjustment, IMD 12 may automatically associate the patient parameter value with therapy information determined based on the current, unadjusted therapy parameters. In some embodiments, IMD 12 may only make such an automatic, non-adjustment based association if the sensed patient parameter value has changed by a threshold or "'resolution'" value, which may be for example an absolute or percentage value,
The resolution value for the sensed patient parameter may control the size and resolution of a data structure that stores associations between values of the patient parameter and therapy information; whether the associations are made based on a therapy adjustment or not, The resolution value may be set by, for example, by a manufacturer of IMD 12 or a clinician, and controls difference In the parameter value that IMD 12 identifies as being significant enough to update the data structure. If the resolution value is set to a high value, the data structure may include a greater number of records, each with respective values for the patient parameter, A high resolution value may accordingly provide more stimulation control. Alternatively, the resolution value may be set to a low value to limit the number of records in the data structure, which would also result in less frequent therapy adjustments. In some embodiments, IMD 12 may increase the resolution value if existing records are frequently being modified or overwritten, e.g., in response to frequent therapy adjustments by the patient or other user. This occurrence may indicate thai patient 12 or other user needs a higher level of control of adjustments to stimulation therapy.
A sensor used to sense patient parameters may be implanted at a site within patient 14, worn on the exterior of the patient, or located within IMD 12. An example sensor is a three-axis accelerometer located within IMD 12. Patient parameter values detected by IMD 12 based on the signals generated by such a sensor may correspond to an activity and/or posture undertaken by patient 14, Signals related to activity may describe a gross level of physical activity such as activity counts based on footfalls or the like, an activity vector in three-dimensional space indicating direction of velocity or acceleration, etc.
As one example, a three-axis accelerometer may provide a signal that includes both a DC and an AC component. The DC component indicates the orientation of the acceleroraeter within the earth's gravitation field. Assuming the accelerometer is in a fixed known position in relation to the patient's body, the DC component of ihe accelerometer measurement may be used to determine a posture of a patient. In particular, the DC component of the accelerometer may be expressed as a vector in three-dimensional space. By comparing this vector to vectors that have been used to define known postures, a patient's posture may be classified as one of the known postures, or alternatively classified as being ""not classified''.
Similarly, a signal provided by an accelerometer may also include an AC component that may be used to determine and classify a patient's activity, including the activity level, velocity and/or acceleration of the patient's motion, a direction of the velocity and/or direction of acceleration associated with the motion, etc.
In this manner, a three-axis aceelerorneter signal may be used to classify a patient's posture state as well as changes in that posture state, where a posture state includes at least one of a posture and an activity level parameter. Techniques for detecting and classifying posture states are described in commonly-assigned patent applications entitled "Posture State Classification for a Medical Device", Serial Nos. 12/433,004 and 12/432,993, both filed April 30, 2009.
As an example of use of a three-axis aceelerorneter signal, IMD 12 may record the aceelerorneter signal, which is then associated with a therapy adjustment that is received contemporaneously with receipt of the aceelerorneter signal. When IMD 12 later detects the same output from the aceelerorneter, e.g., when patient 14 is again in a same position as when the signal was recorded, IMD 12 may automatically deliver therapy appropriate for that position. By providing therapy adjustments automatically, IMD 12 may allow patient 14 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, requiring patient 14 to, for example, depress one or more keys of keypad 24 multiple times during the patient activity to maintain adequate symptom control. Instead, when closed-loop therapy is delivered, patient 14 may eventually need to manually adjust stimulation therapy rarely, if at all, once IMD 12 has compiled a comprehensive program table.
As may be appreciated, the automated delivery of therapy in a closed-loop manner must, at some point, be validated. This validation process is necessary to ensure that therapy selected by the patient is indeed being delivered in response to detected conditions that are the same as those recorded during a learning period. Generally, this type of validation may be performed during design testing and implementation. As discussed in detail below, techniques are provided for automatically performing this validation in a manner that is accurate, efficient, cost effective, and reproducible. FIG. 2 is a block diagram illustrating IMD 12 in greater detail. IMD 12 may deliver neurostimulation therapy via electrodes 30 A-D of lead 16A and electrodes 30E-H of lead 16B (collectively "electrodes 30''}. Electrodes 30 may be ring electrodes or some other type of electrodes. The configuration, type and number of electrodes 30 illustrated in FSG. 2 are merely exemplary. For example, (MD 12 may be coupled to one lead with eight, or some other number, of electrodes on the lead. Alternatively, IMD 12 may be coupled to more than two leads. Electrodes 30 are electrically coupled via leads 16 to a therapy delivery module 32, which may be a stimulation pulse generator. Therapy delivery module 32 may, for example, include an output pulse generator coupled to a power source such as a battery. Therapy delivery module 32 xϊiay deliver electrical pulses to patient 14 via at least some of electrodes 30 under the control of a processor 34. Processor 34 may control therapy delivery module 32 to deliver neurostimulation therapy according to a selected program. Specifically, processor 34 may control therapy delivery module 32 to deliver electrical pulses with the amplitudes and widths, and at the rates specified by the program. Processor 34 may also control therapy delivery module 32 to deliver the pulses via a selected subset of electrodes 30 with selected polarities, e.g., a selected electrode configuration, as specified by the program,
Processor 34 may also control therapy delivery module 32 to deliver the neurostimulation therapy according to records stored within a table or other data structure, as described above. Processor 34 may create and modify this table during a learning period, and at time thereafter as determined by a closed-loop therapy delivery algorithm. Specifically, processor 34 may receive a therapy adjustment from a user, such as patient 14, detect a patient parameter value, and associate therapy information with the patient parameter value by creating or modifying a record within the data structure, as described above.
Processor 34 may subsequently detect previously-recorded patient parameter values, and control therapy delivery module 32 to deliver therapy via at least some of electrodes 30 as indicated by the associated therapy information. For example, processor 34 may control therapy delivery module 32 to deliver stimulation pulses with the amplitude, width, rate, shape, and/or electrode configuration indicated by the therapy information, or, in some embodiments, may control therapy delivery module 32 to adjust the amplitude, width, and/or rate over time as indicated by the therapy information. IMD 12 may also include a telemetry circuit 38 that allows processor 34 to communicate with programming device 20. Processor 34 may receive program selections, therapy parameter adjustments, or other therapy adjustments, as well as commands to initiate or terminate stimulation, from a user, e.g., patient 14, This information may be received from programming device 20 via telemetry circuit 38,
In some embodiments, processor 34 also communicates with a clinician programmer to provide diagnostic information and validation data stored in memory 36 to a clinician via telemetry circuit 38, The clinician programmer may operate similarly to programmer 20, but the clinician programmer may be more fully featured, e.g., provide greater control of or interaction with I MD 12, than programming device 20. Telemetry circuit 38 may correspond to any telemetry circuit known in the implantable medical device arts.
In exemplary embodiments, as described above, IMD 12 includes at least one sensor 40 that senses a patient parameter, Processor 34 detects values of a patient parameter based on one or more signals generated by sensor 40, Sensor 40 may be a sensor that generates an output based on activity (activity level and/or direction), posture, and/or one or more physiological parameters of patient 14, as discussed above. In exemplary embodiments, sensor 40 is a three-axis aecelerometer, such as a piezoelectric and/or micro-el ectro-mechanica! aecelerometer. In other embodiments, a single-axis aecelerometer may be employed, or multiple single-axis accelerometers may be used in place of one three-axis aecelerometer. For instance, IMD 12 may include multiple sensors oriented along various axes.
In some embodiments, processor 34 processes the analog output of sensor 40 to determine activity and/or posture information. For example, where sensor 40 comprises a micro-electro-mechanical aecelerometer, processor 34 may process an AC component of the raw signal provided by sensor 40 to determine activity counts of the system, which may be indicative of footfalls, for instance. As another example, processor 34 may process the AC signal component to determine velocity or acceleration of motion along one or more axis. A DC component of the sensor signal may be used to derive posture, as discussed above.
Although illustrated in FlG. 2 as including a single sensor 40, other configurations may include any number of sensors (hereinafter '"sensor 40"). Moreover, in exemplary embodiments, sensor 40 is housed within a housing (not shown) of IMD 12. In other configurations, one or more sensors may be coupled to IMD 12 via additional leads 16 (not shown). Such sensors may be located anywhere within patient 14, For instance, IMD 12 may be coupled to multiple acceleroraeter sensors located at various positions within patient 14 or on the external surface of patient 14, and processor 34 may receive more detailed information about the posture and/or activity undertaken by patient 14, For example, accelerometer sensors may be located within the torso and at a position within a limb, e.g., a leg, of patient 14.
Sensor 40 may communicate wirelessly with IMD 12 instead of requiring a physical connection with the IMD. For example, a sensor located external to patient 12 may communicate wirelessly with processor 34, either directly or via programming device 20, In some embodiments, one or more sensors may be included as part of or coupled to programming device 20.
The exemplary system of FIG. 2 further Includes processor 34, which may comprise 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, IMD 12 also includes a memory 36, which may include programmed instructions that, when executed by processor 34, cause IMD 12 to perform the functions ascribed to IMD 12 herein. Memory 36 may include any volatile, mm- volatile, magnetic, optical, or electrical media, such as a random access memory (RAM), read-only memory (ROM)5 non-volatile RAM (NVRAM), electrically-erasable programmable ROM (EEPROM), flash memory, and the like.
IMD 12 may further include a measurement module 42 to determine the therapy that is being delivered by therapy delivery module 32, For instance, measurement module 42 may be used to record amplitude, frequency, duty cycle, shape, the field generated, electrode usage, and other parameters associated with therapy delivery. Such measurement may be performed by voltage and/or current detection circuits, A/D converters, and other logic circuits used to detect and digitize electrical signals. Additionally or alternatively, measurement module 42 may include circuits for reading registers of therapy delivery module 32 to determine how therapy is being delivered by therapy delivery module 42. These measured and/or retrieved values may be recorded within memory 3(S and provided by telemetry circuit 38 to an external device such as a clinician or laboratory programmer in a manner to be discussed below.
? > FIG. 3 is a block diagram illustrating an exemplary configuration of memory 36 of 12. As illustrated in FIG. 3, memory 36 stores programs 50, one or more of which processor 34 (FiG. 2) may select to control delivery of stimulation by therapy delivery module 32, 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, as described above. Processor 34 may select one or more programs based on input or commands received from patient 14 via programming device 20 and telemetry circuit 38. Programs 50 may have been generated using a clinician programmer, e.g., during an initial or follow-up programming session, and received by processor 34 from the clinician programmer via telemetry circuitry 38. In other embodiments, programming device 20 stores programs 50, and processor 34 receives selected programs from programming device 20 via telemetry circuit 38.
In some embodiments, memory 36 also stores an indication of the current therapy parameters 52 used by processor 34 to control delivery of stimulation by therapy delivery module 32. Current therapy parameters 52 may identify the one or more selected programs, or may reflect modifications to one or more therapy parameters of the one or more programs based on patient adjustment. Further, processor 34 may determine current therapy parameters 52 based on therapy information associated with a detected value of a sensed patient parameter, as described herein, As described above, patient parameter values table 54 comprises a plurality of records that each includes at least one respective value of a patient parameter and associated therapy information. When therapy is first initiated, table 54 may be empty. As therapy progresses during a learning phase, processor 34 creates records, by associating therapy information with patient parameter values, and stores them in table 54. If a therapy adjustment causes processor 34 to identify a sensed patient parameter value that is substantially identical to, or within an allowable tolerance of, a patient parameter value for an existing record, processor 34 modifies the existing record based on new therapy information in order to keep updated therapy information available for stimulation therapy. In this manner, IMD 12 is capable of adapting to changes in patient physiology during the therapy. For instance, patient parameter values stored in table 54 may include the raw output of sensor 40, which may be an acceleromeier. Additionally, or alternatively, the parameter values could include processed signal data obtained via hardware processing, software processing, or some combination thereof. If the sensor is an aeceleromeler, the processed signal data may include an AC signal component, a DC signal component, a posture classification, an activity level, and/or some other indication of activity of the
Processor 34 may also collect diagnostic information 56 that is then stored within memory 36 for future retrieval by a clinician. Diagnostic information 56 may, for example, include selected recordings of the output of sensor 40 and/or of therapy changes made by patient 14. In exemplary embodiments, diagnostic information 56 may include information identifying the time at which patient sensor outputs occurred. Diagnostic information 56 may include other information or activities indicated by patient 14 using programming device 20, such as changes in symptoms, taking medication, or other activities undertaken by patient 14.
A clinician programming device (not shown in the figures) may present diagnostic information 5(S to a clinician in a variety of forms, such as timing diagrams, or a graph resulting from statistical analysis of diagnostic information 56, e.g., a bar graph. Diagnostic information 56 may also include calibration routines for sensor 40 and malfunction algorithms to identify stimulation or control dysfunctions.
FIG. 4 is a block diagram further illustrating programming device 20. As indicated above, in exemplary embodiments programming device 20 takes the form of a patient programming device used by patient 14 to control delivery of therapy by IMD 12,
Patient 14 may interact with a processor 60 via a user interface 62 in order to control delivery of neurostimulation therapy, e.g., provide patient therapy adjustments, as described herein. User interface 62 may include display 22 and keypad 24, and may also include a touch screen or peripheral pointing devices as described above. Keypad 24 may include an increase amplitude button and a decrease amplitude button. Processor 60 may also provide a graphical user interface (GUI) to facilitate interaction with patient 14. Processor 60 may include a microprocessor, a controller, a DSP, an ASIC, an FPGA, discrete logic circuitry, or the like.
Programming device 20 also includes a telemetry circuit 64 that allows processor 60 to communicate with BVID 12. In exemplary embodiments, processor 60 communicates commands, indications, and therapy adjustments made by patient 14 via user interface 62 to IMD 12 via telemetry circuit 64. Telemetry circuit 64 may correspond to any telemetry circuit known in the implantable medical device arts.
Programming device 20 also includes a memory 66. In some embodiments, memory 66, rather than memory 36 of IMD 12, may store programs 50 and table 54 to control delivery of neurostimulation therapy. Memory 66 may also include program instructions that, when executed by processor 60, cause programming device 20 to perform the functions ascribed to programming device 20 herein. Memory 66 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, EEPROM5 flash memory, and the like,
FlG. 5 is a flow diagram illustrating an example technique for automatically associating therapy information with patient parameter values in response to patient therapy adjustments. More particularly, FiG 5 illustrates an example technique for updating a program table following therapy adjustments by patient 14. The illustrated technique may be performed by a medical device, such as IMD 12, and will be described with reference to ΪMD 12 and system 10,
During therapy, processor 34 of ΪMD 12 receives a therapy adjustment from patient 14 via programmer 20, e.g., an amplitude adjustment (70). Processor 34 determines therapy information, such as the amount or percentage of the amplitude adjustment, the adjusted value of the amplitude, or respective values for a plurality of therapy parameters including the adjusted amplitude value, based on the therapy adjustment. Processor 34 also identifies a current value of a patient parameter, such as posture or activity, based on a signal generated by sensor 40 (72).
Processor 34 determines whether any of the records in table 54 already include or encompass the identified patient parameter value (74), If the patient parameter value is already in an existing record of table 54, processor 34 modifies, or in some cases, adds to, the existing record based on the newly determined therapy information (76). Otherwise, processor 34 may enter a new record including the identified patient parameter value and the determined therapy information into the table 54 (78), The determination of whether a value of the sensed patient parameter is included in or encompassed by a record already in table 54, e.g., whether the value is substantially equivalent to an existing value, may
23 depend on the resolution value for the sensed parameter, which was discussed above with reference to FIG. 1.
In some cases, the therapy adjustment received frora patient 14 may be one or more inputs or a command that stops delivery of therapy. Such an adjustment Indicates that the current therapy parameter values 52, whether they were determined based on a program 50 or therapy information from table 54, were inappropriate for the current condition of patient 14. The current condition of the patient is reflected by the current value of a sensed patient parameter. As an example, the patient may stop therapy if it becomes too intense when a particular posture such as lying down is assumed, In response to such a therapy adjustment, processor 34 may remove any current association between the current value of the sensed patient parameter and therapy information, e.g., delete any record in table 54 for the current value of the sensed patient parameter. In this manner, the next time patient 14 assumes a problematic posture or activity, no change in therapy from whatever therapy is currently being delivered will occur. As another alternative, in this type of situation, processor 34 may instead create a new record or modify an existing record such that a relatively innocuous, predetermined therapy program is associated with the patient parameter value that indicates the problematic condition, e.g., posture or activity, of the patient.
Alternatively, processor 34 or programming device 20 may request patient 14 to assume the activity or posture associated with the therapy discontinuation, and manually find therapy parameters that provide comfortable and efficacious therapy, In this case, processor 34 or the programming device may provide some guidance or direction to patient 14 to assist in quickly determining therapy parameters that are effective. Once such parameter values are found, IMD 12 may create a record in table 54 that associates the previously problematic sensed patient parameter value with the therapy information chosen by patient 14.
Part of the learning process may involve monitoring therapy adjustments over a relatively long period of time. Using averaging or some other processing method, base- level therapy parameters may be derived that reflect an average level of therapy generally desired by a patient in a given situation (e.g., when transitioning from a prone to a sitting position) as determined by the patient parameter values, in addition to this base-level therapy parameter, one or more short-term adjustments may also be associated with this same posture transition, and may be used to adjust therapy over a shorter predetermined period of time,
As an example of the foregoing, over a long learning period, it may be determined that a patient desires a stimulation level of approximately 1.0 V in response to detecting one or more patient parameter values indicating a transition from a prone to a sitting posture. Thus, therapy is delivered to the patient at this stimulation level as a default when this posture transition is detected. However, on a day when the patient is experiencing a higher level of pain, the patient may incrementally adjust the stimulation upward by .2V after this posture transition. This adjustment may be associated as a short-term adjustment with the posture transition such that during the current day, a therapy level of 1 ,2V will he delivered to the patient whenever the patient transitions from a prone to a sitting position. This therapy delivery continues throughout the current day unless another incremental adjustment is received from the patient during the same day that changes the adjustment value. When the next day arrives, therapy delivery resumes to the base-level of 1 ,0V in response to detection of the particular posture transition. Thus, it may be appreciated that in this embodiment, the IMD may be recording associations between patient parameter values and therapy values not only during an initial learning period, but also during every day use by the patient,
Once IMD 12 has "learned'* the associations between sensed patient parameter values (e.g., accelerometer values) and therapy parameters that control how therapy is to be delivered, !MD may begin delivering therapy in an automated way. During this time, few, if any, patient adjustments may be needed. This type of operation is described in reference to FIG. 6.
FIG. 6 is a flow diagram illustrating an example technique for delivering stimulation in a closed-loop manner, and further for automatically associating existing therapy information with additional patient parameter values. The illustrated technique may be performed by a medical device, such as IMD 12. Operation will be described with reference to IMD 12 and system 10. As shown in FIG, 6, processor 34 of IMD 12 controls pulse generator 32 to deliver therapy according to the therapy information stored in table 54 (80). As previously discussed, this therapy deliver)' may be performed using a base-level therapy value and an incremental adjustment. Processor 34 may adjust therapy parameters or change therapy programs as indicated by therapy information stored in records of table 54. Processor 34 accesses different records, and thus different therapy information, based on detected values of a sensed patient parameter, which may provide information regarding the posture and/or activity of a patient.
While therapy is being delivered according to table 54, a patient may make an incremental adjustment (81 ). If this occurs, the therapy that is being delivered according to the table may be adjusted accordingly (82). In one embodiment, this adjustment may be stored within table 54 for use in automatic therapy delivery either indefinitely, or for a subsequent predetermined period of time, such as during the current day.
If a therapy adjustment is not detected in step 81 , therapy delivery continues until a change in a patient parameter value is detected (83). When processor 34 detects a change in the patient parameter value (83), the processor may determine whether the parameter value is already in the table (84). As discussed above, this determination may depend on a resolution value for the sensed patient parameter. If the detected patient parameter value is already in table 54, processor 34 may control therapy generator 32 to deliver therapy according to the table, e.g., according to the therapy information associated with the detected patient parameter value in the table (80). If the detected patient parameter value is not already in table 54, processor 34 may enter a new record in table 54 for the value, which associates the detected patient parameter value with the current therapy parameter values 52 (86), In this manner, processor 34 may continue to populate table 54 with therapy information for various values of therapy and/or the sensed patient parameter even after a learning period is over and the table has been put into use for providing automated
In some embodiments, processor 34 may wait a predetermined time after the sensed patient parameter value changes before storing a new record. Since the output of sensor 40 may change rapidly, recording a new record for each small change in sensor output may not be necessary or even possible without slowing down the performance of processor 34. Processor 34 may wait for 10 seconds, for example, in order to let the sensor output stabilize before generating a new record.
FlG 7 is a chart illustrating an example patient parameter value table that may be used for closed-loop adjustment of therapy. Table 110 may correspond to table 54 stored in memory 36 of IMD 12. As shown in FlG. 7, table 110 includes a plurality of records. Each record contains several values derived from an accelerometer output, which is an example of a value of a sensed patient parameter, The table further includes an amplitude, a pulse width, a pulse frequency, and an electrode configuration, which are values for example therapy parameters. Processor 34 may search table 1 10 based on a currently- detected accelerometer output in order to match therapy to the current condition, e.g., posture and/or activity, of patient 14, hi the current example, the accelerometer output is from a three-axis accelerometer. An AC portion of the accelerometer output may be used to derive one or more values indicative of motion of the patient, such as activity level, velocity, acceleration, and so on. In ihe current example, activity levels (e.g., Al ~ A5) are shown to be utilized, which may represent footfalls. A DC portion of the acceleroraeter output may be used to determine a value indicative of the orientation of the accelerometer within a gravitational field. 'This value may be expressed as a three-dimensional vector having X, Y, and Z components. Assuming the accelerometer position is fixed with respect to IMD 12, and the position of IMD 12 is fixed with respect to patient 14, the vector measurement may be used to determine a patient' s posture.
In another embodiment, the vector may he accompanied by a tolerance, which represents some distance from the vector. For instance, the tolerance may be expressed as a cosine of an angle describes an area surrounding the vector. This area may define a cone in three-dimensional space. The vector determined from the output of an accelerometer will be matched with a table entry whenever that vector lies within the cone (assuming any activity criteria for that table entry is also satisfied). This provides a mechanism for matching any accelerometer output with one of a limited set of posture states.
According to one embodiment, if a record is not located having the same, or an applicable, activity and/or posture as is indicated by the current acceleroraeter output, processor 34 may enter a new record into program table 110.
Each posture state of table 1 10 may be associated with therapy information. Therapy information may include a voltage amplitude (as shown in the example), a current amplitude, or some other amplitude, as may be ihe case if a therapy other than stimulation is being provided. The current example also provides a stimulation pulse width in microseconds (μs), the pulse frequency (Hz)5 and the electrode configuration, which determines the electrodes and polarity used for delivery of stimulation according to ihe
20 record. Other therapy parameter values may be used instead of, or in addition to, those shown in table 1 10.
Table 110 also illustrates the recording of an incremental adjustment, which in this example is an adjustment to the voltage amplitude. This adjustment may he received from a patient and used to adjust therapy amplitude for some predetermined period of time (e.g., the current day). When such an adjustment is received, it is entered into a table entry associated with the currently-sensed activity level and posture, and is thereafter used to adjust therapy when the patient is in that posture state. This continues until a different adjustment for this posture state is received, or until the predetermined period of time has elapsed (e.g., the next day arrives).
During system development and test of IMD 12, it is necessary to have a mechanism to validate that the IMD is indeed delivering the appropriate level of therapies, both during open-loop operation, and during closed-loop therapy delivery. The current disclosure provides techniques for performing this validation in an automated manner as described with respect to the remaining drawings,
FIG. 8 is a block diagram illustrating a mechanism for performing data collection according to one embodiment. Sensor logic 152 is affixed to patient 150, as may be performed by clipping or otherwise attaching this logic in a stationary manner to an external surface of the patient or the patient's clothing. This sensor logic 152 may include a sensor such as an accelerometer discussed above. This logic may optionally further include other hardware, software, and/or firmware modules to pre-process the output of the sensor, as will be discussed below.
Sensor logic 152 may be affixed to patient 150 in a predetermined orientation. For instance, if sensor logic 152 includes a three-axis accelerometer, sensor logic may be affixed to patient 150 in a known orientation with respect to the patient, As an example, a Y axis of the accelerometer may be aligned approximately with the patient's spine and the X axis of the accelerometer may be aligned with the patient's lateral axis. Any other predetermined alignment maybe used in the alternative. Alternatively, sensor logic 152 may he affixed to patient 150 and the three-axis accelerometer calibrated so that a predetermined accelerometer reading is provided when patient 150 is in a predetermined position, such as standing. Techniques for performing calibration are described in commonly-assigned U.S. Patent Application Serial No. 12/433,623 filed April 30, 2009, entitled '"Reorientation of Patient Posture States for Posture-Responsive Therapy".
Patient 150 carries an SMD 154 that delivers therapy in a known manner. For instance, IMD 154 may provide electrical stimulation therapy to the patient in a previously- verified open-loop fashion that responds to therapy modification commands from a programmer such as patient programmer 158, which maybe similar to patient programmer 20 (FIG. I).
Patient 150 uses patient programmer 158 to control the therapy delivered by IMD 154. When patient programmer 158 receives patient adjustments to modify the therapy that is being delivered by IMD, patient programmer communicates these adjustments to IMD 154, which responds accordingly to deliver the therapy in an altered manner. Patient programmer 158 may communicate such modifications via a wireless communication session such as a telemetry downlink session,
In one embodiment, patient 150 may also be provided with electronic means for manually recording conditions associated with sensor logic 152. For instance, the electronic means may be an eDiary 156 such as a personal data assistant (PDA) or other recording device for recording patient-entered data with a key pad, stylus, and/or via other user interface mechanisms.
The system of FIG, 8 further includes an automated programmer 160 (also referred to as a "lab programmer'"). This programmer may be a modified clinician programmer that has a larger set of capabilities and functions than patient programmer 158. These functions include the ability to communicate with, and control IMD 154. Automated programmer 160 may be adapted for use in configuring the system of FIG. 8 for data collection. During a data validation phase that may occur after data collection is complete, automated programmer 160 is adapted to automatically issue commands that cause an IMD to adjust therapy, as will be described further below.
The various components of the system of FSG. 8 are used in concert to perform data collection as follows. First a synchronizing event is performed that synchronizes operation of patient programmer 158, sensor logic 152, eDiary 156, and optionally IMD 154. Such a synchronizing event may be a synchronization command that is selected via a user interface of an automated programmer 160, for example. Such a command may be communicated via wireless communication (e.g., telemetry) to each of the other devices, including patient programmer 158, sensor logic 152, eDiary 156, and IMD 154. Alternatively, one or more of these other devices may receive this command via a hardwired connection such as provided via a USB cable or any other type of communication connection. In one instance, some other type of signal, such as a hardwired reset signal, may be communicated to each of devices 152- 158 at the same time for use as a synchronization event, in yet another embodiment, this synchronization event may alternatively or additionally involve some manual intervention, such as activating a reset switch, removing or providing a magnet that activates a configuration function, and so on. The synchronization event is used to synchronize respective counter/timers in each of the devices 152-158. For instance, the synchronization event may zero all of the counter/timers so that clocks in each of the devices are synchronized to one another.
After the synchronization event, IMD 154 may begin delivering therapy to patient 150 according to a known manner. For instance, electronic stimulation therapy may be delivered to patient via one or more leads according to a known amplitude, frequency, electrode configuration, and so on. The way in which therapy is initially delivered may be selected according Io the algorithm being executed by IMD 154 and patient programmer 158. While therapy is being delivered, therapy parameter values describing the delivered therapy are recorded by patient programmer 158, For instance, a record 162 that is created during this process may describe amplitude, frequency, duty cycle, pulse width, pulse shape, electrode combinations, electrode polarities, program usage, and so on, for the delivered electrical stimulation therapy. Each such record describing delivered therapy may be recorded along with a time stamp indicating the time at which the record was created. This time may be a relative indication, such as an elapsed time since the synchronization event occurred or a time since the last record was recorded. Alternatively, the time may be related to the time in a selected time zone. One or more of these records 162 may include additional information such as patient identification data, a date in which the record was created, and so on. Alternatively, some or all of the records may omit this type of additional information to conserve storage space. Each record 162 may be created within a storage device of patient programmer 158, such as memory 66 (FIG. 4). Alternatively or additionally, each record 162 may be created in the memory of some other device, such as a persona! computer or automated programmer 160. These records may be communicated to, and stored within, a memory of a device using wireless and/or hardwired communication link(s).
During the data collection, the patient goes about a daily routine. The patient may request adjustments to the delivered therapy. For instance, patient 150 may utilize patient programmer 158 to request incremental modifications to therapy. Such modifications may be desired because of changes in patient parameter values (e.g., changes in posture and/or activity level). For instance, the patient may want to increase stimulation levels when commencing a higher level of activity. When such therapy modification requests are received by patient programmer 158, patient programmer makes a record of the requested therapy modification. This may be recorded as some type of delta value, indicating a change between currently-delivered therapy and the therapy the patient requests. Alternatively, this may be recorded in terms of the therapy levels that will result after the modifications are applied. In either case, the recorded therapy adjustment may he stored along with a timestamp. The requested therapy modifications are communicated to the LMD 154 for use in altering delivered therapy.
While patient programmer 158 is recording therapy parameters indicative of the on-going therapy being delivered to patient 150, sensor logic 152 is sensing patient parameters indicative of a condition being experienced by the patient. For instance, assuming sensor logic 152 contains an aceelerometer, sensor logic 152 records a posture state of a patient that describes at least one of a current patient position (posture) and a patient activity (e.g., activity level, velocity, acceleration, direction of the velocity, direction of acceleration, etc.) In the current example, sensor logic 152 may record patient posture using a vector in three-dimensional space as described with respect to FIG. 7. Each such record 164 containing a sensed posture state may be associated with a timestamp indicating a time of recordation. This time may he a relative time, such as time elapsed since occurrence of the synchronization event. Such records may be created within a storage device included within sensor logic 152. Alternatively or additionally, data may he provided by the sensor logic 152 to one or more other devices via a wireless or hardwired connection so that one or more such records could be created in the memory of these other devices, which may comprise a personal computer, automated programmer 160. or any other type of recording device. Reeordation of data in the foregoing manner may continue as the patient goes about daily life. During this process, sensor logic 152 will continue to monitor patient parameter values. For instance, according to the current example, the patient's posture and activity level will change, and the output of sensor logic will reflect these changes. As these posture state changes occur, patient 150 may utilize patient programmer 154 to request therapy changes. The posture state changes and the therapy changes are recorded as patient parameter values and therapy parameter values, respectively.
In conjunction with automated recordation of parameters by sensor logic 152 and patient programmer 158, patient 150 may optionally manually record data using eDiary 156. Such manual records 166 include information concerning patient parameter values. For instance, before, during, or after a posture and/or activity level change, patient 150 may manually enter data describing the change, If a posture state change is accompanied by a requested therapy modification, the patient may likewise record information describing the requested therapy change. Each such record may be associated with a timestamp in a manner similar to that associated with records 162 and 164. For instance, a timestamp may be automatically appended by the system to each record 166 each time the patient creates a new eDiary entry.
In one embodiment, IMD 154 may also he recording data associated with the delivered therapy. For instance, measurement module 42 of IMD (FIG. 2) may determine what therapy parameter values are associated with the therapy being delivered by therapy delivery module 32. Such records 168 may be stored within memory 36 of IMD 154, and/or may be transferred via a wireless communication link to a memory of automated programmer 160, a memory of a personal computer, memory 66 of patient programmer 158, or to some other storage device. In one embodiment, IMD 154 may have a sensor 40 (FIG. 2) that is similar to that of sensor logic 152. In this case, records 168 may include patient parameter values collected by the sensor of IMD 154 (e.g., sensor 40 of FIG. 2). Such sensor is preferably of a same type and operates in a similar manner as that included within sensor logic 152, In general, it should be noted that during this phase of testing, any sensor included within IMD 154 is not being used for closed-loop control, but rather is only being used to record patient parameter values. In the current example, patient parameter values shown collected by sensor 40 of IMD 154 include posture and activity level. Records may also include a timestarøp in a manner described above.
Collection of data continues in the foregoing manner, with therapy adjustments and/or a description of the resulting therapy being recorded as therapy parameter values within records 162 by patient programmer. Resulting therapy levels may also be recorded as therapy parameter values within records 168 by IMD 154 in an embodiment wherein such records are being generated. In addition to the collection of the therapy parameter values, patient parameter values as sensed by sensor logic 152 and optionally by a sensor of IMD 154 are recorded in records 164 and 168, respectively. Additional data indicative of patient parameter values and therapy parameter values may optionally be recorded manually by patient 150 as records 166 using eDiary 156, AU such records may be correlated to one another via timestaraps which indicate when the patient parameter values and/or therapy parameter values were recorded.
Collection of data optimally occurs as the monitored condition(s) (e.g., posture, activity level etc.) undergoes a wide variety of changes. For instance, it is desirable to perform data collection over a period of time during which a patient will experience many different postures, activity levels, and so on, In one embodiment, such monitoring continues over a period of three days, with records 162, 164, and optionally 168. Recordings may, in one instance, be created at predetermined intervals. In one embodiment, such records are created and stored every five seconds, however any other interval may be used in the alternative. Records 166 are created at intervals determined by patient compliance.
After the data collection interval (e.g., three days) has elapsed, processing of the recorded data occurs. This processing is carried out by data analysis logic 172, which forms associations between the patient parameter values (e.g., posture, activity descriptions, etc.) stored within records 164 and therapy parameter values (e.g., amplitude, frequency, etc.) stored within records 162, wherein the therapy parameter values indicate patient 150 requests to modify therapy and/or the resulting therapy delivered by IMD 154 to the patient. The associations between patient parameter values and therapy parameter values may be formed via the timestamps or according to the ordering of records that were created at known time intervals. Data analysis logic 172 stores the created associations in a test data file 174. Test data file 74 may be retained within a storage device of automated programmer 160, a personal computer, or some other external device and/or loaded onto a storage medium such as a DA7D, CD5 flash drive, etc. Alternatively or additionally, this information may be transferred to a memory of a central server or some other data processing system.
If eDiary 156 is in use, processing may include an additional step to validate the operation of sensor logic 152. In particular, this step will involve validating postures and activity descriptions recorded within records 164 by sensor logic 152 against postures and activity descriptions recorded manually by patient in records 166. This validation process is performed by posture and activity validation logic 170, which may be implemented in hardware, software, or some combination thereof. In one embodiment, this logic is software executing on an external device such as automated programmer 160, a personal computer, a clinician programmer, or some other processing device.
In one example instance, posture and activity validation logic 170 operates by first assigning a posture state to the posture and/or activity data stored within each of records 164, Techniques for assigning a posture state in this manner are described in commonly-assigned Patent Application Serial Nos, 12/433,004 and 12/432,993 referenced above. The assigned posture state (e.g., lying down, upright, upright & active, etc.) may then be compared to the manually-entered posture and activity data of records 166, using the timestamp data to match corresponding records. Assuming patient compliance was adequate, the resulting comparison will provide an additional level of validation indicating whether sensor logic 152 recorded data that accurately reflects patient posture and activity levels.
Optionally, a comparison may be performed between posture and/or activity data sensed by a sensor (e.g., sensor 40) of IMD, as recorded in records 168, Such data may be compared against that stored within records 164, assuming that the sensor of IMD 154 has a similar function to the sensor of sensor logic 152, Assuming it has been determined that sensor logic 152 is performing properly, this comparison may be used to confirm operation of the sensor of IMD 154 in an embodiment wherein the IMD includes such a sensor.
The foregoing describes use of timestamps to correlate data between the various ones of files 162, 164, 166, and 168. This may not be desirable in some embodiments because of the storage space required to store the limestamps. In another embodiment, records 162, 164 and 168 maybe created at a same predetermined frequency (e.g., one record every five seconds), [f the records of a same type are stored in an ordered manner, a correspondence will be maintained between a given record 162 and counterpart records 164 and 168. This eliminates the need to store timestamps in these types of eases. Timestamps will still generally be required in the case of records 166 which are created manually by patient 150, A record 166 may be matched with records 162, 164, and 168 by using the known data collection frequency of the automatically-collected data to select the ordered record that correlates roughly to the timestamp of a record 166. The foregoing description of FIG. 8 relates to a system wherein during the data collection phase, all therapy delivered by IMD is provided in an open-loop manner. In other words, initially, the IMD is delivering therapy using a default set of therapy parameter values. Thereafter, therapy delivery is modified solely in response to requests made by patient 150 via patient programmer 158. No automated therapy adjustments are performed as a result of sensed patient parameter values, such as those that indicate a posture state,
In an alternative embodiment, some closed-loop control is provided by patient programmer 158 during the data collection phase, ϊn this embodiment, sensor logic 152 and patient programmer 158 include the capability to communicate using a long-range wireless communication protocol, such as Bluetooth, Using this long-range communication protocol, the patient programmer 158 receives patient parameter values from the sensor logic 152 indicative of the patient's posture stale. Irs this embodiment, when the patient programmer 158 receives from patient 150 a therapy adjustment, the therapy parameter values describing this therapy adjustment are stored along with patient parameter values received from the sensor logic 152 about the same time. In this manner, the patient programmer 158 creates a table that is similar to that of FIG, 7.
After patient programmer 158 has created one or more entries within the table in the manner described above, patient programmer may receive a patient parameter value that is the same as, or similar to, that already entered into this table. In this case, patient programmer 158 may automatically issue a command to adjust therapy according to the corresponding therapy parameter values include in the applicable table entry. Thus, in this embodiment, therapy adjustment occurs not only as a result of patient adjustments, but also automatically using the table values and the patient parameter values that are available from sensor logic.
During execution of this alternative embodiment, patient programmer 158 continues to create records indicative of the therapy being delivered to the patient. In this case, patient programmer 158 may also include the patient parameter values indicative of posture state in the same records as those that are recording the therapy parameter values. Thus, in this case, patient programmer 158 may create the test data file 174 directly, eliminating the need for data analysis logic 172.
Sn yet another embodiment, it may be desirable to pre-load patient programmer 158 with a table that associates therapy parameter values with patient parameter values. This pre-loaded table may be a default table used by many patients, or may instead contain data developed specifically for patient 1 50. In this ease, closed-loop therapy deliver}' may commence immediately during the data collection phase. Updates to this table may be made as the patient makes adjustments. Patient programmer records therapy parameter values along with patient parameters in the manner described above to create test data file 174.
FlG. 9 is a block diagram illustrating one embodiment of sensor logic 152. This sensor logic includes a sensor 180, which in this example may be a three-axis aceelerometer. Other embodiments may be adapted for use with other types of sensors, Sensor 180 provides an output signal to logic 182, which includes analog-to-digital converter (ADC) and filter logic. When sensor 180 is an aceelerometer, a high-pass filter may be used to extract an AC signal component for use in determining an activity parameter and a low-pass filter may be used to extract a DC signal component used to determine posture. Signal processing logic 184 processes both the AC and DC components to obtain a first measure indicative of posture, which in this example is a vector, and a second measure indicative of activity, which in this illustration is an activity level. Exemplary techniques for performing this signal processing are described in commonly-assigned Patent Application Serial No, 12/433,029 filed April 30, 2009 entitled '"Posture State Detection Using Selectable System Control Parameters'' referenced above. The posture and activity level data may be stored in storage device 186 of sensor logic along with a timestamp. Alternatively, such data may be recorded at a known interval such that a timestamp may be derived in the manner discussed above. Data stored within storage device 186 may be transferred to an external device via communication logic 188, which may be a telemetry circuit capable of short-range or long-range communication. This is necessary if patient programmer 158 is to utilize closed-loop control to adjust therapy delivery according to the alternative embodiment described above. In another embodiment communication logic 188 may simply include a communication port such as a USB or other type of connector for establishing a hardwired connection whereby data within storage device 186 may be read and used to create test data files 174 (FIG. 8),
In a scenario wherein IMD 154 automatically generates records 168 containing patient parameter values for comparison to similar values in records 164, the sensor of IMD and other logic associated with this sensor should generate values that are comparable to those generated by sensor logic 152. If this is not the case, recorded patient parameter values of records 164 will most likely not result in a favorable comparison with the patient parameter values of records 168. FIG, 10 is a flow diagram illustrating one method of performing data collection according to the current disclosure. A synchronizing event is initiated to synchronize the various devices performing data collection (200), During a predetermined period of time, manually-entered patient parameter values (e.g., posture, activity) and therapy parameter values may optionally be collected from a patient (202). Also during this period of time, patient parameter values are collected automatically from one or more sensors (204), These sensors include at least one sensor affixed externally to the patient. The sensors may also include a sensor of an !MD, such as sensor 40.
The manually-entered patient parameter values are optionally used to validate the raw and/or processed patient parameter values collected from the one or more sensors (206). In particular, this verifies proper operation of sensor logic 152. This comparison can further validate correct operation of an internal sensor 40 and associated logic, assuming the external sensor logic 152 and the logic within the IMD correspond to one another,
Further data collection involves a programmer, which may be a patient programmer, and which is used to collect therapy parameter values indicative of therapy adjustments of an IMD (208). Associations are created between the patient parameter values collected by at least one of the sensors and therapy parameter values collected via the programmer (210), wherein the at least one of the sensors include a sensor worn externally by the patient. These associations may he stored as test data file 174 of FIG, 8. These associations are used to generate a closed-loop control mechanism to control an IMD to deliver therapy in a closed-loop manner (212), as will be discussed below, FIG. 1 1 is a block diagram of an automated system that utilizes data collected according to the techniques described herein to validate operation of an IMD 220 during a validation phase. The IMD 220 has a similar therapy delivery module (e.g., therapy delivery module 32 of FSG, 2) to that of IMD 154 used during the data collection described above. In one embodiment, IMD 220 may have a measurement module 42 similar to that included in IMD 154, Finally, IMD 220 includes a sensor that may correspond to that of sensor logic 152. In the current embodiment, this sensor is capable of detecting posture states of a patient.
Unlike ΪMD 154 used during the data collection phase, IMD 220 is adapted to execute a closed-loop algorithm that utilizes data such as that shown in the table of FIG, 7 to control therapy delivery module 32. In one embodiment, the data contained within this table will be pre-loaded into IMD 154 before the validation phase commences. This data is derived from an analysis of the data in test data file 174, That is, each entry of the table will associate one or more patient parameter values (e.g., a posture vector and/or an activity level) obtained by sensor logic 152 during data collection with therapy parameter values indicative of a therapy adjustment made by a patient. This data may then be used by IMD 220 to control therapy delivery from the start of the validation phase, as will be described below.
It may be noted that some pre-processing of the data contained within test data file 174 will likely be necessary to create the table that will be pre-loaded on IMD 220. This is the result of several factors. First, during data collection, patient 150 may adjust therapy inconsistently in response to a certain set of patient parameter values. For instance, the patient 150 may only adjust therapy some of the time when transitioning from a sitting to a standing position. This may be the result of the burden placed on the patient to perform the therapy adjustments. As an example, the patient may not bother to adjust therapy if the patient knows the standing position will be assumed only temporarily, In addition, the patient's physical condition (e.g., pain state) may change from day-to-day, As a result, the patient may desire more or less stimulation when assuming a given posture state than was required the day before, for example. Thus, prior to pre-loading a table onto IMD 220, some processing of data in test data file 174 is needed to derive a one-to- one coiTespondεnce between patient parameter values and therapy parameter values. As an example of the foregoing, pre-processing may first classify each set of patient parameters into one of multiple prε-defmed posture states. Such classification could he performed in a manner described in U.S. Patent Application Serial Nos, 12/433,004 and 12/432,993 referenced above. Other forms of classification are possible.
Once the patient parameter values are grouped into posture states, processing may utilize some mechanism (determining average or median values) to obtain a single set of therapy parameter values that correspond to the patient parameter values for the posture state. This will yield a single table entry that provides patient parameter values and associated therapy parameter values for a given posture. In this manner, pre-processing may be performed on data within test data file 174 to generate a table to be pre-loaded on IMD 220 for use in performing validation. Along with this table, IMD 220 will also he pre-loaded with control logic (e.g., software and/or firmware) to implement a closed-loop algorithm that will control therapy delivery module 32 to deliver therapy according to the data in the pre-loaded table.
After being configured in the above-described manner, IMD 220 may be affixed to an automated device 222 that is adapted to re-create the patient conditions that existed during data collection. In the current example, automated device 222 is a robotic arm that is capable of positioning I1V1D 220 to be in any orientation in three-dimensional space, and is further capable of re-creating any type of activity (e.g., activity levels) recorded by a three-axis accelerometer to indicate patient activity, as reflected by records 164, and optionally records 168. In one embodiment, robotic arm 222 is a model LR-200ΪC available from FAMUC Robotics America, Inc., Rochester Hills, MI, although other types of automated devices and robotics technologies may be employed.
IMD 220 must be affixed to automated device 222 via a test fixture. This test fixture is oriented in a known mariner such that the sensor of IMD 220 is in a predetermined position relative to the automated device 222. In one embodiment, this predetermined position substantially aligns the axis of a three-axis accelerometer to three corresponding axes of movement of a robotic arm. Test data file 174 is provided as input to the system of FlG. 11. As discussed above, test data includes the associations between patient parameter values recorded by sensor logic 152 in records 164, and therapy parameter values recorded by patient programmer 158 in records 162. This type of file may be generated by data analysis logic 172,
Test data of test data file 174 may be stored within a memory of automated programmer 160, a memory of a personal computer, within a memory of a server, a storage medium such as a DVD, CD, flash drive, and/or any other storage device. This data may be made accessible to the system of FIG. 1 1 using a hardwired or wireless communication link, via a network connection such as a secure intranet or an internet connection that has the capability to access the data, by loading the test data 174 from a storage medium, etc.
Test data file 174 may be in any format generated by daia analysis logic 172 (FIG. 8), or in the closed-loop embodiment, in a format generated by patient programmer 158. In one embodiment, the format provided by data analysis logic 172 is a Comma-Separated Values (CSV) format that may be provided as input directly to control movement of automated device 222, Thus, no data formatting is needed, and test data file 174 may be used as the formatted data file 226 that is provided as input to control automated device 222. This is as indicated by arrow 175. In an alternative embodiment wherein this is not the case, a data formatter 224 may be employed to manipulate the data included in test data file 174 so that it is in a format expected for use by automated device 222.
In the current embodiment, the formatted file 226 describes a sequence of posture states that each describes at least one of a posture (e.g., in the form of a vector) and an activity (e.g., an activity level). This sequence of posture states corresponds to the sequence of posture states that patient 150 assumed during data collection. Such a sequence may span the entire time period during which data collection occurred (e.g., three days, in one embodiment),
In one embodiment, the raw patient parameter daia contained in formatted data file 226 is provided to interface layer 234 of movement control logic 232 of automated device 222, This is as indicated by arrow 227. In an alternative embodiment, the patient parameter data is delivered to interface layer 234 via a control script 230. In either case, delivery of this data is used by movement control logic 232 to cause automated device 222 to recreate the posture states that were experienced by patient 150 during data collection. Movement control logic 232 includes the hardware, software, and/or firmware to control operation of automated device 222, In particular, the interface layer contains firmware and/or software routines to translate the patient parameter values (e.g., vectors and activity level parameters) from the formatted data file 226 into commands that control the hardware of automated device 222. in this manner, automated device 222 reproduces the orientations and movements represented by the patient parameter values. When IMD 220 is affixed to automated device 222 in a predetermined manner, IMD 220 will be subjected to the same sequence of orientations and movements as those to which IMD 154 was subjected during data collection. In a preferred embodiment, this occurs in real-time such that the time period during which re-enactment occurs corresponds to the time period used for data collection. The posture states of one embodiment each include at least one of a posture vector that controls orientation and an activity level that controls a level of movement,
As discussed above, IMD 220 must be affixed to automated device 222 in a predetermined manner to obtain accurate results, In one embodiment, this involves utilizing a test fixture that aligns an axis of an accelerometer included within the IMD with the axis of automated device 222. In this manner, when interface layer 234 responds to a vector [Xl, Yl, and Zl] provided by test data file 174, the sensor (e.g., sensor 40) of
IMD 220 will likewise generate a posture vector of [Xl, Yl, and Zl ], Alternatively, this may be accomplished by calibrating sensor 40 of IMD 220 so that sensor 40 produces the desired vector reading when automated device 222 is responding to that vector in the test data. Such calibration of sensor 40 of IMD 220 may be performed programmably using a clinician programmer or automated programmer 160.
In addition to ensuring that IMD 220 is affixed and/or calibrated properly prior to commencing validation, some verification is also needed to ensure that interface layer 234 is accurately controlling automated device 222 to reproduce orientations and motions performed by patient 150 during data collection. For example, when a vector [Xl , Y 1 , Zl] and an activity level of Al is provided to interface layer 234, automated device 220 must respond by positioning IMD 220 in an orientation, and/or subjecting this device to a level of movement such that sensor 40 of IMD 220 also generates vector [Xl, Yl, Zl] and/or an activity level of A 1. A verification mechanism for ensuring that interface layer 234 is responding properly is described below in reference to FIG. 12, For purposes of this discussion, it will be assumed that verification of interface layer 234 has already- been performed. In the foregoing manner, IMD 220 is affixed to automated device 222, calibration is performed, and patient parameter values from formatted data file 226 are provided to interface layer 234. This causes automated device 222 to begin reproducing the posture states assumed by patient 150 during data collection, thereby subjecting IMD 220 to the same sequence of posture states as occurred during data collection, As IMD 220 is subjected to various posture states, the sensor of IMD 220 senses the posture states and provides patient parameter values indicative of the posture states. Assuming IMD 220 has been pre-loaded with a table to enable closed-loop therapy adjustment in the foregoing manner, these patient parameter values are used by IMD 220 to reference the table and locate an associated set of therapy parameter values. These located therapy parameter values are provided to therapy delivery module 32 for use in controlling therapy delivered by IMD 220.
While this is occurring, measurement module 42 of IMD 220 is monitoring the therapy delivery module 32 to determine the therapy parameter values being used to deliver therapy. These therapy parameter values are communicated to automated programmer 160 as validation data 242, as may be accomplished via a wireless communication link (e.g., telemetry uplink session), or in another embodiment maybe provided via a hardwired connection. This validation data 242, which includes the therapy parameter values, is forwarded to compare logic 244 of control script 230. Control script further has access to the therapy parameter values contained in formatted data file 226, Since re-enactment of the posture states is occurring in ""real-tirae" (i.e., over a same time period as the posture states were assumed during data collection), control script 230 utilizes timestaraps to locate the therapy parameter values from formatted data file 226 that correspond with the current validation time. The therapy parameter values from the formatted data file 226 should correspond closely with those included in the validation data 242.
In some cases, a miseompare between the therapy parameter values within formatted data file 226 and those contained within validation data 242 indicates a potential problem. For instance, hardware, software, and/or firmware of IMD 220 may not be detecting, and/or responding in an appropriate manner to, the posture states. If this is the ease, an entry should be created in validation results 246 indicating that a potential problem exists. This entry may include data such as a timestamp indicating the time during validation when the miscompare occurred, the measured therapy parameter values from the IMD 220, and the therapy parameter values from formatted data file 226. Other data may include the patient parameter values used by automated device 222 to re-create the posture state, as well as patient parameter values sensed by IMD 220 at a time leading up to, or during, the raiscorapare. This information is then available to diagnose potential problems with the design of IMD 220.
In some circumstances, when a miscompare results, it is desirable to perform therapy adjustments. In these cases, control script 230 obtains the therapy parameter values available from the formatted data file 226, and provides these values to automated programmer 160 via either a hardwired or wireless communication link. Automated programmer 160 then communicates these values to IMD 220. This is generally accomplished via a wireless communication link (e.g., a telemetry downlink session) although a hardwired connection could be used in the alternative. Therapy delivery module 32 of IMD 220 should respond to these adjustments by changing therapy in accordance with the adjustments. This may be confirmed by measurement module 42, which determines the therapy parameter values being used to deliver the therapy, communicates these measurements as validation data 242 to automated programmer 160, which then forwards these values to control script 230 for validation. That is, compare logic 244 of control script 230 will again compare the therapy parameter values from the validation data 242 with those obtained from formatted data file 226 and communicated to IMD 220, This compare will validate that the adjustment was completed properly. If not, an entry may be created in validation results 246 in a manner similar to that described above.
In some cases, miscompare situations may be detected that are not related Io a potential problem associated with IMD 220. As discussed above, during data collection, a patient may only adjust therapy some of the time when making a posture state transition. For instance, the patient may not bother to adjust therapy when the patient knows that a posture state will be assumed only briefly rather than being sustained for a longer period of time, Since during the validation phase, the IMD 220 uses a closed-loop algorithm and data in the pre-loaded table to automatically adjust therapy in response to all posture changes (including those for which the patient did not bother Io perform adjustment), a miscompare may result in these situations. This is not the result of a potential problem, but rather indicates the IMD 220 is adjusting therapy consistently each time a given posture state is detected, whereas the patient adjustments may not have been as consistent, In these types of situations, it may not be desirable to create a log entry in validation results 246 to indicate a potential fault. Moreover, it may not he desirable to prompt IMD 220 to perform a therapy adjustment, since the therapy level is already appropriate based on the closed-loop algorithm and pre-loaded table data.
As another example, the patient's physical condition (e.g., pain state) may change from day-to-day. As a result, the patient may desire more or less stimulation when assuming a given posture state than was required the day before, for example. Recall that the therapy level in the pre-loaded table of the IMD will contain some base level therapy value that may have been derived by processing (e.g., averaging) all recorded patient adjustments received while the patient assumed a given posture state. Thus, the therapy as delivered by IMD 220 may not precisely match the therapy parameter values contained in the formatted data file 226 such that a miscompare results. In this case, it may not be desirable to create an entry in validation results 246, but it may never-the-less be desirable to provide the incremental therapy adjustment to IMD 220 via automated programmer 160, since this will most closely mimic how the IMD 220 will be operating in day-to-day use by a patient.
Several mechanisms may be used by control script 230 to detect and manage the foregoing types of situations. In one embodiment, the table that is pre-loaded onto I MD 220 for use in performing closed-loop therapy adjustment may be made accessible to control script 230. When a miscompare results, control script 230 may compare the therapy parameter values measured by measurement module 42 of IMD 220 to those contained in the applicable table entry that corresponds to the patient" s posture state that was being assumed at the time the therapy parameter values were measured. If the measured therapy is consistent with these therapy parameter values, it is determined that the IMD is responding appropriately to the closed-loop mechanism in use at that time. Irs this case, it may be desirable to omit a step of creating an entry in validation results 246, since the miscompare is likely the result of inconsistent patient adjustments. Alternatively, an entry may be created in validation results 246 indicating that the delivered therapy was consistent with the table data but inconsistent with therapy parameter values obtained during data collection. On the other hand, if the measured therapy is not consistent with the parameters in the pre-loaded table, it may be desirable to create an entry in validation results 246 to indicate that a closer analysis of the situation by technicians is warranted.
In the foregoing eases, a determination must also be made as to whether to request an incremental therapy adjustment. Several embodiments exist, In one case, all such mis- compares could be handled by control script 230 issuing a therapy adjustment request to automated programmer 160 to adjust therapy according to the therapy parameter values of formatted data file 226. Alternatively, such adjustments may only be requested when the actual therapy delivered by IMD 220 is within some tolerance (e.g., some percentage value) of that reflected by the therapy parameter values of the formatted data file 226. This will generally result in therapy adjustments for those cases wherein the patient's selected therapy varies incrementally from day-to-day, for instance. However, this will likely not result in therapy adjustments for those scenarios wherein the patient neglected entirely to initiate adjustments such that the delivered therapy was significantly different from that recorded in formatted data file 226. This type of operation may be desired since it most closely mimics how IMD 220 will he used in real-life situations.
The types of determinations and deelsional logic described above may be embodied by adjust logic 245 of control script 230. This logic may be provided to determine how to handle miscompares, including whether to create an entry in validation results 246 and/or whether to request an adjustment via automated programmer 160 in response to such a miscompare. Adjust logic 245 may be configured according to preferences of the technicians performing validation. In one embodiment, adjust logic 245 may be programmable, allowing the technicians to determine the types of situations in which entries are created in validation results 246 to report potential problems, and/or when to issue adjustments as a result of a miscompare. The foregoing description discusses a situation wherein IMD 220 is pre-loaded with a table to control closed-loop operation of IMD 220. Thus, IMD 220 commences closed-loop operation at the start of the validation phase. In another embodiment, IMD 220 may build the table that will he used for closed-loop operation from the data contained in the formatted data file. In this embodiment, when the validation phase commences, control script 230 will provide the therapy parameter values from formatted data file 226 io automated programmer 160, which will, in turn, communicate these adjustments to IMD 220, IMD 220 will record the therapy parameter values in a table in association with the patient parameter values that were being sensed by the sensor of the IMD (e.g., sensor 40) contemporaneously with the receipt of the therapy parameter values. In addition, IMD 220 will adjust therapy accordingly.
Therapy adjustments made by IMD 220 will be detected by measurement module 42, communicated as validation data 242 to automated programmer 160, and forwarded to compare logic 244 for comparison against the therapy parameter values from formatted data file 226. A miscompare may result in the creation of an entry in validation results 246 in the manner described above.
In the above-described manner, at the outset of the validation phase, IMD 220 will receive therapy adjustments that are used to populate a table creating associations between patient parameter values and therapy parameter values, As this table is populated, a set of therapy parameter values will eventually be retrieved from formatted data file 226 by control script 230 thai is associated with a posture state for which a table entry already exists. That is, IMD 220 has already handled this posture state at least once before during validation. It may be desirable for control script 230 to detect this type of scenario so it may be handled appropriately. One way control script 230 may detect this scenario is by using a same, or similar algorithm, as is being used by IMD 220 to build a table that duplicates thai being built by IMD 220. This table may then be used by control script 230 to determine whether an entry already exists for a given posture state described by patient parameter values.
When control script 230 determines that therapy parameter values have been obtained from formatted data file 226 that are associated with patient parameter values that are already represented by a table entry, several courses of action may be taken, In one scenario, control script 230 may delay issuing a therapy adjustment to automated programmer 160. Instead, control script may wait until IMD 220 has an opportunity to adjust therapy according to the table values. Measurement module 42 of IMD 220 will convey detected therapy parameter values to automated programmer 160, which will forward these values to control script 230 for validation. If they correspond to the therapy parameter values of the applicable table entry, control script 230 can handle any mismatch between the measured values and the therapy parameter values in one of the ways described above. That is, if the measured values correspond to the table values, control script may forego creating an entry in validation results 246, and may additionally prompt automated programmer 160 to adjust therapy only if the measured values and the values from formatted data file 226 are within a certain tolerance of one another. Alternatively, control script 230 may handle this type of scenarios by always creating an entry in validation results 246 and/or always issuing a request to adjust therapy according to the data in formatted data file 22(S. As yet another alternative, adjustments may never be issued to IMD 220 in this type of situation. Again, these decisio s are largely design choices, and may be programmable in one embodiment by adjusting control settings associated with adjust logic 245.
As noted above, accurate operation of the system of FlG. 1 1 depends on the ability of interface layer 234 io control automated device 222 so that a sensor 40 of IMD 220 will produce the same patient parameter values as were produced by a sensor of sensor logic 152 during data collection. To ensure that is true, validation of interface layer 232 must be performed.
FIG. 12 is a block diagram of one system for verifying that interface layer 234 of automated device 222 is operating to accurately reproduce the patient posture states. Many of the elements of FIG. 11 are included in the system of FIG. 12. A primary difference, however, is that in FIG. 12 sensor logic 152 is affixed to automated device 222 rather than IMD 220. Sensor logic 152, or logic similar to sensor logic 152, is coupled to automated device 222 and calibrated so that sensor 180 generates a predetermined calibration vector [Xl, YI , Zl] when the vector [XI , Yl , Zl ] is interpreted by interface layer 234. Thereafter, the entire sequence of patient parameter values contained with test data file 174 is provided to interface layer 234. Assuming interface layer 234 accurately controls automated device 222 to re-create the posture states of patient that occurred during data collection, including both patient postures and activities, sensor logic 152 should generate the same output signals indicating the same posture states as those represented by test data file 174. To verify this, the output of sensor logic 152 is recorded as verification data 260. This recordation may be performed via a wireless or a hardwired communication link between sensor logic 152 and another device, such as automated programmer 160. The verification data is then compared by compare logic 262 to the posture and activity data included in test data 174. If the comparison indicates a difference between the two, interface layer 234 is not asserting proper control over automated device 222, or some other problem exists within the hardware of automated device itself. This situation must be addressed before validation of a device may be
FlG. 13 is a flow diagram illustrating one method of performing validation of an IMD. The IMD is configured to operate according to a closed-loop control mechanism that takes into account the associations formed between the recorded patient parameter values and the therapy parameter values that were recorded during data collection (290). This IMD is affixed to an automated device (29I)5 which maybe a robotic arm. The recorded patient parameter values are utilized to control the automated device to automatically recreate the sequence of conditions experienced by the patient (292), which may be a sequence of posture states assumed by the patient during data collection.
Therapy is provided by the IMD according to the closed-loop control mechanism while the IMD is subjected to the re-created sequence of conditions (294). Therapy provided by the IMD is detected and compared to the recorded therapy parameter values and validation data indicating potential inconsistencies between the two is recorded (296). At predetermined times, the recorded therapy parameter values obtained during data collection are provided to the IJVID to supplement and/or modify the closed-loop control mechanism (298). This includes making adjustments to therapy when potential inconsistencies exist between detected therapy and the therapy that is expected. This also includes issuing therapy adjustments to the IMD at the start of the validation phase in an embodiment wherein the IMD is populating a data structure for controlling closed-loop operation at the start of the validation phase.
The foregoing examples describe automated techniques for testing a medical device which may, but need not, be an implantable device, The testing utilizes one or more sensors that detect posture states. Such sensors may include, but are not limited to, gyroscopes, acceleroraeters, strain gages, pressure transducers, impedance monitoring devices (e.g., for measuring thoracic impedance), electrodes to detect some other electrical signal produced by a living body, and so on. The one or more sensors may be appropriately positioned within the patient or on an external surface of the patient. It Is understood that the described mechanisms are Illustrative, and those skillet! in the art may contemplate other embodiments and adaptations of these techniques. Therefore, the dεseription above is not to be considered limiting, with the scope of the invention to be set forth by the claims thai follow.

Claims

What is claimed is:
1. A method of testing a medical device, comprising: recording therapy parameter values describing therapy being delivered to a patient; recording a sequence of patient parameter values indicative of at least one of posture and activity of the patient occurring while the therapy is being delivered; controlling an automated device to reproduce the sequence of patient parameter values: and validating that the medical device is delivering therapy in accordance with the recorded therapy parameter values while the medical device is experiencing conditions resulting from controlling of the automated device.
2. The method of Claim 1 , further comprising utilizing an accelerometer to record the sequence of patient parameter values.
3. The method of Claim 2, wherein recording the sequence of patient parameter values is performed by sensor logic carried by the patient.
4. The method of Claim 1, wherein recording therapy parameter values is performed by a programmer.
5. The method of Claim 4, wherein the programmer is receiving the patient parameter values from a sensor and is executing a closed- loop algorithm to control the therapy while the therapy parameter values are being recorded.
6. The method of Claim 1, wherein the medical device is an implantable medical device for generating neurostimulation therapy.
7. The method of Claim 1 , further including: recording in an eDiary conditions indicative of the sequence of patient parameter values; and utilizing the recorded conditions to verify the sequence of patient parameter values.
8. The method of Claim 1 , wherein controlling the automated device to reproduce the sequence of patient parameter values includes: attaching the medical device to the automated device; providing the recorded sequence of patient parameter values to control the automated device; and reproducing, by the automated device, conditions that resulted in sensing the sequence of patient parameter values.
9. The method of Claim 8, wherein reproducing the conditions comprises orienting the medical device in one or more predetermined positions,
10. The method of Claim 8, wherein reproducing the conditions comprises reproducing one or more predetermined activity states.
11. The method of Claim 1 , further including verifying that the sequence of patient parameter values is being reproduced accurately.
12. The method of Claim 11 , wherein verifying that the sequence of patient parameter values is being reproduced accurately includes: utilizing an accelerometer to record a second sequence of patient parameter values during the reproducing step; and comparing the second sequence of patient parameter values to the sequence of patient parameter values.
13. The method of Claim 1 , wherein validating that the medical device is delivering therapy in accordance with the recorded therapy parameter values includes comparing second therapy parameter values describing the therapy delivered by the medical device to the recorded therapy parameter values,
14. The method of Claim 13, wherein validating that the medical device is delivering therapy in accordance with the recorded therapy parameters includes delivering, by the medical device, therapy in response to a closed-loop algorithm.
15. The method of Claim 14, wherein recording therapy parameter values comprises operating the medical device in response to an open-loop algorithm.
16, The method of Claim 13 , further comprising at least one of measuring by the medical device the therapy parameter values and measuring by the medical device the second therapy parameter values.
17, The method of Claim 1 , wherein the medical device includes a sensor, and wherein validating that the medical device is delivering therapy in accordance with the recorded therapy parameter values includes causing the sensor to substantially generate the sequence of pati ent parameter values.
18. The method of Claim 17, further comprising delivering, by the medical device, therapy according to a closed-loop algorithm in response to the generated sequence of patient parameter values,
19. The method of Claim 1 , further including automatically providing therapy adjustments to the medical device that correspond to the recorded therapy parameter values while reproducing the sequence of patient parameter values.
20. The method of Claim 1 , wherein the medical device is an implantable medical device, and wherein recording therapy parameter values describing therapy being delivered to a patient includes transferring the therapy parameter values to a storage device external to the patient.
21. A system for automatical Iy testing a medical device, comprising: a therapy delivery module to deliver therapy to a patient according to therapy parameter values; a sensor to sense patient parameter values indicative of one or more posture states assumed by the patient while the therapy is being delivered; and an automated system coupled to receive the patient parameter values and the therapy parameter values, to reproduce conditions indicated by the patient parameter values, ami to validate that the medical device provides therapy according to the therapy parameter values while the medical device is subjected to the reproduced conditions.
22. The system of Claim 21 , wherein the sensor is an accelerometer carried externally by the patient,
23. The system of Claim 21 , further comprising a programmer communicatively- coupled to provide the therapy parameter values Io the therapy delivery module.
24. The system of Claim 23, wherein the programmer is a patient programmer utilized hy the patient to request adjustments to the therapy delivered by the therapy delivery module.
25. The system of Claim 23, wherein the programmer is communicatively coupled to the sensor to receive the patient parameter values, and wherein the programmer is executing a closed-loop algorithm to cause the therapy delivery module to deliver the therapy.
26. The system of Claim 21 , further comprising data analysis logic to create associations between the therapy parameter values and the patient parameter values based on timeslamps, and wherein the automated system utilizes the associations to validate that the medical device provides therapy according to the therapy parameter values.
The system of Claim 21 , further comprising an automated programmer to provide at least some of the therapy parameter values to the medical device while the sequence of conditions is being reproduced.
28. The system of Claim 21, further including a second sensor included in the medical device, and wherein the medical device is executing a closed-loop algorithm in response to output from the second sensor to provide the therapy.
29. A system to automatically verify operation of an implantable medical device, comprising: a first implantable medical device carried by a patient to deliver therapy to the patient according to therapy parameter values; a sensor carried by the patient to sense posture states assumed by the patient during delivery of the therapy; an automated device to automatically re-create the posture states; an automated programmer to automatically generate at least some of the therapy parameter values; a second implantable medical device to deliver therapy in response to the automatically-generated therapy parameter values while being subjected to the automatically re-created posture states; and compare logic communicatively coupled to the second implantable medical device to determine whether the therapy delivered by the second implantable medical device is substantially similar to the therapy delivered by the first implantable medical device.
PCT/US2009/055204 2008-09-19 2009-08-27 Automatic validation techniques for validating operation of medical devices WO2010033366A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US9838408P 2008-09-19 2008-09-19
US61/098,384 2008-09-19
US12/548,227 US8280517B2 (en) 2008-09-19 2009-08-26 Automatic validation techniques for validating operation of medical devices
US12/548,227 2009-08-26

Publications (1)

Publication Number Publication Date
WO2010033366A1 true WO2010033366A1 (en) 2010-03-25

Family

ID=42038447

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/055204 WO2010033366A1 (en) 2008-09-19 2009-08-27 Automatic validation techniques for validating operation of medical devices

Country Status (2)

Country Link
US (1) US8280517B2 (en)
WO (1) WO2010033366A1 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200341B2 (en) 2007-02-07 2012-06-12 Cameron Health, Inc. Sensing vector selection in a cardiac stimulus device with postural assessment
US8209028B2 (en) 2008-07-11 2012-06-26 Medtronic, Inc. Objectification of posture state-responsive therapy based on patient therapy adjustments
US8504150B2 (en) 2008-07-11 2013-08-06 Medtronic, Inc. Associating therapy adjustments with posture states using a stability timer
US9050471B2 (en) 2008-07-11 2015-06-09 Medtronic, Inc. Posture state display on medical device user interface
US9026223B2 (en) 2009-04-30 2015-05-05 Medtronic, Inc. Therapy system including multiple posture sensors
US8579834B2 (en) 2010-01-08 2013-11-12 Medtronic, Inc. Display of detected patient posture state
US8433419B2 (en) 2010-10-13 2013-04-30 Cardiac Pacemakers, Inc. Method and apparatus for controlling neurostimulation according to physical state
CN102551685B (en) * 2010-12-30 2015-04-01 世意法(北京)半导体研发有限责任公司 Object monitor
US8942662B2 (en) 2012-02-16 2015-01-27 The United States of America, as represented by the Secretary, Department of Health and Human Services, Center for Disease Control and Prevention System and method to predict and avoid musculoskeletal injuries
US9907959B2 (en) 2012-04-12 2018-03-06 Medtronic, Inc. Velocity detection for posture-responsive therapy
WO2013173102A1 (en) 2012-05-18 2013-11-21 Cardiac Pacemakers, Inc. Automatic pacing configuration switcher
US20130326105A1 (en) * 2012-06-05 2013-12-05 Wen-Chuan Yang Processor with real-time signal transmission and storage
US10716510B2 (en) 2013-09-17 2020-07-21 Medibotics Smart clothing with converging/diverging bend or stretch sensors for measuring body motion or configuration
US9582072B2 (en) 2013-09-17 2017-02-28 Medibotics Llc Motion recognition clothing [TM] with flexible electromagnetic, light, or sonic energy pathways
US9588582B2 (en) 2013-09-17 2017-03-07 Medibotics Llc Motion recognition clothing (TM) with two different sets of tubes spanning a body joint
US10321873B2 (en) 2013-09-17 2019-06-18 Medibotics Llc Smart clothing for ambulatory human motion capture
US10602965B2 (en) 2013-09-17 2020-03-31 Medibotics Wearable deformable conductive sensors for human motion capture including trans-joint pitch, yaw, and roll
US9384671B2 (en) 2013-02-17 2016-07-05 Ronald Charles Krosky Instruction production
US9582080B1 (en) 2014-06-25 2017-02-28 Rithmio, Inc. Methods and apparatus for learning sensor data patterns for gesture-based input
EP3432975B1 (en) * 2016-03-21 2024-02-14 Nalu Medical, Inc. Devices for positioning external devices in relation to implanted devices
US9889305B1 (en) * 2016-08-10 2018-02-13 Pacesetter Inc. Systems and methods for patient activated capture of transient data by an implantable medical device
US10765869B2 (en) 2017-01-13 2020-09-08 Medtronic, Inc. Precision delivery of electrical stimulation
WO2019060298A1 (en) 2017-09-19 2019-03-28 Neuroenhancement Lab, LLC Method and apparatus for neuroenhancement
US11717686B2 (en) 2017-12-04 2023-08-08 Neuroenhancement Lab, LLC Method and apparatus for neuroenhancement to facilitate learning and performance
WO2019133997A1 (en) 2017-12-31 2019-07-04 Neuroenhancement Lab, LLC System and method for neuroenhancement to enhance emotional response
US11364361B2 (en) 2018-04-20 2022-06-21 Neuroenhancement Lab, LLC System and method for inducing sleep by transplanting mental states
EP3849410A4 (en) 2018-09-14 2022-11-02 Neuroenhancement Lab, LLC System and method of improving sleep

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5167229A (en) * 1986-03-24 1992-12-01 Case Western Reserve University Functional neuromuscular stimulation system
WO1997004705A1 (en) * 1995-07-31 1997-02-13 Motorola Inc. Hybrid fes and active orthosis method and system for controlling the movement of a limb
US20050060001A1 (en) * 2003-09-15 2005-03-17 Ruchika Singhal Automatic therapy adjustments
US20050137627A1 (en) * 2003-12-22 2005-06-23 Koshiol Allan T. Synchronizing continuous signals and discrete events for an implantable medical device
US20060206167A1 (en) * 2005-01-06 2006-09-14 Flaherty J C Multi-device patient ambulation system
US20080081958A1 (en) * 2006-09-28 2008-04-03 Medtronic, Inc. Implantable medical device with sensor self-test feature
US20080114219A1 (en) * 2006-10-31 2008-05-15 Yi Zhang Monitoring of chronobiological rhythms for disease and drug management using one or more implantable device

Family Cites Families (283)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4297685A (en) 1979-05-31 1981-10-27 Environmental Devices Corporation Apparatus and method for sleep detection
US4365633A (en) 1980-02-22 1982-12-28 Telectronics Pty. Ltd. Patient-operated pacemaker programmer
US4543955A (en) 1983-08-01 1985-10-01 Cordis Corporation System for controlling body implantable action device
CA1213330A (en) 1983-10-14 1986-10-28 Canadian Patents And Development Limited - Societe Canadienne Des Brevets Et D'exploitation Limitee Movement artifact detector for sleep analysis
US4566456A (en) 1984-10-18 1986-01-28 Cordis Corporation Apparatus and method for adjusting heart/pacer rate relative to right ventricular systolic pressure to obtain a required cardiac output
FR2604908B1 (en) 1986-10-13 1990-06-22 Saint Nicolas Cie Financiere METHOD FOR ADJUSTING AN IMPLANTABLE HEART STIMULATOR ACCORDING TO THE EFFORT OF THE STIMULATOR CARRIER PATIENT, IMPLANTABLE HEART STIMULATOR AND EXTERNAL PROGRAMMER FOR CONTROLLING AN ADJUSTABLE IMPLANTABLE HEART STIMULATOR
US4771780A (en) 1987-01-15 1988-09-20 Siemens-Pacesetter, Inc. Rate-responsive pacemaker having digital motion sensor
DE3709073A1 (en) 1987-03-19 1988-09-29 Alt Eckhard IMPLANTABLE MEDICAL DEVICE
US4776345A (en) 1987-09-04 1988-10-11 Cns, Inc. Interactive determination of sleep stages
US5040534A (en) 1989-01-25 1991-08-20 Siemens-Pacesetter, Inc. Microprocessor controlled rate-responsive pacemaker having automatic rate response threshold adjustment
US5278190A (en) 1989-11-30 1994-01-11 Clintec Nutrition Co. Method for improving the quality of sleep and treating sleep disorders
FR2657443B1 (en) 1990-01-24 1992-05-15 Blanchet Gerard ELECTRO-ENCEPHALOGRAPHIC SIGNAL PROCESSING METHOD AND APPARATUS.
US5040536A (en) 1990-01-31 1991-08-20 Medtronic, Inc. Intravascular pressure posture detector
US5031618A (en) 1990-03-07 1991-07-16 Medtronic, Inc. Position-responsive neuro stimulator
US5125412A (en) 1990-07-23 1992-06-30 Thornton William E Musculoskeletal activity monitor
US5158078A (en) 1990-08-14 1992-10-27 Medtronic, Inc. Rate responsive pacemaker and methods for optimizing its operation
US5058584A (en) 1990-08-30 1991-10-22 Medtronic, Inc. Method and apparatus for epidural burst stimulation for angina pectoris
US5337758A (en) 1991-01-11 1994-08-16 Orthopedic Systems, Inc. Spine motion analyzer and method
DE4138702A1 (en) 1991-03-22 1992-09-24 Madaus Medizin Elektronik METHOD AND DEVICE FOR THE DIAGNOSIS AND QUANTITATIVE ANALYSIS OF APNOE AND FOR THE SIMULTANEOUS DETERMINATION OF OTHER DISEASES
US5233984A (en) 1991-03-29 1993-08-10 Medtronic, Inc. Implantable multi-axis position and activity sensor
US5335657A (en) 1991-05-03 1994-08-09 Cyberonics, Inc. Therapeutic treatment of sleep disorder by nerve stimulation
DE69231157T2 (en) 1991-11-14 2001-02-15 Univ Technologies Int AUTOMATIC SYSTEM FOR GENERATING CONTINUOUS POSITIVE AIRWAY PRESSURE
US5431691A (en) 1992-03-02 1995-07-11 Siemens Pacesetter, Inc. Method and system for recording and displaying a sequential series of pacing events
US5732696A (en) 1992-03-17 1998-03-31 New York University Polysomnograph scoring
US5354317A (en) 1992-04-03 1994-10-11 Intermedics, Inc. Apparatus and method for cardiac pacing responsive to patient position
US5312446A (en) 1992-08-26 1994-05-17 Medtronic, Inc. Compressed storage of data in cardiac pacemakers
US5425750A (en) 1993-07-14 1995-06-20 Pacesetter, Inc. Accelerometer-based multi-axis physical activity sensor for a rate-responsive pacemaker and method of fabrication
GB9321086D0 (en) 1993-10-13 1993-12-01 Univ Alberta Hand stimulator
FR2712501B1 (en) 1993-11-17 1996-02-09 Ela Medical Sa Medical device, in particular implantable defibrillator, with integrated Holter recording functions.
US5759149A (en) 1993-12-17 1998-06-02 Hill-Rom, Inc. Patient thermal support device
EP0672427A1 (en) 1994-03-17 1995-09-20 Siemens-Elema AB System for infusion of medicine into the body of a patient
US5514162A (en) 1994-06-07 1996-05-07 Pacesetter, Inc. System and method for automatically determining the slope of a transfer function for a rate-responsive cardiac pacemaker
US5476483A (en) 1994-06-10 1995-12-19 Pacesetter, Inc. System and method for modulating the base rate during sleep for a rate-responsive cardiac pacemaker
FI100851B (en) 1994-08-15 1998-03-13 Polar Electro Oy Method and apparatus for ambulatory recording and storage of a body part's movement in an individual and for simultaneous observation of movements of different body parts
FR2728798B1 (en) 1994-12-30 1997-06-20 Ela Medical Sa METHOD FOR DETERMINING AN ACTIVITY CRITERION OF A MEASUREMENT SENSOR OF A SERVO PARAMETER IN AN ACTIVE IMPLANTABLE MEDICAL DEVICE
US5674258A (en) 1995-03-08 1997-10-07 Medtronic, Inc. Packaged integrated accelerometer
US5911738A (en) 1997-07-31 1999-06-15 Medtronic, Inc. High output sensor and accelerometer implantable medical device
US5593431A (en) 1995-03-30 1997-01-14 Medtronic, Inc. Medical service employing multiple DC accelerometers for patient activity and posture sensing and method
US5725562A (en) 1995-03-30 1998-03-10 Medtronic Inc Rate responsive cardiac pacemaker and method for discriminating stair climbing from other activities
US5913727A (en) 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
US5643332A (en) 1995-09-20 1997-07-01 Neuromotion Inc. Assembly for functional electrical stimulation during movement
US5720770A (en) 1995-10-06 1998-02-24 Pacesetter, Inc. Cardiac stimulation system with enhanced communication and control capability
US20020169485A1 (en) 1995-10-16 2002-11-14 Neuropace, Inc. Differential neurostimulation therapy driven by physiological context
US5741310A (en) 1995-10-26 1998-04-21 Medtronic, Inc. System and method for hemodynamic pacing in ventricular tachycardia
US5919149A (en) 1996-03-19 1999-07-06 Allum; John H. Method and apparatus for angular position and velocity based determination of body sway for the diagnosis and rehabilitation of balance and gait disorders
US5628317A (en) 1996-04-04 1997-05-13 Medtronic, Inc. Ultrasonic techniques for neurostimulator control
US5716377A (en) 1996-04-25 1998-02-10 Medtronic, Inc. Method of treating movement disorders by brain stimulation
US5711316A (en) 1996-04-30 1998-01-27 Medtronic, Inc. Method of treating movement disorders by brain infusion
US6609031B1 (en) 1996-06-07 2003-08-19 Advanced Neuromodulation Systems, Inc. Multiprogrammable tissue stimulator and method
US5938690A (en) 1996-06-07 1999-08-17 Advanced Neuromodulation Systems, Inc. Pain management system and method
US5944680A (en) 1996-06-26 1999-08-31 Medtronic, Inc. Respiratory effort detection method and apparatus
US6099479A (en) 1996-06-26 2000-08-08 Medtronic, Inc. Method and apparatus for operating therapy system
US5895371A (en) 1996-08-27 1999-04-20 Sabratek Corporation Medical treatment apparatus and method
US5782884A (en) 1996-11-05 1998-07-21 Sulzer Intermedics Inc. Rate responsive cardiac pacemaker with peak impedance detection for rate control
SE9604319D0 (en) 1996-11-25 1996-11-25 Pacesetter Ab Medical detecting system
DE19653773C1 (en) 1996-12-21 1998-07-02 Ggt Ges Fuer Gerontotechnik Mb Method and arrangement for recording fall situations of people at risk of health
US5836989A (en) 1996-12-26 1998-11-17 Medtronic, Inc. Method and apparatus for controlling an implanted medical device in a time-dependent manner
US5893883A (en) 1997-04-30 1999-04-13 Medtronic, Inc. Portable stimulation screening device for screening therapeutic effect of electrical stimulation on a patient user during normal activities of the patient user
US6171276B1 (en) 1997-08-06 2001-01-09 Pharmacia & Upjohn Ab Automated delivery device and method for its operation
US6134459A (en) 1998-10-30 2000-10-17 Medtronic, Inc. Light focusing apparatus for medical electrical lead oxygen sensor
US5941906A (en) 1997-10-15 1999-08-24 Medtronic, Inc. Implantable, modular tissue stimulator
DE29719250U1 (en) 1997-10-30 1998-05-07 Hauptverband Der Gewerblichen Body stress measurement and analysis system
US6059576A (en) 1997-11-21 2000-05-09 Brann; Theodore L. Training and safety device, system and method to aid in proper movement during physical activity
NL1008619C2 (en) 1998-03-17 1999-10-01 Robert Christiaan Van Lummel Method for measuring and indicating the degree to which a person is limited in activities of daily life.
US5904708A (en) 1998-03-19 1999-05-18 Medtronic, Inc. System and method for deriving relative physiologic signals
US6120467A (en) 1998-04-30 2000-09-19 Medtronic Inc. Spinal cord simulation systems with patient activity monitoring and therapy adjustments
US6539249B1 (en) 1998-05-11 2003-03-25 Cardiac Pacemakers, Inc. Method and apparatus for assessing patient well-being
US6045513A (en) 1998-05-13 2000-04-04 Medtronic, Inc. Implantable medical device for tracking patient functional status
US6128534A (en) 1998-06-16 2000-10-03 Pacesetter, Inc. Implantable cardiac stimulation device and method for varying pacing parameters to mimic circadian cycles
FR2780654B1 (en) 1998-07-06 2000-12-01 Ela Medical Sa ACTIVE IMPLANTABLE MEDICAL DEVICE FOR ELECTROSTIMULATION TREATMENT OF SLEEP APNEA SYNDROME
US6027456A (en) 1998-07-10 2000-02-22 Advanced Neuromodulation Systems, Inc. Apparatus and method for positioning spinal cord stimulation leads
DE19831109A1 (en) 1998-07-11 2000-01-13 Univ Schiller Jena Monitoring and evaluation of infants and new born breathing cycle
US6095991A (en) 1998-07-23 2000-08-01 Individual Monitoring Systems, Inc. Ambulatory body position monitor
US6157857A (en) 1998-07-24 2000-12-05 Dimpfel; Wilfried Apparatus for determining sleep staging
US7231254B2 (en) 1998-08-05 2007-06-12 Bioneuronics Corporation Closed-loop feedback-driven neuromodulation
US7403820B2 (en) 1998-08-05 2008-07-22 Neurovista Corporation Closed-loop feedback-driven neuromodulation
US7209787B2 (en) 1998-08-05 2007-04-24 Bioneuronics Corporation Apparatus and method for closed-loop intracranial stimulation for optimal control of neurological disease
DE19842107A1 (en) 1998-09-08 2000-03-09 Biotronik Mess & Therapieg Method for recognizing a person's body position
SE9803197D0 (en) 1998-09-21 1998-09-21 Pacesetter Ab Medical implant
US6044297A (en) 1998-09-25 2000-03-28 Medtronic, Inc. Posture and device orientation and calibration for implantable medical devices
US6308099B1 (en) 1998-11-13 2001-10-23 Intermedics Inc. Implantable device and programmer system which permits multiple programmers
US6259948B1 (en) 1998-11-13 2001-07-10 Pacesetter, Inc. Medical device
US6393325B1 (en) 1999-01-07 2002-05-21 Advanced Bionics Corporation Directional programming for implantable electrode arrays
US6216537B1 (en) 1999-03-31 2001-04-17 Medtronic, Inc. Accelerometer for implantable medical device
US6923784B2 (en) 1999-04-30 2005-08-02 Medtronic, Inc. Therapeutic treatment of disorders based on timing information
US6635048B1 (en) 1999-04-30 2003-10-21 Medtronic, Inc. Implantable medical pump with multi-layer back-up memory
US6341236B1 (en) 1999-04-30 2002-01-22 Ivan Osorio Vagal nerve stimulation techniques for treatment of epileptic seizures
US6315740B1 (en) 1999-05-17 2001-11-13 Balbir Singh Seizure and movement monitoring apparatus
US6516749B1 (en) 1999-06-18 2003-02-11 Salasoft, Inc. Apparatus for the delivery to an animal of a beneficial agent
US6351672B1 (en) 1999-07-22 2002-02-26 Pacesetter, Inc. System and method for modulating the pacing rate based on patient activity and position
CA2314517A1 (en) 1999-07-26 2001-01-26 Gust H. Bardy System and method for determining a reference baseline of individual patient status for use in an automated collection and analysis patient care system
US6381496B1 (en) 1999-10-01 2002-04-30 Advanced Bionics Corporation Parameter context switching for an implanted device
US6449508B1 (en) 1999-10-21 2002-09-10 Medtronic, Inc. Accelerometer count calculation for activity signal for an implantable medical device
US6327501B1 (en) 1999-11-02 2001-12-04 Pacesetter, Inc. System and method for determining safety alert conditions for implantable medical devices
US6368284B1 (en) 1999-11-16 2002-04-09 Cardiac Intelligence Corporation Automated collection and analysis patient care system and method for diagnosing and monitoring myocardial ischemia and outcomes thereof
US6466821B1 (en) 1999-12-08 2002-10-15 Pacesetter, Inc. AC/DC multi-axis accelerometer for determining patient activity and body position
JP2001190526A (en) 2000-01-07 2001-07-17 Minolta Co Ltd Posture detecting device and respiratory function measuring device
US6611783B2 (en) 2000-01-07 2003-08-26 Nocwatch, Inc. Attitude indicator and activity monitoring device
EP1246665B1 (en) 2000-01-07 2005-08-24 Biowave Corporation Electrotherapy apparatus
US6974437B2 (en) 2000-01-21 2005-12-13 Medtronic Minimed, Inc. Microprocessor controlled ambulatory medical apparatus with hand held communication device
FR2804596B1 (en) 2000-02-04 2002-10-04 Agronomique Inst Nat Rech METHOD FOR THE ANALYSIS OF HUMAN LOCOMOTION IRREGULARITIES
US6477421B1 (en) 2000-02-24 2002-11-05 Pacesetter, Inc. Method and apparatus for position and motion sensing
US7806831B2 (en) 2000-03-02 2010-10-05 Itamar Medical Ltd. Method and apparatus for the non-invasive detection of particular sleep-state conditions by monitoring the peripheral vascular system
US7066910B2 (en) 2000-04-27 2006-06-27 Medtronic, Inc. Patient directed therapy management
US7082333B1 (en) 2000-04-27 2006-07-25 Medtronic, Inc. Patient directed therapy management
US6884596B2 (en) 2000-04-28 2005-04-26 The Regents Of The University Of California Screening and therapeutic methods for promoting wakefulness and sleep
US6572557B2 (en) 2000-05-09 2003-06-03 Pacesetter, Inc. System and method for monitoring progression of cardiac disease state using physiologic sensors
DE10024103A1 (en) 2000-05-18 2001-11-29 Baumgart Schmitt Rudolf Arrangement for improving sleep quality by thermal stimulation has several thermoelectric units driven if sleep-related breathing problem automatically detected in real time
US6659968B1 (en) 2000-06-01 2003-12-09 Advanced Bionics Corporation Activity monitor for pain management efficacy measurement
US6748276B1 (en) 2000-06-05 2004-06-08 Advanced Neuromodulation Systems, Inc. Neuromodulation therapy system
US20040049132A1 (en) 2000-06-15 2004-03-11 The Procter & Gamble Company Device for body activity detection and processing
US6605038B1 (en) 2000-06-16 2003-08-12 Bodymedia, Inc. System for monitoring health, wellness and fitness
US6687538B1 (en) 2000-06-19 2004-02-03 Medtronic, Inc. Trial neuro stimulator with lead diagnostics
GB2368017B (en) 2000-06-20 2004-05-12 Bournemouth University Higher Apparatus for electrical stimulation of the leg
US6468234B1 (en) 2000-07-14 2002-10-22 The Board Of Trustees Of The Leland Stanford Junior University SleepSmart
US6459934B1 (en) 2000-07-21 2002-10-01 Cardiac Pacemakers, Inc. Estimate of efficiency using acceleration-heart rate ratio
US7122066B2 (en) 2000-08-07 2006-10-17 Avertech, Inc. Air filter system
EP1195139A1 (en) 2000-10-05 2002-04-10 Ecole Polytechnique Féderale de Lausanne (EPFL) Body movement monitoring system and method
US8417334B2 (en) 2000-10-26 2013-04-09 Medtronic, Inc. Method and apparatus for electrically stimulating the nervous system to improve ventricular dysfunction, heart failure, and other cardiac conditions
US6820025B2 (en) 2000-10-30 2004-11-16 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for motion tracking of an articulated rigid body
US6665558B2 (en) 2000-12-15 2003-12-16 Cardiac Pacemakers, Inc. System and method for correlation of patient health information and implant device data
US6438408B1 (en) 2000-12-28 2002-08-20 Medtronic, Inc. Implantable medical device for monitoring congestive heart failure
US20020091308A1 (en) 2001-01-09 2002-07-11 Kipshidze Nicholas N. Method and apparatus for the synchronized therapeutic treatment of a life form
DE10103973A1 (en) 2001-01-30 2002-08-01 Peter L Kowallik Method and device for monitoring sleep
US6834436B2 (en) 2001-02-23 2004-12-28 Microstrain, Inc. Posture and body movement measuring system
US6620151B2 (en) 2001-03-01 2003-09-16 Advanced Neuromodulation Systems, Inc. Non-constant pressure infusion pump
US7167751B1 (en) 2001-03-01 2007-01-23 Advanced Bionics Corporation Method of using a fully implantable miniature neurostimulator for vagus nerve stimulation
EP1381425A1 (en) 2001-04-24 2004-01-21 Neurodan A/S Functional electrical therapy system (fets)
US6668188B2 (en) 2001-04-25 2003-12-23 Cardiac Pacemakers, Inc. Determination of long-term condition of cardiac patients
US6641542B2 (en) 2001-04-30 2003-11-04 Medtronic, Inc. Method and apparatus to detect and treat sleep respiratory events
WO2002101655A1 (en) 2001-05-16 2002-12-19 Sega Corporation Image processing method, image processing apparatus, and program for emphasizing object movement
CA2447643A1 (en) 2001-05-29 2002-12-05 Medtronic, Inc. Closed-loop neuromodulation for prevention and treatment of cardiac conditions
US6731984B2 (en) 2001-06-07 2004-05-04 Medtronic, Inc. Method for providing a therapy to a patient involving modifying the therapy after detecting an onset of sleep in the patient, and implantable medical device embodying same
US6658292B2 (en) 2001-08-24 2003-12-02 Pacesetter, Inc. Detection of patient's position and activity status using 3D accelerometer-based position sensor
US6625493B2 (en) 2001-08-24 2003-09-23 Pacesetter, Inc. Orientation of patient's position sensor using external field
US6937899B2 (en) 2001-08-30 2005-08-30 Medtronic, Inc. Ischemia detection
US6662047B2 (en) 2001-09-05 2003-12-09 Pacesetter, Inc. Pacing mode to reduce effects of orthostatic hypotension and syncope
US6961616B2 (en) 2001-09-27 2005-11-01 Cardiac Pacemakers, Inc. Trending of conduction time for optimization of cardiac resynchronization therapy in cardiac rhythm management system
US7095424B2 (en) 2001-10-26 2006-08-22 Canon Kabushiki Kaisha Image display apparatus and method, and storage medium
US6751503B1 (en) 2001-11-01 2004-06-15 Pacesetter, Inc. Methods and systems for treating patients with congestive heart failure (CHF)
US7214197B2 (en) 2001-11-06 2007-05-08 Prass Richard L Intraoperative neurophysiological monitoring system
US6975904B1 (en) 2001-11-08 2005-12-13 Pacesetter, Inc. Modification of evoked response detection algorithm based on orientation and activity of patient
US6832113B2 (en) 2001-11-16 2004-12-14 Cardiac Pacemakers, Inc. Non-invasive method and apparatus for cardiac pacemaker pacing parameter optimization and monitoring of cardiac dysfunction
FR2833177B1 (en) 2001-12-07 2004-06-04 Ela Medical Sa ACTIVE MEDICAL DEVICE INCLUDING ADVANCED MEANS OF DISCRIMINATION IN THE WAKING AND SLEEPING PHASES
FR2833496B1 (en) 2001-12-14 2004-02-13 Ela Medical Sa ACTIVE MEDICAL DEVICE COMPRISING IMPROVED MEANS OF DIAGNOSING SLEEP APNEA SYNDROME
US6997882B1 (en) 2001-12-21 2006-02-14 Barron Associates, Inc. 6-DOF subject-monitoring device and method
WO2003072186A2 (en) 2002-02-01 2003-09-04 The Cleveland Clinic Foundation Neurostimulation for affecting sleep disorders
US7110820B2 (en) 2002-02-05 2006-09-19 Tcheng Thomas K Responsive electrical stimulation for movement disorders
US7317948B1 (en) 2002-02-12 2008-01-08 Boston Scientific Scimed, Inc. Neural stimulation system providing auto adjustment of stimulus output as a function of sensed impedance
US6928324B2 (en) 2002-02-14 2005-08-09 Pacesetter, Inc. Stimulation device for sleep apnea prevention, detection and treatment
US6999817B2 (en) 2002-02-14 2006-02-14 Packsetter, Inc. Cardiac stimulation device including sleep apnea prevention and treatment
US7043305B2 (en) 2002-03-06 2006-05-09 Cardiac Pacemakers, Inc. Method and apparatus for establishing context among events and optimizing implanted medical device performance
US7031772B2 (en) 2002-04-29 2006-04-18 Medtronic, Inc. Method and apparatus for rate responsive adjustments in an implantable medical device
US7123967B2 (en) 2002-05-13 2006-10-17 Pacesetter, Inc. Implantable neural stimulation device providing activity, rest, and long term closed-loop peripheral vascular disease therapy and method
US7151961B1 (en) 2002-05-24 2006-12-19 Advanced Bionics Corporation Treatment of movement disorders by brain stimulation
US6782315B2 (en) 2002-06-19 2004-08-24 Ford Global Technologies, Llc Method and apparatus for compensating misalignments of a sensor system used in a vehicle dynamic control system
US6922587B2 (en) 2002-06-26 2005-07-26 Pacesetter, Inc. System and method for tracking progression of left ventricular dysfunction using implantable cardiac stimulation device
US7117036B2 (en) 2002-06-27 2006-10-03 Pacesetter, Inc. Using activity-based rest disturbance as a metric of sleep apnea
US6817979B2 (en) 2002-06-28 2004-11-16 Nokia Corporation System and method for interacting with a user's virtual physiological model via a mobile terminal
WO2004036370A2 (en) 2002-10-15 2004-04-29 Medtronic Inc. Channel-selective blanking for a medical device system
US7218968B2 (en) 2002-10-31 2007-05-15 Medtronic, Inc. User interface for programming rate response technical field
US6878121B2 (en) 2002-11-01 2005-04-12 David T. Krausman Sleep scoring apparatus and method
US7016730B2 (en) 2002-11-15 2006-03-21 Cardiac Pacemakers, Inc. Method of operating implantable medical devices to prolong battery life
US7308311B2 (en) 2002-11-22 2007-12-11 Pacesetter, Inc. Physician programmer system with telemetered sensor waveform
US7189204B2 (en) 2002-12-04 2007-03-13 Cardiac Pacemakers, Inc. Sleep detection using an adjustable threshold
US7252640B2 (en) 2002-12-04 2007-08-07 Cardiac Pacemakers, Inc. Detection of disordered breathing
US7149584B1 (en) 2002-12-23 2006-12-12 Pacesetter, Inc. System and method for determining patient posture based on 3-D trajectory using an implantable medical device
US7149579B1 (en) 2002-12-23 2006-12-12 Pacesetter, Inc. System and method for determining patient posture based on 3-D trajectory using an implantable medical device
US7160252B2 (en) 2003-01-10 2007-01-09 Medtronic, Inc. Method and apparatus for detecting respiratory disturbances
US7207947B2 (en) 2003-01-10 2007-04-24 Pacesetter, Inc. System and method for detecting circadian states using an implantable medical device
US7155279B2 (en) 2003-03-28 2006-12-26 Advanced Bionics Corporation Treatment of movement disorders with drug therapy
US7548786B2 (en) 2003-04-02 2009-06-16 Medtronic, Inc. Library for management of neurostimulation therapy programs
US7894908B2 (en) 2003-04-02 2011-02-22 Medtronic, Inc. Neurostimulation therapy optimization based on a rated session log
US7505815B2 (en) 2003-04-02 2009-03-17 Medtronic, Inc. Neurostimulation therapy usage diagnostics
US7489970B2 (en) 2003-04-02 2009-02-10 Medtronic, Inc. Management of neurostimulation therapy using parameter sets
US7266412B2 (en) 2003-04-22 2007-09-04 Medtronic, Inc. Generation of multiple neurostimulation therapy programs
US7221979B2 (en) 2003-04-30 2007-05-22 Medtronic, Inc. Methods and apparatus for the regulation of hormone release
US7162304B1 (en) 2003-05-08 2007-01-09 Advanced Bionics Corporation System for measuring cardiac rhythm parameters for assessment of spinal cord stimulation
US7130681B2 (en) 2003-05-09 2006-10-31 Medtronic, Inc. Use of accelerometer signal to augment ventricular arrhythmia detection
US20040257693A1 (en) 2003-06-05 2004-12-23 Ehrlich Richard M. Disk drive disturbance rejection using accelerometer and/or back-EMF measurements
US20050004622A1 (en) 2003-07-03 2005-01-06 Advanced Neuromodulation Systems System and method for implantable pulse generator with multiple treatment protocols
US7092759B2 (en) 2003-07-30 2006-08-15 Medtronic, Inc. Method of optimizing cardiac resynchronization therapy using sensor signals of septal wall motion
US7591265B2 (en) 2003-09-18 2009-09-22 Cardiac Pacemakers, Inc. Coordinated use of respiratory and cardiac therapies for sleep disordered breathing
DE602004014281D1 (en) 2003-08-18 2008-07-17 Cardiac Pacemakers Inc CONTROL UNIT FOR IRREGULAR BREATHING
EP1670547B1 (en) 2003-08-18 2008-11-12 Cardiac Pacemakers, Inc. Patient monitoring system
US7887493B2 (en) 2003-09-18 2011-02-15 Cardiac Pacemakers, Inc. Implantable device employing movement sensing for detecting sleep-related disorders
US7664546B2 (en) 2003-09-18 2010-02-16 Cardiac Pacemakers, Inc. Posture detection system and method
US8002553B2 (en) 2003-08-18 2011-08-23 Cardiac Pacemakers, Inc. Sleep quality data collection and evaluation
US7572225B2 (en) 2003-09-18 2009-08-11 Cardiac Pacemakers, Inc. Sleep logbook
WO2005032658A1 (en) 2003-10-02 2005-04-14 Medtronic, Inc. User interface for external charger for implantable medical device
US7181281B1 (en) 2003-10-08 2007-02-20 Pacesetter, Inc. ICD using MEMS for optimal therapy
JP3960298B2 (en) 2003-11-19 2007-08-15 株式会社デンソー Sleeping and posture detection device
US7142921B2 (en) 2003-12-11 2006-11-28 Medtronic, Inc. Single axis accelerometer and method therefore
US6964641B2 (en) 2003-12-24 2005-11-15 Medtronic, Inc. Implantable medical device with sleep disordered breathing monitoring
US20050172311A1 (en) 2004-01-31 2005-08-04 Nokia Corporation Terminal and associated method and computer program product for monitoring at least one activity of a user
WO2005079487A2 (en) 2004-02-17 2005-09-01 Diagnostic Ultrasound Corporation System and method for measuring bladder wall thickness and mass
US7130689B1 (en) 2004-02-24 2006-10-31 Pacesetter, Inc. Methods and systems for optimizing cardiac pacing intervals for various physiologic factors
US8055348B2 (en) 2004-03-16 2011-11-08 Medtronic, Inc. Detecting sleep to evaluate therapy
US7881798B2 (en) 2004-03-16 2011-02-01 Medtronic Inc. Controlling therapy based on sleep quality
US20070276439A1 (en) 2004-03-16 2007-11-29 Medtronic, Inc. Collecting sleep quality information via a medical device
US7717848B2 (en) 2004-03-16 2010-05-18 Medtronic, Inc. Collecting sleep quality information via a medical device
US20050209512A1 (en) 2004-03-16 2005-09-22 Heruth Kenneth T Detecting sleep
US7542803B2 (en) 2004-03-16 2009-06-02 Medtronic, Inc. Sensitivity analysis for selecting therapy parameter sets
US7792583B2 (en) 2004-03-16 2010-09-07 Medtronic, Inc. Collecting posture information to evaluate therapy
US8725244B2 (en) 2004-03-16 2014-05-13 Medtronic, Inc. Determination of sleep quality for neurological disorders
US7366572B2 (en) 2004-03-16 2008-04-29 Medtronic, Inc. Controlling therapy based on sleep quality
US7330760B2 (en) 2004-03-16 2008-02-12 Medtronic, Inc. Collecting posture information to evaluate therapy
US8308661B2 (en) 2004-03-16 2012-11-13 Medtronic, Inc. Collecting activity and sleep quality information via a medical device
US7491181B2 (en) 2004-03-16 2009-02-17 Medtronic, Inc. Collecting activity and sleep quality information via a medical device
US7395113B2 (en) 2004-03-16 2008-07-01 Medtronic, Inc. Collecting activity information to evaluate therapy
US7805196B2 (en) 2004-03-16 2010-09-28 Medtronic, Inc. Collecting activity information to evaluate therapy
US20050222638A1 (en) 2004-03-30 2005-10-06 Steve Foley Sensor based gastrointestinal electrical stimulation for the treatment of obesity or motility disorders
WO2005102449A1 (en) 2004-04-14 2005-11-03 Medtronic, Inc. Collecting posture and activity information to evaluate therapy
US8135473B2 (en) 2004-04-14 2012-03-13 Medtronic, Inc. Collecting posture and activity information to evaluate therapy
NZ533460A (en) 2004-06-10 2006-10-27 Movement Metrics Ltd Biomechanical monitoring apparatus with motion detectors and accumulation means to indicate time period where threshold activity is exceeded
US7840268B2 (en) 2004-06-21 2010-11-23 Advanced Neuromodulation Systems, Inc. System and method of managing medical device historical data
US7819909B2 (en) 2004-07-20 2010-10-26 Medtronic, Inc. Therapy programming guidance based on stored programming history
US7559901B2 (en) 2004-07-28 2009-07-14 Cardiac Pacemakers, Inc. Determining a patient's posture from mechanical vibrations of the heart
US7387610B2 (en) 2004-08-19 2008-06-17 Cardiac Pacemakers, Inc. Thoracic impedance detection with blood resistivity compensation
ITTO20040847A1 (en) 2004-12-01 2005-03-01 St Microelectronics Srl DISPLACEMENT DEVICE FOR A PORTABLE DEVICE
EP1831502B1 (en) 2004-12-14 2018-10-31 Raytheon Company Centralizer-based survey and navigation device and method
US20060262120A1 (en) 2005-05-19 2006-11-23 Outland Research, Llc Ambulatory based human-computer interface
US8744585B2 (en) 2005-02-23 2014-06-03 Medtronics, Inc. Implantable medical device providing adaptive neurostimulation therapy for incontinence
US20060195051A1 (en) 2005-02-25 2006-08-31 Schnapp Elma O Posture monitoring device and method of use thereof
US7577479B2 (en) 2005-03-17 2009-08-18 Cardiac Pacemakers, Inc. Methods and devices for implementing time of day pacing adjustments
US7519431B2 (en) 2005-04-11 2009-04-14 Medtronic, Inc. Shifting between electrode combinations in electrical stimulation device
US20060235289A1 (en) 2005-04-19 2006-10-19 Willem Wesselink Pacemaker lead with motion sensor
US7603170B2 (en) 2005-04-26 2009-10-13 Cardiac Pacemakers, Inc. Calibration of impedance monitoring of respiratory volumes using thoracic D.C. impedance
US7406351B2 (en) 2005-04-28 2008-07-29 Medtronic, Inc. Activity sensing for stimulator control
US7389147B2 (en) 2005-04-29 2008-06-17 Medtronic, Inc. Therapy delivery mode selection
EP1883450B1 (en) 2005-04-29 2009-12-09 Medtronic, Inc. Distributed lead functionality testing
US20080194998A1 (en) 2005-05-24 2008-08-14 Nils Holmstrom Method, Device and Computer-Readable Medium for Evaluating Prevalence of Different Patient Postures
US8021299B2 (en) 2005-06-01 2011-09-20 Medtronic, Inc. Correlating a non-polysomnographic physiological parameter set with sleep states
US7430447B2 (en) 2005-06-06 2008-09-30 Pacesetter, Inc. Evoked response and impedance measures for monitoring heart failure and respiration
WO2007009088A2 (en) 2005-07-12 2007-01-18 Alfred E. Mann Institute For Biomedical Engineering At The University Of Southern California Method and apparatus for detecting object orientation and position
US8033996B2 (en) 2005-07-26 2011-10-11 Adidas Ag Computer interfaces including physiologically guided avatars
US7590481B2 (en) 2005-09-19 2009-09-15 Ford Global Technologies, Llc Integrated vehicle control system using dynamically determined vehicle conditions
US9061146B2 (en) 2005-10-28 2015-06-23 Medtronic, Inc. Impedance-based bladder sensing
US7471290B2 (en) 2005-11-18 2008-12-30 Cardiac Pacemakers, Inc. Posture detection system
US8366641B2 (en) 2005-11-18 2013-02-05 Cardiac Pacemakers, Inc. Posture detector calibration and use
US20070129641A1 (en) 2005-12-01 2007-06-07 Sweeney Robert J Posture estimation at transitions between states
US7766840B2 (en) 2005-12-01 2010-08-03 Cardiac Pacemakers, Inc. Method and system for heart failure status evaluation based on a disordered breathing index
WO2007064924A1 (en) 2005-12-02 2007-06-07 Medtronic, Inc. Closed-loop therapy adjustment
US7957809B2 (en) 2005-12-02 2011-06-07 Medtronic, Inc. Closed-loop therapy adjustment
US7853322B2 (en) 2005-12-02 2010-12-14 Medtronic, Inc. Closed-loop therapy adjustment
US8016776B2 (en) 2005-12-02 2011-09-13 Medtronic, Inc. Wearable ambulatory data recorder
IL173604A (en) 2006-02-08 2013-01-31 E Afikim Milking Systems Agricultural Cooperative Ltd Sa Device and method for measuring an animal's posture, particularly for measuring a ruminant's posture
US7747330B2 (en) 2006-03-09 2010-06-29 Medtronic, Inc. Global parameter adjustment for multiple stimulation programs
WO2007112092A2 (en) 2006-03-24 2007-10-04 Medtronic, Inc. Collecting gait information for evaluation and control of therapy
US20070255154A1 (en) 2006-04-28 2007-11-01 Medtronic, Inc. Activity level feedback for managing obesity
US7715920B2 (en) 2006-04-28 2010-05-11 Medtronic, Inc. Tree-based electrical stimulator programming
US8200341B2 (en) 2007-02-07 2012-06-12 Cameron Health, Inc. Sensing vector selection in a cardiac stimulus device with postural assessment
US20070293917A1 (en) 2006-06-15 2007-12-20 Thompson Thomas C Non-invasive neuro stimulation system
EP1870128A1 (en) 2006-06-19 2007-12-26 Lifestim S.r.l. Analgesic neuromodulating device, with a modulating effect depending on the user's activity and position
US8060203B2 (en) 2006-08-28 2011-11-15 St. Jude Medical Ab Method and apparatus for determining variation over time of a medical parameter of a human being
DE602007006528D1 (en) 2006-09-28 2010-06-24 Medtronic Inc CAPACITIVE INTERFACE CIRCUIT FOR A LOW-POWER SENSOR SYSTEM
US8556833B2 (en) 2007-01-10 2013-10-15 Integrity Tracking, Llc Wireless sensor network system and method
CA2677122C (en) 2007-02-01 2014-12-09 Boston Scientific Neuromodulation Corporation Neurostimulation system for measuring patient activity
US20090046056A1 (en) 2007-03-14 2009-02-19 Raydon Corporation Human motion tracking device
GB2447647A (en) 2007-03-16 2008-09-24 Cambridge Neurotechnology Ltd Activity monitor
US7822481B2 (en) 2007-04-30 2010-10-26 Medtronic, Inc. Therapy adjustment
US7769464B2 (en) 2007-04-30 2010-08-03 Medtronic, Inc. Therapy adjustment
US8103351B2 (en) 2007-05-07 2012-01-24 Medtronic, Inc. Therapy control using relative motion between sensors
US8788055B2 (en) 2007-05-07 2014-07-22 Medtronic, Inc. Multi-location posture sensing
WO2008143738A1 (en) 2007-05-18 2008-11-27 Ultimate Balance, Inc. Newtonian physical activity monitor
US8204597B2 (en) 2007-05-30 2012-06-19 Medtronic, Inc. Evaluating patient incontinence
US8805508B2 (en) 2007-05-30 2014-08-12 Medtronic, Inc. Collecting activity data for evaluation of patient incontinence
US8221290B2 (en) 2007-08-17 2012-07-17 Adidas International Marketing B.V. Sports electronic training system with electronic gaming features, and applications thereof
US20090076343A1 (en) 2007-09-14 2009-03-19 Corventis, Inc. Energy Management for Adherent Patient Monitor
WO2009042170A1 (en) 2007-09-26 2009-04-02 Medtronic, Inc. Therapy program selection
US20090264789A1 (en) 2007-09-26 2009-10-22 Medtronic, Inc. Therapy program selection
US8380314B2 (en) 2007-09-26 2013-02-19 Medtronic, Inc. Patient directed therapy control
EP2211986B1 (en) 2007-10-16 2013-11-20 Medtronic, Inc. Therapy control based on a patient movement state
US9772689B2 (en) 2008-03-04 2017-09-26 Qualcomm Incorporated Enhanced gesture-based image manipulation
US8287520B2 (en) 2008-04-10 2012-10-16 Medtronic, Inc. Automated integrity tests
US8209028B2 (en) 2008-07-11 2012-06-26 Medtronic, Inc. Objectification of posture state-responsive therapy based on patient therapy adjustments
US8708934B2 (en) 2008-07-11 2014-04-29 Medtronic, Inc. Reorientation of patient posture states for posture-responsive therapy
US8437861B2 (en) 2008-07-11 2013-05-07 Medtronic, Inc. Posture state redefinition based on posture data and therapy adjustments
US9050471B2 (en) 2008-07-11 2015-06-09 Medtronic, Inc. Posture state display on medical device user interface
US9776008B2 (en) 2008-07-11 2017-10-03 Medtronic, Inc. Posture state responsive therapy delivery using dwell times
US8326420B2 (en) 2008-07-11 2012-12-04 Medtronic, Inc. Associating therapy adjustments with posture states using stability timers
US9440084B2 (en) 2008-07-11 2016-09-13 Medtronic, Inc. Programming posture responsive therapy
US8583252B2 (en) 2008-07-11 2013-11-12 Medtronic, Inc. Patient interaction with posture-responsive therapy

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5167229A (en) * 1986-03-24 1992-12-01 Case Western Reserve University Functional neuromuscular stimulation system
WO1997004705A1 (en) * 1995-07-31 1997-02-13 Motorola Inc. Hybrid fes and active orthosis method and system for controlling the movement of a limb
US20050060001A1 (en) * 2003-09-15 2005-03-17 Ruchika Singhal Automatic therapy adjustments
US20050137627A1 (en) * 2003-12-22 2005-06-23 Koshiol Allan T. Synchronizing continuous signals and discrete events for an implantable medical device
US20060206167A1 (en) * 2005-01-06 2006-09-14 Flaherty J C Multi-device patient ambulation system
US20080081958A1 (en) * 2006-09-28 2008-04-03 Medtronic, Inc. Implantable medical device with sensor self-test feature
US20080114219A1 (en) * 2006-10-31 2008-05-15 Yi Zhang Monitoring of chronobiological rhythms for disease and drug management using one or more implantable device

Also Published As

Publication number Publication date
US8280517B2 (en) 2012-10-02
US20100076525A1 (en) 2010-03-25

Similar Documents

Publication Publication Date Title
US8280517B2 (en) Automatic validation techniques for validating operation of medical devices
US20240115864A1 (en) Posture state responsive therapy delivery using dwell times
US7957797B2 (en) Closed-loop therapy adjustment
US10471264B2 (en) Closed-loop therapy adjustment
US7853322B2 (en) Closed-loop therapy adjustment
US8579834B2 (en) Display of detected patient posture state
US8150531B2 (en) Associating therapy adjustments with patient posture states
US10207118B2 (en) Associating therapy adjustments with posture states using a stability timer
US9026223B2 (en) Therapy system including multiple posture sensors
US10220146B2 (en) Adjustments to posture state definition
WO2021016536A1 (en) Systems and methods for operating an implantable medical device based upon sensed posture information
US20220266025A1 (en) Posture state definition calibration

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09792000

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09792000

Country of ref document: EP

Kind code of ref document: A1