Patent Description:
Neurostimulation, also referred to as neuromodulation, has been proposed as a therapy for a number of conditions. Examples of neurostimulation include Spinal Cord Stimulation (SCS), Deep Brain Stimulation (DBS), Peripheral Nerve Stimulation (PNS), and Functional Electrical Stimulation (FES). Implantable neurostimulation systems have been applied to deliver such a therapy. An implantable neurostimulation system may include an implantable neurostimulator, also referred to as an implantable pulse generator (IPG), and one or more implantable leads each including one or more electrodes. The implantable neurostimulator delivers neurostimulation energy through one or more electrodes placed on or near a target site in the nervous system. An external programming device is used to program the implantable neurostimulator with stimulation parameters controlling the delivery of the neurostimulation energy.

In one example, the neurostimulation energy is delivered in the form of electrical neurostimulation pulses. The delivery is controlled using stimulation parameters that specify spatial (where to stimulate), temporal (when to stimulate), and informational (patterns of pulses directing the nervous system to respond as desired) aspects of a pattern of neurostimulation pulses. Many current neurostimulation systems are programmed to deliver periodic pulses with one or a few uniform waveforms continuously or in bursts. However, the human nervous systems use neural signals having much more sophisticated patterns to communicate various types of information, including sensations of pain, pressure, temperature, etc. The nervous system may interpret an artificial stimulation with a simple pattern of stimuli as an unnatural phenomenon, and respond with an unintended and undesirable sensation and/or movement. For example, some neurostimulation therapies are known to cause paresthesia and/or vibration of non-targeted tissue or organ.

Recent research has shown that the efficacy and efficiency of certain neurostimulation therapies can be improved, and their side-effects can be reduced, by using patterns of neurostimulation pulses that emulate natural patterns of neural signals observed in the human body. While modern electronics can accommodate the need for generating such sophisticated pulse patterns, the capability of a neurostimulation system depends on its postmanufacturing programmability to a great extent. For example, a sophisticated pulse pattern may only benefit a patient when it is customized for that patient, and stimulation patterns predetermined at the time of manufacturing may substantially limit the potential for the customization. Such customization may be performed at least in part by a user such as a physician or other caregiver with the patient in a clinical setting.

<CIT> relates to a technique for selection of parameter configurations for a neurostimulator using neural networks. The technique may be employed by a programming device to allow a clinician to select parameter configurations, and then program an implantable neurostimulator to deliver therapy using the selected parameter configurations. The parameter configurations may include one or more of a variety of parameters, such as electrode configurations defining electrode combinations and polarities for an electrode set implanted in a patient. The electrode set may be carried by one or more implanted leads that are electrically coupled to the neurostimulator. In operation, the programming device executes a parameter configuration search algorithm to guide the clinician in the selection of parameter configurations. The search algorithm relies on a neural network that identifies potential optimum parameter configurations.

<CIT> describes a programmer configured to generate an activation field model from an electrical field model and a neuron model. The neuron model may be a set of equations, a lookup table, or another type of model that defines threshold action potentials of particular neurons that make up the anatomical structure.

<CIT> relates to a method for determining stimulation parameters for a neuroprosthetic device performed by a processor of the device. Based on (i) a desired spatial pattern of neural activity, the processor determines stimulation parameters for an array of electrodes of the neuroprosthetic device. The processor determines the stimulation parameters such that a difference between (i) the desired spatial pattern of neural activity and (ii) an estimated spatial pattern of neural activity is optimised. The estimated spatial pattern of neural activity is an estimate of a response of a target neural tissue to being stimulated by the neuroprosthetic device based on the stimulation parameters. This method allows higher resolution stimulation and allows electrode arrays with higher electrode density to be usefully employed.

<CIT> relates to a computer implemented system and a method which generates a patient-specific model of patient response to stimulation on a neural element basis, receives user-input of target neuromodulation sites, and, based on the patient-specific model, determines which stimulation paradigm and settings, including stimulation sites, would result in the target neuromodulation, where the stimulation sites are not necessarily the same as the resulting neuromodulation sites. The system outputs a visual representation of the stimulation sites that would result in the target neuromodulation. The system monitors a system state and/or patient state and dynamically changes which stimulation program to implement based on the state.

<CIT> relates to a method of providing therapy to a patient which comprises (a) receiving input from a user, (b) selecting a first electrode configuration in response to receiving the user input, (c) predicting a neural response induced by electrical energy theoretically conveyed by the first electrode configuration at a specified amplitude, (d) deriving a metric value from the predicted neural response, (e) comparing the metric value to a reference threshold value, (f) adjusting the specified amplitude of the electrical energy if the metric value is not in a specified range relative to the reference threshold value, (g) repeating steps (c) to (f) using the adjusted amplitude as the specified amplitude until the metric value is in the specific range relative to the reference threshold value, and (h) instructing a neurostimulation device to deliver the electrical energy at the adjusted amplitude via the first electrode configuration to stimulate the patient.

This Summary is an overview of some of the teachings of the present application and not intended to be an exclusive or exhaustive treatment of the present subject matter. Further details about the present subject matter are found in the detailed description and appended claims. Other aspects of the disclosure will be apparent to persons skilled in the art upon reading and understanding the following detailed description and viewing the drawings that form a part thereof, each of which are not to be taken in a limiting sense. The scope of the present disclosure is defined by the appended claims.

The drawings illustrate generally, by way of example, various embodiments discussed in the present document. The drawings are for illustrative purposes only and may not be to scale.

In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that the embodiments may be combined, or that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present invention. References to "an", "one", or "various" embodiments in this disclosure are not necessarily to the same embodiment, and such references contemplate more than one embodiment. The following detailed description provides examples, and the scope of the present invention is defined by the appended claims.

This document discusses a method and system for programming neurostimulation patterns. Advancements in neuroscience and neurostimulation research have led to a demand for using complex and/or individually optimized patterns of neurostimulation energy for various types of therapies. The capability of a neurostimulation system in treating various types of disorders will be limited by the programmability of such patterns of neurostimulation energy. In various embodiments, the present system allows for custom definition of a pattern of neurostimulation energy, which includes custom definition of waveforms being the building blocks of the pattern. In various embodiments, the present system may include a user interface that makes it possible for the user to perform the custom definition of potentially very complex patterns of neurostimulation pulses by creating and editing graphical representations of relatively simple individual building blocks for each of the patterns. In various embodiments, the individually definable waveforms may include, for example, pulses, bursts of pulses, trains of bursts, and sequences of pulses, bursts, and trains. In various embodiments, the present system may provide for patterns of neurostimulation energy not limited to waveforms predefined at the time of manufacturing, thereby accommodating need for customization of neurostimulation energy patterns as well as need for new types of neurostimulation energy patterns that may, for example, result from future research in neurostimulation. This may also facilitate design of a general-purpose neurostimulation device that can be configured by a user for delivering specific types of neurostimulation therapies by programming the device using the user interface.

