The disclosure relates to medical devices, and, more particularly, patient state detection by medical devices.
Implantable medical devices, such as electrical stimulators or therapeutic agent delivery devices, may be used in different therapeutic applications, such as deep brain stimulation (DBS), spinal cord stimulation (SCS), pelvic stimulation, gastric stimulation, peripheral nerve stimulation, functional electrical stimulation or delivery of pharmaceutical agent, insulin, pain relieving agent or anti-inflammatory agent to a target tissue site within a patient. A medical device may be used to deliver therapy to a patient to treat a variety of symptoms or patient conditions such as chronic pain, tremor, Parkinson's disease, other types of movement disorders, seizure disorders (e.g., epilepsy), urinary or fecal incontinence, sexual dysfunction, obesity, psychiatric disorders, gastroparesis or diabetes. In some therapy systems, an implantable electrical stimulator delivers electrical therapy to a target tissue site within a patient with the aid of one or more electrodes, which may be deployed by medical leads. In addition to or instead of electrical stimulation therapy, a medical device may deliver a therapeutic agent to a target tissue site within a patient with the aid of one or more fluid delivery elements, such as a catheter or a therapeutic agent eluting patch. An external or implantable medical device may be configured to sense one or more patient parameters, such as a physiological signal, patient activity level or patient posture. In some examples, detection of a patient state based on the one or more sensed physiological parameters may be used to control therapy delivery.
In general, the disclosure is directed to patient state detection with a classification algorithm that is determined based on supervised machine learning. The supervised machine learning can be applied, for example, using a support vector machine (SVM) or another artificial neural network techniques. Supervised machine learning is implemented to generate a classification boundary during a learning phase based on values of two or more features of one or more patient parameter signals known to be indicative of the patient being in the patient state and feature values of one or more patient parameter signals known to be indicative of the patient not being in the patient state. A feature is a characteristic of the patient parameter signal, such as an amplitude or an energy level in a specific frequency band. The classification boundary delineates the feature values indicative of the patient being in the patient state and feature values indicative of the patient not being in the patient state.
Once the classification boundary is determined based on the known patient state data, a medical device may use the boundary to detect when the patient is in a particular patient state by determining the side of the boundary on which a particular feature value extracted from a sensed patient parameter signal lies. The patient state detection may be used to control various courses of action, such as controlling therapy delivery, generating a patient notification or evaluating a patient condition. In addition, various metrics for monitoring and evaluating a patient condition can be determined based on the classification boundary and a signal indicative of a patient parameter.
In one aspect, the disclosure is directed to a method comprising receiving a signal indicative of a parameter of a patient, receiving information identifying an occurrence of a patient state, determining at least a first value of a characteristic of the physiological signal that is indicative of the patient being in the patient state and at least a second value of the characteristic of the physiological signal that is indicative of the patient not being in the first patient state, wherein the first and second values are different, and applying a support vector machine to define a classification boundary based on the first and second values of the characteristic of the physiological signal, wherein a medical device utilizes the classification boundary classify a subsequently sensed physiological signal of the patient as indicative of the patient state.
In another aspect, the disclosure is directed to a method comprising receiving a signal indicative of a patient posture, receiving information identifying an occurrence of a posture state, determining at least a first value of a characteristic of the signal that is indicative of the patient being in the posture state and at least a second value of the characteristic of the signal that is indicative of the patient not being in the posture state, wherein the first and second values are different, and applying a supervised machine learning technique to define a classification boundary based on the first and second values of the characteristics of the signal, wherein a medical device utilizes the classification boundary to classify a subsequently sensed signal of the patient as indicative of the posture state.
In another aspect, the disclosure is directed to a system comprising a sensing module that generates a signal indicative of a patient parameter, a processor that receives the signal indicative of the patient parameter, receives information identifying an occurrence of a posture state, determines at least a first value of a characteristic of the signal that is indicative of the patient being in the posture state and at least a second value of the characteristic of the signal that is indicative of the patient not being in the posture state, wherein the first and second values are different, and applies a supervised machine learning technique to define a classification boundary based on the first and second values of the characteristic of the signal. The system further comprises a medical device that utilizes the classification boundary to classify a subsequently sensed signal of the patient as indicative of the posture state.
In another aspect, the disclosure is directed to a method comprising receiving a signal indicative of patient parameter, applying a classification algorithm determined based on a supervised machine learning technique to classify a patient posture state based on the signal, wherein the classification algorithm defines a classification boundary, and controlling therapy delivery to the patient based on the determined patient posture state.
In another aspect, the disclosure is directed to a system comprising a therapy module that delivers therapy to a patient, a sensor that generates a signal indicative of patient posture, and a processor that applies a classification algorithm determined based on a supervised machine learning technique to classify a patient posture state based on the signal and controls the therapy module based on the determined patient posture state.
In another aspect, the disclosure is directed to a system comprising means for receiving a signal indicative of a patient posture, means for receiving information identifying an occurrence of a posture state, means for determining at least a first value of a characteristic of the signal that is indicative of the patient being in the posture state and at least a second value of the characteristic of the signal that is indicative of the patient not being in the posture state, wherein the first and second values are different, and means for applying a supervised machine learning technique to define a classification boundary based on the first and second values of the characteristics of the signal, wherein a medical device utilizes the classification boundary to classify a subsequently sensed signal of the patient as indicative of the posture state.
In another aspect, the disclosure is directed to a system comprising means for receiving a signal indicative of patient parameter, means for applying a classification algorithm determined based on a supervised machine learning technique to classify a patient posture state based on the signal, wherein the classification algorithm defines a classification boundary, and means for controlling therapy delivery to the patient based on the determined patient posture state.
In another aspect, the disclosure is directed to a computer-readable medium comprising instructions that cause a programmable processor to receive a signal indicative of a patient posture, receive information identifying an occurrence of a posture state, determine at least a first value of a characteristic of the signal that is indicative of the patient being in the posture state and at least a second value of the characteristic of the signal that is indicative of the patient not being in the posture state, wherein the first and second values are different, and apply a supervised machine learning technique to define a classification boundary based on the first and second values of the characteristics of the signal, wherein a medical device utilizes the classification boundary to classify a subsequently sensed signal of the patient as indicative of the posture state.
In another aspect, the disclosure is directed to a computer-readable medium comprising instructions that cause a programmable processor to receive a signal indicative of patient parameter, apply a classification algorithm determined based on a supervised machine learning technique to classify a patient posture state based on the signal, wherein the classification algorithm defines a classification boundary, and control therapy delivery to the patient based on the determined patient posture state.
In another aspect, the disclosure is directed to a method comprising receiving a signal indicative of a patient parameter, applying a first classification algorithm determined based on supervised machine learning to classify a patient state based on the signal, and applying at least one additional classification algorithm determined based on supervised machine learning to further classify the patient state based on the signal.
In another aspect, the disclosure is directed to a system comprising a sensing module that generates a signal indicative of a parameter of a patient, and a processor that receives the signal, applies a first classification algorithm determined based on supervised machine learning to classify a patient state based on the signal, and applies at least one additional classification algorithm determined based on supervised machine learning to further classify the patient state based on the signal.
In another aspect, the disclosure is directed to a system comprising means for receiving a signal indicative of a patient parameter, means for applying a first classification algorithm determined based on supervised machine learning to classify a patient state based on the signal, and means for applying at least one additional classification algorithm determined based on supervised machine learning to further classify the patient state based on the signal.
In another aspect, the disclosure is directed to a computer-readable medium comprising instructions that cause a programmable processor to receive a signal indicative of a patient parameter, apply a first classification algorithm determined based on supervised machine learning to classify a patient state based on the signal, and apply at least one additional classification algorithm determined based on supervised machine learning to further classify the patient state based on the signal.
In another aspect, the disclosure is directed to a method comprising receiving a signal indicative of a parameter of a patient, determining a feature vector based on the signal, applying a support vector machine based algorithm to classify a patient state based on the feature vector, wherein the support vector machine based algorithm defines a classification boundary, determining a distance between the feature vector and the classification boundary, and determining an evaluation metric for the patient state based on the distance.
In another aspect, the disclosure is directed to a system comprising a sensing module that generates a signal indicative of a parameter of a patient, and a processor that receives the signal indicative of the patient parameter, determines a feature vector based on the signal, applies a support vector machine-based algorithm to classify a patient state based on the feature, wherein the support vector machine-based algorithm defines a classification boundary, and determines an evaluation metric for the patient state based on a distance between the feature vector and the classification boundary.
In another aspect, the disclosure is directed to a system comprising means for receiving a signal indicative of a parameter of a patient, means for determining a feature vector based on the signal, means for applying a support vector machine based algorithm to classify a patient state based on the feature vector, wherein the support vector machine based algorithm defines a classification boundary, means for determining a distance between the feature vector and the classification boundary, and means for determining an evaluation metric for the patient state based on the distance.
In another aspect, the disclosure is directed to a computer-readable medium comprising instructions that cause a programmable processor to receive a signal indicative of a parameter of a patient, determine a feature vector based on the signal, apply a support vector machine based algorithm to classify a patient state based on the feature vector, wherein the support vector machine based algorithm defines a classification boundary, determine a distance between the feature vector and the classification boundary, and determine an evaluation metric for the patient state based on the distance.
In another aspect, the disclosure is directed to a method comprising generating a signal based on a parameter of a patient, determining a plurality of feature vectors over time based on the signal, applying a support vector machine based algorithm to classify a patient state based on the plurality of feature vectors, wherein the support vector machine algorithm based algorithm defines a classification boundary in a feature space, determining a trajectory of the feature vectors within the feature space relative to the classification boundary, and generating an indication based on the trajectory of the feature vectors within the feature space.
In another aspect, the disclosure is directed to a system comprising a sensing module that generates a signal indicative of a parameter of the patient, and a processor that receives the signal, determines a plurality of feature vectors over time based on the signal, applies a support vector machine based algorithm to classify a patient state based on the plurality of feature vectors, wherein the support vector machine algorithm based algorithm defines a classification boundary in a feature space, determines a trajectory of the feature vectors within the feature space relative to the classification boundary, and generates an indication based on the trajectory of the feature vectors within the feature space.
In another aspect, the disclosure is directed to a system comprising means for receiving a signal indicative of a parameter of a patient, means for determining a plurality of feature vectors over time based on the signal, means for applying a support vector machine based algorithm to classify a patient state based on the plurality of feature vectors, wherein the support vector machine algorithm based algorithm defines a classification boundary in a feature space, means for determining a trajectory of the feature vectors within the feature space relative to the classification boundary, and means for generating an indication based on the trajectory of the feature vectors within the feature space.
In another aspect, the disclosure is directed to a computer readable medium comprising instructions that cause a programmable processor to receive a signal indicative of a parameter of a patient, determine a plurality of feature vectors over time based on the signal, apply a support vector machine based algorithm to classify a patient state based on the plurality of feature vectors, wherein the support vector machine algorithm based algorithm defines a classification boundary in a feature space, determine a trajectory of the feature vectors within the feature space relative to the classification boundary, and generate an indication based on the trajectory of the feature vectors within the feature space.
In another aspect, the disclosure is directed to a computer-readable storage medium comprising instructions. The instructions cause a programmable processor to perform any part of the techniques described herein. The instructions may be, for example, software instructions, such as those used to define a software or computer program. The computer-readable medium may be a computer-readable storage medium such as a storage device (e.g., a disk drive, or an optical drive), memory (e.g., a Flash memory, random access memory or RAM) or any other type of volatile or non-volatile memory that stores instructions (e.g., in the form of a computer program or other executable) to cause a programmable processor to perform the techniques described herein.
The details of one or more examples of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.
Detecting one or more patient states may be useful for various purposes, such as monitoring and/or evaluating a patient condition, controlling therapy delivery to a patient, generating a patient or other user notification, data logging, initiating recording of a patient parameter, and the like. Techniques described herein include detecting a patient state based on one or more sensed patient parameters (also referred to as patient state biomarkers) with a classification algorithm that is determined based on any one or more machine learning techniques implemented by a computing device (e.g., a medical device programmer, a medical device or another computing device configured to receive patient parameter signals and generate a classification algorithm based on the signals). Example machine learning techniques include, but are not limited to, a genetic algorithm, an artificial neural network (e.g., based on a support vector machine (SVM), Bayesian classifiers, and the like) or other supervised machine learning techniques. Therefore, the patient state detection algorithm may be referred to as a supervised machine learning-based algorithm in the sense that a classification boundary that is used to classify patient parameters as indicative of a patient state is generated using supervised machine learning.
The computing device implementing (or applying) the supervised machine learning algorithm receives a signal indicative of a patient parameter (e.g., a physiological parameter or a patient posture or activity level) and extracts signal characteristics directly from the signals or from a parameterized signal or data generated based on the raw patient parameter signal in order to generate the classification algorithm. The signal characteristics are processed via the supervised machine learning algorithm in order to generate the classification boundary.
The description of some examples of devices, systems, and techniques described herein refer to patient state detection using a classification boundary determined based on a SVM, which can be referred to as a SVM-based algorithm. In other examples, the devices, systems, and techniques described herein can utilize other types of patient state classification algorithms, such as classification algorithms that are determined (or generated) based on other supervised machine learning techniques. The supervised machine learning techniques generate a classification boundary based on training data (e.g., a patient parameter signal) from known occurrences of the patient state, where the classification boundary is used to predict or detect the occurrence of the patient state or evaluate the patient state, as described herein with respect to SVM-based algorithms.
In the techniques described herein, a patient state determination is made by determining the side of the classification boundary on which a feature vector extracted from a sensed patient parameter signal lies. A feature can be a patient parameter signal characteristic, and a feature vector includes two or more features. Thus, a feature vector determined based on a sensed patient parameter signal includes respective values for each of the features. Examples of signal characteristics include a morphology of the signal (e.g., amplitude, slope, frequency, peak value, trough value, or other traits of the signal) or the spectral characteristics of the signal (e.g., frequency band power level, a ratio of power levels, and the like). Each side of the classification boundary is associated with a different patient state. The classification boundary may separate feature vectors that are indicative of the patient state and feature vectors that are not indicative of the patient state. As described in further detail below, a classification boundary can be a linear boundary or a non-linear boundary. Moreover, the boundary can extend in a plurality of directions and traverse a multi-dimensional space (e.g., a two dimensional feature space, a three-dimensional feature space, a four dimensional feature space or more depending upon the number of features present in the feature vectors used to classify the patient state).
The techniques described herein also include determining the classification boundary with the aid of a SVM algorithm implemented by a computing device, such as a medical data computing device implemented in a general purpose computer, a medical device programmer, or a medical device, e.g., an implantable medical therapy or sensing device. As described below with reference to
In some examples, the patient state includes a movement state and/or a non-movement state. A movement state may include a state in which a patient is intending on moving, is attempting to initiate movement or has initiated movement, and non-movement state may include a state in which the patient is not intending on moving, is not attempting to initiate movement. If the patient is afflicted with a movement disorder or other neurodegenerative impairment, the performance of certain motor tasks by the patient may be difficult. Accordingly, detecting whether a patient is in a movement state may be useful for controlling therapy delivery to a patient and providing movement disorder therapy to the patient in a closed-loop manner.
Therapy delivery, such as delivery of electrical stimulation therapy, a fluid delivery therapy (e.g., delivery of a pharmaceutical agent), fluid suspension delivery, or delivery of an external cue may improve the performance of motor tasks by the patient that may otherwise be difficult. These tasks may include at least one of initiating movement, maintaining movement, grasping and moving objects, improving gait associated with narrow turns, and so forth.
In other examples, the patient state includes a state in which one or more symptoms of a movement disorder are present. Symptoms of movement disorders include, for example, limited muscle control, motion impairment or other movement problems, such as rigidity, bradykinesia, rhythmic hyperkinesia, nonrhythmic hyperkinesia, and akinesia. In some cases, the movement disorder may be a symptom of Parkinson's disease. However, the movement disorder may be attributable to other patient conditions. By determining when the patient is experiencing symptoms of a movement disorder, a therapy system can provide on demand therapy to help manage the symptoms and improve patient movement as the therapy is needed or desired by the patient.
In examples in which the patient state includes a movement or non-movement state, the one or more signals indicative of a patient parameter that are used to determine the patient state may include, but are not limited to, bioelectrical brain signals, such as an electroencephalogram (EEG) signal, electrocorticogram (ECoG) signal, a local field potential (LFP) sensed from within one or more regions of a patient's brain and/or action potentials from single cells within the patient's brain. LFPs represent the ensemble activity of thousands to millions of cells in an in vivo neural population, and can be obtained via electrodes implanted within a brain of a patient (e.g., as shown in
Low-frequency power fluctuations of discrete frequency bands in LFPs provide useful biomarkers for discriminating between brain states. Relevant biomarkers for differentiating between different patient states may span a relatively broad frequency spectrum, from about 1 Hertz (Hz) oscillations in a sleep state of a patient to greater than 500 Hz (e.g., “fast ripples” in the hippocampus) in other patient states. The biomarkers for various patient states may have widely varying bandwidths.
Other signals that may be used to determine a patient state in accordance with techniques described herein include signals generated by a motion sensor (e.g., a one-axis, two-axis or three-axis accelerometer, a gyroscope, a pressure transducer, or a piezoelectric crystal) or another type of sensor that generates a signal indicative of a patient parameter (e.g., physiological parameters such as blood pressure, tissue perfusion, heart rate, respiratory rate, muscle activity, electrodermal activity, body temperature, and the like).
A patient state may also include a mood state, which may be a symptom of a psychiatric disorder with which a patient is afflicted. For example, a patient mood state can be as an anxious state, a non-anxious mood state, a depressive state, a non-depressive mood state, a manic state, a non-manic state, a panic state, a non-panic state, and the like. Examples of psychiatric disorders that therapy system 10 may be useful for managing include major depressive disorder (MDD), bipolar disorder, anxiety disorders (e.g., post traumatic stress disorder, obsessive-compulsive disorder (OCD), panic disorder), or dysthymic disorder.
Detecting a mood state of a patient may be useful for, among other things, determining the severity or progression of a psychiatric disorder of a patient, formulating a therapy regimen for the patient, and controlling therapy delivery to the patient (e.g., activating therapy delivery, turning therapy off or adjusting one or more therapy delivery parameters). Detected patient mood states and, in some examples, patient parameters observed during the patient mood state can be stored by a device for later analysis by a clinician. Automatically determining patient mood states throughout an evaluation period may be more indicative of the status of the psychiatric disorder compared to relying on patient input indicative of the patient mood states.
In examples in which the patient state includes a patient mood state, the one or more signals indicative of a patient parameter that are used to determine the patient state may include, but are not limited to, bioelectrical brain signals. Instead of or in addition to the bioelectrical brain signals, the signals with which the patient mood state may be detected include, but are not limited to, signals indicative of a heart rate (e.g., as indicated by an electrocardiogram, electrogram, or a pulse oximeter), respiratory rate (e.g., as indicated by a transthoracic impedance sensor or a pulse oximeter), electrodermal activity (e.g., skin conductance level), changes in facial expression (e.g., as indicated by a facial electromyogram (EMG), facial flushing (e.g., as indicated by thermal sensing) or fatigue (e.g., as indicated by facial expression). As described in U.S. patent application Ser. No. 12/426,065 by Giftakis et al., which is entitled “ANALYZING A WASHOUT PERIOD CHARACTERISTIC FOR PSYCHIATRIC DISORDER THERAPY DELIVERY” and was filed on Apr. 17, 2009, these different physiological parameters can change as a function of a patient mood state, and, therefore, can be used to detect or determine a patient mood state. U.S. patent application Ser. No. 12/426,065 by Giftakis et al. is incorporated herein by reference in its entirety.
A patient state may also include a posture state, which can refer to a state in which the patient is occupying particular patient posture or a combination of posture and activity. A posture state can include, for example, an upright posture state or a lying down posture state, where the upright posture state may be sub-categorized as upright and active or upright and inactive. Other posture states, such as lying down posture states, may or may not have an activity component. However, the lying down posture state can have other components. For example, the patient state may be a lying front posture state in which the patient is lying on a front side (e.g., a ventral side) of the body, a lying back posture state in which the patient is lying on a back side (e.g., a dorsal side) of the body, lying right posture state in which the patient is lying on a right side of the body, and a lying left posture state in which the patient is lying on a left side of the body.
Detection of a patient posture state may be useful for providing posture responsive therapy delivery to the patient. Changes in posture state may cause changes in efficacy of therapy delivery due to changes in distances between electrodes or other therapy delivery elements, e.g., due to temporary migration of leads or catheters caused by forces or stresses associated with different postures, or from changes in compression of patient tissue in different posture states. In addition, posture state changes may present changes in symptoms or symptom levels, e.g., pain level. To maintain therapeutic efficacy, it may be desirable to adjust one or more therapy parameter values based on different patient posture states, e.g., different posture s and/or activities engaged in by the patient.
A medical device may adjust therapy by modifying values for one or more therapy parameters, e.g., by specifying adjustments to a specific therapy parameter or by selecting different therapy programs or groups of programs that define different sets of therapy parameter values. That is, a therapy adjustment may be accomplished by selecting or adjusting parameter values for a current program (including parameters such as amplitude, pulse width, pulse rate, electrode combination, electrode polarity) or by selecting a different therapy program. In some examples, the medical device automatically makes the adjustments to one or more therapy parameter values based on a detected patient posture state.
In examples in which the patient state includes a patient posture state, the one or more signals indicative of a patient parameter may be generated by a motion sensor (e.g., a one-axis, two-axis or three-axis accelerometer, a gyroscope, a pressure transducer, or a piezoelectric crystal) that generates a signal indicative of the patient posture state. Instead of or in addition to the motion sensor, the signal may be indicative of an intracranial pressure, which may change as patient posture changes.
In some examples, a patient state includes a seizure state, in which one or more symptoms of a seizure of a patient are present, and a non-seizure state, in which the patient is not having a seizure. In some examples, the seizure state can also include a state in which a seizure is likely to occur. However, in other examples, the seizure state includes a state in which the patient is actually experiencing a seizure. This may be useful for, for example, evaluating a patient condition and generating a record of the patient's seizure activity.
Each of the patient states described herein may be detected alone or in combination with each other using the systems, devices, and techniques described herein. The examples described herein describe detecting a patient state based on a bioelectrical brain signal. In other examples, the techniques described herein are also applicable to detecting a patient state based on other types of signals indicative of a patient parameter, such as the other types of signals referenced above.
Therapy system 10 includes implantable medical device (IMD) 16, lead extension 18, leads 20A and 20B with respective sets of electrodes 24, 26, and medical device programmer 28. IMD 16 includes a therapy module that delivers electrical stimulation therapy to one or more regions of brain 12 via leads 20A and 20B (collectively referred to as “leads 20”). In the example shown in
In the example shown in
Leads 20 may be positioned to deliver electrical stimulation to one or more target tissue sites within brain 12 to manage patient symptoms associated with the patient disorder. Leads 20 may be implanted to position electrodes 24, 26 at desired locations of brain 12 through respective holes in cranium 32. Leads 20 may be placed at any location within brain 12 such that electrodes 24, 26 are capable of providing electrical stimulation to target tissue sites within brain 12 during treatment. In the example shown in
Different neurological or psychiatric disorders may be associated with activity in one or more of regions of brain 12, which may differ between patients. Thus, stimulation therapy may be delivered to different regions of brain 12 depending on the patient condition and symptoms of the patient condition. For example, in the case of MDD, bipolar disorder, OCD or other anxiety disorders, leads 20 may be implanted to deliver electrical stimulation to the anterior limb of the internal capsule of brain 12, and only the ventral portion of the anterior limb of the internal capsule (also referred to as a VC/VS), the subgenual component of the cingulate cortex, anterior cingulate cortex Brodmann areas 32 and 24, various parts of the prefrontal cortex, including the dorsal lateral and medial pre-frontal cortex (PFC) (e.g., Brodmann area 9), ventromedial prefrontal cortex (e.g., Brodmann area 10), the lateral and medial orbitofrontal cortex (e.g., Brodmann area 11), the medial or nucleus accumbens, thalamus, intralaminar thalamic nuclei, amygdala, hippocampus, the lateral hypothalamus, the Locus ceruleus, the dorsal raphe nucleus, ventral tegmentum, the substantia nigra, subthalamic nucleus, the inferior thalamic peduncle, the dorsal medial nucleus of the thalamus, the habenula, or any combination thereof
Suitable target therapy delivery sites within brain 20 for controlling a movement disorder of patient 14 include the pedunculopontine nucleus (PPN), thalamus, basal ganglia structures (e.g., globus pallidus, substantia nigra or subthalamic nucleus), zona inserta, fiber tracts, lenticular fasciculus (and branches thereof), ansa lenticularis, and/or the Field of Forel (thalamic fasciculus). The PPN may also be referred to as the pedunculopontine tegmental nucleus.
The target therapy delivery site may depend upon the patient disorder or condition being treated. Thus, in other examples, leads 20 may be positioned to deliver other types of therapy to patient 14, such as spinal cord stimulation to manage pain, proximate to a pelvic floor nerve to manage urinary or fecal incontinence, or proximate to any other suitable nerve, organ, muscle or muscle group in patient 14, which may be selected based on, for example, a patient condition. For example, therapy system 10 may be used to deliver neurostimulation therapy to a pudendal nerve, a perineal nerve or other areas of the nervous system, in which cases, one or both leads 20 would be implanted and substantially fixed proximate to the respective nerve. As further examples, one or both leads 20 may be positioned for temporary or chronic spinal cord stimulation for the treatment of pain, for peripheral neuropathy or post-operative pain mitigation, ilioinguinal nerve stimulation, intercostal nerve stimulation, gastric stimulation for the treatment of gastric mobility disorders and obesity, muscle stimulation (e.g., functional electrical stimulation (FES) of muscles), for mitigation of other peripheral and localized pain (e.g., leg pain or back pain), or for deep brain stimulation to treat movement disorders and other neurological disorders. Accordingly, although patient 14 and DBS are referenced throughout the remainder of the disclosure for purposes of illustration, a therapy system may be adapted for use in a variety of electrical stimulation applications.
Although leads 20 are shown in
Leads 20 may be implanted within a desired location of brain 12 via any suitable technique, such as through respective burr holes in a skull of patient 14 or through a common burr hole in the cranium. Leads 20 may be placed at any location within brain 12 such that the electrodes of the leads are capable of providing electrical stimulation to targeted tissue during treatment. Electrical stimulation generated from the signal generator (not shown) within the therapy module of IMD 16 may help prevent the onset of events associated with the patient's condition or mitigate symptoms of the patient condition. The exact therapy parameter values of the stimulation therapy, such as the amplitude or magnitude of the stimulation signals, the duration of each signal, the waveform of the stimuli (e.g., rectangular, sinusoidal or ramped signals), the frequency of the signals, and the like, may be specific for the particular target stimulation site (e.g., the region of the brain) involved as well as the particular patient and patient condition.
In the case of stimulation pulses, the stimulation therapy may be characterized by selected pulse parameters, such as pulse amplitude, pulse rate, and pulse width. In addition, if different electrodes are available for delivery of stimulation, the therapy may be further characterized by different electrode combinations, which can include selected electrodes and their respective polarities. Known techniques for determining the optimal stimulation parameters may be employed.
The electrodes 24, 26 of leads 20 are shown as ring electrodes. Ring electrodes may be relatively easy to program and are typically capable of delivering an electrical field to any tissue adjacent to leads 20. In other examples, the electrodes of leads 20 may have different configurations. For example, the electrodes of leads 20 may have a complex electrode array geometry that is capable of producing shaped electrical fields. The complex electrode array geometry may include multiple electrodes (e.g., partial ring or segmented electrodes) around the perimeter of each lead 20, rather than a ring electrode. In this manner, electrical stimulation may be directed to a specific direction from leads 20 to enhance therapy efficacy and reduce possible adverse side effects from stimulating a large volume of tissue. In some examples, a housing of IMD 16 may include one or more stimulation and/or sensing electrodes. In alternative examples, leads 20 may have shapes other than elongated cylinders as shown in
In some examples IMD 16 includes a sensing module that senses bioelectrical signals within brain 12 or communicates with a sensing module that is physically separate from IMD 16. The bioelectrical brain signals may reflect changes in electrical current produced by the sum of electrical potential differences across brain tissue. Examples of bioelectrical brain signals include, but are not limited to, an EEG signal, ECoG signal, a LFP sensed from within one or more regions of a patient's brain and/or action potentials from single cells within the patient's brain. In addition, in some cases, a bioelectrical brains signal includes a measured impedance of tissue of brain 12. In some examples, the bioelectrical brain signals may be used to determine whether patient 14 is in a particular state, e.g., using a classification boundary determined with a SVM algorithm, as described with reference to
In some examples, leads 20 may include sensing electrodes positioned to detect the bioelectrical brain signal within one or more region of patient's brain 12. Alternatively, another set of implantable or external sensing electrodes may monitor the electrical signal. IMD 16 may deliver therapy and sense bioelectrical brain signals within the same or different target tissue sites of brain 12.
IMD 16 includes a stimulation generator that generates the electrical stimulation delivered to patient 14 via leads 20. In the example shown in
A therapy program defines respective values for a number of parameters that define the stimulation. For example, the therapy parameters may include voltage or current pulse amplitudes, pulse widths, pulse rates, pulse frequencies, electrode combinations, and the like. IMD 16 may store a plurality of programs. In some cases, the one or more stimulation programs are organized into groups, and IMD 16 may deliver stimulation to patient 14 according to a program group. During a trial stage in which IMD 16 is evaluated to determine whether IMD 16 provides efficacious therapy to patient 14, the stored programs may be tested and evaluated for efficacy.
IMD 16 may include a memory to store one or more therapy programs (e.g., arranged in groups), and instructions defining the extent to which patient 14 may adjust therapy parameters, switch between programs, or undertake other therapy adjustments. Patient 14 may generate additional programs for use by IMD 16 via programmer 28 at any time during therapy or as designated by the clinician.
Generally, outer housing 34 of IMD 16 is constructed of a biocompatible material that resists corrosion and degradation from bodily fluids. IMD 16 may be implanted within a subcutaneous pocket close to the stimulation site. Although IMD 16 is implanted within a subcutaneous pocket near a clavicle of patient 14 in the example shown in
In some examples, depending on upon the patient condition, therapy system 10 includes motion sensor 36, which generates a signal indicative of patient activity (e.g., patient movement or patient posture transitions). For example, motion sensor 36 may include one or more accelerometers (e.g., one-axis, two-axis or three-axis accelerometers) capable of detecting static orientation or vectors in three-dimensions. An example accelerometer is a micro-electromechanical accelerometer. In other examples, motion sensor 36 may alternatively or additionally include one or more gyroscopes, pressure transducers, piezoelectric crystals, or other sensors that generate a signal that changes as a function of patient activity and patient posture. In some examples, the signal generated by motion sensor 36 may be used to determine whether patient 14 is in a particular state, e.g., using the SVM-based technique described with reference to
In some examples, patient input provided via programmer 28 or IMD 16 may also be correlated with bioelectrical brain signal information or other signals indicative of a patient parameter in order to train a patient state detection algorithm (e.g., a SVM algorithm). For example, as described with respect to
In some examples, the patient input received via programmer 28 or another device can be used to activate recording of training data used by the SVM technique implemented by a computing device (e.g., programmer 28, IMD 16 or another computing device) to generate the SVM-based classification algorithm for patient state detection. In some examples, the training data includes a signal generated by a sensor (e.g., a motion sensor and/or physiological parameter sensing module), which can be stored in a memory of IMD 16 upon the receipt of patient input via programmer 28. The signal can be recorded for a predetermined length of time (e.g., about one minute or less) or until further patient input is received via programmer 28. In some examples, a memory of IMD 16 can buffer data that is sensed prior to the receipt of patient input. In such examples, the training data can include the signal generated by the sensor indicative of a patient parameter for a time period both prior to and after the receipt of the patient input that activated the recording of the training data. As discussed in further detail below, other techniques can be used to acquire training data in addition to or instead of the patient input.
Example systems and techniques for receiving patient input to collect information related to the occurrence of a patient event, such as a mood state or a seizure state, are described in U.S. patent application Ser. No. 12/236,211 to Kovach et al., entitled, “PATIENT EVENT INFORMATION,” which was filed on Sep. 23, 2008 and is incorporated herein by reference in its entirety. As described in U.S. patent application Ser. No. 12/236,211 to Kovach et al., a processor of programmer 28 or another computing device may generate an event marker upon activation of an event indication button of programmer 28 by patient 14. For example, if patient 14 detects a seizure or a particular mood state or patient posture, patient 14 may activate the event indication button, and, in response, the processor may generate an event marker. Other types of patient events are contemplated, such as occurrences of other types of patient states (e.g., movement state, a particular mood state, a particular posture state, and the like). Patient 14 may provide event information relating to the patient event. For example, the event information may include the type of patient event detected, the severity of the patient event, duration of the patient event, drug type and dose taken prior to, during or after the occurrence of the patient event, a subjective rating of the efficacy of therapy that is delivered to manage the patient condition, and the like. Programmer 28 may provide a user interface that is configured to receive the event information from the patient, and, in some examples, may prompt the patient for the information.
In the example shown in
In some examples, therapy system 10 also include a sensor 38 that generates a signal indicative of a patient parameter in addition or instead of motion sensor 36 or a sensing module of IMD 16. Sensor 38 may be any suitable sensor that senses a physiological parameter associated with a patient condition of patient 14. Although shown as being physically separate from IMD 16 in the example shown in
In some examples, sensor 38 is configured to monitor a physiological signal of patient 14 such as a heart rate, respiratory rate, electrodermal activity (e.g., skin conductance level or galvanic skin response), muscle activity (e.g., via electromyogram), thermal sensing, and any other physiological parameter that may be indicative of a particular patient state. In some examples, however, a sensing module of IMD 16 may also sense one or more of these physiological parameters.
External programmer 28 wirelessly communicates with IMD 16 as needed to provide or retrieve therapy information. Programmer 28 is an external computing device that the user, e.g., the clinician and/or patient 14, may use to communicate with IMD 16. For example, programmer 28 may be a clinician programmer that the clinician uses to communicate with IMD 16 and program one or more therapy programs for IMD 16. Alternatively, programmer 28 may be a patient programmer that allows patient 14 to select programs and/or view and modify therapy parameters. The clinician programmer may include more programming features than the patient programmer. In other words, more complex or sensitive tasks may only be allowed by the clinician programmer to prevent an untrained patient from making undesired changes to IMD 16.
Programmer 28 may be a handheld computing device with a display viewable by the user and an interface for providing input to programmer 28 (i.e., a user input mechanism). For example, programmer 28 may include a small display screen (e.g., a liquid crystal display (LCD) or a light emitting diode (LED) display) that presents information to the user. In addition, programmer 28 may include a touch screen display, keypad, buttons, a peripheral pointing device or another input mechanism that allows the user to navigate though the user interface of programmer 28 and provide input. If programmer 28 includes buttons and a keypad, the buttons may be dedicated to performing a certain function, i.e., a power button, or the buttons and the keypad may be soft keys that change in function depending upon the section of the user interface currently viewed by the user. Alternatively, the screen (not shown) of programmer 28 may be a touch screen that allows the user to provide input directly to the user interface shown on the display. The user may use a stylus or their finger to provide input to the display.
In other examples, programmer 28 may be a larger workstation or a separate application within another multi-function device, rather than a dedicated computing device. For example, the multi-function device may be a notebook computer, tablet computer, workstation, cellular phone, personal digital assistant or another computing device that may run an application that enables the computing device to operate as a secure medical device programmer 28. A wireless adapter coupled to the computing device may enable secure communication between the computing device and IMD 16.
When programmer 28 is configured for use by the clinician, programmer 28 may be used to transmit initial programming information to IMD 16. This initial information may include hardware information, such as the type of leads 20, the arrangement of electrodes 24, 26 on leads 20, the number and location of motion sensor 36 within patient 14, the position of leads 20 within brain 12, the configuration of electrode array 24, 26, initial programs defining therapy parameter values, and any other information the clinician desires to program into IMD 16. Programmer 28 may also be capable of completing functional tests (e.g., measuring the impedance of electrodes 24, 26 of leads 20).
The clinician may also store therapy programs within IMD 16 with the aid of programmer 28. During a programming session, which may occur after implantation of IMD 16 or prior to implantation of IMD 16, the clinician may determine the therapy parameter values that provide efficacious therapy to patient 14 to address symptoms associated with the patient condition. For example, the clinician may select one or more electrode combinations with which stimulation is delivered to brain 12. As another example, programmer 28 or another computing device may utilize a search algorithm that automatically selects therapy programs for trialing, i.e., testing on patient 14. During the programming session, patient 14 may provide feedback to the clinician as to the efficacy of the specific program being evaluated (e.g., trialed or tested) or the clinician may evaluate the efficacy based on one or more physiological parameters of patient (e.g., heart rate, respiratory rate, or muscle activity). Programmer 28 may assist the clinician in the creation/identification of therapy programs by providing a methodical system for identifying potentially beneficial therapy parameter values.
Programmer 28 may also be configured for use by patient 14. When configured as a patient programmer, programmer 28 may have limited functionality (compared to a clinician programmer) in order to prevent patient 14 from altering critical functions of IMD 16 or applications that may be detrimental to patient 14. In this manner, programmer 28 may only allow patient 14 to adjust values for certain therapy parameters or set an available range of values for a particular therapy parameter.
Programmer 28 may also provide an indication to patient 14 when therapy is being delivered, when patient input has triggered a change in therapy or when the power source within programmer 28 or IMD 16 needs to be replaced or recharged. For example, programmer 28 may include an alert LED, may flash a message to patient 14 via a programmer display, generate an audible sound or somatosensory cue to confirm patient input was received, e.g., to indicate a patient state or to manually modify a therapy parameter.
Whether programmer 28 is configured for clinician or patient use, programmer 28 is configured to communicate to IMD 16 and, optionally, another computing device, via wireless communication. Programmer 28, for example, may communicate via wireless communication with IMD 16 using radio frequency (RF) telemetry techniques known in the art. Programmer 28 may also communicate with another programmer or computing device via a wired or wireless connection using any of a variety of local wireless communication techniques, such as RF communication according to the 802.11 or Bluetooth specification sets, infrared (IR) communication according to the IRDA specification set, or other standard or proprietary telemetry protocols. Programmer 28 may also communicate with other programming or computing devices via exchange of removable media, such as magnetic or optical disks, memory cards or memory sticks. Further, programmer 28 may communicate with IMD 16 and another programmer via remote telemetry techniques known in the art, communicating via a local area network (LAN), wide area network (WAN), public switched telephone network (PSTN), or cellular telephone network, for example.
Therapy system 10 may be implemented to provide chronic stimulation therapy to patient 14 over the course of several months or years. However, system 10 may also be employed on a trial basis to evaluate therapy before committing to full implantation. If implemented temporarily, some components of system 10 may not be implanted within patient 14. For example, patient 14 may be fitted with an external medical device, such as a trial stimulator, rather than IMD 16. The external medical device may be coupled to percutaneous leads or to implanted leads via a percutaneous extension. If the trial stimulator indicates DBS system 10 provides effective treatment to patient 14, the clinician may implant a chronic stimulator within patient 14 for relatively long-term treatment.
In addition to or instead of electrical stimulation therapy, IMD 16 may deliver a therapeutic agent to patient 14 to manage a patient condition in addition to or instead of electrical stimulation therapy. In such examples, IMD 16 may include a fluid pump or another device that delivers a therapeutic agent in some metered or other desired flow dosage to the therapy site within patient 14 from a reservoir within IMD 16 via a catheter. The fluid pump may be external or implanted. The therapeutic agent may be used to provide therapy to patient 14 to manage a condition of patient 14, and may be delivered to the patient's brain 12, blood stream or tissue. As another example, a medical device may be an external patch that is worn on a skin surface of patient 14, where the patch elutes a therapeutic agent, which is then absorbed by the patient's skin. Other types of therapeutic agent delivery systems are contemplated. IMD 16 may deliver the therapeutic agent upon detecting a particular patient state based on a signal indicative of a patient parameter (e.g., a bioelectrical brain signal or a motion sensor signal). The catheter used to deliver the therapeutic agent to patient 14 may include one or more electrodes for sensing bioelectrical brain signals of patient 14.
In the case of therapeutic agent delivery, the therapy parameters may include the dosage of the therapeutic agent (e.g., a bolus size or concentration), the rate of delivery of the therapeutic agent, the maximum acceptable dose in each bolus, a time interval at which a dose of the therapeutic agent may be delivered to a patient (lock-out interval), and so forth.
While the remainder of the disclosure describes various systems, devices, and techniques for detecting a patient state of patient 14 with respect to therapy system 10 of
In the example shown in
Patient state detection algorithm 56 stored by memory 42 includes machine-readable instructions for performing an algorithm. Using the instructions, processor 40 may execute patient state detection algorithm 56 to detect a patient state based on a received signal that is indicative of a patient parameter (e.g., a signal from sensing module 46, motion sensor 36 or sensor 38 shown in
In some examples, memory 42 also stores a log (or record) of patient state occurrences. This may be useful for evaluating the patient condition, the progression of the patient condition, or the therapeutic effects of IMD 16 in managing the patient condition. The log of patient state occurrences can include any suitable type of information. In one example, the log includes a patient state indication generated by processor 40 upon the detection of the patient state, a date and time stamp indicating when the patient state was detected, and the patient parameter signal generated by any one or more of motion sensor 36, sensor 28, sensing module 46, or another sensing module.
IMD 16 is coupled to leads 20A and 20B, which include electrodes 24A-24D and 26A-26D, respectively (collectively “electrodes 24 and 26”). Although IMD 16 is coupled directly to leads 20, in other examples, IMD 16 may be coupled to leads 20 indirectly, e.g., via lead extension 18 (
The configuration, type, and number of electrodes 24, 26 illustrated in
Processor 40 may include any one or more of a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), discrete logic circuitry. The functions attributed to processors described herein may be embodied in a hardware device via software, firmware, hardware or any combination thereof. Processor 40 controls the stimulation generator 44 to generate and deliver electrical stimulation signals to patient 14 according to selected therapy parameters. Specifically, processor 40 controls stimulation generator 44 according to therapy programs 54 stored in memory 42 to apply particular stimulation parameter values specified by one or more programs, such as current or voltage amplitude, frequency, and duty cycle (e.g., pulse width and pulse rate in the case of stimulation pulses). In addition, processor 40 may also control stimulation generator 44 to deliver the electrical stimulation signals via selected subsets of electrodes 24, 26 with selected polarities. For example, switch module 48 may combine electrodes 24, 26 in various bipolar or multi-polar combinations to deliver stimulation energy to selected sites, such as sites within brain 12. In other examples, therapy programs are stored within programmer 28 or another computing device, which transmits the therapy programs to IMD 16 via telemetry module 50.
In the example shown in
Stimulation generator 44 may be a single channel or multi-channel stimulation generator. In particular, stimulation generator 44 may be capable of delivering, a single stimulation pulse, multiple stimulation pulses or continuous signal at a given time via a single electrode combination or multiple stimulation pulses at a given time via multiple electrode combinations. In some examples, however, stimulation generator 44 and switch module 48 may be configured to deliver multiple channels on a time-interleaved basis. For example, switch module 48 may serve to time divide the output of stimulation generator 44 across different electrode combinations at different times to deliver multiple programs or channels of stimulation energy to patient 14.
Sensing module 46 is configured to sense bioelectrical brain signals of patient 14 via a selected subset of electrodes 24, 26. Processor 40 may control switch module 48 to electrically connect sensing module 46 to selected combinations of electrodes 24, 26. In this way, sensing module 46 may selectively sense bioelectrical brain signals with different combinations of electrodes 24, 26. As previously described, in some examples, processor 40 may detect a particular patient state of patient 14 via the sensed bioelectrical brain signal. In other examples, processor 40 may detect a particular patient state of patient 14 based on other physiological parameters of patient 14 in addition to or instead of a bioelectrical brain signal indicative of brain activity.
In some examples, sensing module 46 includes a frequency selective sensing circuit that extracts the energy level within one or more selected frequency bands of a sensed patient parameter signal, which may be, for example, a bioelectrical brain signal. The frequency selective sensing circuit can include a chopper-stabilized superheterodyne instrumentation amplifier and a signal analysis unit, and may utilize a heterodyning, chopper-stabilized amplifier architecture to convert a selected frequency band of a physiological signal, such as a bioelectrical brain signal, to a baseband for analysis. The physiological signal may be analyzed in one or more selected frequency bands to determine one or more features as described herein. In some examples, sensing module 46 includes a plurality of channels that extract the same or different frequency bands of one or more signals indicative of one or more patient parameters.
Examples of various additional chopper amplifier circuits that may be suitable for or adapted to the techniques, circuits and devices of this disclosure are described in U.S. Pat. No. 7,385,443 to Denison, which is entitled “CHOPPER STABILIZED INSTRUMENTATION AMPLIFIER” and issued on Jan. 10, 2008, the entire content of which is incorporated herein by reference. Examples of frequency selective monitors that may utilize a heterodyning, chopper-stabilized amplifier architecture are described in U.S. Provisional Application No. 60/975,372 by Denison et al., entitled “FREQUENCY SELECTIVE MONITORING OF PHYSIOLOGICAL SIGNALS,” and filed on Sep. 26, 2007, commonly-assigned U.S. Provisional Application No. 61/025,503 by Denison et al., entitled “FREQUENCY SELECTIVE MONITORING OF PHYSIOLOGICAL SIGNALS, and filed on Feb. 1, 2008, and commonly-assigned U.S. Provisional Application No. 61/083,381, entitled, “FREQUENCY SELECTIVE EEG SENSING CIRCUITRY,” and filed on Jul. 24, 2008. The entire contents of above-identified U.S. Provisional Application Nos. 60/975,372, 61/025,503, and 61/083,381 are incorporated herein by reference. Further examples of chopper amplifier circuits are also described in further detail in commonly-assigned U.S. Patent Application Publication No. 2009/0082691 by Denison et al., entitled, “FREQUENCY SELECTIVE MONITORING OF PHYSIOLOGICAL SIGNALS” and filed on Sep. 25, 2008. U.S. Patent Application Publication No. 2009/0082691 by Denison et al. is incorporated herein by reference in its entirety.
A sensing module 46 that directly extracts energy in key frequency bands of a bioelectrical brain signal may be used to extract bandpower at key physiological frequencies with an architecture that is flexible, robust, and relatively low-noise. Chopper stabilization is a noise and power efficient architecture for amplifying low-frequency neural signals in micropower applications (e.g., an implanted device) with excellent process immunity. Chopper stabilized amplifiers can be adapted to provide wide dynamic range, high-Q filters. A sensing module 46 that includes a chopper-stabilized amplifier may slightly displace the clocks within the chopper amplifier in order to re-center a targeted band of energy to direct current (DC) in a manner similar to superheterodyne receivers used in communication systems. In some examples, extracting the bandpower within a selected frequency band requires two parallel signal paths (in-phase and quadrature) that are combined within the power extraction stage. The power output signal can be lowpass filtered, which results in an output that represents the spectral power fluctuations in the frequency band.
As previously indicated, a bioelectrical brain signal may include an EEG, ECoG, single cell recording, or LFP. The band power fluctuations in LFPs sensed within brain 12 of patient 14 (
In the example shown in
Telemetry module 50 supports wireless communication between IMD 16 and an external programmer 28 or another computing device under the control of processor 40. Processor 40 of IMD 16 may receive, as updates to programs, values for various stimulation parameters such as amplitude and electrode combination, from programmer 28 via telemetry module 50. The updates to the therapy programs may be stored within therapy programs 54 portion of memory 42. Telemetry module 50 in IMD 16, as well as telemetry modules in other devices and systems described herein, such as programmer 28, may accomplish communication by radiofrequency (RF) communication techniques. In addition, telemetry module 50 may communicate with external medical device programmer 28 via proximal inductive interaction of IMD 16 with programmer 28. Accordingly, telemetry module 50 may send information to external programmer 28 on a continuous basis, at periodic intervals, or upon request from IMD 16 or programmer 28.
Power source 52 delivers operating power to various components of IMD 16. Power source 52 may include a small rechargeable or non-rechargeable battery and a power generation circuit to produce the operating power. Recharging may be accomplished through proximal inductive interaction between an external charger and an inductive charging coil within IMD 16. In some examples, power requirements may be small enough to allow IMD 16 to utilize patient motion and implement a kinetic energy-scavenging device to trickle charge a rechargeable battery. In other examples, traditional batteries may be used for a limited period of time.
A user, such as a clinician or patient 14, may interact with programmer 28 through user interface 66. User interface 66 includes user input mechanism 76 and display 78, such as a LCD or LED display or other type of screen, to present information related to the therapy, such as information related to bioelectrical signals sensed via a plurality of sense electrode combinations. Display 78 may also be used to present a visual alert to patient 14 that IMD 16 has detected a particular patient state is about to occur. Other types of alerts are contemplated, such as audible alerts or somatosensory alerts. Input mechanism 76 is configured to receive input from the user. Input mechanism 76 may include, for example, buttons, a keypad (e.g., an alphanumeric keypad), a peripheral pointing device or another input mechanism that allows the user to navigate though user interfaces presented by processor 60 of programmer 28 and provide input.
Input mechanism 76 can include buttons and a keypad, where the buttons may be dedicated to performing a certain function, i.e., a power button, or the buttons and the keypad may be soft keys that change function depending upon the section of the user interface currently viewed by the user. Alternatively, display 78 of programmer 28 may be a touch screen that allows the user to provide input directly to the user interface shown on the display. The user may use a stylus or their finger to provide input to the display. In other examples, user interface 66 also includes audio circuitry for providing audible instructions or notifications to patient 14 and/or receiving voice commands from patient 14, which may be useful if patient 14 has limited motor functions. Patient 14, a clinician or another user may also interact with programmer 28 to manually select therapy programs, generate new therapy programs, modify therapy programs through individual or global adjustments, and transmit the new programs to IMD 16.
In some examples, at least some of the control of therapy delivery by IMD 16 may be implemented by processor 60 of programmer 28. For example, in some examples, processor 60 may receive patient activity information and bioelectrical brain signals from IMD 16 or from a sensing module that is separate from IMD 16. The separate sensing module may, but need not be, implanted within patient 14. In some examples, processor 60 may evaluate the patient activity information and bioelectrical brain signals from IMD 16 to determine which of a plurality of patient states patient 14 is currently in.
In addition, in some examples, instead of or in addition to processor 40 of IMD 16 or another computing device, processor 60 of programmer 28 may generate one or more boundaries using a SVM algorithm for determining a patient state based on a sensed patient parameter signal. An example technique that processor 60 can implement in order to train the SVM algorithm (or another supervised machine learning algorithm) to determine the one or more boundaries is described with respect to
Memory 62 may include instructions for operating user interface 66 and telemetry module 64, and for managing power source 68. Memory 62 may also store any therapy data retrieved from IMD 16 during the course of therapy, as well as instructions for a SVM that may be implemented to generate a classification boundary for detecting patient states. Memory 62 may include any volatile or nonvolatile memory, such as RAM, ROM, EEPROM or flash memory. Memory 62 may also include a removable memory portion that may be used to provide memory updates or increases in memory capacities. A removable memory may also allow sensitive patient data to be removed before programmer 28 is used by a different patient. In some examples, memory 62 can also store a log of patient state detections, as described above with respect to memory 42 of IMD 16.
Wireless telemetry in programmer 28 may be accomplished by RF communication or proximal inductive interaction of external programmer 28 with IMD 16. This wireless communication is possible through the use of telemetry module 64. Accordingly, telemetry module 64 may be similar to the telemetry module contained within IMD 16. In alternative examples, programmer 28 may be capable of infrared communication or direct communication through a wired connection. In this manner, other external devices may be capable of communicating with programmer 28 without needing to establish a secure wireless connection.
Power source 68 delivers operating power to the components of programmer 28. Power source 68 may include a battery and a power generation circuit to produce the operating power. In some examples, the battery may be rechargeable to allow extended operation. Recharging may be accomplished by electrically coupling power source 68 to a cradle or plug that is connected to an alternating current (AC) outlet. In addition, recharging may be accomplished through proximal inductive interaction between an external charger and an inductive charging coil within programmer 28. In other examples, traditional batteries (e.g., nickel cadmium or lithium ion batteries) may be used. In addition, programmer 28 may be directly coupled to an alternating current outlet to operate. Power source 68 may include circuitry to monitor power remaining within a battery. In this manner, user interface 66 may provide a current battery level indicator or low battery level indicator when the battery needs to be replaced or recharged. In some cases, power source 68 may be capable of estimating the remaining time of operation using the current battery.
In some examples, programmer 28 implements the SVM-based classification algorithm (or another supervised machine learning based classification algorithm) in order to determine a patient state. In such examples, memory 62 stores a patient state detection algorithm similar to patient state detection algorithm 56 stored by memory 42 of IMD 16. The patient state detection algorithm stored by memory 62 can include machine-readable instructions for performing an algorithm. Using the instructions, processor 60 of programmer 28 may execute the patient state detection algorithm to detect a patient state based on a received signal that is indicative of a patient parameter. Processor 60 can receive the signal from sensing module 46, motion sensor 36, sensor 38 or another sensor via wired or wireless communication techniques.
In other examples, a computing device that is remotely located from IMD 16 and programmer 28 (e.g., at a clinician's office) can implements the SVM-based classification algorithm (or another supervised machine learning based classification algorithm) in order to determine a patient state. As with programmer 28, the remote computing device can receive a patient parameter signal from sensing module 46, motion sensor 36, sensor 38 or another sensor via wired or wireless communication techniques. The signal can be transmitted to the remote computer continuously or periodically. However, depending on the available bandwidth for the transmission of signals from IMD 16 or another sensing module to programmer 28 or a remote computer, it may be desirable for IMD 16 (or the other sensing module) to transmit parameterized signals or data rather than raw signal waveforms.
A SVM technique is a supervised machine learning technique used for classification and regression that views input data as sets of vectors in an n-dimensional space (also referred to as a feature space). The feature space may have any suitable number of dimensions, such as two, three, four or more. A SVM-based algorithm (also referred to herein as an “SVM algorithm”) classifies data segments, such as characteristics (or “features”) of a signal indicative of a patient parameter, as indicative of different patient states. The SVM algorithm learns how to classify data segments based on representative feature values that are indicative of patient 14 being in a first patient state and representative feature values that are indicative of patient 14 not being in the first patient state (e.g., indicative of a second patient state). As previously indicated, a feature value may be a value indicative of a characteristic of a patient parameter signal (e.g., morphology of the signal or the spectral characteristics of the signal), and a feature vector includes respective values for each of a plurality of features. The patient parameter signal may be a bioelectrical brain signal, as primarily described herein, or may be another type of signal indicative of a patient parameter, such as a signal from motion sensor 36 (also referred to as a posture sensor or an activity sensor), sensor 38 (
Feature values are associated with a particular patient state. As discussed above, a feature vector includes respective values for each of a plurality of features (e.g., two or more features) for a segment of a patient parameter signal. A computing device (e.g., programmer 28, IMD 16 or another computing device) executing the SVM algorithm defines a classification boundary based on a plurality of feature vectors, where the classification boundary separates a feature space into two different regions. Each feature of the feature space defines an axis, such that the values of the feature vector indicate the coordinates of a point within the feature space. That is, a feature vector can be mapped to a specific point within a feature space based on the values of the features in the feature vector.
The known feature values (also referred to as representative feature values) are determined based on training data (e.g., data associating a signal indicative of a physiological parameter or patient posture state with a particular patient state). The training data can be acquired using any suitable technique. In some examples, as described above, IMD 16 or programmer 28 records and stores a sensor signal and an indication of an occurrence of a patient state temporally associated with the recorded physiological signal. In some examples, the sensor signal can be stored in a loop recorder, although other memory formats are also contemplated. The sensor signal recording and storing can be initiated using any suitable technique. Various examples are described with respect to
A clinician can later evaluate the recorded training data (e.g., sensor data and data indicating occurrences of one or more patient states) to determine the representative feature values for each of one or more patient states. In other examples, the representative feature values are provided by a user (e.g., a clinician) input during a learning stage, which may be prior to implementation of therapy by IMD 16 or during a follow-up session in which the patient detection algorithm of IMD 16 is updated. The representative feature values can be specific to a particular patient 14 or may be based on training data that is general to more than one patient.
The clinician may select two or more features that are useful for identifying the first and second patient states based on a patient parameter signal, as well as determine the feature vector values (e.g., with the aid of a computing device), which are then inputted into the SVM algorithm. Feature values determined based on a segment of a patient parameter signal are arranged in a vector, which is referred to as a feature vector, which is mapped to the feature space, which may be two-dimensional, three-dimensional, or have any other number of dimensions.
Based on the representative feature vectors, the SVM algorithm generates a classification boundary (also referred to as a hyperplane in the case of a linear boundary) in the feature space. The classification boundary separates the feature space into a first region associated with feature values indicative of the first patient state and a second region associated with feature values indicative of the second patient state. The classification boundary can be a two-dimensional boundary or can extend in more than two directions.
A SVM algorithm generates a classification boundary for patient state detection based on the feature values that are determined based on a sensed patient parameter signal for a particular patient 14. In this way, the SVM can be trained based on data specific to patient 14 such that the classification boundary implemented by a device at later time to detect the patient state is generated based on patient-specific data.
In some existing techniques for detecting a patient state, a patient state is determined by comparing one or more signal characteristics to a threshold value or template that is not specific to the patient, but is applied to multiple patients. The signal characteristic can be, for example, an amplitude of a physiological signal, one or more power levels in the frequency domain of the physiological signal, or a pattern in the physiological signal waveform. While detecting the patient state based on a non-patient specific threshold value or template may be useful, the number of false positive patient state detections and false negative patient state detections may be higher compared to techniques in which patient-specific classification boundaries are used to detect a patient state. A SVM-based classification algorithm is configured to improve patient state detection compared to some existing techniques because the SVM-based classification algorithm is generated using an SVM that relies on patient-specific training data and generates a classification boundary for a particular patient.
Some patient parameter signal characteristics that are indicative of a patient state may be similar for a class of patients, and, therefore, the non-patient specific threshold value or template can be useful for detecting the patient state. However, the techniques for detecting a patient state that rely on a non-patient specific threshold value or signal template do not necessarily consider the ways in which the patient parameters may differ between patients. These differences in patient parameters between patients may result in different sensitivities and specificities of patient state detection algorithms for different patients despite the use of the same patient state detection threshold value or template.
As an example, a first patient with an anxiety disorder may have a relatively high power level in a particular frequency band of a bioelectrical brain signal when the first patient is not in an anxious state (i.e., is in an non-anxious state), whereas a second patient with a similar anxiety disorder may have a lower power level in the particular frequency band of a bioelectrical brain signal when in a non-anxious state compared to the first patient. Thus, the biomarkers indicative of the non-anxious states of the first and second patients may differ. A non-patient specific threshold value may not account for these differences, and may, for example, result in the mischaracterization of some non-anxious states of the first patient as an anxious state because of the higher overall power level in the particular frequency band during a non-anxious state.
The SVM and the resulting SVM-based classification algorithm that is used herein to used to distinguish between two different patient states accounts for differences in patient parameters between patients. In particular, the SVM is trained to automatically classify a patient state based on actual patient parameter data for a specific patient 14, where the patient parameter data is known to be indicative of a first patient state. In some examples, the SVM is also trained based on actual patient parameter data for a specific patient 14 that is known to be indicative of a second patient state that is not the first patient state. The SVM-based classification algorithm for different patients may, therefore, define different classification boundaries with which a computing device determines a patient state.
In accordance with the technique shown in
In other examples, processor 60 can automatically determine the occurrence of the patient state based on data from a sensor alone or in combination with patient input. The SVM-based algorithm can be implemented in order to permit processor 60 to automatically detect a patient state based on a signal from a first type of sensor. Processor 60 can automatically determine a patient state based on a signal from a second type of sensor, which can be, for example, a sensor that is reliable for patient state detection, but is not useful for ambulatory IMD control because of its size, power consumption or other factors. Hence, the second type of sensor can be used to train processor 60 to detect a patient state based on the first type of sensor.
The indication of the first patient state may include a date and time stamp to indicate the time at which the first patient state was detected or the time at which patient 14 provided input indicating the occurrence of the first patient state. Depending upon the condition (e.g., a disorder) with which patient 14 is diagnosed, patient 14 may be unable to provide input indicating the occurrence of the first patient state until after the onset of the first patient state, and even after the termination of the first patient state. Thus, programmer 28 may include features that permit patient 14 to modify the patient input, such as by modifying the date and time stamp associated with the patient input to be more accurate. In some examples, patient 14 may also provide input indicating the end of the patient state.
IMD 16 may receive direct patient input in some examples. For example, patient 14 may tap the skin superior to IMD 16 and IMD 16 may include a motion sensor that is configured to sense a particular pattern of tapping, which is then characterized as patient input.
Processor 60 also receives a signal indicative of a patient parameter (102). In some examples, processor 60 receives the signal from IMD 16 or a separate implanted or external sensing device, either of which may generate a signal indicative of a physiological parameter (e.g., bioelectrical brain signals, heart rate, body temperature, and the like) or a signal indicative of another patient parameter, such as patient activity level or patient posture state. In some examples, processor 60 receives more than one signal indicative of a respective patient parameter.
In the examples described herein, processor 60 receives the signal from IMD 16. However, in other examples, processor 60 may receive the patient parameter signal from another sensing device instead or in addition to IMD 16. Moreover, in examples in which processor 40 of IMD 16 performs at least a part of the technique shown in
IMD 16 or the separate sensing device may sense the patient parameter on a continuous basis, a substantially periodic and scheduled basis, or in response to receiving patient input or another trigger. For example, upon receiving patient input via programmer 28 or directly via IMD 16, IMD 16 may begin storing the signal indicative of the patient parameter, and, in some examples, may also store the portion of the signal preceding the receipt of the patient input for at least a predetermined amount of time. IMD 16 may include a loop recorder or another type of memory to store the patient parameter signal, from which processor 40 of IMD 16 may retrieve the portion of the signal preceding the receipt of the patient input for storage in memory 42.
In some examples, processor 60 initiates the recording and storing of the sensor signal generated by motion sensor 36, sensor 38 or sensing module 46 in response to and immediately upon receiving patient input via user interface 66 (
In one generic, patient-non-specific algorithm, motion sensor 36, sensor 38 or sensing module 46 generates a signal indicative of a patient parameter (e.g., posture, activity level or a physiological parameter) and extracts a spectral feature of the signal. A processor of IMD 16, programmer 28 or another device normalizes the sensed signal, such as by determining a ratio of the current energy to the background energy in a particular frequency band of the signal. The current energy level (e.g., a foreground energy level) in a particular frequency band can be determined based on a relatively short segment of the sensed signal (e.g., about 2 seconds), while the background energy can be determined based a longer time window of the sensed signal (e.g., about 30 minutes). According to the patient-non-specific algorithm, the processor determines that the patient state occurs when a ratio of the current energy to the background energy in a particular frequency band of the signal is greater than or equal to a predetermined threshold value. An example of the generic algorithm for predicting a change in an activity state of a patient's brain, which can indicate the occurrence of a patient state, is described in U.S. Pat. No. 5,995,868 by Dorfmeister et al., which is entitled “SYSTEM FOR THE PREDICTION, RAPID DETECTION, WARNING, PREVENTION, OR CONTROL OF CHANGES IN ACTIVITY STATES IN THE BRAIN OF A SUBJECT,” which issued on Nov. 30, 1999 and is incorporated herein by reference in its entirety.
In other examples, a timer controls when processor 60 initiates the recording and storing of the sensor signal generated by motion sensor 36, sensor 38 or sensing module 46. The duration of the timer can be set to activate data recording at predetermined time intervals or during different segments of the circadian cycle of patient 14. Recording sensor data from different segments of the circadian cycle of patient 14 may be useful for various patient conditions that exhibit different symptoms at different times during a day. For example, with respect to seizure disorders such as epilepsy, a brain signal (e.g., a LFP) during a non-ictal sleep state of patient 14 may differ from a brain signal during a non-ictal awake state of patient 14. The variations in the sensor signal during the different times of day may be useful for defining a precise and accurate classification boundary via the SVM.
In some examples, processor 60 initiates the recording and storing of the sensor signal generated by motion sensor 36, sensor 38 or sensing module 46 in response to the detection of a particular patient condition or event. The patient condition or event may be a surrogate marker for the patient state. For example, with respect to a patient diagnosed Major Depressive Disorder, motion sensor 36 can detect a depressive episode by detecting a time at which patient 14 exhibits a relatively low level of activity (e.g., as indicated by a predetermined threshold value or range) and processor 60 can initiate the recording of sensor data from at least one sensing module 38, 46 that senses a brain signal (e.g., an EEG, ECoG or LFP) upon the detection of the depressive episode in order to acquire brain signals that may be revealing of the depressive episode. As another example, with respect to a patient diagnosed with a seizure disorder, it may be useful to initiate recording of training data from one or more sensors 36, 38, 46 upon the onset of a seizure or a particular type of seizure. An onset of a seizure or a particular type of seizure can be automatically determined using any suitable technique, such as based on an analysis of data generated by motion sensor 36 or via an intracranial pressure sensor.
As described in commonly-assigned U.S. Patent Application Publication Ser. No. 12/359,055 by Giftakis et al., which is entitled “SEIZURE DISORDER EVALUATION BASED ON INTRACRANIAL PRESSURE AND PATIENT MOTION” and was filed on Jan. 23, 2009, and commonly-assigned U.S. Patent Application Publication Ser. No. 12/359,037 by Giftakis et al., which is entitled “SEIZURE DISORDER EVALUATION BASED ON INTRACRANIAL PRESSURE” and was filed on Jan. 23, 2009, patient motion and/or intracranial pressure can be used to detect an occurrence of a seizure state. In addition, seizure metrics can be generated based on intracranial pressure and/or patient motion associated with seizures. The seizure metrics can be used to assess a patient's seizures and distinguish between different types of seizures. For example, a type of seizure or a severity of the seizure may be determined based on a detected activity level of the patient during a seizure. In addition, a sudden change in patient posture during a time that corresponds to a detected seizure may indicate the patient fell during the seizure, which can indicate a relatively severe seizure that merits the recording of training data for purposes of determining a classification boundary for identifying future patient states in which such seizures are likely to occur. U.S. Patent Application Publication Ser. No. 12/359,055 by Giftakis et al. and U.S. Patent Application Publication Ser. No. 12/359,037 by Giftakis et al. are incorporated herein by reference in their entirety.
In each of these examples of data recording triggers, the sensor data can be recorded for a predetermined length of time following the receipt of the trigger by processor 60 or processor 40 of IMD 16. As described above, memory 42 of IMD 16, memory 62 of programmer 28 or a memory of another device can also buffer data that was recorded prior to the receipt of any of the aforementioned triggers in order to obtain sensor signals for a time period prior to the patient-indicated occurrence of the patient state. As described in U.S. Pat. No. 7,610,083 by Drew et al., an implantable medical device can store loop recordings of waveform data having specified pre-event and post-event times. The event can be indicated by, for example, the trigger.
After receiving the indications of the patient state and the patient parameter signal (100, 102), processor 60, automatically or with the aid of a clinician, identifies portions of the signal that are indicative of the first patient state (104). In some examples, processor 60 may temporally correlate the patient parameter signal with the indications of the first patient state to determine which portions of the patient parameter signal were sensed during the first patient state. In addition, in some examples, processor 60 also identifies the portions of the patient parameter signal that temporally correlate with the time immediately preceding the onset of the patient state and immediately after the termination of the patient state. Processor 60 may identify the portion of the patient parameter signal indicative of the first patient state as the portion that corresponds to a predetermined range of time prior to the indication of the occurrence of the first patient state and a predetermined range of time after the occurrence of the patient state, if such information is known.
Processor 60 also identifies portions of the patient parameter signal that are indicative of patient 14 being in a state other than the first state, i.e., indicative of patient 14 being in the second state (104). In general, the second state may be a specific patient state (e.g., a manic state) or may generally be a state that is not the first state. The SVM classifies data segments as indicating the first state or not. Thus, the second state can generally be a state that is not the first state.
In other examples, processor 60 identifies the signal portions indicative of the first and second patient states (104) based on input from the clinician. The clinician may determine which segments of a sensed patient parameter signal are associated with the first patient state and input the information to processor 60. In some examples in which the recording of data from at least one sensor 36, 38, 46 is triggered based on the receipt of an indication of an occurrence of a patient state from a user (e.g., patient 14, a patient caretaker or a clinician), processor 60 may not need to identify portions of the signal that are indicative of the patient state. Instead, the entire stored data segment may be associated with the patient state indicated by patient 14 or the automatically detected patient state.
After identifying the relevant portions of the patient parameter signal indicative of the first and second patient states (104), processor 60, automatically or with the aid of a clinician, determines feature vectors based on the identified portions of the patient parameter signal (106). A feature vector is a vector defined by two or more feature values indicative of a patient parameter signal characteristic (e.g., a morphology of the signal). In some examples, at least one of the features of the feature vector includes morphological features such as the power level (also referred to as spectral energy) of the patient parameter signal in one or more frequency bands, an amplitude (e.g., the instantaneous, peak, mean or median amplitude) of the portion of the patient parameter signal or a subportion of the portion, other signal characteristics, or combinations thereof.
A feature vector can include any number of features of the identified portion of the patient parameter signal. In some examples described herein, the feature vector includes two features. For example, if the first patient state is a seizure state and the second patient state is a non-seizure state, one feature may be the power level in the patient parameter signal portion in a frequency band of about 0 Hz to about 16 Hz, and another feature may be the power level in the signal portion in a frequency band of about 15 Hz to about 37 Hz.
The features of the feature vectors are be selected to help distinguish between the different patient states. In some examples, a clinician selects the features by evaluating the signal portions indicative of the first and second patient states and determining which signal characteristics help distinguish between the patient states. In other examples, processor 60 automatically determines the features of the feature vectors. In general, processor 60 selects the features such that the values of features associated with the first patient state differ significantly from the values of the features associated with the second patient state (e.g., a specific patient state or a general state other than the first patient state), such that the features of a sensor signal can be used to classify a patient state with accuracy and precision.
In examples in which the features are different frequency bands, the specific frequency bands that exhibit different power levels in the first and second states may not be known in advance of implementing the SVM. Accordingly, during the acquisition of the training data, IMD 16 or programmer 28 (or another device) can record the time-domain sensor signal, which is broadband data and includes a full spectrum. The clinician or processor 60 can perform an analysis at a later time to determine which sensing channels and features result in a significant (e.g., maximum) separation boundary of the first and second patient states. Each sensing channel of sensing module 46 of IMD 16 or another sensing module can extract a respective frequency band of a sensed patient parameter signal. In some examples, processor 60 presents a plurality of features that result in a significant (e.g., maximum) separation boundary of the first and second patient states to a clinician via display 78 (
In some examples, the clinician can select the features by simulating the classification boundary that results from the feature vectors that include the selected features. For example, after receiving user input indicating one or more selected features (e.g., different frequency bands) via user input mechanism 76 of programmer 28 (
In examples in which processor 60 automatically determines the features, processor 60 can implement a search algorithm to determine which frequency bands or other signal characteristics are revealing of the first and second patient states. When implementing the search algorithm, processor 60 can scan through the different combinations of sensing channels and frequency bands, determine classification boundary using any suitable technique such as the techniques described below, and generates a separation metric for each combination. The separation metric can indicate, for example, the mean, median, greatest or smallest distance between the classification boundary and the training feature values determined based on the training data and used to generate the classification boundary. In general, a greater distance between a training feature value and the classification boundary indicates that the features used to generate the classification boundary provide a better separation between the first and second patient states. Processor 60 can then present the one or more features associated with the greatest separation metrics to the clinician via display 78 of user interface 66 (
After selecting the sensing channels of sensing module 46 or another sensor (e.g., sensor 38) that sensed a signal particularly revealing of the patient states, sensing module 46 can be configured to sense via selected sensing channels. In addition, after determining the frequency bands that are revealing of a particular patient state, sensing module 46 can be tuned to sense in the selected frequency bands.
It may be desirable to limit the number of features used by the SVM because of limitations of the sensing capabilities of IMD 16 or the power consumption limits of IMD 16. In other examples, the feature vector can include up to 16 or more features. For example, the feature vector can include the power level in ten separate frequency bands. If IMD 16 includes sixteen separate channels for sensing, each channel can be used to extract any number of features for a respective feature vector. For example, for each channel, the energy in each of 10 separate energy bands could be used define the respective feature vector.
Each feature in the feature vector corresponds to one dimension in the feature space that the SVM uses to classify data segments as being representative of the first patient state or a second patient state (e.g., a state that is generally different than the first patient state or a specific, known state). Each feature vector defines a point in a feature space with that the SVM implemented by a computing device uses to classify data. In this way, each data point defined by a feature vector is a quantitative representation of the monitored feature values for a given time and each feature vector defines one data point in the feature space that is used to generate the classification boundary. A feature vector may include any suitable number of features, such as two, three or more, and, accordingly, a feature space may have any suitable number of dimensions.
In some examples, processor 60 automatically determines the feature vectors (106), e.g., by automatically determining the values of each of the selected features for each of the identified signal portions. In other examples, a clinician or another person determines the feature vectors and inputs the determined feature values of the feature vectors into programmer 28 for automatic determination of the classification boundary.
In some examples, the signal portions on which each feature vector is determined has a predetermined duration of time. As a result, each feature vector represents the patient state for that predetermined duration of time. Accordingly, a single occurrence of a patient state that persists for a period of time that is longer than the duration of the signal portion used to determine a single feature vector may be associated with multiple feature vectors. In some examples, the signal segment used to determine a feature vector has a duration of about 0.5 seconds to about 5 seconds, such as about 2 seconds, although other time windows are contemplated.
An example of a technique in which a patient parameter signal is used to determine representative feature vectors, which provide training points for defining a classification boundary is shown in
Multiple frequency band components of the signals 120, 122 are shown in
In the example shown in
Processor 40 determines feature vector 124 based on sensed signal 120, where the feature value 124A of feature vector 124 is the energy level within a first frequency band of about 0 Hz to about 16 Hz, and second feature value 124B is the energy level within a second frequency band of about 15 Hz to about 37 Hz. Other frequency bands are contemplated and may be selected based on, for example, the frequency bands that are believed to be particularly revealing of the first and second patient states. In addition, feature vectors including more than two features are contemplated.
Processor 40 also determines feature vector 126 based on sensed signal 122, where feature value 126A of feature vector 126 is the energy level within a first frequency band of about 0 Hz to about 16 Hz, and feature value 126B is the energy level within a second frequency band of about 15 Hz to about 37 Hz. Each feature vector 124, 126 defines a point in feature space 128, which the SVM algorithm uses to generate a classification boundary. Thus, in the example shown in
Returning now to the technique shown in
Processor 60, automatically without user input or based on user input, determines the feature vectors for each of the identified signal portions (106). Thus, the feature vector values for both signal portions indicative of the first patient state and signal portion indicative of the second patient state are determined. In this way, the SVM algorithm implemented by processor 60 is trained to classify data based on known feature vectors that are associated with one of the first or second states. As shown in the example feature space 128 of
Each detection of the seizure state shown in feature space 128 is not necessarily a separate occurrence of a seizure. Instead, some seizure state detections indicated by a feature vector may be a segment of a common seizure occurrence and, in some examples, these seizure segments can be clustered together to detect a seizure. The concept of clustering neurological activity to detect and monitor the occurrence of neurological events (e.g., a seizure) is described in commonly assigned U.S. Pat. No. 7,280,867 to Frei et al., which is entitled “CLUSTERING OF RECORDED PATIENT NEUROLOGICAL ACTIVITY TO DETERMINE LENGTH OF A NEUROLOGICAL EVENT” and issued on Oct. 9, 2007. U.S. Pat. No. 7,280,867 to Frei et al. is incorporated herein by reference in its entirety.
Feature vectors are determined based on a portion of a sensed patient parameter signal. Thus, a single occurrence of a patient state that takes place over a period of time that is longer than the duration of the signal portion used to determine a single feature vector may be associated with multiple feature vectors.
After determining a plurality of feature vectors for the first and second states, processor 60 automatically determines the classification boundary delineating the first and second patient states based on the plurality of determined feature vectors (110). In particular, the classification boundary is defined to separate feature values associated with known patient states such that the feature values for a first patient state are on one side of the boundary and feature values from the second patient state are on the other. In this way, processor 60 separates the determined feature values (which may be arranged into feature vectors) into two classes, whereby a first class corresponds to the occurrence of the first patient state and the second class corresponds to the occurrence of the second patient state. The technique shown in
The classification boundary may be linear or non-linear. An example of a linear classification boundary 130 is shown in
Any suitable technique for determining linear boundary 130 may be used. In some examples, processor 60 utilizes the following equation to determine a linear boundary 130:
W
T
X+β>0 (Equation 1)
The variable “W” is a support vector, the variable “X” is a vector defined by each feature value of the known data points (i.e., the training feature vectors) in feature space 128, and “β” is a bias. The variable “T” indicates that the support vector is transposed. The vector W and bias term β are parameters determined by the SVM learning algorithm.
In some examples, processor 40 may determine more than one linear boundary, such as two or more.
For example, processor 40 of IMD 16 may determine whether a feature vector extracted from a patient parameter signal indicates patient 14 is in a first state or a second state by simultaneously or consecutively determining whether the feature vector is classified as indicative of the first state or the second state based on linear boundary 130, and determining whether the feature vector is classified as indicative of the first state or the second state based on linear boundary 136. Utilizing linear SVMs with a plurality of linear boundaries 130, 136 results in a classification technique that is closer to a nonlinear SVM technique, which is described with respect to
An example nonlinear boundary 140 is shown in
Processor 60 may utilize the following equation to determine a nonlinear classification boundary:
In Equation 2, the variable “β” is a bias term, “α” is a coefficient that is automatically determined by the SVM learning algorithm, “exp” indicates the following portion of the equation is an exponential of the coefficient “α”, the variable “γ” is user-defined to control the curve of the classification boundary and may be user-selected, and the variable “X” is a vector defined by each feature vector of the known data points (i.e., the training feature vectors) in feature space 128. In some examples, the variable γ can be about 0.1. “Xi” indicates the representative support vectors that the SVM algorithm selects to define the curved boundary. Only some of the representative feature vectors are used to define the boundary, and the selected feature vectors may be referred to as support vectors.
A nonlinear boundary may provide a better separation of the first and second classes based on the training data points, but a processor may consume more power and time processing data segments to classify the data segments into the first and second classes using a nonlinear boundary. Power consumption may be an important factor when selecting a classification technique for an implantable medical device, such as IMD 16, because the useful life of IMD 16 may depend on the life of power source 52 (
Determining nonlinear boundary 140 may also require more power consumption by processor 60 compared to determining linear boundary 130. It has been found that a processor may determine a nonlinear boundary that balances power consumption and specificity by limiting the number of terms of the exponential function of Equation 2. For example, it has been found that a nonlinear boundary generated with the eight terms (e.g., 8 support vectors) of the exponential function of Equation 2 generates an acceptable nonlinear boundary with a classification specificity that is close to the classification specificity resulting from a SVM with a nonlinear boundary generated with approximately 50 to approximately 200 terms of the exponential function of Equation 2. Thus, limiting the number of terms used to determine nonlinear boundary 132 in feature space 128 can make the use of a SVM that utilizes a nonlinear boundary more feasible for a device with limited processing capabilities and limited power sources, such as IMD 16. Classification specificity can be a function of the number of incorrect state detections, the number of false positive first state detections, and/or the number of false negative first state detections by the SVM.
After processor 60 automatically determines the classification boundary (block 110 in
Processor 40 receives a signal indicative of a patient parameter (160). The signal can be, for example, a physiological signal or a signal indicative of patient activity level or patient posture. In some examples, the patient parameter signal that the SVM uses to determine the classification boundary is the same signal with which processor 40 determines the patient state. In some examples, the patient parameter signal is generated by sensing module 46 (
Processor 40 determines one or more feature values for determining a feature vector based on the signal (162). The features for which the values are determined are the same features with which the SVM algorithm generated the classification boundary, e.g., using the technique described in
After determining the feature vector values (162) based on the received signal, processor 40 compares the feature vector values to a classification boundary (164), which may be linear (e.g., linear boundary 130 in
In other examples, processor 40 does not generate a second state indication, but merely continues monitoring a physiological signal (160) and determining the feature vector values (162) until the first state is detected. If the feature vector lies within a side of the boundary associated with the first patient state, processor 40 classifies the determined feature vector in the feature space associated with the first state and processor 40 determines that patient 14 is in the first state (166). Processor 40 may generate a first state indication (168). The first state indication may be, for example, a value, flag or signal that is stored in memory 42 of IMD 16 or another device (e.g., programmer 28). In some examples, processor 40 determines whether a predetermined number (e.g., four) of consecutive points are on one side of the boundary before determining patient 14 has changed states.
As previously indicated, determination of the first patient state may be used for various purposes, such as to control therapy delivery (e.g., initiate, deactivate or modify one or more parameters of therapy delivery), generate a patient notification (e.g., an alert to indicate that a seizure is about to occur), to evaluate a patient condition, or initiate recording of a patient parameter (and storing the patient parameter, such as a signal indicative of the patient parameter, in a memory of a device). Thus, upon generation of the first state indication (168), processor 40 of IMD 16 may take any suitable course of action, which may be preselected by a clinician and can include any one or more of the aforementioned actions.
In examples in which processor 40 of IMD 16 controls a therapy module (e.g., stimulation generator 44 (
In one example, processor 40 selects a therapy program from memory 42 (
After determining the feature vector 174 with the feature values (X1 and X2), processor 40 maps the feature vector 174 to a previously determined feature space 128 (e.g., determined using the technique shown in
Processor 40 determines whether patient 14 is in a first state or a second state with the aid of a classification boundary determined using a SVM algorithm. Processor 40 may determine whether patient 14 is in one of a plurality of patient states by utilizing a plurality of classification boundaries determined by a SVM algorithm, where each of the classification boundaries is used to determine whether patient 14 is in a respective state or not in the state.
In some examples, processor 40 of IMD 16 (or a processor of another device) may determine whether a sensed patient parameter signal indicates that patient 14 is moving towards the patient state for which a course of action is desirable. As previously indicated, the course of action can include delivery of therapy (e.g., stimulation or a pharmaceutical agent), delivery of a patient notification, initiation of recording of a patient parameter signal, and the like. Rather than waiting until the patient state is actually detected based on the patient parameter signal, processor 40 may initiate the course of action when the feature vectors determined based on the sensed patient parameter signal over a period of time indicate that patient 14 is moving towards the patient state.
As previously discussed, the values of the features of the feature vector define coordinates for the feature vector, such that each feature vector can be mapped to a feature space. In the example technique shown in
Regardless of the duration of time for which the trajectory is observed or the number of feature vectors in the trajectory, the location of the sequential feature vectors within feature space 128 (
In some examples, processor 40 determines whether the feature vectors over time define a trajectory toward the classification boundary (177) by determining a distance between the feature vectors and the classification boundary, e.g., as described with respect to
In other examples, each subsequent feature vector in the trajectory need not necessarily be closer to the classification boundary than the previous feature vector, but the direction of the trajectory can be defined by nonsequential feature vectors. For example, a trajectory towards the classification boundary can include a first feature vector that is a first distance from the classification boundary and determined at a first time, a second feature vector that is a second distance from the classification boundary and determined at a second time following the first time, a third feature vector that is a third distance from the classification boundary and determined at a third time following the second time, and a fourth feature vector that is a fourth distance from the classification boundary and determined at a fourth time following the third time.
In some examples, processor 40 determines that the feature vectors are defining a trajectory toward the classification boundary over time when the fourth feature vector is closer to the classification boundary than the third feature vector, the third feature vector is closer to the classification boundary than the second feature vector, and the second feature vector is closer to the classification boundary than the first feature vector. In other examples, processor 40 determines that the feature vectors are defining a trajectory toward the classification boundary over time when the fourth feature vector is closer to the classification boundary than any one or more of the first, second or third feature vectors (even if, e.g., the second or third feature vectors are further from the classification boundary than the first feature vector), if the third feature vector is closer to the classification boundary than any one or more of the first or second feature vectors, or if the second feature vector is closer to the classification boundary than the first feature vector.
If processor 40 determines that the feature vectors determined based on the patient parameter signal are not defining a trajectory toward the classification boundary over time, processor 40 may continue monitoring the patient parameter signal (160) and the trajectory of feature vectors over time.
On the other hand, if processor 40 determines that the feature vectors determined based on the patient parameter signal are defining a trajectory toward the classification boundary over time, processor 40 generates a prospective patient state indication (178) that indicates the patient state associated with the other side of the classification boundary, to which the trajectory of feature vectors is approaching over time, is imminent or at least likely to occur. The prospective patient state indication can be, for example, a value, flag or signal that is stored in memory 42 of IMD 16 or another device (e.g., programmer 28). In examples in which the trajectory of the feature values does not cross the classification boundary, the generation of the prospective patient state indication does not signify that processor 40 detected the actual occurrence of the patient state, but, rather, that processor 40 predicted the occurrence of the patient state based on the trajectory of the feature values.
In the example shown in
Initiating the course of action prior to the patient 14 reaching the patient state may help prevent the occurrence of the patient state or at least mitigate the severity of any symptoms associated with the patient state. The trajectory toward the classification boundary that is defined by the feature vectors may indicate that it is likely patient 14 will eventually reach the patient state. Thus, any prophylactic therapy delivery may be useful for managing the patient condition. In addition, providing therapy prior to patient 14 actually achieving the patient state may be more useful in some examples than providing therapy after patient 14 is actually in the patient state. For example, if the patient state is a seizure disorder, providing therapy delivery prior to the seizure state may be more useful for preventing or mitigating the seizure than delivering therapy after patient 14 is in the seizure state. Similarly, generating a patient notification prior to the seizure may be more useful for providing patient 14 with notice about the occurrence of the seizure than delivering the notification after patient 14 is in the seizure state. For example, the notification prior to the occurrence of the seizure state may provide patient 14 with adequate notice to a safe position prior to the onset of any debilitating effects of the seizure or otherwise prepare for the onset of the seizure (e.g., by stopping a vehicle if patient 14 is driving the vehicle).
As another example, if the patient state is a state in which one or more symptoms of a movement disorder are present, providing therapy delivery prior to the movement state may be more useful for helping patient 14 initiate and/or maintain movement than providing patient 14 with therapy after the movement disorder symptoms have presented. Delivery of therapy prior to the occurrence of one or more symptoms of a movement disorder may help minimize the perception of any movement disorder symptoms by patient 14. Predicting the occurrence of the movement disorder symptoms based on a trajectory of the feature vectors towards a classification boundary may help time the delivery of therapy such that patient 14 does not substantially perceive an inability to initiate movement or another effect of a movement disorder. This also applies to other patient states. In general, predicting the occurrence of the patient state based on a trajectory of the feature vectors towards a classification boundary delineating the patient state from another state may help time the delivery of therapy such that patient 14 does not substantially perceive symptoms associated with the patient state.
In some examples, it can also be useful to control stimulation generator 44 (or another therapy module) to adjust therapy delivery to patient 14 to a therapy setting that provides efficacious therapy to patient 14 during the posture state prior to the patient 14 occupying the patient state. For example, if the patient 14 feels more pain in a particular patient state, it can be useful to initiate therapy delivery for the particular posture state prior to patient 14 occupying the posture state such that there is no delay in the therapeutic benefits.
In some examples, depending on the patient and the type of patient parameter signal, the progression of the patient condition over time may provide a better indication of patient state compared to, for example, a discrete feature vector determined based on a single portion of a sensed patient parameter signal. For example, a discrete feature vector may be an outlier (e.g., based on a transient change in the patient parameter signal) and may not provide an accurate representation of the current patient state. On the other hand, the trajectory of feature vectors over time is based on a longer time window, and may provide a more robust and meaningful indication of the current patient state. In the case of patient posture states, the discrete feature vector may represent a transient posture state (e.g., an intermediary posture state occupied by patient during a transition between first and second posture states). On the other hand, a trajectory of feature vectors determined based on consecutive segments of a patient parameter signal indicative of patient posture or activity can indicate the change in the patient posture state over a longer range of time, and, therefore, may not consider patient 14 to be in a transient posture state, but, rather, approaching the second posture state. Therefore, therapy delivery to patient 14 can be controlled based on the detection of the second posture state.
In some examples, processor 40 (or a processor of another device, such as programmer 28) can determine an evaluation metric based on the trajectory of the feature vectors relative to the classification boundary defined by the SVM. The evaluation metric can be stored in memory 42 of IMD 16 or a memory of a device. A log of the evaluation metrics generated by processor 40 over time can provide data with which a clinician can evaluate the progression of the patient's condition, monitor the severity of the patient condition, and the like. The evaluation metric can indicate, for example, whether the patient's condition is improving (e.g., if the trajectory is approaching the classification boundary in examples in which patient 14 is currently in a negative patient state) or whether the patient's condition is worsening (e.g., if the trajectory is approaching the classification boundary in examples in which patient 14 is currently in a positive patient state). In addition, in some examples, the evaluation metric can indicate whether the patient is approaching a patient state transition (e.g., if the trajectory is approaching the classification boundary).
In some examples, the evaluation metric is a distance between at least one of the feature vectors of the trajectory and the classification boundary. The distance can be determined using any suitable technique, such as the techniques described below with respect to
In some cases, a relatively small (e.g., compared to a predetermined threshold value) distance between at least one of the feature vectors of the trajectory and the classification boundary can indicate that the patient's condition is improving. For example, if patient 14 is in a negative patient state and the distance between one or more feature vectors and the classification boundary is decreasing, the distance can indicate that the patient is approaching a more positive patient state (e.g., a non-seizure state or a positive mood state in which one or more symptoms of the patient's mood disorder are not present). However, in some examples, a relatively small distance can indicate that the patient's condition is worsening. For example, if patient 14 is in a positive patient state and the distance between at least one of the feature vectors of the trajectory and the classification boundary decreases or is less than a predetermined threshold value, the trajectory may indicate that patient 14 is approaching a more negative patient state (e.g., a seizure state or a more severe seizure state, or a negative mood state, such as a depressive or anxious mood state). In addition, in some examples, a plurality of evaluation metrics can indicate whether the patient is approaching a patient state transition (e.g., if the trend in distances between the feature vectors and classification boundary is decreasing, the trajectory is approaching the classification boundary).
In the example in which the evaluation metric is based on a distance between the feature vector determined based on the most recent segment of the patient parameter signal and the classification boundary, the evaluation metric may indicate, based on the magnitude of the distance to the classification boundary, whether patient 14 is close to transitioning to a different patient state. A relatively small magnitude of the distance of the feature vector to the classification boundary may indicate that patient 14 is approaching a transition to a different patient state or that the patient state transition is imminent. The clinician can determine the metric (e.g., distance value) that indicates that the patient state transition is imminent. In some cases, this metric can be determined during the SVM training stage, while in other cases, the metric can be determined following a monitoring period in which patient states are detected using the SVM-based classification algorithms described herein and patient state indications are stored in memory for later evaluation.
As described above, the trajectory can have a known (e.g., predetermined or calculated) number of feature vectors. In these examples, in addition to or instead of a distance between one or more feature vectors of the trajectory and the classification boundary, the evaluation metric can include the number of feature vectors or a percentage of the feature vectors within the trajectory that are less than a threshold distance away from the classification boundary. The threshold can be predetermined, e.g., by a clinician or the supervised machine learning technique, and stored in memory 42 of IMD 16 or a memory of another device.
In addition, in some examples, the evaluation metric can include the number of consecutive feature vectors (e.g., determine based on a continuous segment of the patient parameter signal) of a trajectory that are approaching the classification boundary.
If the feature vector lies on a side of the boundary associated with the first patient state, processor 40 classifies the determined feature vector in the feature space associated with the first state and determines that patient 14 is in the first state. Processor 40 may then generate a first state indication (168). On the other hand, if the feature vector does not lie within a side of the classification boundary associated with the first patient state, processor 40 determines that patient 14 is not in the first state.
In order to further classify the patient state, processor 40 implements additional classification boundaries. The classification boundaries can be generated by an SVM based on the same or different training data. In the example shown in
In the examples described herein, each SVM algorithm provides a binary indication of whether patient 14 is in a particular patient state. In examples in which classification of more than two states is desirable, processor 40 may use any suitable number of SVM algorithms to determine whether patient 14 is in one of a plurality of patient states. Processor 40 may compare a feature vector determined based on a sensed patient parameter to any number of classification boundaries of respective SVM-based classification algorithms. Each SVM-based classification algorithm may be used to further differentiate a patient state. Processor 40 may make the comparison in parallel or in series.
In some examples, classification of more than two patient states is desirable when the patient states are different posture states. For example, with respect to the technique described with respect to
In addition, in some examples, classification of more than two patient states can be useful for characterizing a severity of a particular patient state in which one or more symptoms of a patient episode or event are present (e.g., a seizure episode, a movement disorder episode or a mood state disorder episode). For example, an electrographic seizure associated with a motor component (e.g., a tonic clonic seizure) can be considered relatively severe compared with sensory seizure (e.g., an electrographic seizure not associated with a motor component). With respect to the technique described with respect to
In some examples, depending on the patient state, processor 40 or a processor of another device (e.g., programmer 28) determines a severity of the patient state based on a common classification boundary generated by a SVM algorithm. For example, the severity of a seizure state, a depressive mood state, an anxious mood state, a manic mood state, and the like may be determined by determining a distance between the feature vector on which the patient state classification was made and the classification boundary of the SVM algorithm.
Processor 40 can determine the distance between a feature vector, e.g., determined based on a segment of a sensed patient parameter signal that indicates the current patient state, and a classification boundary defined by a SVM algorithm using any suitable technique. In some examples, processor 40 updates either Equation 1 or 2, which can also be used to determine the classification boundary, with the determined feature vector. The update to Equation 1 or 2 with the feature vectors results in a specific number, which correlates to the distance between the feature vector and the classification boundary. Processor 40 can determine whether the resulting value is positive or negative. A positive value can indicate that the feature vector is on a first side of the classification boundary and a negative value can indicate that the feature vector is on a second side of the classification boundary. In addition, the magnitude of the value determined based on Equation 1 indicates the distance between the feature vector and the classification boundary. In general, the value increases as the feature vector becomes further from the classification boundary, such that a relative small value indicates the feature vector is close to the classification boundary and a relatively large value indicates the feature vector is relatively far from the classification boundary.
In
Returning now to the technique shown in
A plurality of distance values is stored in order to differentiate between levels of the patient state, where the different levels can be associated with, for example, different patient symptoms, different degrees of the patient symptom or different perceptions of the patient state by the patient. In this way, the distance values represent different severity metrics. A severity metric may indicate the relative severity of one or more symptoms of the patient state. For example, in the case of a seizure state, the severity metric may indicate whether the seizure was associated with a motor component (e.g., a tonic clonic seizure). As another example, in the case of a depressive state, the severity metric may indicate the severity of one or more symptoms of the depression (e.g., anhedonia). Any suitable number of severity metrics may be used. Processor 40 determines the severity of the patient state based on the comparison of the determined distance between the determined feature vector and the classification boundary to the stored values (194).
An example of a data structure that associates each of a plurality of distance ranges of a severity metric is shown in
Distances D1, D2, and D3 can be determined using any suitable technique. In some examples, processor 60 of programmer 28 or a processor of another device (e.g., IMD 16) automatically determines distances D1, D2, and D3 based on patient input during the patient state classification algorithm training stage. For example, if patient 14 provides input indicating the occurrence of a patient event (e.g., a seizure, a movement state, a particular patient posture, a particular mood state or a compulsion), patient 14 can provide feedback regarding the severity of the patient event. Processor 60 can organize the training feature vectors into different severity categories based on the patient feedback and determine the distance ranges for each of the severity categories based on the distances of the training feature vectors to the classification boundaries. In other examples, distances D1, D2, and D3 can be determined by a clinician, alone or with the aid of programmer 28. Regardless of how the distances are determined, the distances can be determined based on training data specific to patient 14 or data for more than one patient.
Patient 14 or another user can provide feedback regarding the severity of a particular patient event (or patient state) using any suitable mechanisms. In some examples, a numeric rating scale can be used. In other examples, such as in examples in which IMD 16 is used to deliver therapy for pain management, the Wong-Baker FACES Pain Rating Scale or the McGill Pain Questionnaire can be used. In examples in which the patient event is mood state, the Beck Depression Inventory, Hamilton Rating Scale for Depression (HAM-D) or the Montgomery-Asberg Depression Rating Scale (MADRS) can be used to assess the severity of the patient state. The Beck Depression Inventory and the HAM-D are both 21-question multiple choice surveys that is filled out by patient 14, and the MADRS is a ten-item questionnaire. The answers to the questions may indicate the severity of patient symptoms or the general patient mood state, and processor 60 (or a clinician) may assign a severity rating to the indicated patient state based on the subjective patient or patient caretaker evaluation.
Example systems and techniques for acquiring patient data (e.g., patient parameter signal and/or subjective patient feedback regarding the severity of a patient event) regarding a patient event are described in commonly-assigned U.S. patent application Ser. No. 12/236,211 by Kovach et al., entitled, “PATIENT EVENT INFORMATION,” which was filed on Sep. 23, 2008 and is incorporated herein by reference in its entirety. As described in U.S. patent application Ser. No. 12/236,211 by Kovach et al., processor 60 of programmer 28 or another computing device may generate an event marker upon activation of an event indication button of programmer 28 by patient 14. For example, if patient 14 detects a patient event, patient 14 may activate the event indication button, and, in response, processor 60 may generate an event marker. The patient may provide event information relating to the patient event. For example, the event information may include the type of patient event, the patient's rating of the severity of the patient event, the duration of the patient event, and the like. The segment of the patient parameter signal corresponding in time to the event indication can then be used to determine a feature vector, and a distance between that feature vector and a classification boundary determined using any suitable supervised machine learning technique can be used to generate the distance ranges used to provide severity metrics.
The severity metrics 1-4 may be a part of a graduated scale, whereby a severity metric of “4” that is associated with a feature vector indicates that the patient state associate with the feature vector was a more severe patient state (e.g., a more severe seizure or a patient mood state) than a patient state associated with a severity metric of “1.” Other types of severity metrics are contemplated and need not be on a graduated scale. For example, the severity metrics may be binary and indicate whether a detected patient state was severe or not severe. The table shown in
Processor 40 may reference the data structure shown in
Processor 40 may also compare distance D198 between feature vector 198 and linear boundary 130 (
Processor 40 may also reference the data structure shown in
In each of these examples, distances D196, D198, D200, and D202 may be normalized such that comparison to each other may be useful. In addition, in other examples, processor 60 of programmer 28 may determine the severity metric for each detected patient state.
Processor 40 of IMD 16, processor 60 of programmer 28 or a processor of another device may track the severity of the patient's states (and, in some cases, the progression of the patient condition) by determining a maximum distance that a feature vector on one or both sides of a classification boundary achieves during a period of time or tracking a trend in the distances of determined feature vectors over time. Either the maximum distance over time or the determined distance over time may indicate, for example, whether the patient's condition is improving or worsening. For example, if feature vector 196 is determined at a first time, processor 40 may store distance D196 (or the severity metric associated with feature vector 196 and determined based on distance D196) as a baseline state of patient 14 or a current state of patient 14. Processor 40 may detect feature vector 198 at a subsequent time and determine that D198, which indicates the relative severity of the patient state at the time associated with feature vector 198. If processor 40 determines that distance D198 is greater than distance D196, thereby indicating the severity of the most recently detected state has increased, processor 40 may determine that the patient's condition is worsening.
In addition to a severity metric, other types of metrics may be determined based on a determined feature space and feature vectors, which are each indicative of a patient state detection. For example, processor 40 (or processor 60 of programmer 28 or a processor of another device) may track the duration that patient 14 occupied a particular patient state by determining the number of feature vectors mapped to the side of the boundary of the feature space 128 associated with the patient state. In some examples, processor 40 determines a feature vector based on a predetermined patient parameter signal duration. The duration may be, for example, about one second to one minute or more (e.g., on the order of hours). Thus, each feature vector may indicate the state that patient 14 occupied for the predetermined duration of time.
The feature vectors on a first side of the classification boundary defined by a SVM algorithm may be totaled and multiplied by the predetermined duration of time to determine the duration of time that patient 14 occupied the first patient state associated with the first side of the classification boundary. The feature vectors on the second side may also be totaled and multiplied by the predetermined duration of time to determine the duration of time that patient 14 occupied the second patient state associated with the second side of the classification boundary.
As previously indicated, in some examples, processor 40 determines patient 14 has changed from state to another state only if multiple feature vectors determined based on sequential segments of a patient parameter signal indicate the state change. Thus, if one feature vector falls within a region associated with a patient state that is different than the previous state determination, processor 40 may continue monitoring the patient parameter signal and determining feature vectors based on consecutive segments of the patient parameter signal over time to determine whether additional feature vectors indicate the state change.
An evaluation of various automated seizure detection algorithms was performed using stored ECoG signals of a patient with a seizure disorder. The SVM Example demonstrates that a SVM-based algorithm for detecting a seizure state resulted in improved sensitivity, specificity, latency and power consumption relative to other automated seizure detection techniques. This suggests that a SVM algorithm for detecting any patient state based on a sensed patient parameter signal may be useful and, in some cases, advantageous over existing patient state detection algorithms.
In the SVM Example, a sensing module that includes a chopper-stabilized superheterodyne instrumentation amplifier and a signal analysis unit that extracts a selected frequency band of a sensed ECoG signal to a baseband was used. The sensing module utilized a serial port for real-time data uplink of the stored ECoG signals. A SVM algorithm was trained using one set of stored ECoG signals and uploaded into a programmable integrated circuit (PIC) (R) processor (made available by Microchip Technology Inc. of Chandler, Ariz.), which may be a part of the sensing module or separate from the sensing module. Because the sensing module was configured to extract the spectral energy features of the ECoG signal, the digitization of the ECoG signal was performed at a relatively slow rate of about 1 Hz.
Classification of the sensed ECoG signal as indicating a seizure state or a non-seizure was performed by the PIC processor based on another set of stored ECoG signals using three different algorithms. In a first algorithm (ALGORITHM 1), an ECoG signal was determined to indicate a seizure state if the normalized spectrum of a portion of the ECoG signal was greater than a threshold value, as described above with respect to the patient non-specific algorithm for triggering the recording of training data. Only one threshold was used for the first seizure detection algorithm, and the threshold was not specific to the patient, but was intended for use in a generic seizure detection algorithm for a plurality of patients. In a second algorithm (ALGORITHM 2), a single linear classification boundary defined by a SVM algorithm was used to classify portions of the ECoG signal as indicative of a seizure state or a non-seizure state. In a third algorithm (ALGORITHM 3), a nonlinear classification boundary defined by a SVM algorithm was used to classify portions of the ECoG signal as indicative of a seizure state or a non-seizure state. The linear and non-linear classification boundaries were determined based on training data that included approximately 81 hours of intracranial EEG (IEEG) collected from 17 adult subjects. On average, approximately 4.5 hours of recording time containing 3 seizures were available per patient. For each patient, a clinician identified the onset time of all seizures in order to identify the training data. At a later time, the two sensing channels that demonstrated the earliest signs of seizure activity for a specific patient were selected.
Due to the small number of seizures available for each patient, a leave-one-out testing methodology was adopted. For example, for a patient recording of IEEG data consisting of K ten-minute blocks of IEEG data containing L number of seizures. The patient-specific classification boundary was determined based on K/2 data blocks containing L-1 seizures. Next, the performance of both the patient-specific and patient non-specific detectors were assessed on the remaining K/2 blocks containing the Lth seizure. This was repeated L times so that the ability of each of the seizure detection algorithms was tested.
As
The labels used in
As the table shown in
The table shown in
As previously indicated, a SVM algorithm for determining whether patient 14 is in a particular state, e.g., detecting the patient state, may be useful for various patient states. An example technique for training and running a SVM algorithm for seizure detection is as follows:
Other techniques for training and running a SVM-based algorithm for seizure detection are contemplated.
An example technique for training and running a SVM-based algorithm for detection of different movement disorder states (e.g., a first state in which one or more symptoms of a movement disorder of patient 14 are present and a second state in which the symptoms are not present) is as follows:
In one example technique for training and running a SVM algorithm for detection of a depressed mood state and a non-depressed mood state, the SVM algorithm is based on an example in which an indicator of depression is the balance of energy in an alpha frequency band (e.g., approximately 5 Hz to approximately 13 Hz) of bioelectrical brain signals sensed in the two hemispheres of the cortex of brain 12 of patient 14. Thus, a sensing device that includes two sensing channels with one frequency band each may be used to sense the bioelectrical brain signals for implementation of the SVM algorithm. An example technique for training and running a SVM algorithm for detection of a depressed mood state and a non-depressed mood state is as follows:
In some cases, a SVM-based algorithm may be used to detect a patient posture state. Posture state detection may be useful in various situations, such as to program and implement posture-responsive therapy delivery. Posture-responsive stimulation may be implemented for pain therapy.
An example technique for training and running a SVM-based algorithm for detection of an upright patient posture state based on a signal generated by a three-axis accelerometer is as follows, e.g., after an IMD is implanted in patient 14:
One or more additional SVM-based algorithms may be implemented to further refine the posture state detection. For example, after determining patient 14 is in an upright posture state with one SVM-based algorithm, processor 40 of IMD 16 may implement another SVM-based algorithm using a different classification boundary (and in some cases, different patient parameter signal features) to determine whether patient 14 is active or inactive to further determine whether patient 14 is in an upright and active posture state. As another example, after determining patient 14 is not in an upright posture state with one SVM-based algorithm, processor 40 of IMD 16 may implement another SVM-based algorithm to determine whether patient 14 is in a lying down posture state. Additional SVM-based algorithms may be used to further refine the lying down posture state, e.g., to determine which side of the body patient 14 is lying on.
The techniques described in this disclosure, including those attributed to programmer 28, IMD 16, or various constituent components, may be implemented, at least in part, in hardware, software, firmware or any combination thereof For example, various aspects of the techniques may be implemented within one or more processors, including one or more microprocessors, DSPs, ASICs, FPGAs, or any other equivalent integrated or discrete logic circuitry, as well as any combinations of such components, embodied in programmers, such as physician or patient programmers, stimulators, image processing devices or other devices. The term “processor” or “processing circuitry” may generally refer to any of the foregoing logic circuitry, alone or in combination with other logic circuitry, or any other equivalent circuitry.
Such hardware, software, firmware may be implemented within the same device or within separate devices to support the various operations and functions described in this disclosure. While the techniques described herein are primarily described as being performed by processor 40 of IMD 16 and/or processor 60 of programmer 28, any one or more parts of the techniques described herein may be implemented by a processor of one of IMD 16, programmer 28, or another computing device, alone or in combination with each other.
In addition, any of the described units, modules or components may be implemented together or separately as discrete but interoperable logic devices. Depiction of different features as modules or units is intended to highlight different functional aspects and does not necessarily imply that such modules or units must be realized by separate hardware or software components. Rather, functionality associated with one or more modules or units may be performed by separate hardware or software components, or integrated within common or separate hardware or software components.
When implemented in software, the functionality ascribed to the systems, devices and techniques described in this disclosure may be embodied as instructions on a computer-readable medium such as RAM, ROM, NVRAM, EEPROM, FLASH memory, magnetic data storage media, optical data storage media, or the like. The instructions may be executed to support one or more aspects of the functionality described in this disclosure.
Various examples of the disclosure have been described. These and other examples are within the scope of the following claims.
This application claims the benefit of U.S. Provisional Application No. 61/174,355 to Carlson et al., which is entitled, “MACHINE LEARNING TECHNIQUE FOR MEDICAL DEVICE PROGRAMMING” and was filed on Apr. 30, 2009. The entire content of U.S. Provisional Application No. 61/174,355 is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61174355 | Apr 2009 | US |