CLOSED LOOP STIMULATION BASED ON RESPONSE AVOIDANCE
20260041916 ยท 2026-02-12
Inventors
Cpc classification
A61B5/4848
HUMAN NECESSITIES
A61B5/383
HUMAN NECESSITIES
A61N1/37247
HUMAN NECESSITIES
International classification
Abstract
Systems and methods for closed-loop control of electrostimulation while avoiding, or maintaining a substantially low level of, evoked neural activity are disclosed. A system comprises an electrostimulator to deliver a stimulation pulse train, a sensing circuit to sense evoked responses to respective pulses in the pulse train, and a controller to detect an evoked neural activity from an averaged evoked response by averaging evoked responses to respective pulses. The averaging operation can be controlled by a noise level of the averaged evoked response, or by a count of epochs (pulses) being used for averaging. Responsive to the evoked neural activity satisfying a detection criterion, the controller recursively adjusts stimulation parameters until the detection criterion is no longer satisfied. The electrostimulator delivers electrostimulation according to the recursively adjusted stimulation parameters.
Claims
1. A system for providing electrostimulation to a neural target of patient, the system comprising: an electrostimulator configured to generate electrostimulation energy in accordance with a stimulation parameter setting; a sensing circuit configured to sense an evoked response to the electrostimulation of the neural target; and a controller circuit configured to: detect a presence or absence of an evoked neural activity from the sensed evoked response; in response to the presence of evoked neural activity, adjust the stimulation parameter setting and repeat the detecting until the evoked neural activity becomes absent; and generate a control signal to the electrostimulator to provide electrostimulation in accordance with the adjusted stimulation parameter setting corresponding to the absence of evoked neural activity.
2. The system of claim 1, wherein the one or more of simulation parameters include at least one of a pulse amplitude, a pulse width, a pulse rate, or a pulse pattern of an electrostimulation pulse train.
3. The system of claim 1, wherein the sensed evoked response includes a plurality of evoked responses corresponding to respective stimulation pulses of an electrostimulation pulse train, wherein the controller circuit is configured to detect the presence or absence of evoked neural activity using an average of the plurality of evoked responses.
4. The system of claim 3, wherein the sensed evoked response includes a plurality of inter-pulse segments of a biopotential signal corresponding to the respective stimulation pulses, the plurality of inter-pulse segments each defined between respective two consecutive stimulation pulses, wherein the controller circuit is configured to detect the presence or absence of evoked neural activity using an average of the plurality of inter-pulse segments.
5. The system of claim 1, wherein the controller circuit is configured to determine a signal-to-noise ratio between a signal metric and a noise metric derived from the sensed evoked response, and to detect the presence or absence of evoked neural activity using the determined signal-to-noise ratio.
6. The system of claim 1, wherein the controller circuit is configured to: determine one or more reference stimulation levels each corresponding to respective evoked neural activity detectabilities or patient perception of stimulation; receive a user input of a target stimulation level relative to the one or more reference stimulation levels; and adjust the stimulation parameter setting to achieve the target stimulation level.
7. The system of claim 6, wherein the target stimulation level has a value between (i) a first reference stimulation level corresponding to evoked neural activities detectable from an averaged evoked response over a specified number of evoked responses to respective stimulation pulses of an electrostimulation pulse train and (ii) a second reference stimulation level corresponding to evoked neural activities detectable from each of a plurality of evoked responses to the respective stimulation pulses.
8. The system of claim 6, wherein the target stimulation level is an adjustable percentage of one of the reference stimulation levels including: a first reference stimulation level corresponding to evoked neural activities detectable from an averaged evoked response over a specified number of evoked responses to respective stimulation pulses of an electrostimulation pulse train; a second reference stimulation level corresponding to evoked neural activities detectable from each of a plurality of evoked responses to the respective stimulation pulses; a patient perception threshold; or a patient discomfort threshold.
9. The system of claim 6, wherein the controller circuit is configured to adjust the stimulation parameter setting at an adjustable parameter update frequency or an adjustable parameter value change rate.
10. The system of claim 1, wherein the sensing circuit is configured to sense the evoked response during a pre-scheduled stimulation surveillance phase or an event-triggered stimulation surveillance phase.
11. The system of claim 1, comprising a user interface device configured to receive a user input of surveillance scheduling and configuration, wherein the sensing circuit is configured to sense the evoked response in accordance with the surveillance scheduling and configuration.
12. The system of claim 11, wherein the surveillance scheduling and configuration includes at least one of: timing and duration of a stimulation surveillance phase; a surveillance mode including a constant surveillance or event-triggered surveillance; or a waveform phase.
13. The system of claim 12, wherein the surveillance scheduling and configuration includes a maximum pulse count in a stimulation pulse train dynamically determined based on a noise level of the evoked response.
14. A method for operating an electrostimulation system to provide electrostimulation to a neural target of a patient, the method comprising: sensing, via a sensor circuit, evoked responses to the electrostimulation of the neural target in accordance with a stimulation parameter setting; detecting, via a controller circuit, a presence or absence of evoked neural activity from the sensed evoked responses; in response to the presence of evoked neural activity, adjusting the stimulation parameter setting and repeating the detecting via the controller circuit until the evoked neural activity becomes absent; and generating a control signal to the electrostimulator system to deliver electrostimulation to the neural target in accordance with the adjusted stimulation parameter setting corresponding to the absence of evoked neural activity.
15. The method of claim 14, wherein the one or more of simulation parameters include at least one of pulse amplitude, pulse width, pulse rate, or pulse pattern of a electrostimulation energy.
16. The method of claim 14, wherein the sensed evoked response includes a plurality of evoked responses corresponding to respective stimulation pulses of an electrostimulation pulse train, wherein detecting the presence or absence of evoked neural activity includes using an average of the plurality of evoked responses.
17. The method of claim 14, further comprising determining a signal-to-noise ratio between a signal metric and a noise metric derived from the sensed evoked response, wherein detecting the presence or absence of evoked neural activity includes using the determined signal-to-noise ratio.
18. The method of claim 14, further comprising: determining one or more reference stimulation levels each corresponding to respective evoked neural activity detectabilities or patient perception of stimulation; receiving a user input of a target stimulation level relative to the one or more reference stimulation levels; and adjusting the stimulation parameter setting to achieve the target stimulation level.
19. The method of claim 18, wherein the target stimulation level has a value between (i) a first reference stimulation level corresponding to evoked neural activities detectable from an averaged evoked response over a specified number of evoked responses to respective stimulation pulses of an electrostimulation pulse train and (ii) a second reference stimulation level corresponding to evoked neural activities detectable from each of a plurality of evoked responses to the respective stimulation pulses.
20. The method of claim 14, further comprising receiving a user input of surveillance scheduling and configuration, wherein sensing the evoked response is in accordance with the surveillance scheduling and configuration.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Various examples are illustrated by way of example in the figures of the accompanying drawings. Such examples are demonstrative and not intended to be exhaustive or exclusive examples of the present subject matter.
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
DETAILED DESCRIPTION
[0054] This document describes systems and methods for closed-loop control of electrostimulation while avoiding or maintaining a substantially low level of evoked neural activity. According to an example, a system comprises an electrostimulator to deliver a stimulation pulse train, a sensing circuit to sense evoked responses to respective pulses in the pulse train, and a controller to detect an evoked neural activity from an averaged evoked response by averaging evoked responses to respective pulses. The averaging can be controlled by a noise level of the averaged evoked response, or by a count of epochs (pulses) being used for averaging. Responsive to the evoked neural activity satisfying a detection criterion, the controller can recursively adjust stimulation parameters until the detection criterion is no longer satisfied. The electrostimulator can deliver electrostimulation according to the recursively adjusted stimulation parameters.
[0055] Various examples described herein involve deep brain stimulation (DBS). The following detailed description of the present subject matter refers to the accompanying drawings which show, by way of illustration, specific aspects and examples in which the present subject matter may be practiced. These examples are described in sufficient detail to enable those skilled in the art to practice the present subject matter. Other examples may be utilized and structural, logical, and electrical changes may be made without departing from the scope of the present subject matter. References to an, one, or various examples in this disclosure are not necessarily to the same example, and such references contemplate more than one example. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope is defined only by the appended claims, along with the full scope of legal equivalents to which such claims are entitled.
[0056]
[0057] By way of example and not limitation, in the illustrated IPG 10, there are sixteen lead electrodes (E1-E16) split between two leads 15, with the header 23 containing a 21 array of lead connectors 24. However, the number of leads and electrodes in an IPG is application specific and therefore can vary. The conductive case 12 can also comprise an electrode (Ec). In a SCS application, the electrode leads 15 are typically implanted proximate to the dura in a patient's spinal column on the right and left sides of the spinal cord midline. The proximal contacts 22 are tunneled through the patient's tissue to a distant location such as the buttocks where the IPG case 12 is implanted, at which point they are coupled to the lead connectors 24. In other IPG examples designed for implantation directly at a site requiring stimulation, the IPG can be lead-less, having electrodes 16 instead appearing on the body of the IPG for contacting the patient's tissue. The IPG leads 15 can be integrated with and permanently connected the case 12 in other IPG solutions. The goal of SCS therapy is to provide electrical stimulation from the electrodes 16 to alleviate a patient's symptoms, most notably chronic back pain.
[0058] The IPG 10 can include an antenna 26a allowing it to communicate bi-directionally with a number of external devices, as shown in
[0059] Stimulation in the IPG 10 is typically provided by pulses, as shown in
[0060]
[0061] The pulses as shown in
[0062] The IPG 10 includes stimulation circuitry 28 that can be programmed to produce the stimulation pulses at the electrodes as defined by the stimulation program. Stimulation circuitry 28 can for example comprise the circuitry described in U.S. Patent Application Publications 2018/0071513 and 2018/0071520, or in U.S. Pat. Nos. 8,606,362 and 8,620,436. The entirety of such references are incorporated herein by reference.
[0063]
[0064] The ETS 40 generally mimics operation of the IPG 10, and thus can provide stimulation pulses to the patient's tissue as explained above. See, e.g., U.S. Pat. No. 9,259,574, disclosing a design for an ETS. The ETS 40 is generally worn externally by the patient for a short while (e.g., two weeks), which allows the patient and his clinician to experiment with different stimulation parameters to try and find a stimulation program that alleviates the patient's symptoms (e.g., pain). If external trial stimulation proves successful, trial lead(s) 15 are explanted, and a full IPG 10 and lead(s) 15 are implanted as described above; if unsuccessful, the trial lead(s) 15 are simply explanted.
[0065] Like the IPG 10, the ETS 40 can include one or more antennas to enable bi-directional communications with external devices, explained further with respect to
[0066]
[0067] External controller 45 can be as described in U.S. Patent Application Publication 2015/0080982 for example, and may comprise either a dedicated controller configured to work with the IPG 10. External controller 45 may also comprise a general purpose mobile electronics device such as a mobile phone which has been programmed with a Medical Device Application (MDA) allowing it to work as a wireless controller for the IPG 10 or ETS 40, as described in U.S. Patent Application Publication 2015/0231402. External controller 45 includes a user interface, including means for entering commands (e.g., buttons or icons) and a display 46. The external controller 45's user interface enables a patient to adjust stimulation parameters, although it may have limited functionality when compared to the more-powerful clinician programmer 50.
[0068] In some examples, the external controller 45 can have one or more antennas capable of communicating with the IPG 10 and ETS 40. For example, the external controller 45 can have a near-field magnetic-induction coil antenna 47a capable of wirelessly communicating with the coil antenna 26a or 42a in the IPG 10 or ETS 40. The external controller 45 can also have a far-field RF antenna 47b capable of wirelessly communicating with the RF antenna 26b or 42b in the IPG 10 or ETS 40.
[0069] In some examples, the external controller 45 can have control circuitry 48 such as a microprocessor, microcomputer, an FPGA, other digital logic structures, etc., which is capable of executing instructions an electronic device. Control circuitry 48 can for example receive patient adjustments to stimulation parameters, and create a stimulation program to be wirelessly transmitted to the IPG 10 or ETS 40.
[0070] Clinician programmer 50 is described further in U.S. Patent Application Publication 2015/0360038, and is only briefly explained here. The clinician programmer 50 can comprise a computing device 51, such as a desktop, laptop, or notebook computer, a tablet, a mobile smart phone, a Personal Data Assistant (PDA)-type mobile computing device, etc. In
[0071] The antenna used in the clinician programmer 50 to communicate with the IPG 10 or ETS 40 can depend on the type of antennas included in those devices. If the patient's IPG 10 or ETS 40 includes a coil antenna 26a or 42a, wand 54 can likewise include a coil antenna 56a to establish near-filed magnetic-induction communications at small distances. In this instance, the wand 54 may be affixed in close proximity to the patient, such as by placing the wand 54 in a belt or holster wearable by the patient and proximate to the patient's IPG 10 or ETS 40.
[0072] In an example where the IPG 10 or ETS 40 includes an RF antenna 26b or 42b, the wand 54, the computing device 51, or both, can likewise include an RF antenna 56b to establish communication with the IPG 10 or ETS 40 at larger distances. (Wand 54 may not be necessary in this circumstance). The clinician programmer 50 can also establish communication with other devices and networks, such as the Internet, either wirelessly or via a wired link provided at an Ethernet or network port.
[0073] To program stimulation programs or parameters for the IPG 10 or ETS 40, the clinician interfaces with a clinician programmer graphical user interface (GUI) 64 provided on the display 52 of the computing device 51. As one skilled in the art understands, the GUI 64 can be rendered by execution of clinician programmer software 66 on the computing device 51, which software may be stored in the device's non-volatile memory 68. One skilled in the art will additionally recognize that execution of the clinician programmer software 66 in the computing device 51 can be facilitated by control circuitry 70 such as a microprocessor, microcomputer, an FPGA, other digital logic structures, etc., which is capable of executing programs in a computing device. The control circuitry 70 can execute the clinician programmer software 66 to generated a therapy plan and rendering the GUI 64. The therapy plan may include stimulation parameters chosen through the GUI 64 (e.g., electrode configurations and stimulation dosing parameters). The control circuitry 70 can enable communications via antennas 56a or 56b to communicate the therapy plan (e.g., stimulation parameters) to the patient's IPG 10. The IPG 10 may deliver electrostimulation in accordance with the therapy plan.
[0074] In an example, the therapy plan includes a sub-perception SCS plan comprising stimulation parameters with respective values set by the user via the GUI 64. In some examples, the sub-perception SCS plan may include settings and parameters for detecting evoked neural activities from evoked responses to a stimulation pulse train, and for adjusting stimulation parameters so as to avoid or maintain a substantially low level of evoked neural activities while delivering the sub-perception SCS. Examples of the GUI for programming a sub-perception SCS with avoidance or suppression of evoked neural activity are discussed below with reference to
[0075]
[0076] Stimulation parameters relating to the electrodes 16 (the electrodes E activated and their polarities P), are made adjustable in an electrode parameter interface 86. Electrode stimulation parameters are also visible and can be manipulated in a leads interface 92 that displays the leads 15 (or 15) in generally their proper position with respect to each other, for example, on the left and right sides of the spinal column. A cursor 94 (or other selection means such as a mouse pointer) can be used to select a particular electrode in the leads interface 92. Buttons in the electrode parameter interface 86 allow the selected electrode (including the case electrode, Ec) to be designated as an anode, a cathode, or off. The electrode parameter interface 86 further allows the relative strength of anodic or cathodic current of the selected electrode to be specified in terms of a percentage, X. This is particularly useful if more than one electrode is to act as an anode or cathode at a given time, as explained in the '038 Publication. In accordance with the example waveforms shown in
[0077] The GUI 64 as shown specifies only a pulse width PW of the first pulse phase 30a. The clinician programmer software 66 that runs and receives input from the GUI 64 will nonetheless ensure that the IPG 10 and ETS 40 are programmed to render the stimulation program as biphasic pulses if biphasic pulses are to be used. For example, the clinician programming software 66 can automatically determine durations and amplitudes for both of the pulse phases 30a and 30b (e.g., each having a duration of PW, and with opposite polarities +A and A). An advanced menu 88 can also be used (among other things) to define the relative durations and amplitudes of the pulse phases 30a and 30b, and to allow for other more advance modifications, such as setting of a duty cycle (on/off time) for the stimulation pulses, and a ramp-up time over which stimulation reaches its programmed amplitude (A), etc. A mode menu 90 allows the clinician to choose different modes for determining stimulation parameters. For example, as described in the '038 Publication, mode menu 90 can be used to enable electronic trolling, which comprises an automated programming mode that performs current steering along the electrode array by moving the cathode in a bipolar fashion. While GUI 64 is shown as operating in the clinician programmer 50, the user interface of the external controller 45 may provide similar functionality.
[0078]
[0079]
[0080] Stimulation dosing parameters, such as amplitude, frequency (or stimulation rate), pulse width (PW), or waveform pattern of the stimulation waveform are programmable and can be set or adjusted by a user on a GUI. In an example, the frequency of the stimulation pulse (reciprocal of period) can be programmed to a value within a specific range, such as approximately 2-1200 Hz. In an example, the stimulation frequency can be programmed to 90 Hz. The pulse width (PW) can be programmed within a range, such as approximately 21050 micro-seconds (s). To identify the electrode configuration and fine-tune the location of stimulation, a neural target search can be carried out using the CPS-1 and CPS-2 steered simultaneously in the rostro-caudal and medial-lateral dimensions at a programmable step (resolution) such as in approximately 300s increments. The stimulation amplitude can then be lowered to a programmable fraction of the perception threshold. Such a programming for FAST allows for a systematic optimization of the stimulating field that provides comprehensive overlap between the area of pain and paresthesia sensation.
[0081]
[0082] At 710, a stimulation pulse train may be delivered to a neural target in accordance with one or more stimulation parameters. Examples of the stimulation parameters can include stimulation waveform dosing parameters such as amplitude (e.g., current amplitude), pulse width, pulse rate or frequency, pulse pattern, pulse waveform, among others. The stimulation parameters may also include electrode configurations that defines electrodes used for delivering stimulation and fractionalization of current or electrical energy among electrodes. In some examples, a stimulation pulse train may be delivered in accordance with a pre-defined stimulation program, such as the Fast-Acting Sub-Perception Therapy (FAST) as described above with reference to
[0083] At 720, evoked responses to respective stimulation pulses in the stimulation pulse train can be sensed, such as using a sensing circuit of the IPG 10. The evoked responses can be sensed from one or more of a dorsal column, a dorsal root, or a peripheral nerve. In some examples, the evoked responses can be somatosensory evoked potential (SSEP) signal recorded by electrodes placed on patient scalp over the sensory area of the brain in response to stimulation of specific nerves in, for example, ankle, wrist, or other external body parts. In an example, a biopotential signal can be sensed by one or more subcutaneous electrodes on one of the one or more leads 15 in response to the stimulation pulse train. The biopotential signal can include an evoked potential or evoked compound action potential (ECAP). The evoked responses (corresponding to the stimulation pulses) can include a plurality of inter-pulse segments of a biopotential signal.
[0084] The evoked responses can be sensed during a stimulation surveillance phase, represented by a time window following a therapeutic phase. The evoked responses sensed following respective stimulation pulses form a evoked response train. The stimulation surveillance phase can be set or modified by a user using a programming device, such as the external controller 45 or the CP 50. Additionally or alternatively, the stimulation surveillance phase can be event-triggered and automatically set. Examples of programming a stimulation surveillance phase and sensing evoked responses in accordance with a surveillance scheduling and configuration are discussed below with reference to
[0085] At 730, the evoked response train (i.e., the evoked responses to respective stimulation pulses) can be pre-processed, and an evoked neural activity can be detected from the pre-processed evoked responses. The pre-processing can include, among other operations, filtering the evoked responses using a filter of a specific type. By way of example and not limitation, a moving-average filter can be used to filter out or substantially attenuate noise or interferences from the evoked response train. Other low-pass or band-pass filters may also be used.
[0086] In an example, filtering the evoked responses may include generating a representative evoked response by averaging a plurality of evoked responses in the evoked response train. In an example where the evoked responses are represented by inter-pulse segments of a bipotential signal responsive to the stimulation pulse train, a representative inter-pulse segment can be generated by averaging a plurality of inter-pulse segments of the biopotential signal. Each inter-pulse segment is defined between respective two consecutive stimulation pulses. In an example, the plurality of inter-pulse segments can be time-aligned with respect to respective leading stimulation pulses before being averaged.
[0087] The number of epochs needed (up to a pre-determined device limit) for averaging the evoked responses (e.g., inter-pulse segments of a bio-potential signal) can be programmed to a pre-determined fixed number. Alternatively, the number of epochs can be float, and determined dynamically based on, for example, most recent averaged evoked response. In an example, the averaging process can continue to update the average evoked response with additional evoked responses until a noise level of the most recent updated averaged evoked response satisfies a condition, such as falling below a noise threshold.
[0088] Signal metrics may be generated from the filtered evoked response signal, which may include, for example, signal peak amplitude, signal power, signal to noise ratio, among others. A detection feature can be generated using the signal metrics.
[0089] Examples the detection feature can include a signal metric detected from a signal detection window, or a relative measure between a signal metric and a noise metric detected from respective detection windows. An example of the relative measure is a signal-to-noise ratio (SNR). The detection feature can be compared to a detection criterion (e.g., a detection threshold) to determine if a detectable evoked neural activity is present or absent from the evoked responses. Examples of detecting the presence or absence of an evoked neural activity are discussed below with reference to
[0090] If it is decided at 740 that no evoked neural activity is detected, the present stimulation is deemed appropriate for sub-perception therapy without eliciting detectable evoked neural activities. The present stimulation parameters are maintained at their respective values at 750, and the stimulation pulse train can be delivered to the neural target 710 in accordance with the present stimulation parameters. However, if an evoked neural activity is detected at 740, then the evoked neural activity can be further analyzed at 760. For example, the evoked neural activity can be compared to a cutoff limit or to a all or nothing digital threshold. If at 770 the evoked neural activity falls within the cutoff limit or below the all or nothing digital threshold, the evoked neural activity is deemed at a substantially low level. This indicates the present stimulation is providing electrostimulation without eliciting a detectable evoked neural activity. Accordingly, the stimulation parameters can be maintained at their respective existing values at 750, and the stimulation pulse train can be delivered to the neural target 710 in accordance with the present stimulation parameters. If, however, the evoked neural activity goes beyond the cutoff limit or exceeds the all or nothing digital threshold at 770, then the evoked neural activity is deemed significant. This may suggest that the present stimulation has an inappropriately or unnecessarily high intensity that may elicit paresthesia. Accordingly, to avoid or suppress the evoked neural activities such as to maintain paresthesia-free or sub-perception electrostimulation, at 780 one or more stimulation parameters may be adjusted to reduce the stimulation energy delivered to the patient. The stimulation pulse train can then be delivered to the neural target 710 in accordance with the adjusted stimulation parameters. The adjustment of stimulation parameter at 780 can be carried out automatically via a feedback control circuit, or at least partially activated in response to a user input, such as a confirmation of the automatically generated recommendation for stimulation parameter adjustment.
[0091]
[0092] The reference stimulation levels, including DT 811, PT 812, SE 813, NE 814, and ND 815, can be plotted along a stimulation strength scale 820. A user can set a target stimulation level relative to one or more reference stimulation levels. In an example, a user may select the Avoid metrics option 831 to set the target stimulation level to some value below a reference stimulation level to avoid certain effects corresponding to that reference stimulation level. For example, the target stimulation level can be set to some value lower than PT 812 to avoid paresthesia. In another example, a user may check the Above metrics option 832 to set the target stimulation level to above a reference stimulation level to ensure an attainment of certain effects corresponding to that reference stimulation level. For example, the target stimulation level may be set to some value above the NE 814 to ensure that an evoked neural activity can be detected from an averaged response over N epochs. In yet another example, a user may check the Between metrics option 833 to set the target stimulation level at some value between two reference stimulation levels, such as between NE 814 and SE 813. In some examples, a user may use a UI control 834 (e.g., a slider) to set the target stimulation level to be a percentage of a reference stimulation level, such as 80% of NE 814, 60% of SE 813, or 50% of PT 814. In some examples, in alternative to manually setting the target stimulation level, a user can select a stimulation program from a list of available programs each including a pre-determined range of stimulation strength (e.g., current amplitude).
[0093] The target stimulation level can be reached via one or more stimulation dosing parameters including, for example, amplitude, frequency (or stimulation rate), pulse width (PW), or waveform pattern of the stimulation waveform. A user can identify one or more dosing parameters to be adjusted to obtain the target stimulation level. Additionally, a composer 850 allows a user to specify a pulse pattern, such as an atonic pulse pattern with a constant inter-pulse interval, or a pulse pattern with variable inter-pulse intervals.
[0094] In some examples, the GUI 800 can include options that allow a user to adjust one or more stimulation parameters at a user-specified parameter update frequency 862, or at a user-specified parameter value change rate 864. The parameter update frequency 862 can be changed continuously or in discrete steps from rare to always, where rare can be a fixed period (e.g. once per week) or implicit (e.g. only when user changes ratings or a user-specified parameter value change rate received from the user interface), and always may refer to frequent or real-time update of one or more stimulation parameters. The parameter value change rate 864 represents a slew rate of parameter value update from its present value to the adjusted value, and can be changed continuously or in discrete steps from slow to fast, where slow may be over minimum parameter steps allowed in programming settings at slow time rate, and fastcan be the maximum rate of change.
[0095]
[0096] The block sequence scheduler 910 allows a user to schedule the stimulation/sensing surveillance by setting relative timings and durations for therapy blocks (STIM, during which therapeutic electrostimulations are delivered) and sense blocks (SENSE, during which surveillance sensing and assessment of evoked responses are performed). In some examples, sensing may optionally be turned on or off temporarily during the STIM block. The sense blocks and the therapy blocks can have respective programmable durations, and can be interspersed between each other. In the illustrated example, the therapy blocks are 360 seconds long, the sense blocks are 10 seconds long. In an example, the user may use UI control elements to drag and drop one or more of the therapy blocks or the sense blocks to different timing locations, and/or to increase or decrease block sizes (durations) for one or more of the therapy blocks or the sense blocks. In an example, the block sequence scheduler 910 may be represented by a table with clock time intervals, integrated with an existing stimulation program (e.g., FAST). In another example, the block sequence scheduler 910 may pre-load a stored sequence comprising therapy blocks and sense blocks, and the user can then modify the pre-loaded sequency such as by adjusting the timings and/or durations of the therapy blocks or the sense blocks.
[0097] The waveform phase selector 920 allows a user to select one of a pre-defined waveform phases for the stimulation pulses used in surveillance. Alternatively, the user may use a composer 850 to define waveform phase or pulse shape. The waveform phase or pulse shape may affect evoked neural activity detection.
[0098] The surveillance mode/trigger selector 930 allows a user to set how often, or under what condition, the surveillance stimulation/sensing is performed. One example of the surveillance mode is a constant surveillance, in which the surveillance is performed constantly or periodically according to a pre-determined schedule. Alternatively, the surveillance mode can be one of event-triggered modes, in which the surveillance is activated only responsive to certain events, such as therapy rating change, stimulation artifact change, lead impedance change, among other events.
[0099] The surveillance pulse train configuration 940 allows a user to set a maximum pulse count 942 in a stimulation pulse train, such as via a slider or other UI control elements. The maximum pulse count can be set to some value within a range, such as between 1 and 100, as illustrated in
[0100] In alternative to the fixed maximum pulse count 942, in some example, the maximum pulse count can be set to Lock to noise threshold 944, in which case the maximum pulse count is float (i.e., not fixed at a programmed value), and can be determined dynamically based on how a noise level (e.g., a root-mean-squared or RMS noise) is suppressed by averaging the evoked responses. For example, if the noise level of an averaged evoked response over N stimulation epochs (pulses) falls below a noise threshold, then the maximum pulse count can be determined to be N.
[0101]
[0102]
[0103] By way of example and not limitation, the selectable detection criteria may include All-Or-Nothing, Fixed Metric Threshold, or Fixed vs. Noise. Under the All-or-nothing criterion, a positive detection decision (i.e., the evoked neural activity is deemed present) can be made if any of the pulses in the stimulation pulse train evokes a detectable neural activity. Under the Fixed metric threshold criterion, a positive detection decision can be made if an evoked response signal metric (X.sub.EP), measured or computed from a user-defined evoked neural activity detection window (W.sub.EP), exceeds a specific threshold (X.sub.TH). Under the Fixed vs. Noise criterion, an evoked response signal metric (X.sub.EP) can be measured or computed from a user-defined evoked neural activity detection window (W.sub.EN), and an noise metric (X.sub.N) can be measured or computed from a user-defined noise detection window (W.sub.N). A positive detection decision can be made based on a comparison of the evoked response signal metric (X.sub.EP) and the noise metric (X.sub.N). In an example, a signal-to-noise ratio (SNR) can be computed using the X.sub.EP and X.sub.N, and a positive detection decision can be made if the SNR exceeds an SNR threshold (SNR.sub.TH).
[0104] In some examples, the detection decision criterion 1010 can be determined by a stimulation program selected from a selectable list including, for example, I3D, Contour, FAST, or Micro Burst programs, among other programs. The stimulation programs each contain respective pre-defined detection decision criteria. The detection decision criterion can be based on the evoked response signal metric (X.sub.EP), the noise metric (X.sub.N), or a relative metric between X.sub.EP and X.sub.N, such as a signal-to-noise ratio (SNR).
[0105] The filter setting 1020 allows a user to define one or more of an evoked neural activity detection window (W.sub.EP) 1024, a noise detection window (W.sub.N) 1026, or a stimulation artifact window (W.sub.A) 1022. Such windows are time intervals defined within an inter-pulse interval between stimulation pulse P.sub.i and P.sub.i+1, each having respective adjustable temporal locations and window sizes (durations). In the illustrated example, the artifact window W.sub.A 1022 can begin immediately after the stimulation pulse P.sub.i 1021. The neural activity detection window (W.sub.EP) 1024 can precede in time to the noise detection window (W.sub.N) 1026. The user may load pre-configurated filter settings, including timing locations and window sizes (durations) for one or more of W.sub.EP, W.sub.N, and W.sub.A. Alternatively, the user may use UI control elements to drag and drop a window to change its timing location, and/or to increase or decrease a window size (durations) for one or more of W.sub.EP, W.sub.N, and W.sub.A.
[0106] Evoked neural activity in response to stimulation pulse P.sub.i can be detected from a portion of the evoked response signal within W.sub.EP, Noise level can be detected from a portion of the evoked response signal within W.sub.N, and an artifact of stimulation pulse P.sub.i can be detected from a portion of the evoked response signal within W.sub.A.
[0107] In addition to defining various detection windows such as W.sub.EP, W.sub.N, and W.sub.A, the filter setting 1020 may allow a user to configure filters to filter out or attenuate high-frequency noise or physiological interferences from the evoked response signal. As discussed above in
[0108] The feature consistency setting 1030 allows a user to define a desired level of consistency for detecting the evoked response signal metric (X.sub.EP) or the noise metric (X.sub.N) in respective detection windows. The feature consistency setting 1030 determines the reliability setting (e.g., a cutoff) for the detection of the signal metric (X.sub.EP) or the noise metric (X.sub.N). For example, Any Detection in the Window has a lower consistency requirement than Time locked over X %, which has a lower consistency requirement than Time locked over all.
[0109]
[0110] The computed signal metric X.sub.EP, optionally along with noise metric X.sub.N determined from the noise detection window W.sub.N, may be used to determine a presence or absence of an evoked neural activity. The detection feature and threshold criteria 1120 allows a user to select or define a detection feature and an associated threshold. In an example, the detection feature can be the signal metric X.sub.EP. In another example, the detection feature can be a relative measure between the signal metric X.sub.EP and the noise metric X.sub.N, such as a signal-to-noise ratio (SNR) between the signal metric X.sub.EP and the noise metric X.sub.N. In the illustrated example, a user can select from a list of pre-defined detection features including a Ratio vs. Noise RMS, a Ratio vs. Noise Peak to Peak, specific value(s), and count any feature. The Ratio vs. Noise RMS refers to an SNR with the noise metric X.sub.N being computed using root-mean-squared (RMS) value. The Ratio vs. Noise Peak to Peak refers to an SNR with the noise metric X.sub.N being computed using peak-to-peak (PP) value. The specific value(s) refers to using the signal metric X.sub.EP to detect evoked neural activity. A user may use the UI control elements to select or adjust the threshold value for the selected detection feature. In the illustrated example, the Ratio vs. Noise RMS is selected with a threshold being set to 1.25. In accordance with this detection feature and threshold criterion, an evoked neural activity is deemed present if the SNR (with the noise metric X.sub.N being computed using RMS value) exceeds the threshold 1.25.
[0111] The detection threshold method 1130 allows a user to select and configure a method for measuring the signal metric X.sub.EP, the noise metric X.sub.N, and the detection feature (e.g., SNR with the noise metric X.sub.N defined as RMS noise, in the illustrated example) from a train of evoked responses. As illustrated, two detection threshold methods are provided: a direct method and a by proxy method. The direct method 1132 refers to an explicit calculation of the signal metric X.sub.EP, the noise metric X.sub.N, and the detection feature based on an average (or other statistical pooling such as median, maximum, etc.) over a specific number (N) of epochs (pulses). When the direct method is selected, a representative evoked response can be computed using N evoked responses corresponding to N stimulation pulses in a pulse train. In an example where the evoked responses are represented by inter-pulse segments of a bipotential signal, a representative inter-pulse segment can be generated using N inter-pulse segments of the biopotential signal following respective N stimulation pulses. A signal metric (X.sub.EP) and a noise metric (X.sub.N) can be generated from an activity detection window (W.sub.EP) and a noise detection window (W.sub.N), respectively. A detection feature of a user's choice (e.g., Ratio vs. Noise RMS) can be computed and compared against a programmed threshold associated with the detection feature to determine the presence or absence of an evoked neural activity.
[0112] In the example illustrated in
[0113] The By proxy method 1134 refers to a method of determining the number of epochs needed (up to a pre-determined device limit) for averaging the evoked response signal to attain a desired noise level from the averaged signal. In contrast to the direct method which involves a one-time averaging (or other pooling operation) over a specific number (N) of epochs (pulses), in the by proxy method the number of epochs for averaging is dynamically determined based on, for example, most recent averaged evoked response. In an example, the averaging process can continue to update the average evoked responses with additional evoked responses until a noise level of the most recent updated averaged evoked response satisfies a condition, such as falling below a noise threshold. In addition to the average number, other examples of proxy can include median over epoch count (for salt and pepper-like noise), V.sub.rms noise (metric inferred via SNR), maximum over epoch count, or another bulk statistical metric. In another example, the by proxy method determines the number of epochs for averaging based on the number of epochs necessary to make a detection (i.e., not just the noise), after attempting to detect after each epoch is averaged into the composite signal.
[0114] In the example illustrated in
[0115] At 1230, a noise level or noise metric X.sub.N (e.g., V.sub.rms noise) can be measured from the averaged inter-pulse segment within the noise detection window W.sub.N 1026. The noise level X.sub.N can be compared against the noise threshold X.sub.TH (1.2 V.sub.rms in this example) at 1240. As long as the noise level X.sub.N is above the noise threshold X.sub.TH, the averaging process can continue to update the representative evoked response (e.g., the representative inter-pulse segment) at 1220 with additional epochs of evoked responses (corresponding to additional pulses), and the noise level X.sub.N can be re-evaluated in the noise detection window at 1230. As the noise is generally substantially zero-mean, when averaged over more epochs, the noise level tends to attenuate. The averaging process can continue until the noise level X.sub.N drops below the noise threshold X.sub.TH at 1240. The total number of epochs required for the noise level to fall below the noise threshold is determined to be a target epoch number N.sub.T.
[0116] At 1250, a detection feature, such as SNR, can be computed using the signal metric X.sub.EP and the present noise metric X.sub.N. The signal metric (X.sub.EP) can be determined using the averaged evoked response signal within the window W.sub.EP 1024. At 1260, the detection feature (e.g., SNR) can be compared against a user-selected detection criterion, such as whether the SNR exceeds a SNR.sub.TH. If the detection criterion is satisfied at 1260 (e.g., SNR>SNR.sub.TH), then an evoked neural activity is deemed detected at 1272. This indicates that the present stimulation is at an inappropriately and unnecessarily high intensity level that would elicit detectable evoked neural activities and cause paresthesia. Accordingly, to avoid the evoked neural activities such as to maintain paresthesia-free or sub-perception electrostimulation, one or more stimulation parameters may be adjusted to reduce the stimulation energy delivered to the patient. The stimulation pulse train can then be delivered to the neural target in accordance with the adjusted stimulation parameters.
[0117] If at 1260 it is decided that the detection criterion is not satisfied (e.g., SNR<SNR.sub.TH), then no detectable evoked neural activity is deemed present at 1274. This indicates the present stimulation is providing adequate sub-perception electrostimulation without eliciting a detectable evoked neural activity. Accordingly, no stimulation parameter needs to be adjusted, and the stimulation pulse train can be delivered to the neural target in accordance with existing stimulation parameters.
[0118] In the example illustrated in
[0119] In some examples, the averaging process can be controlled by the total number of epochs required for the noise level to fall below the noise threshold, i.e., the target epoch number N.sub.T. As stated above, as more epochs of data are averaged, the noise level generally attenuates and the SNR increases. As such, evoked neural activities of a small amplitude that is undetectable during single stimulation epoch (i.e., SNR computed from one stimulation epoch does not exceed SNR.sub.TH) can be detectable from an averaged evoked response over a number of epochs (e.g., the SNR exceeding the SNR.sub.TH). However, if it takes too many epochs of averaging (e.g., exceeding a pre-determined epoch upper limit N.sub.max) for the SNR to satisfy the detection criterion, then no evoked neural activity is deemed present.
[0120] At 1310, a user can provide an epoch count threshold N.sub.TH. At 1320, epoch count (N) used in the averaging of the evoked responses (e.g., inter-pulse segments of an evoked biopotential signal) is determined. If the epoch count N exceeds the epoch count threshold N.sub.TH at 1330, the no evoked neural activity is deemed present at 1332. No stimulation parameter needs to be adjusted, and the stimulation pulse train can be delivered to the neural target in accordance with existing stimulation parameters.
[0121] If the epoch count N does not exceed the epoch count threshold N.sub.TH at 1330, then at 1340, a representative inter-pulse segment can be generated or updated by averaging the N evoked responses (e.g., inter-pulse segments) following respective N stimulation pulses, and a detection feature can be evaluated, such as an SNR based on the signal metric X.sub.EP and noise metric X.sub.N each evaluated from the representative inter-pulse segment within the signal detection window W.sub.Ep and the noise detection window W.sub.N, respectively.
[0122] At 1350, the detection feature can be compared against a detection threshold to determine if a user-selected detection criterion can be satisfied (e.g., whether SNR exceeds SNR.sub.TH). If the detection criterion is satisfied (e.g., SNR>SNR.sub.TH), then an evoked neural activity is deemed detected at 1352. One or more stimulation parameters may be adjusted to reduce the stimulation energy delivered to the patient. The stimulation pulse train can then be delivered to the neural target in accordance with the adjusted stimulation parameters.
[0123] If at 1350 the detection criterion is not satisfied (e.g., SNR<SNR.sub.TH), then the averaging process can continue to include additional epochs, the epoch count increments at 1320, and the representative evoked response can be updated and detection criterion re-evaluated at 1340, until either the epoch count (N) exceeds the threshold N.sub.TH (in which case a EP not detected decision is made at 1332) or the detection criterion is satisfied (in which case a EP detecteddecision is made at 1352.
[0124]
[0125] In alternative examples, the machine 1400 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 1400 may operate in the capacity of a server machine, a client machine, or both in server-client network environments. In an example, the machine 1400 may act as a peer machine in peer-to-peer (P2P) (or other distributed) network environment. The machine 1400 may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term machine shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), among other computer cluster configurations.
[0126] Examples, as described herein, may include, or may operate by, logic or a number of components, or mechanisms. Circuit sets are a collection of circuits implemented in tangible entities that include hardware (e.g., simple circuits, gates, logic, etc.). Circuit set membership may be flexible over time and underlying hardware variability. Circuit sets include members that may, alone or in combination, perform specified operations when operating. In an example, hardware of the circuit set may be immutably designed to carry out a specific operation (e.g., hardwired). In an example, the hardware of the circuit set may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) including a computer readable medium physically modified (e.g., magnetically, electrically, moveable placement of invariant massed particles, etc.) to encode instructions of the specific operation. In connecting the physical components, the underlying electrical properties of a hardware constituent are changed, for example, from an insulator to a conductor or vice versa. The instructions enable embedded hardware (e.g., the execution units or a loading mechanism) to create members of the circuit set in hardware via the variable connections to carry out portions of the specific operation when in operation. Accordingly, the computer readable medium is communicatively coupled to the other components of the circuit set member when the device is operating. In an example, any of the physical components may be used in more than one member of more than one circuit set. For example, under operation, execution units may be used in a first circuit of a first circuit set at one point in time and reused by a second circuit in the first circuit set, or by a third circuit in a second circuit set at a different time.
[0127] Machine (e.g., computer system) 1400 may include a hardware processor 1402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, algorithm specific ASIC, or any combination thereof), a main memory 1404 and a static memory 1406, some or all of which may communicate with each other via an interlink (e.g., bus) 1408. The machine 1400 may further include a display unit 1410 (e.g., a raster display, vector display, holographic display, etc.), an alphanumeric input device 1412 (e.g., a keyboard), and a user interface (UI) navigation device 1414 (e.g., a mouse). In an example, the display unit 1410, input device 1412 and UI navigation device 1414 may be a touch screen display. The machine 1400 may additionally include a storage device (e.g., drive unit) 1416, a signal generation device 1418 (e.g., a speaker), a network interface device 1420, and one or more sensors 1421, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensors. The machine 1400 may include an output controller 1428, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).
[0128] The storage device 1416 may include a machine readable medium 1422 on which is stored one or more sets of data structures or instructions 1424 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions 1424 may also reside, completely or at least partially, within the main memory 1404, within static memory 1406, or within the hardware processor 1402 during execution thereof by the machine 1400. In an example, one or any combination of the hardware processor 1402, the main memory 1404, the static memory 1406, or the storage device 1416 may constitute machine readable media.
[0129] While the machine-readable medium 1422 is illustrated as a single medium, the term machine readable medium may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions 1424.
[0130] The term machine readable medium may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 1400 and that cause the machine 1400 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. Non-limiting machine-readable medium examples may include solid-state memories, and optical and magnetic media. In an example, a massed machine-readable medium comprises a machine readable medium with a plurality of particles having invariant (e.g., rest) mass. Accordingly, massed machine-readable media are not transitory propagating signals. Specific examples of massed machine-readable media may include: non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EPSOM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0131] The instructions 1424 may further be transmitted or received over a communication network 1426 using a transmission medium via the network interface device 1420 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as WiFi, IEEE 802.16 family of standards known as WiMax), IEEE 802.15.4 family of standards, peer-to-peer (P2P) networks, among others. In an example, the network interface device 1420 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communication network 1426. In an example, the network interface device 1420 may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. The term transmission medium shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine 1400, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
[0132] Various examples are illustrated in the figures above. One or more features from one or more of these examples may be combined to form other examples.
[0133] The method examples described herein may be machine or computer-implemented at least in part. Some examples may include a computer-readable medium or machine-readable medium encoded with instructions operable to configure an electronic device or system to perform methods as described in the above examples. An implementation of such methods may include code, such as microcode, assembly language code, a higher-level language code, or the like. Such code may include computer readable instructions for performing various methods. The code may form portions of computer program products. Further, the code may be tangibly stored on one or more volatile or non-volatile computer-readable media during execution or at other times.
[0134] The above detailed description is intended to be illustrative, and not restrictive. The scope of the disclosure should, therefore, be determined with references to the appended claims, along with the full scope of equivalents to which such claims are entitled.