In various embodiments, the present system (referred to as "the spatio-temporal system) includes a neurostimulator programming device with a user interface that enables users to understand, manage, and program stimulation and create patterns of stimuli specified by a complex combination of spatial and temporal parameters. Users of the programming device can have different levels of knowledge and expertise with respect to different aspects of programming a neurostimulator, as well as different needs and constraints. Examples include: a physician in an operation room may have very limited time for programming a neurostimulator for a patient under surgery; an academic researcher may have limited understanding of electrical engineering aspects of the stimulation; some users want to know what the stimuli look like; and some users may have limited understanding of anatomy, neuromodulation, and how electrical stimulation actually works. Therefore, the user interface provides access to different levels of access to various aspects of neurostimulation programming to reduce distraction, ensure accuracy and patient safety, and increase efficiency during programming of a neurostimulator. In one embodiment, multiple user interfaces, or multiple versions of a user interface, are configured for different stages of neurostimulation programming. For example, a user interface may be configured for composing waveforms, such as a spatio-temporal pattern of neurostimulation and its building blocks, as discussed in this document. Another user interface may be configured for sharing the composed waveforms with other users. Still another user interface may be configured for programming a stimulator for each individual patient. Yet another user interface may be configured for use by the user and/or the patient to adjust the programming as needed when one or more neurostimulation therapies are delivered to the patient. User interface(s) may be configured to provide any combination of two or more of these functions.

In various embodiments, the user interface allows for neurostimulation programming starting with templates/presets to enable valuable time savings in defining stimulation waveforms. In various embodiments, the user interface provides for complete editorial control as well as simplified, guided, and template-based editorial options. In various embodiments, the user interface provides the user with interpretation of editorial features and guide rails.

In various embodiments, the present system may be implemented using a combination of hardware and software designed to provide users such as researchers, physicians or other caregivers, or neurostimulation device makers with ability to create custom waveforms and patterns in an effort to increase therapeutic efficacy, increase patient satisfaction for neurostimulation therapies, reduce side effects, and/or increase device longevity. The present system may be applied in any neurostimulation (neuromodulation) therapies, including but not being limited to SCS, DBS, PNS, FES, and Vagus Nerve Stimulation (VNS) therapies.

The present system is highly flexible in its ability to generate non-uniform patterns of neurostimulation energy as well as shapes of waveform building blocks other than "standard" shapes (e.g.. , square and exponential pulses). It expands temporal programming capability of known neurostimulation programming systems. The present system has strong capabilities in both space (which neural elements are modulated) and time (what information is conveyed to those neural elements) that are potentially potent combination for achieving neurostimulation objectives when interacting with complex neural systems. The present system can "talk" to different groups of neural elements and/or their support elements and "tell" them the "right" information to obtain a desired clinical effect.

Neuronal models have been built (e.g., by various academic groups) to indicate that engaging multiple groups of neurons that are part of a network of interest can be exploited to achieve a desired output. These groups of neurons can often be separated by certain characteristics, such as fiber diameter, primary output neurotransmitter, and spatial/anatomical location. The present subject matter uses such neuronal models in the programming of neurostimulation including composition of patterns of neurostimulation. Use of neuronal models may, for example, allow a substantial part of customization of a pattern of neurostimulation for a patient to be performed without the presence of patient. Use of neuronal models may also, for example, allow researchers to evaluating various new patterns of neurostimulation and their building blocks using computer simulations.

The present subject matter provides methods for selecting electric field loci that correspond to the groups of neural elements of interest. One embodiment uses paresthesia-based methods to guide selection of field loci (see discussion under "F. Paresthesia-Guided Field Selection" below). One embodiment uses anatomical-based methods (see discussion under "G. Anatomy-Guided Field Selection" below). One embodiment uses a filter with less spatial sensitivity (see discussion under "H. Spatio-Temporal Filtering to Reduce Spatial Sensitivity" below).

<FIG> illustrates an embodiment of a neurostimulation system <NUM>. System <NUM> includes electrodes <NUM>, a stimulation device <NUM>, and a programming device <NUM>. Electrodes <NUM> are configured to be placed on or near one or more neural targets in a patient. Stimulation device <NUM> is configured to be electrically connected to electrodes <NUM> and deliver neurostimulation energy, such as in the form of electrical pulses, to the one or more neural targets though electrodes <NUM>. The delivery of the neurostimulation is controlled by using a plurality of stimulation parameters, such as stimulation parameters specifying a pattern of the electrical pulses and a selection of electrodes through which each of the electrical pulses is delivered, including relative timing between pulses delivered through different sets of electrodes. In various embodiments, at least some parameters of the plurality of stimulation parameters are programmable by a user, such as a physician or other caregiver who treats the patient using system <NUM>. Programming device <NUM> provides the user with accessibility to the userprogrammable parameters. In various embodiments, programming device <NUM> is configured to be communicatively coupled to stimulation device via a wired or wireless link.

In this document, a "user" includes a physician or other clinician or caregiver who treats the patient using system <NUM> as well as researchers or other professional developing such treatments; a "patient" includes a person who receives or is intended to receive neurostimulation delivered using system <NUM>. In various embodiments, the patient nay be allowed to adjust his or her treatment using system <NUM> to certain extent, such as by adjusting certain therapy parameters and entering feedback and clinical effects information. While neurostimulation energy delivered in the form of electrical pulses is discussed in various portions of this document as a specific example of stimuli of the neurostimulation, various embodiments may use any type of neurostimulation energy delivered in any type of stimuli that are capable of modulating characteristics and/or activities in neural or other target tissue in a patient. When electrical energy is used for neurostimulation, stimuli may include pulses with various shapes and phases, as well as continuous signals such as signals with sinusoidal waveforms.

In various embodiments, programming device <NUM> includes a user interface that allows the user to set and/or adjust values of the userprogrammable parameters by creating and/or editing graphical representations of various waveforms. Such waveforms may include, for example, the waveform of a pattern of neurostimulation pulses to be delivered to the patient as well as waveform building blocks that can be used in the pattern of neurostimulation pulses. Examples of such waveform building blocks include pulses, bursts each including a group of the pulses, trains each including a group of the bursts, and sequences each including a group of the pulses, bursts, and trains, as further discussed below. In various embodiments, programming device <NUM> allows the user to edit existing waveform building blocks, create new waveform building blocks, import waveform building blocks created by other users, and/or export waveform building blocks to be used by other users. The user may also be allowed to define an electrode selection specific to each individually defined waveform. In the illustrated embodiment, the user interface includes a user interface <NUM>. In various embodiments, user interface <NUM> may include a GUI or any other type of user interface accommodating various functions including waveform composition as discussed in this document.

<FIG> illustrates an embodiment of a stimulation device <NUM> and a lead system <NUM>, such as may be implemented in neurostimulation system <NUM>. Stimulation device <NUM> represents an embodiment of stimulation device <NUM> and includes a stimulation output circuit <NUM> and a stimulation control circuit <NUM>. Stimulation output circuit <NUM> produces and delivers neurostimulation pulses. Stimulation control circuit <NUM> controls the delivery of the neurostimulation pulses using the plurality of stimulation parameters, which specifies a pattern of the neurostimulation pulses. Lead system <NUM> includes one or more leads each configured to be electrically connected to stimulation device <NUM> and a plurality of electrodes <NUM> distributed in the one or more leads. The plurality of electrodes <NUM> includes electrode <NUM>-<NUM>, electrode <NUM>-<NUM>,. electrode <NUM>-N, each a single electrically conductive contact providing for an electrical interface between stimulation output circuit <NUM> and tissue of the patient, where N ≥ <NUM>. The neurostimulation pulses are each delivered from stimulation output circuit <NUM> through a set of electrodes selected from electrodes <NUM>. In various embodiments, the neurostimulation pulses may include one or more individually defined pulses, and the set of electrodes may be individually definable by the user for each of the individually defined pulses.

In various embodiments, the number of leads and the number of electrodes on each lead depend on, for example, the distribution of target(s) of the neurostimulation and the need for controlling the distribution of electric field at each target. In one embodiment, lead system <NUM> includes <NUM> leads with <NUM> electrodes incorporated onto each lead. In various embodiments, stimulation output circuit <NUM> may support X total electrodes (or contacts, such as electrodes selected from electrodes <NUM>) in a system such as system <NUM>, of which Y electrodes may be activated for a therapy session, of which Z electrodes (Z < Y) may be activated simultaneously during the therapy session. The system may have W electrical sources for delivering the neurostimulation pulses, where W is greater than Y but may be smaller than X. For example, stimulation output circuit <NUM> may have W timing channels, where W is greater than Y but may be smaller than X.

<FIG> illustrates an embodiment of a programming device <NUM>, such as may be implemented in neurostimulation system <NUM>. Programming device <NUM> represents an embodiment of programming device <NUM> and includes a storage device <NUM>, a programming control circuit <NUM>, and a user interface <NUM>. Storage device <NUM> stores a plurality of waveform building blocks. Programming control circuit <NUM> generates the plurality of stimulation parameters that controls the delivery of the neurostimulation pulses according to the pattern of the neurostimulation pulses. User interface <NUM> represents an embodiment of GUI <NUM> and allows the user to define the pattern of the neurostimulation pulses using one or more waveform building blocks selected from the plurality of waveform building blocks.

In various embodiments, user interface <NUM> includes a neurostimulation pattern generator <NUM> that allows the user to manage the waveform building blocks, including importing waveform building blocks to be added to the waveform building blocks stored in storage device <NUM>, exporting waveform building blocks selected from the waveform building blocks stored in storage device <NUM>, and editing each of the waveform building blocks. In various embodiments, user interface <NUM> includes a GUI that allows for graphical editing of each of the waveform building blocks. In various embodiments, neurostimulation pattern generator <NUM> allows the user to create the pattern of neurostimulation pulses to be delivering to the patient using stimulation device <NUM> using waveform building blocks such as pulses, bursts each including a group of the pulses, trains each including a group of the bursts, and/or sequences each including a group of the pulses, bursts, and trains. In various embodiments, neurostimulation pattern generator <NUM> allows the user to create each waveform building block using one or more waveform building blocks stored in storage device <NUM> as templates. In various embodiments, neurostimulation pattern generator <NUM> allows each newly created waveform building block to be saved as additional waveform building block stored in storage device <NUM>.

In one embodiment, user interface <NUM> includes a touchscreen. In various embodiments, user interface <NUM> includes any type of presentation device, such as interactive or non-interactive screens, and any type of user input devices that allow the user to edit the waveforms or building blocks and schedule the programs, such as touchscreen, keyboard, keypad, touchpad, trackball, joystick, mouse, virtual reality (VR) control, multi-touch, voice control, inertia/accelerometer-based control, and vision-based control. In various embodiments, circuits of neurostimulation <NUM>, including its various embodiments discussed in this document, may be implemented using a combination of hardware and software. For example, the circuit of user interface <NUM>, stimulation control circuit <NUM>, and programming control circuit <NUM>, including their various embodiments discussed in this document, may be implemented using an application-specific circuit constructed to perform one or more particular functions or a general-purpose circuit programmed to perform such function(s). Such a general-purpose circuit includes, but is not limited to, a microprocessor or a portion thereof, a microcontroller or portions thereof, and a programmable logic circuit or a portion thereof.

<FIG> illustrates an implantable neurostimulation system <NUM> and portions of an environment in which system <NUM> may be used. System <NUM> includes an implantable system <NUM>, an external system <NUM>, and a telemetry link <NUM> providing for wireless communication between implantable system <NUM> and external system <NUM>. Implantable system <NUM> is illustrated in <FIG> as being implanted in the patient's body <NUM>.

Implantable system <NUM> includes an implantable stimulator (also referred to as an implantable pulse generator, or IPG) <NUM>, a lead system <NUM>, and electrodes <NUM>, which represent an embodiment of stimulation device <NUM>, lead system <NUM>, and electrodes <NUM>, respectively. External system <NUM> represents an embodiment of programming device <NUM>. In various embodiments, external system <NUM> includes one or more external (nonimplantable) devices each allowing the user and/or the patient to communicate with implantable system <NUM>. In some embodiments, external <NUM> includes a programming device intended for the user to initialize and adjust settings for implantable stimulator <NUM> and a remote control device intended for use by the patient. For example, the remote control device may allow the patient to turn implantable stimulator <NUM> on and off and/or adjust certain patientprogrammable parameters of the plurality of stimulation parameters.

The sizes and shapes of the elements of implantable system <NUM> and their location in body <NUM> are illustrated by way of example and not by way of restriction. An implantable system is discussed as a specific application of the programming according to various embodiments of the present subject matter. In various embodiments, the present subject matter may be applied in programming any type of stimulation device that uses electrical pulses as stimuli, regarding less of stimulation targets in the patient's body and whether the stimulation device is implantable.

<FIG> illustrates an embodiment of implantable stimulator <NUM> and one or more leads <NUM> of an implantable neurostimulation system, such as implantable system <NUM>. Implantable stimulator <NUM> may include a sensing circuit <NUM> that is optional and required only when the stimulator has a sensing capability, stimulation output circuit <NUM>, a stimulation control circuit <NUM>, an implant storage device <NUM>, an implant telemetry circuit <NUM>, and a power source <NUM>. Sensing circuit <NUM>, when included and needed, senses one or more physiological signals for purposes of patient monitoring and/or control of the neurostimulation. Examples of the one or more physiological signals includes neural and other signals each indicative of a condition of the patient that is treated by the neurostimulation and/or a response of the patient to the delivery of the neurostimulation. In various embodiments, additional signals may be generated by processing the sensed one or more physiological signals, such as by correlation, subtraction, and/or being used as inputs to conditional, rules based state machines, for purposes of patient monitoring and/or control of the neurostimulation. Stimulation output circuit <NUM> is electrically connected to electrodes <NUM> through lead <NUM>, and delivers each of the neurostimulation pulses through a set of electrodes selected from electrodes <NUM>. Stimulation control circuit <NUM> represents an embodiment of stimulation control circuit <NUM> and controls the delivery of the neurostimulation pulses using the plurality of stimulation parameters specifying the pattern of the neurostimulation pulses. In one embodiment, stimulation control circuit <NUM> controls the delivery of the neurostimulation pulses using the one or more sensed physiological signals. Implant telemetry circuit <NUM> provides implantable stimulator <NUM> with wireless communication with another device such as a device of external system <NUM>, including receiving values of the plurality of stimulation parameters from external system <NUM>. Implant storage device <NUM> stores values of the plurality of stimulation parameters. Power source <NUM> provides implantable stimulator <NUM> with energy for its operation. In one embodiment, power source <NUM> includes a battery. In one embodiment, power source <NUM> includes a rechargeable battery and a battery charging circuit for charging the rechargeable battery. Implant telemetry circuit <NUM> may also function as a power receiver that receives power transmitted from external system <NUM> through an inductive couple or another mechanism.

In various embodiments, sensing circuit <NUM> (if included), stimulation output circuit <NUM>, stimulation control circuit <NUM>, implant telemetry circuit <NUM>, implant storage device <NUM>, and power source <NUM> are encapsulated in a hermetically sealed implantable housing. In various embodiments, lead(s) <NUM> are implanted such that electrodes <NUM> are placed on and/or around one or more targets to which the neurostimulation pulses are to be delivered, while implantable stimulator <NUM> is subcutaneously implanted and connected to lead(s) <NUM> at the time of implantation.

<FIG> illustrates an embodiment of an external programming device <NUM> of an implantable neurostimulation system, such as external system <NUM>. External programming device <NUM> represents an embodiment of programming device <NUM>, and includes an external telemetry circuit <NUM>, an external storage device <NUM>, a programming control circuit <NUM>, and a user interface <NUM>.

External telemetry circuit <NUM> provides external programming device <NUM> with wireless communication with another device such as implantable stimulator <NUM> via telemetry link <NUM>, including transmitting the plurality of stimulation parameters to implantable stimulator <NUM>. In one embodiment, external telemetry circuit <NUM> also transmits power to implantable stimulator <NUM> through the inductive couple.

External storage device <NUM> stores a plurality of waveform building blocks each selectable for use as a portion of the pattern of the neurostimulation pulses. In various embodiments, each waveform building block of the plurality of waveform building blocks includes one or more pulses of the neurostimulation pulses, and may include one or more other waveform building blocks of the plurality of waveform building blocks. Examples of such waveforms include pulses, bursts each including a group of the pulses, trains each including a group of the bursts, and sequences each including a group of the pulses, bursts, and trains. External storage device <NUM> also stores a plurality of stimulation fields. Each waveform building block of the plurality of waveform building blocks is associated with one or more fields of the plurality of stimulation fields. Each field of the plurality of stimulation fields is defined by one or more electrodes of the plurality of electrodes through which a pulse of the neurostimulation pulses is delivered and a current distribution of the pulse over the one or more electrodes.

Programming control circuit <NUM> represents an embodiment of programming control circuit <NUM> and generates the plurality of stimulation parameters, which is to be transmitted to implantable stimulator <NUM>, according to the pattern of the neurostimulation pulses. The pattern is defined using one or more waveform building blocks selected from the plurality of waveform building blocks stored in external storage device <NUM>. In various embodiment, programming control circuit <NUM> checks values of the plurality of stimulation parameters against safety rules to limit these values within constraints of the safety rules. In one embodiment, the safety rules are heuristic rules. In various embodiments, it may be a requirement that the plurality of stimulation parameters is experienced by the patient or subject before the programming is complete (e.g., for use during a therapy session). This may include, for example, that the patient or subject experiences the whole set of the parameters, a representative subset of the parameters, or a representative set of the parameters defined via processing, to ensure suitability and tolerance of the expected stimulation that will be experienced by the patient during a therapy session.

User interface <NUM> represents an embodiment of user interface <NUM> and allows the user to define the pattern of neurostimulation pulses and perform various other monitoring and programming tasks. In one embodiment, user interface <NUM> includes a GUI. User interface <NUM> includes a display <NUM>, a user input device <NUM>, and an interface control circuit <NUM>. Display <NUM> may include any type of visual display such as interactive or non-interactive screens, and user input device <NUM> may include any type of user input devices that supports the various functions discussed in this document, such as touchscreen, keyboard, keypad, touchpad, trackball, joystick, and mouse. In one embodiment, user interface <NUM> includes a GUI that has an interactive screen for displaying a graphical representation of a waveform building block and allows the user to adjust the waveform building block by graphically editing the waveform building block. Actions of the graphical editing may be scripted, or otherwise automated, or performed programmatically. In one embodiment, "graphically editing" may include keyboard actions, such as actions sometimes referred to as "keyboard shortcuts". User interface <NUM> may also allow the user to perform any other functions discussed in this document where graphical editing is suitable as may be appreciated by those skilled in the art.

Interface control circuit <NUM> controls the operation of user interface <NUM> including responding to various inputs received by user input device <NUM> and defining the one or more stimulation waveforms. Interface control circuit <NUM> includes neurostimulation pattern generator <NUM>.

In various embodiments, external programming device <NUM> has operation modes including a composition mode and a real-time programming mode. In other embodiments, such operation modes may exist as separate software suites, interfaces to remote applications (such as "web-apps"), or be located on one or more physical devices other than external programming device <NUM>. Under the composition mode (also known as the pulse pattern composition mode), User interface <NUM> is activated, while programming control circuit <NUM> is inactivated. Programming control circuit <NUM> does not dynamically updates values of the plurality of stimulation parameters in response to any change in the one or more stimulation waveforms. Under the real-time programming mode, both user interface <NUM> and programming control circuit <NUM> are activated. Programming control circuit <NUM> dynamically updates values of the plurality of stimulation parameters in response to changes in the set of one or more stimulation waveforms, and transmits the plurality of stimulation parameters with the updated values to implantable stimulator <NUM>. In various embodiments, the transmission of the plurality of stimulation parameters to implantable stimulator <NUM> may be gated by a set of rules. Implantable stimulator <NUM> may be instructed to operate one set of parameters that is a processed version of the dynamically updated set of parameters until programming is closed. For example, a burst A may be delivered followed by a pause B and then followed by another burst C, where pause B is long. Implantable stimulator <NUM> may replace the long pause B with a short pause D when the programmer and/or system identifies that long pause B does not affect the patient's experience of either burst A or C.

<FIG> illustrates an embodiment of an external programming device <NUM>, which represents an embodiment of external programming device <NUM>. External programming device <NUM> includes external telemetry circuit <NUM>, an external storage device <NUM>, a programming control circuit <NUM>, and a user interface <NUM>. In various embodiments, external programming device <NUM> may be implemented as a single device or multiple devices communicatively coupled to each other.

External storage device <NUM> represents an embodiment of external storage device <NUM> and may store a pattern library (database) <NUM> and one or more neuronal network models <NUM>. Pattern library <NUM> may include a plurality of fields (spatial patterns) and a plurality of waveforms (temporal patterns). Each field of the plurality of fields specifies a spatial distribution of the neurostimulation energy across a plurality of electrodes such as electrodes <NUM>. In various embodiments, the spatial distribution can be specified by an amplitude of the energy for each electrode or a fraction of the total energy for each electrode. When the spatial distribution is specified by a percentage of the total energy for each electrode, for example, <NUM>% assigned to an electrode means that electrode is not actively used, and <NUM>% assigned to an electrode means that electrode is the only electrode actively used, such as during a particular phase of the neurostimulation. Each waveform of the plurality of waveforms specifies a waveform of a sequence of the neuromodulation pulses. Certain parameters, such as amplitude of neurostimulation pulses (e.g., in mA), may be defined in either the fields or the waveforms. One or more neuronal network models <NUM> are each a computational model configured to allow for evaluating effects of one or more fields selected from the plurality of fields in combination with one or more waveforms selected from the plurality of waveforms in treating one or more indications for neurostimulation. In various embodiments, the effects include one or more therapeutic effects in treating one or more indications for neuromodulation. In various embodiments, the effects include one or more therapeutic effects in treating one or more indications for neuromodulation and one or more side effects associated with the neuromodulation. In various embodiments, external storage device <NUM> may include one or more storage devices. Programming control circuit <NUM> represents an embodiment of programming control circuit <NUM> and generates a plurality of stimulation parameters controlling delivery of neurostimulation pulses from a neurostimulator, such as implantable stimulator <NUM>, according to a spatio-temporal pattern of neurostimulation. The spatio-temporal pattern of neurostimulation specifies a sequence of neurostimulation pulses grouped as one or more spatio-temporal units. The one or more spatio-temporal units each include one or more fields selected from the plurality of fields in combination with one or more waveforms selected from the plurality of waveforms.

User interface <NUM> represents an embodiment of user interface <NUM> and includes display <NUM>, user input device <NUM>, and an interface control circuit <NUM>. Interface control circuit <NUM> represents an embodiment of interface control circuit <NUM> and includes a neurostimulation pattern generator <NUM> that generates the spatio-temporal pattern of neurostimulation. Neurostimulation pattern generator <NUM> represents an embodiment of neurostimulation pattern generator <NUM> and includes a pattern editor <NUM> and a pattern optimizer <NUM>. Pattern editor <NUM> allows the user to create and adjust one or more of the plurality of fields, the plurality of waveforms, the one or more spatio-temporal units, or the spatio-temporal pattern of neurostimulation. Examples of pattern editor <NUM> are discussed in <CIT>; <CIT>; <CIT>; <CIT>; <CIT>; and <CIT>, all assigned to Boston Scientific Neuromodulation Corporation. Pattern optimizer <NUM> approximately optimizes one or more of the plurality of fields, the plurality of waveforms, the one or more spatio-temporal units, or the spatio-temporal pattern of neurostimulation using at least one neuronal network model of one or more neuronal models <NUM>.

In various embodiments in which external programming device <NUM> is implemented as multiple devices communicatively coupled to each other, one or more of the multiple devices may each include a user interface similar to user interface <NUM>. In various embodiments, external programming device <NUM> includes an additional pattern optimizer that can be communicatively coupled to pattern optimizer <NUM>. In one embodiment, the additional pattern optimizer receives the one or more of the plurality of fields, the plurality of waveforms, the one or more spatio-temporal units, or the spatio-temporal pattern of neurostimulation that are approximately optimized by pattern optimizer and operates in an offline fashion to translate them to sets of stimulation parameters which may be programmed on a stimulating device, such as implantable stimulator <NUM>, or additionally considers additional constraints, e.g., battery longevity. In another embodiment, the additional pattern optimizer operates in an online fashion to alter the stimulation parameters to suit the device, or to be suitable given additional constraints.

In various embodiments, external programming device <NUM> is implemented as multiple devices constituting a front end and a back end. In one embodiment, the front end and the back end are similar, and involve optionally first the creation and storage of sets of fields and patterns, and second the combination of fields and patterns for use in programming the device, or otherwise first the programming of fields and patterns directly onto the device, where in some embodiments filers/optimizers are acting online to limit or modulate programming, or suggest alterations in programming which may optionally be selected by the programmer. In one embodiment, the front end is on one device (e.g., a Clinician's Programmer (CP, a programming device configured for use by the user such as a clinician attending the patient in whom implantable system <NUM> is placed), a computer, or an application on a smartphone) and the back end is elsewhere (e.g., "the cloud", the user's computer/server, or the manufacturer's computer/server).

In one embodiment, the first act of creating fields and patterns can be done without a patient present, and optionally on a device other than a CP. For example, the fields and patterns may be created based on information collected and/or derived from a patient population and/or each individual patient. Such information may be used to develop and/or customize computational models representing portions of a patient's nervous system for evaluating responses to neurostimulation, such as one or more neuronal network models <NUM>.

Table <NUM> shows an example of fields (spatial patterns) and waveforms (temporal patterns) stored in a library such as pattern library <NUM>. Table <NUM> shows an example of fields and waveforms used to generate a spatio-temporal pattern of neurostimulation.

In one embodiment, fields and patterns are combined in a programming device (also referred to as a "player"), such as external programming device <NUM>, in a manner in which the patient must experience some complete set or representative set of stimulation before settings can be saved to stimulator. In one embodiment, this representative set of stimulation may not be identical to the full programmed settings, but may include highlights that are automatically chosen, optionally with input from the user. For example, in the case where two fields (F's) and patterns (waveforms, P's) are chosen where each pattern has a long run-time and they are run serially, the experiential program may be the first N seconds of field <NUM> (F1) pattern <NUM> (P1), following by the first N seconds of field <NUM> (F2) pattern <NUM> (P2). In one embodiment, the system may automatically generate a set of fields and patterns which are not identical to any whole fields and patterns or portions of fields and patterns created by the user, and this trial setting or set of settings can be used to determine that the proposed settings may be programmed.

In one embodiment, fields and patterns are entered into the player, and additional parameters are automatically used to adjust the stimulation. As an example, F1P1 and F2P2 are entered, but a desirable outcome involves the random alternation between F1P1 and F2P2, such that the player automatically sets programming settings related to, for example, the relative durations of F1P1 vs. F2P2.

In one embodiment, fields and patterns are entered into the player, and additional parameters are entered by the user to control the playing of the composition (i.e., controlling the delivery of neurostimulation according to the pattern of neurostimulation composed with the fields and patterns). In various embodiments, fields and patterns are entered into the player, and additional parameters are automatically generated by the player to control the playing of the composition. In various embodiments, the user can set general settings in the player, and such general settings are applied to all the field and pattern sets, for example upon being programmed in the patient for the first time (e.g., an initial stim amplitude ramp of <NUM> seconds).

In one embodiment, patterns can be programmed to play simultaneously (in combination) or serially (one at a time). For example, P1 may be a <NUM> signal of square pulse shape of pulse width <NUM>, and P2 may be an <NUM> signal with triangular pulse shape of pulse width <NUM>. The combination of P1 and P2 may be written as P1+P2 and result in both patterns playing simultaneously with some field or combination of fields, where P1 and P2 have a constant phase alignment. Alternatively, P1 and P2 may each have an associated duration, and play serially.

In one embodiment, patterns which can play simultaneously with all patterns without modification to any of the patterns are allowed, and patterns which would require e.g., arbitration are not allowed. In one embodiment, rows in Table <NUM> are played serially. In one embodiment, fields and patterns can be created as separate units, and combined for "playback". "Tracks" (rows in Table <NUM>) can be set to repeat (e.g., continuously or for a specified number of repetitions), and sub-units of the track may be grouped for playing.

<FIG> illustrates an embodiment of a multi-nodal neuronal network model <NUM>. Computational network models exist for various neuromodulation indications. These extant models, or new models, often represent simplified subunits of a functional whole. Each of these units may be replicated in order to form a multi-nodal model. This multi-nodal model may then be used to drive hypothesis generation, or be used in an "on-line" fashion, in some embodiments with live feedback and alteration of the model or its components, in order to improve programming of neurostimulation devices. In various embodiments, the one or more neuronal network models comprise at least one multi-nodal model including a plurality of nodes each representing a functional subunit of a nervous system. Such functional subunits may correspond to an anatomical subunit in the modeled portion of a nervous system or an abstraction that account for a function of the modeled portion of the nervous system. By way of example and not by way of limitation, neuronal network model <NUM> as illustrated in <FIG> includes a center node and six surround nodes <NUM>-<NUM>. In various embodiments, neuronal network model <NUM> can include any number of interconnected nodes. Each of these nodes may represent a complete model or repetitions of a subset of the model. In various embodiments, neuronal network model <NUM>, or any portion of neuronal network model <NUM>, can be based on an existing model or an existing model augmented by one or more new components for a particular application (e.g., neurostimulation for a particular condition). The interconnections between these nodes may yield an overlapping repeating pattern of "receptive fields" and "surround fields" for each node in neuronal network model <NUM>. This quality of the model may yield sensitivity to particular fields, patterns, or combinations of either or both. The connections between these nodes are represented as a connectivity matrix in <FIG>. The strengths of various connections between nodes or elements of nodes may similarly be controlled, as well as the temporal delay between nodes or elements of nodes. In one embodiment, the importance given to any particular node of neuronal network model <NUM> during some evaluation may also be scaled by a weighting map. Node or elements of nodes may be differently weighted when calculating some output metric.

Multiple multi-nodal models such as neuronal network model <NUM> may be employed when evaluating some output metric such as, by way of example and not by way of limitation, a first multi-nodal model representing neural elements, and a second multi-nodal model representing supporting glial structures. These models may be functionally separated, output metrics from each may be calculated, and post-processing may take into account the results from each model when computing e.g., measures of success. Or, the models may functionally related, such that changes in one model propagate changes in the second. More than two models may be interconnected.

<FIG> illustrates an embodiment of a neuronal network model (hereinafter "Zhang Model"), which is discussed in <NPL>. <FIG> illustrates an embodiment of the Zhang model that is a computational network model of the dorsal horn circuit. The model has a network architecture that is based on schemes of dorsal horn nociceptive processing, with biophysically based compartmental models of dorsal horn neurons connected via representations of excitatory and inhibitory synapses. As shown in <FIG>. The model includes local neural elements (Aβ, Aδ, and C fibers), surrounding neural elements (different Aβ fibers), inhibitory (IN) interneurons, an excitatory (EX) interneuron, and a wide-dynamic range (WDR) projection neuron in the dorsal horn. Parameters of the model can be determined and tuned using experimental data. Representation of SCS can be applied to the dorsal column input. In various embodiments, neuronal network model <NUM> can include multiple interconnected nodes, such as mutually inhibitory nodes. Each node can include a Zhang model such as the model illustrated in <FIG>.

Alternately, each node consists of a model in which the neurons of the Zhang model are replaced by simpler models of neurons (e.g. the neurons are replaced by perfect or generalized integrate and fire neurons and the synapses are replaced by simple synaptic models, for example as discussed in <NPL>). The model parameters are fit so that the WDR neuron exhibits a U shaped turning curve: firing rate is lowest for a certain range of frequencies of inputs, as illustrated in <FIG>. In various embodiments, the firing rate may represent the firing rate of a single neuron, an average firing rate for a plurality of neurons, a cumulative firing rate for a plurality of neurons, or a computed firing rate resulting from a mathematical or statistical operation. This alternative model is a substantial simplification of the Zhang model but may capture essential features of the Zhang model. A further simplification may involve considering each node as a generalized integrate and fire neuron with reciprocal inhibition to neighboring nodes, and the model parameters being fit to experimental data from WDR neurons as discussed in <NPL>).

In various embodiments in which a multi-nodal neural network model is used, delivery of neurostimulation can be represented as an input delivered to a collection of nodes in a spatio-temporally specific manner. The output of the multi-nodal neural network model can indicate the effects of the delivery of neurostimulation, including therapeutic and/or side effect(s).

The inhibition of adjacent nodes can be tuned by measuring the perception threshold due to activation of one node and the percentage change in this threshold caused by activation of an adjacent node. However, it is also possible that the results found is robust to a wide range of choices of mutual inhibition, and tuning the mutual inhibition would be unnecessary.

In various embodiment, to optimize a spatio-temporal pattern of neurostimulation, a neuronal network model can be run with a wide range of spatio-temporal patterns and pulse shapes with the goal of minimizing the WDR output for specific groups of adjacent nodes over a wide dynamic range. The spatio-temporal pattern of neurostimulation that provide for an approximately minimum WDR output can be used to generate an initial set of the plurality of stimulation parameters controlling delivery of neurostimulation pulses from a stimulation device such as implantable stimulator <NUM>.

In one embodiment, each node of a multi-nodal neural network model represents a paresthesia locus (or other loci, as discussed under "Paresthesia-Guided Field Selection" below). In this case, the model would consist of as many nodes as are necessary to capture the paresthesia loci and some additional nodes to capture the inhibitory effects of regions that may not directly be related to pain.

In various embodiments, neurostimulation can be delivered to different fields, with different waveforms, and/or at different times for cumulative effects. For example, it may be desirable to enforce some stimulation effect while keeping certain stimulation thresholds (e.g., subparesthesia threshold) at each stimulation location.

In one embodiment, many repeated deliveries of neurostimulation along selected neural elements (e.g., a bundle of axon fibers) may imply repeated stimulations along the long axis of a lead in order to have many chances to result in an effect of the neurostimulation (e.g., an effect that depends on absolute timing to a signal which cannot be synced to). In one embodiment, a neuronal network model such as neuronal network model <NUM> is used to determine how repetitions of the neuro stimulation can be configured, for example, in space (e.g., not repeated within <NUM>, or <NUM> times the width of the volume of tissue activated) or in time (e.g., not repeated within <NUM>, or not within <NUM> synaptic delays and <NUM> of conduction delay).

In various embodiments, using a neuronal network model such as neuronal network model <NUM>, a first set and a second set of programming parameters can be designed, where the application of neither set alone has the desired effect, but the application of both sets yields the desired effect. This concept can be extended to more than two sets of programming parameters which have a synergistic relationship. For example, the application of one set may result in a desired effect but with undesired side effects, and the application of the other set may abate the side effects. This occurs in a manner that can be more complex than, for example, simply using flanking anodes to shrink the activating field of some cathodes.

<FIG> illustrates an embodiment of neurostimulation for cumulative effects. In <FIG>, stimulation times tN represent phase alignments (relative rather than absolute time). Cumulative stimulation regions may be close to each other or far apart from each other in space. These regions may target the same or similar neural elements at multiple locations, or may target related neural elements at various positions within their network. Stimulation regions may be tightly or more separated in space. In <FIG>, the locations of tN(FN, PN) illustrate approximate field locations. In various embodiments, a neuronal network model such as neuronal network model <NUM> can be used to analyze the cumulative effects of neurostimulation applied according to tN(FN, PN). In various embodiments, a neuronal network model such as neuronal network model <NUM> can be used to determine an approximately optimal set of tN(FN, PN) for achieving specified desirable cumulative effects.

In various embodiments, optimization of stimulation configurations can include searching for stimulation configurations that are robust (meeting the objective to the greatest possible extent) under a range of changing conditions. Value and applicability of a stimulation configuration is greater for increasing number of conditions in which it performs well, even though under some of these conditions a different configuration may perform better. Such optimization of stimulation configurations is referred to as robust configuration for neurostimulation. In various embodiments, such robust configuration for neurostimulation can be performed using a neuronal network model such as neuronal network model <NUM>.

In various embodiments, the robust configuration for neurostimulation can be applied to design a stimulation field shape which is robust to small changes in absolute or relative position, for example, with respect to a target or reference structure of interest (e.g., midline, vertebral level, large vessels, numbered or physiologically identified root) in the patient's body. Examples of such small changes include electrode displacement after implantation in the patient, physiological or anatomical changes in the patient over time, and physiological or anatomical variances among patients. In such examples, the robust configuration for neurostimulation can reduce the need for adjustment of settings for each patient over time and/or reduce the extent of customization for each patient.

In various embodiments, the robust configuration for neurostimulation can be applied to design a stimulation pattern that is robust to changes in absolute or relative temporal alignment with one or more signals such as evoked compound action potential (ECAP), firing of a particular neuron, and natural or pathological signal peak frequency. The absolute or relative temporal alignment refers to the action being early or late from a desired time by a fixed amount, e.g., <NUM> minute or <NUM> second. Relative alignment refers to some characteristic of the desired timing.

In various embodiments, concepts of machine learning and decision-making can be employed, e.g., fuzzy optimization, multi-objective optimizations, or robust optimization may be employed in the robust configuration for neurostimulation.

In various embodiments, limits can be placed on the deviation allowable between maximum effect found and robust effect sought. For example, a robust configuration for neurostimulation results in a pattern or field, which has a metric of score 'X', this method would only consider patterns or fields with score X·α, where <NUM><α<<NUM>.

In various embodiments, analysis using a neuronal network model such as neuronal network model <NUM> may suggest that a particular combination of two stimulation fields is desirable, but the relative locations of these two fields may depend on an individual patient's anatomy and physiology. Under such circumstances, a first field and waveform combination may be optimized, and then the other field and waveform combinations can be optimized with respect to the first field and waveform while the first field and waveform combination is being applied to deliver neurostimulation. In various embodiments, the two fields can be specified by using a neuronal network model, such as neuronal network model <NUM>, to be applied in combination for achieving a specified effect.

<FIG> illustrates an embodiment of multi-step optimization. As illustrated in <FIG>, a first field (F1) and areas of effects of delivering neurostimulation through the first field (EFFECT <NUM>, EFFECT2) are illustrated, and a second field (F2) is illustrated as being moved. The areas EFFECT <NUM> and EFFECT <NUM> each illustrate a region within which the response to the neurostimulation delivered through the first field is within a certain range, regardless of the position of the second field. These areas may be referred to as "false color map" when the areas are each coded in color. In various embodiments, areas EFFECT <NUM> and EFFECT <NUM> may each depict the intensity of a variable in a <NUM>-dimensional plane. The first field may be placed according to one or more criteria, and then the second field may be placed with respect to the first field according to one or more criteria. In various embodiments, when the second field is optimized, the first field can be further optimized due to interaction with the second field. This can be repeated until the outcome is satisfactory.

In various embodiments, stimulation-induced sensations (such as paresthesia) can be used to guide spatial loci used for spatio-temporal methods. For example, sensation loci (such as paresthesia loci) can be identified and used as a starting point for identifying optimal fields for pain-control stimulation. In some cases, one or more locations of paresthesia created by neurostimulation correspond to regions of interest for applying the pain-control stimulation. Simulation with the Zhang Model (<FIG>) for dual-frequency neurostimulation showed that multiple groups of neurons excited at distinct frequencies can reduce average WDR output (pain surrogate). While paresthesia is discussed as a specific example of stimulation-induced sensation, the present subject matter as applied using paresthesia loci can also be applied more generally to sensation loci. Thus, in the following discussions about paresthesia-guided field selection, "paresthesia" can be replaced with stimulation-induced sensation or a particular type of stimulation-induced sensation, and "paresthesia loci" can also be replaced by "sensation loci", which include spatial loci of the stimulation-induced sensation or the particular type of stimulation-induced sensation. In other words, the paresthesia-guided field selection as discussed in this document can be applied as sensation-guided field selection with the sensation being any stimulation-induced sensation or one or more particular types of stimulation-induced sensation.

With closed loop optimization of patterns of neurostimulation, the present system can help select the stimulation fields to be used. Many aspects of the present system can be applied as improvements to coordinated reset types of stimulation, since coordinated reset uses multiple field locations (but with a very specific temporal method).

<FIG> illustrates an embodiment of identifying stimulation loci that generate paresthesia in a part of a body. <FIG> shows stimulation loci (<NUM>, <NUM>, <NUM>, X, and Y) associated with neurostimulation delivered through selected electrodes on two leads (LEAD <NUM> and LEAD <NUM>), and their corresponding paresthesia loci. Current-steering and neural targeting programs (such as Illumina3D™ by Boston Scientific Neuromodulation Corporation) are able to identify multiple loci that generate paresthesia in a part of the body. It is possible that these stimulation loci correspond to distinct groups of "local" axons (although, even though the patient feels the paresthesia in a similar location, it is likely that there is surround inhibition connectivity). Therefore, the current-steering and neural targeting programs can be used to find groups of "local" neural elements for which spatio-temporal methods can be employed using a dual or multiple stimulation frequencies. Often, it is possible to find more than <NUM> loci, and it is likely that more than two groups would be able to improve over two groups. Candidate temporal patterns include: (<NUM>) dual-frequency mode stimulation (delivering neurostimulation with two different stimulation frequencies simultaneously to different fiber populations, e.g., <NPL>), (<NUM>) patterns derived from a model for multiple groups of local and/or surround neural elements using computational optimization, (<NUM>) patterns derived from a model for multiple groups of local and/or surround neural elements using pre-clinical model optimization, (<NUM>) patterns derived from a model for multiple groups of local and/or surround neural elements using in-vivo optimization via e-diary feedback by patient or objective quantitative measures (e.g., activity, heart rate variability, etc.), and (<NUM>) stimulation patterns similar to coordinated reset type of stimulation (desynchronized neurostimulation based on temporally coordinated phase resets of sub-populations of a synchronized neuronal ensemble, e.g., <NPL>)).

It is possible to identify regions of stimulation that are neighboring with no or some (but not complete) overlap (e.g., X and Y in <FIG>). Inclusion of these "surround" regions in the spatio-temporal method can be used. These regions may not be as sensitive as a pain region, but may be stimulated to participate in the surround inhibition effect.

Using current-steering and/or neural targeting programs with tight contact spacing can be a particularly good way to selectively stimulate dorsal roots or portions of a dorsal root. That is, by choosing stimulation loci that are lateral (near to each other in the neighborhood of the root), one may be able to select for stimulation multiple groups of neurons (perhaps overlapping) that pertain to a common part of the body and a common neural network.

In one embodiment, several root-based stimulation loci are selected for the spatio-temporal method. In one embodiment, both dorsal column and dorsal root-based loci are selected.

In one embodiment, in addition to multiple loci, multiple waveforms are used in the spatio-temporal method. These waveforms are designed to modulate different groups (possibly overlapping) of neural elements at different times (e.g., pre-pulse, long-duration pulse, with and without anodic intensification, etc.).

In one embodiment, stimulation of surround areas is preferred because it does not include WDR excitation in the painful region but does include inhibition. For example, stimulation in the surround region can be initiated, and then over time the stimulation reaches the painful region (i.e., the pain region is squeezed with stimulation over time).

<FIG> each illustrate an embodiment of a stimulation locus over roots identified via a paresthesia-based method. In one embodiment, paresthesia is used to identify a locus in lead or anatomy space that corresponds to paresthesia at or surrounding the painful region, and based on that locus, a number of other loci are automatically selected. As illustrated in <FIG> for example, a symbol X represents a stimulation locus over the roots identified via a paresthesia-based method. Once X is selected as a good "starting point", the system can automatically select a number of other spatially related points (such as the points indicated by the dots above and below X. Inputs may be fed to the neuronal network model, e.g. the paresthesia map, or fluoroscopy images, or a selection made from a set of presets, then the system can run the model, or use information or simulations. As illustrated in <FIG> for another example, the symbol X represents a stimulation locus over the dorsal columns identified via a paresthesia-based method. Once X is selected as a good "starting point" the system can automatically select a number of other spatially related points (such as the points indicated by the dots around the symbol X). In some embodiments, the spatial arrangement of the additional points is pre-selected for the user. In another embodiment, the user can create or modify the arrangement of the additional points relative to the starting point or points. In one embodiment, the user has access to or can create a library of spatial arrangements (e.g., an arrangement for roots, an arrangement for columns, a tight arrangement (perhaps for focal pain), a broad arrangement (perhaps for complex diffuse pain), etc.).

In various embodiments, anatomy is used to guide spatial loci used for spatio-temporal methods. Referring to <FIG>, anatomy-guided field selection is similar to the paresthesia-guided field selection as discussed above, except for that the "starting point" is based on patient anatomy, pain region, and lead positions. For example, for left foot pain, a specific anatomically-based point or set of points might be chosen as the starting point or center of a set of points. This method uses existing knowledge between anatomical relationship between the location of pain and sites for stimulation that may control the pain.

In one embodiment, the set of points is further selected based on the "lead or electrode coverage" of the region to be modulated. In one embodiment, the user identifies or "paints" the pain loci on a "paresthesia person" and the group of points for the spatio-temporal method is automatically chosen based on a look-up table. In one embodiment, the pain diagnosis is another dimension used to select the points and/or other stimulation parameter in the spatio-temporal method. In one embodiment, the pain region and diagnosis can be entered into a system prior to lead placement, and the system will show the user where lead or electrode coverage is desired.

In various embodiments, spatio-temporal filtering within a region of interest (ROI) is applied to reduce sensitivity to the field in the patient's response to the neurostimulation. <FIG> illustrates an embodiment of an ROI for using spatio-temporal filtering to reduce spatial sensitivity. Success of neurostimulation may be contingent on delivering stimuli to exactly the right spot to engage exactly the right neural elements. When identifying and/or maintaining the exact location for such a "right spot" is difficult, an alternative is to use a filter to modulate the information that is generated or conveyed through a ROI that is less spatially specific than the "right spot.

<FIG> shows an example ROI that is chosen for filtering. A large amount of neural information is generated in or propagates through the ROI, and a "filter" that uses a spatio-temporal method can be used to predict the information that reaches the neural or neuronal targets after being modulated through the ROI, as further discussed below with reference to <FIG>. Examples of neural elements in the ROI (the neural targets illustrated in <FIG>) that convey or process "information" include dorsal roots, dorsal columns, presynaptic and post-synaptic dorsal horn, and dorso-lateral finniculus.

Various spatio-temporal patterns could be useful in various embodiments. In one embodiment, the ROI is divided into a number of sub-regions, and each of the sub-regions or groups of sub-regions are electrically modulated at different points in time. <FIG> illustrates an embodiment of an ROI, such as the ROI of <FIG>, divided into a plurality of sub-regions. In <FIG>, the numbers can represent electrodes on a paddle lead, which in turn should stimulate distinct, but overlapping sub-regions. The timing could be determined by pseudo-random generator, noise simulating process, Poisson process, a regular pattern as determined randomly or optimized, guided by heuristic rules, etc. One example of optimization to generate an order-of-modulation to the sub-regions might be to choose to maximize a space-time distance measure (e.g., <MAT> for n points, where rij is a measure of distance between i and j, and delta-t is a measure of time between i and j, and the measures are weighted/normalized appropriately). In one embodiment, the user is able to choose properties of the filter. For example: the average time required to cycle through every point in the filter, the statistical characteristics of a stochastic, random, or noisy process. In one embodiment, pulse-width, and/or amplitude, and/or pulse-shape, are also dimensions through which there is pulse-to-pulse variability. In one embodiment, typical inter-pulse durations correspond to frequencies in the range of <NUM> - <NUM> (similar to the dual frequency stimulation). In another embodiment, the inter-pulse durations correspond to frequencies in the range of in the range of <NUM> to <NUM>. In one embodiment, particularly long pulses greater than <NUM> are used and neural firing for different neural elements happens at different times during the pulse. In one embodiment, the pulse duration is at least <NUM> or even <NUM>. In one embodiment the shapes of the pulses also change on a pulse-to-pulse basis such that the recruitment characteristic changes on a pulse-to-pulse basic.

<FIG> illustrates an embodiment of a process using the spatio-temporal filtering to reduce spatial sensitivity. The input to the ROI filter is the stimulation applied to a point in the ROI, the output of the ROI filter is the stimulation that would actually apply to a target spot in the neural targets, and the neuronal network model is used to produce the output given the input. The results of the process provides for a prediction of a region to which neurostimulation can be delivered to produce one or more specified effects.

Similar to the anatomy-guided field selection, in one embodiment, the ROI is automatically selected, for example, based on pain location, pain diagnosis, and/or lead location. In one embodiment, a plurality of spatially disparate ROIs can be used. In one embodiment, the number of sub-regions is a default number, such as <NUM>. In another embodiment, the number of sub-regions can be changed by the user and can be up to tens of thousands. In one embodiment, the stimulation or modulation field for each sub-region is determined by an algorithm like the neural targeting program (e.g., Illumina3D™) for a given set of leads. In such an embodiment, the user may use target field shapes like tripoles or may select other shapes (e.g., monopoles, transverse fields, or other user-defined method). In one embodiment, the "modulation intensity" is kept within a specific range by using "normalized" values according to a strength-duration characteristic (to manage PW and Amplitude trade off) or according to another normalization approach (e.g., nonlinear model threshold evaluation).

Claim 1:
A system for programming a neurostimulator (<NUM>, <NUM>, <NUM>) to deliver neurostimulation energy through a plurality of electrodes (<NUM>, <NUM>, <NUM>), the system comprising:
one or more storage devices (<NUM>, <NUM>, <NUM>) configured to store:
a pattern library (<NUM>) including:
a plurality of fields each specifying a spatial distribution of the neurostimulation energy across the plurality of electrodes; and
a plurality of waveforms each specifying a temporal pattern of the neuromodulation energy; and
one or more neuronal network models (<NUM>, <NUM>) each being a computational model configured to allow for evaluating effects of one or more fields selected from the plurality of fields in combination with one or more waveforms selected from the plurality of waveforms in treating one or more indications for neuromodulation; and
a pattern generator (<NUM>, <NUM>) configured to generate a spatio-temporal pattern of neurostimulation specifying a sequence of one or more spatio-temporal units each including one or more fields selected from the plurality of fields in combination with one or more waveforms selected from the plurality of waveforms, the pattern generator including:
a pattern editor (<NUM>) configured to construct one or more of the plurality of fields, the plurality of waveforms, the one or more spatio-temporal units, or the spatio-temporal pattern of neurostimulation; and
a pattern optimizer (<NUM>) configured to approximately optimize one or more of the plurality of fields, the plurality of waveforms, the one or more spatio-temporal units, or the spatio-temporal pattern of neurostimulation for a specified range of conditions using at least one neuronal network model of the one or more neuronal network models,
wherein the one or more neuronal network models (<NUM>, <NUM>) comprise at least one robust model configured to allow for evaluation of one or more fields selected from the plurality of fields in combination with one or more waveforms selected from the plurality of waveforms for at least one therapeutic effect of the one or more therapeutic effects under the specified range of conditions.