User-weighted closed-loop regulation of neuromodulation therapy
Through artificial intelligence neural stimulation programming model and processor system, a personalized neural stimulation device programming solution is generated, which solves the problem of limited programming capabilities in the existing technology and achieves more efficient and personalized therapeutic effects.
Patent Information
- Application Number
- CN202080033620.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-03-04
- Filing Date
- 2020-01-31
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2040-01-31
AI Technical Summary
The programming capabilities of existing neurostimulation systems are limited, and patients are usually limited to use limited treatment options recommended by clinicians, lacking the ability to personalize and dynamically adjust.
Using an artificial intelligence neural stimulation programming model, multiple treatment target inputs of patients are obtained through processors and storage devices, identify the weights used in the programming model, and generate a composite output by applying the weights to the combination of model parameter outputs to program neural stimulation devices.
Personalized programming of neurostimulation devices is realized, and treatment plans can be dynamically adjusted according to the patient's multiple treatment goals to improve treatment effect and patient satisfaction.
Smart Images

Figure CN113795298B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application Serial No. 62 / 813,262, filed on March 4, 2019, which is incorporated herein by reference in its entirety. Technical Field
[0003] The present disclosure relates generally to medical devices and, more particularly, to systems, devices and methods for electrical stimulation programming techniques using artificial intelligence models and related mechanisms of closed-loop regulation to control implantable electrical stimulation for pain treatment and / or management. Background Art
[0004] Neurostimulation (also called neuromodulation) has been proposed as a treatment for many symptoms. 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 this treatment. An implantable neurostimulation system may include an implantable neurostimulator (which may also be 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.
[0005] Neurostimulation systems can be used to electrically stimulate tissue or nerve centers to treat neurological or muscle diseases. For example, an SCS system can be configured to deliver electrical pulses to specific areas of a patient's spinal cord (such as specific spinal nerve roots or nerve bundles) to produce an analgesic effect that masks the sensation of pain / or to produce a functional effect that allows increased movement or activity for the patient. Other forms of neurostimulation can include DBS systems, which use similar electrical pulses at specific locations in the brain to reduce symptoms of essential tremor, Parkinson's disease, psychological disorders, etc.
[0006] While modern electronics can be adapted to the needs of generating and delivering neurostimulation energy in various forms, the capabilities of a neurostimulation system depend largely on its programmability after manufacture. One limiting factor in the current application of neurostimulation therapy is that even though many advanced procedures can be applied by a neurostimulation device, patients often end up using only a very limited number of available treatments as recommended by a clinician or other medical professional.
[0007] Many approaches for neurostimulation programming and customization employ an open-loop design in which static stimulation parameters or programs are introduced, deployed, tested, and adjusted through clinician programming and patient feedback to the clinician. Although some neurostimulation devices provide the ability for the patient to switch between programs, modify a program, or change the level of a particular stimulation effect, the amount of control afforded the patient is typically limited to minor changes or selections among predetermined programs. Summary of the invention
[0008] The following summary of the invention provides examples as some of the summaries of the teachings of the present application, and is not intended to be an exclusive or exhaustive treatment of the subject matter. More details about the subject matter can be found in the detailed description and the appended claims. Other aspects of the present disclosure will be apparent to those skilled in the art upon reading and understanding the following detailed description and viewing the accompanying drawings that form a part thereof (each of which is not viewed in a limiting sense). The scope of the present disclosure is limited by the appended claims and their legal equivalents.
[0009] Example 1 is a system for generating programming values for a neurostimulation device, the system comprising: at least one processor; and at least one storage device comprising instructions that, when executed by the processor, cause the processor to perform the following operations: obtain input indicating multiple treatment goals, the treatment goals provided by a human patient for treatment using a neurostimulation device; operate an artificial intelligence neurostimulation programming model, the programming model being configured to determine parameter outputs for programming the neurostimulation device; based on the multiple treatment goals indicated in the input, identify weights for use in the programming model; and generate a composite output from the programming model by applying the identified weights to a combination of the parameter outputs of the programming model, wherein the composite output is used to program the neurostimulation device for treatment of the human patient.
[0010] In Example 2, the subject matter of Example 1 includes the processor further performing the following operations: transmitting programming parameters of the composite output to the neural stimulation device.
[0011] In Example 3, the subject matter according to Examples 1 to 2 includes that the programming model is implemented as an artificial neural network or as a machine learning classifier.
[0012] In Example 4, the subject matter according to Example 3 includes that the programming model is implemented as a deep neural network including a plurality of processing layers, wherein the identified weights are applied to an output layer of the deep neural network.
[0013] In Example 5, the subject matter of Examples 1 to 4 includes that the processor further performs the following operations: obtaining user feedback based on multiple treatment goals, the user feedback indicating the effect of user-indicated programming of the neural stimulation device using the composite output; and generating updated weights for use in a programming model, the updated weights being generated based on changes to the identified weights based on the user feedback.
[0014] In Example 6, the subject matter of Examples 1 to 5 includes that the processor also performs the following operations: obtaining sensor data feedback indicating measurements related to one or more of a plurality of treatment goals; and generating updated weights for use in a programming model, the updated weights being generated based on changes to the identified weights based on the sensor data feedback.
[0015] In Example 7, the subject matter according to Examples 1 to 6 includes that the input further indicates a rating value associated with each of the plurality of treatment objectives, wherein the respective rating values associated with the plurality of treatment objectives are used to determine the value of the identified weight for use in the programming model.
[0016] In Example 8, the subject matter of Examples 1 to 7 includes selecting multiple treatment goals from a set of available treatment goals, and selecting the multiple treatment goals based on identifications including one or more of the following: patient identification of one or more treatment types to be generated using a programming model, clinician identification of one or more treatment types to be generated using the programming model, or algorithm identification of one or more treatment types to be generated using the programming model.
[0017] In Example 9, the subject matter according to Examples 1 to 8 includes that the plurality of treatment goals includes a combination of at least two treatment types selected from the group consisting of pain management, sleep quality, medication management, mood improvement, depression reduction, or mobility.
[0018] In Example 10, the subject matter of Examples 1 to 9 includes the processor further performing the following operations: generating activity, behavior, or treatment recommendations for the human patient based on the plurality of treatment goals indicated in the input.
[0019] In Example 11, the subject matter of Examples 1 to 10 includes that the processor further performs the following operations: obtaining input indicating changes in multiple treatment goals, the changes in the multiple treatment goals are provided by clinicians associated with the treatment of human patients; and based on a comparison between the changes in the treatment goals provided by the clinicians and the treatment goals provided by the human patients, performing a balancing of the treatment goals and the changes in the treatment goals; wherein the identified weights are generated based on the balancing of the treatment goals and the changes in the treatment goals.
[0020] In Example 12, the subject matter according to Example 11 includes the input provided by the clinician being obtained in a clinician graphical user interface and the input provided by the human patient being obtained in a patient graphical user interface.
[0021] In Example 13, the subject matter according to Examples 1 to 12 includes that the composite output is used as a parameter of a neural stimulation program for a neural stimulation device, and the instructions further cause the processor to: identify a programming value of at least one neural stimulation programming parameter in the neural stimulation program based on the composite output; wherein the identified programming value specifies the operation of the neural stimulation program for one or more of: a pulse mode, a pulse shape, a spatial position of a pulse, a waveform shape, or a spatial position of a waveform shape to obtain modulated energy provided by multiple leads of the neural stimulation device.
[0022] Example 14 is a machine-readable medium comprising instructions that, when executed by a machine, cause the machine to perform the operations of the system of any of Examples 1-13.
[0023] Example 15 is a method of performing the operations of the system of any of Examples 1-13.
[0024] Example 16 is a device suitable for generating programming values for a neurostimulation device, the device comprising: at least one processor and at least one memory; an input and weighted control circuit system operable with the processor and the memory, the input and weighted control circuit system being configured to: obtain input indicating multiple treatment goals provided by a human patient for treatment using the neurostimulation device; operate an artificial intelligence neurostimulation programming model, the programming model being configured to determine parameter outputs for programming the neurostimulation device; identify weights for use in the programming model based on the multiple treatment goals indicated in the input; and generate a composite output from the programming model by applying the identified weights to a combination of the parameter outputs of the programming model; a neurostimulation programming circuit system operable with at least one processor and at least one memory, the neurostimulation programming circuit system being configured to: generate parameter programming values for programming the neurostimulation device based on the composite output so as to treat the human patient according to the treatment goals.
[0025] In Example 17, the subject matter of Example 16 includes the neural stimulation programming circuitry being further configured to transmit programming parameters of the composite output to the neural stimulation device.
[0026] In Example 18, the subject matter according to Examples 16 to 17 includes that the programming model is implemented as an artificial neural network or as a machine learning classifier.
[0027] In Example 19, the subject matter of Examples 16 to 18 includes that the input and weighted control circuit is also configured to: obtain user feedback based on multiple treatment goals, the user feedback indicating the effect of the user's instructions for programming the neural stimulation device using the composite output; and generate updated weights for use in the programming model, the updated weights being generated based on changes to the identified weights based on the user feedback.
[0028] In Example 20, the subject matter of Examples 16 to 19 includes that the input and weighting control circuitry is further configured to: obtain sensor data feedback indicating measurements associated with one or more of a plurality of therapeutic targets; and generate updated weights for use in a programming model, the updated weights being generated based on changes to the identified weights based on the sensor data feedback.
[0029] In Example 21, the subject matter of Examples 16 to 20 includes the input further indicating a rating value associated with each of the plurality of treatment objectives, wherein the respective rating values associated with the plurality of treatment objectives are used to determine a value of the identified weight for use in the programming model.
[0030] In Example 22, the subject matter of Examples 16 to 21 includes selecting multiple treatment goals from a set of available treatment goals, wherein the multiple treatment goals are selected based on identifications including one or more of the following: patient identifications of one or more treatment types generated using a programming model, clinician identifications of one or more treatment types generated using a programming model, or algorithm identifications of one or more treatment types generated using a programming model.
[0031] In Example 23, the subject matter according to Examples 16 to 22 includes that the plurality of treatment goals includes a combination of at least two treatment types selected from the group consisting of pain management, sleep quality, medication management, mood improvement, depression reduction, or mobility.
[0032] In Example 24, the subject matter of Examples 16 to 23 includes that the input and weighted control circuit system is also configured to: obtain input indicating changes in multiple treatment goals, the changes in the multiple treatment goals are provided by a clinician associated with the treatment of a human patient; and based on a comparison between the changes in the treatment goals provided by the clinician and the treatment goals provided by the human patient, perform a balancing of the treatment goals with the changes in the treatment goals; wherein the identified weights are generated based on the balancing of the treatment goals with the changes in the treatment goals, and wherein the input provided by the clinician is obtained in a clinician graphical user interface, and wherein the input provided by the human patient is obtained in a patient graphical user interface.
[0033] In Example 25, the subject matter according to Examples 16 to 24 includes that the composite output is used as a parameter of a neural stimulation program for a neural stimulation device, wherein the neural stimulation programming circuit system is further configured to: identify a programming value for at least one neural stimulation programming parameter in the neural stimulation program based on the composite output; wherein the identified programming value specifies the operation of the neural stimulation program for one or more of: a pulse mode, a pulse shape, a spatial position of a pulse, a waveform shape, or a spatial position of a waveform shape to obtain modulated energy provided by multiple leads of the neural stimulation device.
[0034] Example 26 is a method for generating programming values for a neurostimulation device, the method comprising multiple operations performed using at least one processor of an electronic device, the multiple operations comprising: obtaining an input indicating multiple treatment goals, the treatment goals provided by a human patient for treatment using the neurostimulation device; executing an artificial intelligence neurostimulation programming model, the programming model configured to determine parameter outputs for programming the neurostimulation device; identifying weights for use in the programming model based on the multiple treatment goals indicated in the input; and generating a composite output from the programming model by applying the identified weights to a combination of the parameter outputs of the programming model, wherein the composite output is used to program the neurostimulation device for treatment of the human patient.
[0035] In Example 27, the subject matter of Example 26 includes transmitting programming parameters of the composite output to a neural stimulation device.
[0036] In Example 28, the subject matter according to Examples 26 to 27 includes that the programming model is implemented as an artificial neural network or as a machine learning classifier.
[0037] In Example 29, the subject matter of Examples 26 to 28 includes: obtaining user feedback indicating the effect of user instructions for programming a neural stimulation device using a composite output; and generating updated weights for use in a programming model, the updated weights being generated based on changes to the identified weights based on the user feedback.
[0038] In Example 30, the subject matter of Examples 26 to 29 includes: obtaining sensor data feedback indicating measurements associated with one or more of a plurality of treatment goals; and generating updated weights for use in a programming model, the updated weights being generated based on changes to the identified weights based on the sensor data feedback.
[0039] In Example 31, the subject matter of Examples 26 to 30 includes the input further indicating a rating value associated with each of the plurality of treatment objectives, wherein the respective rating values associated with the plurality of treatment objectives are used to determine a value of the identified weight for use in the programming model.
[0040] In Example 32, the subject matter of Examples 26 to 31 includes selecting multiple treatment goals from a set of available treatment goals, and selecting the multiple treatment goals based on identifications including one or more of the following: patient identifications of one or more treatment types generated using a programming model, clinician identifications of one or more treatment types generated using a programming model, or algorithm identifications of one or more treatment types generated using a programming model.
[0041] In Example 33, the subject matter according to Examples 26 to 32 includes that the plurality of treatment goals includes a combination of at least two treatment types selected from the group consisting of pain management, sleep quality, medication management, mood improvement, depression reduction, or mobility.
[0042] In Example 34, the subject matter of Examples 26 to 33 includes: obtaining input indicating changes in multiple treatment goals, the changes in multiple treatment goals being provided by a clinician associated with treatment of a human patient; and performing a balancing of the treatment goals with the changes in the treatment goals based on a comparison between the changes in the treatment goals provided by the clinician and the treatment goals provided by the human patient; wherein the identified weights are generated based on the balancing of the treatment goals with the changes in the treatment goals, and wherein the input provided by the clinician is obtained in a clinician graphical user interface, and wherein the input provided by the human patient is obtained in a patient graphical user interface.
[0043] In Example 35, the subject matter according to Examples 26 to 34 includes that the composite output is used as a parameter of a neurostimulation program for a neurostimulation device, and the operation further includes: identifying a programming value for at least one neurostimulation programming parameter in the neurostimulation program based on the composite output; wherein the identified programming value specifies the operation of the neurostimulation program for one or more of the following: a pulse mode, a pulse shape, a spatial position of a pulse, a waveform shape, or a spatial position of a waveform shape to obtain modulated energy provided by multiple leads of the neurostimulation device. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Various embodiments are shown by way of example in the accompanying drawings. These embodiments are illustrative and are not intended to be exhaustive or exclusive embodiments of the subject matter.
[0045] Figure 1 An embodiment of a neural stimulation system is shown as an example.
[0046] Figure 2 As an example, it is shown that Figure 1 Embodiments of stimulation devices and systems implemented in a neural stimulation system.
[0047] Figure 3 As an example, it is shown that Figure 1 An embodiment of a programming device implemented in a neural stimulation system.
[0048] Figure 4 As an example, an implantable neurostimulation system and portions of an environment in which the system may be used are shown.
[0049] Figure 5 As an example, an implantable stimulator and a Figure 4 Embodiments of one or more leads of an implantable neurostimulation system.
[0050] Figure 6 As an example, a method for Figure 4 Embodiments of a closed-loop programming device for an implantable neurostimulation system.
[0051] Figure 7 Embodiments in which data for operating a neurostimulation device based on user weightings of treatment goals is communicated between a closed-loop programming device, a procedure modeling system, and a physician and patient interactive computing device are shown as examples.
[0052] Figure 8 An embodiment of the processing layers of an artificial intelligence model suitable for producing a composite output based on user weightings of treatment goals is shown as an example.
[0053] Fig. 9 An embodiment of a data manipulation flow that implements closed-loop programmed regulation of a synthesized output based on user weighting according to treatment goals is shown as an example.
[0054] Fig.10 An embodiment of a closed-loop process flow for delivering neurostimulation therapy to a human patient using weighting of composite outputs for therapy goals in a neurostimulation programming model is shown as an example.
[0055] Fig.11A and Fig. 11BAn embodiment of a graphical user interface suitable for receiving patient input indicating a therapy goal for use in a neural stimulation programming model is shown as an example.
[0056] Fig.12 A flow chart of a method implemented by a system or device for producing programming values for an implantable electrical neural stimulation device by generating a composite output according to a neural stimulation programming model is shown as an example.
[0057] Fig.13 A block diagram of an embodiment of a computing system implementing input and weighted control processing circuitry for controlling the operation and output of a neural stimulation programming model is shown as an example.
[0058] Fig.14 A block diagram of an embodiment of a computing system implementing neural stimulation programming circuitry for causing programming of an implantable electrical neural stimulation device is shown as an example.
[0059] Fig.15 is a block diagram illustrating a machine in the example form of a computer system within which a set or sequence of instructions may be executed, causing the machine to perform any of the methodologies discussed herein, according to an example embodiment. DETAILED DESCRIPTION
[0060] Various techniques are discussed herein that enable the production and determination of programming values for an implantable electrical nerve stimulation device for treating pain or related physiological conditions in a human subject (e.g., a patient). As an example, various systems and methods are described for generating, identifying, implementing, or adjusting parameters of a neurostimulation therapy in a closed-loop treatment approach based on user-provided treatment instructions, programming selections, and feedback. These systems and methods are designed to take into account the patient's expected treatment outcomes (referred to herein as treatment "goals") and to balance the types and values of multiple treatment goals so that the programming results of the neurostimulation device can be improved and customized to a specific patient using appropriate weight values.
[0061] With many existing neurostimulation treatment approaches that involve clinician-based programming, patients end up with a program that is not customized for the patient or best suited to the patient's desired treatment goals. The present techniques and systems improve this scenario by using input and weighted control logic (particularly implemented in a program modeling system and a closed-loop programming system) that evaluates different types and amounts of patient-specified treatment goals. In various examples, the input and weighted control logic is designed to integrate with existing programming workflows or operations of intelligent or closed-loop neuromodulation programming systems, including those that implement aspects of artificial intelligence (AI) (such as machine learning, neural networks, decision trees, etc.).
[0062] As discussed herein, treatment goals can be determined based on patient input (such as the amount of pain reduction, sleep improvement, medication management, mood improvement or depression reduction, activity improvement, etc.) and a quantified value (e.g., ranking, score, percentage, etc.) used to emphasize or control such treatment goals. The programmed outputs produced by the inputs and weighted control logic are intended to achieve an appropriate balance between multiple treatment goals based on the user inputs and instructions and based on the effectiveness of the neurostimulation programming capabilities in achieving the multiple treatment goals.
[0063] In particular, the following methods of input and weighted control can modify the operation of a predictive or classification AI model so that the AI model can produce a usable output for neurostimulation programming that has an appropriate balance of multiple therapeutic goals. In contrast, conventional models and programming methods (including the use of models for generating parameters in the constrained environment of neurostimulation therapy) are typically designed to produce a single classification or model output optimized for a single condition (e.g., reducing perceived pain). Such models are typically trained based on training data that is selected or labeled to converge to a specific outcome (e.g., pain relief) experienced in multiple patients. When the neurostimulation output for a single therapeutic goal (e.g., neurostimulation electrical pulses that achieve significant pain relief may interfere with other therapeutic goals, such as mobility and range of motion), these models do not provide the ability to allow customization or variability for multiple goals, nor do these models take into account programming trade-offs. Therefore, patients who wish to achieve multiple therapeutic goals may not be able to utilize current forms of AI models and decision logic that produce fixed classification outputs.
[0064] The input and weighting control mechanisms currently described enable adaptation of neurostimulation parameters based on direct user feedback and specification of treatment goals. Input and weighting control allows selection and emphasis on a single treatment goal or multiple treatment goals that can be used to balance or combine treatment outcomes. Input and weighting control can use user-specified treatment goals to generate weights used in processing operations of algorithms and models, which achieve a composite output according to such algorithms and models by adjusting weights or modifying multivariate processing pathways. As a simplified use case, input and weighting control can enable AI-assisted generation of neurostimulation programs that emphasize neurostimulation outputs to provide therapeutic benefits for both sleep and activity improvements, or in terms of opioid reduction and pain management, or any combination of multiple treatment goals.
[0065] While many of the examples below involve multiple treatment goals, input and weighting controls can also provide a mechanism by which a single treatment goal can be emphasized or enhanced, such as to address scenarios where a particular goal (e.g., mobility) conflicts with the type of neurostimulation therapy deployed for other symptoms (e.g., pain relief). Thus, input and weighting controls provide a means by which many variations in user input can be accounted for, including in closed-loop AI models and feedback-based programming scenarios.
[0066] In an example, input and weighting controls identify a set of weights for use in a neurostimulation programming model that emphasize treatment goals expressed from human user input. These identified weights are applied to dynamically select, adjust, and modify neurostimulation treatment outputs (e.g., neurostimulation device programming parameters), including based on creating composite outputs from the programming model. After the composite outputs from the programming model are implemented for use with a human patient, additional selection, adjustment, and modification logic collects feedback from subsequent symptoms and changes on the part of the patient to incorporate additional changes or adaptations that address multiple treatment goals. When implemented in a closed-loop programming system, input and weighting controls introduce advanced levels of control and customization for treatment, which can greatly enhance neurostimulation treatment regimens.
[0067] As an example, operating parameters of a neurostimulation device generated or identified by the present systems and techniques may include amplitude, frequency, duration, pulse width, pulse type, pattern of neurostimulation pulses, waveforms in pulse patterns, and similar settings regarding the intensity, type, and location of neurostimulator outputs on single or multiple corresponding leads. A neurostimulator may use a current or voltage source to provide a neurostimulator output, and apply any number of control techniques to modify the electrical stimulation applied to an anatomical site or system associated with pain or analgesic effects. In various embodiments, a neurostimulator program may be defined or updated to indicate parameters defining spatial, temporal, and information characteristics for delivering modulated energy, including pulses of modulated energy, waveforms of pulses, pulse blocks each comprising a string of pulses, pulse trains each comprising a series of pulse blocks, string groups each comprising a series of pulse trains, and programs each comprising such definitions or parameters for one or more string groups scheduled for delivery. The waveform characteristics defined in the program may include, but are not limited to, the following: amplitude, pulse width, frequency, total charge injected per unit time, cycling (e.g., on / off time), pulse shape, number of phases, phase sequence, interphase time, charge balance, ramping, and spatial variation (e.g., variation in electrode configuration over time). It should be understood that the program may have many combinations of parameter settings potentially available for use based on the many characteristics of the waveform itself.
[0068] In various embodiments, the present subject matter may be implemented using a combination of hardware and software designed to provide a user (such as a patient, caregiver, clinician, researcher, physician, or other person) with the ability to generate, identify, select, implement, and update neurostimulation programs that achieve indicated treatment goals. Implementation of neurostimulation programs, particularly in a closed-loop system, may result in changes in the location, intensity, and type of defined waveforms and patterns in an effort to improve the therapeutic effectiveness and / or patient satisfaction of neurostimulation therapies (such as SCS and DBS therapies). Although neurostimulation is specifically discussed as an example, the present subject matter may be applied to any treatment that employs stimulation pulses of electrical or other forms of energy to treat chronic pain or similar physical or psychological symptoms.
[0069] The delivery of neural stimulation energy discussed herein can be delivered in the form of electrical neural stimulation pulses. Delivery is controlled using stimulation parameters that specify the spatial (where to stimulate), temporal (when to stimulate), and information (the pulse pattern that guides the nervous system to respond according to a desired response) aspects of the pattern of neural stimulation pulses. Many current neural stimulation systems are programmed to deliver periodic pulses with one or a few uniform waveforms, either continuously or in a train of pulses. However, neural signals can include more complex patterns to convey various types of information, including sensations of pain, pressure, temperature, and the like. Accordingly, the following figures provide an introduction to the features of an exemplary neural stimulation system and how such programming can be accomplished by an open-loop or closed-loop neural stimulation system.
[0070] Figure 1 An embodiment of a neurostimulation system 100 is shown. The system 100 includes an electrode 106, a stimulation device 104, and a programming device 102. The electrode 106 is configured to be placed on or near one or more neural targets in a patient's body. The stimulation device 104 is configured to be electrically connected to the electrode 106 and deliver neural stimulation energy, such as in the form of electrical pulses, to one or more neural targets through the electrode 106. The delivery of neural stimulation is controlled by using a plurality of stimulation parameters (such as stimulation parameters that specify an electrical pulse pattern) and electrode selection through which each of the electrical pulses is delivered. In various embodiments, at least some of the plurality of stimulation parameters are selected or programmed by a clinical user, such as a physician or other caregiver treating a patient using the system 100; however, some of the parameters may also be provided in conjunction with closed-loop programming logic and regulation. The programming device 102 provides the user with accessibility to implement, change, or modify programmable parameters. In various embodiments, the programming device 102 is configured to be communicatively coupled to the stimulation device 104 via a wired or wireless link.
[0071] In various embodiments, the programming device 102 includes a user interface 110 (e.g., a user interface implemented by a graphical, text, voice, or hardware-based user interface) that allows a user to set and / or adjust the values of user-programmable parameters by creating, editing, loading, and removing programs that include parameter combinations such as patterns and waveforms. These adjustments can also include individually changing and editing the values of user-programmable parameters or sets of user-programmable parameters (including values set in response to a therapeutic effect indication). Such waveforms can include, for example, waveforms of neural stimulation pulse patterns to be delivered to a patient, as well as individual waveforms used as building blocks of neural stimulation pulse patterns. Examples of such individual waveforms include pulses, groups of pulses, and groups of pulse groups. Programs and corresponding parameter sets can also define electrode selections specific to each individually defined waveform.
[0072] As referenced below Figure 7 to Figure 1 1, a user (e.g., a patient, or a clinician or other medical professional associated with the patient) can provide inputs that are used by closed-loop programming logic to select, load, modify, and implement one or more parameters of a defined program for neural stimulation therapy based on the treatment goals evaluated by the input and weighting processing method. Based on the operation of a parameter identification model (which is modified by weighting the values generated from the inputs and weightings), various logics or algorithms can determine which program or parameter changes within a program may produce improvements in the treatment goals specified by the user input, such as to address pain, mobility, sleep disruption, etc. Example parameters that may be implemented by the selected neural stimulation program include, but are not limited to, the following: amplitude, pulse width, frequency, duration, total charge injected per unit time, cycles (e.g., on / off time), pulse shape, number of phases, phase sequence, interphase time, charge balance, ramp-up, and spatial variation (e.g., changes in electrode configuration over time).
[0073] like Figure 6 As described in detail in , a controller (e.g. Figure 6 The controller 630 may use a storage device (e.g. Figure 6 programs or settings in an external storage device 616) or using Figure 6 The settings corresponding to the selected program are transmitted by the external communication device 618 of the present invention to implement one or more programs and one or more parameter settings to affect a specific neural stimulation waveform, mode or energy output. The implementation of such one or more programs or one or more settings can also define the treatment intensity and treatment type corresponding to a specific pulse group or a specific group of pulse groups based on one or more specific programs or one or more settings. As described below with reference to Figure 7As described in more detail below, the procedure modeling system and closed-loop programming system may be operable to identify, select, generate, or produce this information in a closed-loop feedback configuration while observing and monitoring user input and physiological sensor data for additional refinement. In addition to the use of closed-loop feedback, other forms of input from a clinician or patient may also influence the use and implementation of selected parameters or procedures by the procedure modeling system and closed-loop programming system, including in settings involving a combination of dynamic (automatic) and manual control.
[0074] Portions of the stimulation device 104 (e.g., an implantable medical device or programming device 102) may be implemented using hardware, software, or any combination of hardware and software. Portions of the stimulation device 104 or programming device 102 may be implemented using dedicated circuits that may be constructed or configured to perform one or more specific functions, or may be implemented using general purpose circuits that may be programmed or otherwise configured to perform one or more specific functions. Such general purpose circuits may include a microprocessor or a portion thereof, a microcontroller or a portion thereof, or a programmable logic circuit or a portion thereof. The system 100 may also include a subcutaneous medical device (e.g., a subcutaneous ICD, a subcutaneous diagnostic device), a wearable medical device (e.g., a patch-based sensing device), or other external medical device.
[0075] Figure 2 Stimulation device 204 and lead system 208 (e.g., as may be seen in FIG. Figure 1 ) is implemented in the neurostimulation system 100 of the present invention. The stimulation device 204 represents an embodiment of the stimulation device 104 and includes a stimulation output circuit 212 and a stimulation control circuit 214. The stimulation output circuit 212 generates and delivers neural stimulation pulses, including neural stimulation waveforms and parameter settings implemented by a program selected or implemented using the user interface 110. The stimulation control circuit 214 controls the delivery of neural stimulation pulses using multiple stimulation parameters that specify the mode of the neural stimulation pulses. The lead system 208 may include one or more leads each configured to be electrically connected to the stimulation device 204 and a plurality of electrodes 206 distributed in the one or more leads. The plurality of electrodes 206 may include an electrode 206-1, an electrode 206-2, ..., an electrode 206-N, each of which is a single conductive contact that provides an electrical interface between the stimulation output circuit 212 and the patient's tissue, where N≥2. The neural stimulation pulses are each delivered from the stimulation output circuit 212 through a set of electrodes selected from the electrodes 206. In various embodiments, the neural stimulation pulse may include one or more individually defined pulses, and the set of electrodes may be individually defined by a user for each of the individually defined pulses.
[0076] In various embodiments, the number of leads and the number of electrodes on each lead depends on, for example, the distribution of one or more targets for neurostimulation and the need to control the electric field distribution at each target. In one embodiment, the lead system 208 includes 2 leads, each having 8 electrodes. One of ordinary skill in the art will appreciate that the neurostimulation system 100 may include additional components, such as sensing circuitry, telemetry circuitry, and power supplies for feedback control of patient monitoring and / or treatment. The neurostimulation system 100 may also be integrated with other sensors, or such other sensors may independently provide information for programming of the neurostimulation system 100.
[0077] The neurostimulation system can be configured to modulate spinal target tissue or other neural tissue. The configuration of electrodes for delivering electrical pulses to the target tissue constitutes an electrode configuration, wherein the electrodes can be selectively programmed to act as an anode (positive), cathode (negative) or not work (zero). In other words, the electrode configuration represents a polarity of positive, negative or zero. Other parameters that can be controlled or changed include the amplitude, pulse width and rate (or frequency) of the electrical pulse. Each electrode configuration and electrical pulse parameter can be referred to as a "modulation parameter" set. Each set of modulation parameters (including a subdivided current distribution to the electrode) (such as cathode current percentage, anode current percentage or off) can be stored and combined into a program that can then be used to modulate multiple areas in the patient's body.
[0078] The neural stimulation system can be configured to deliver different electric fields to achieve the temporal summation of modulation. The electric fields can be generated pulse by pulse. For example, a first electric field can be generated by an electrode (using a first current subdivision) during a first electric pulse of a pulse waveform, a second different electric field can be generated by an electrode (using a second different current subdivision) during a second electric pulse of a pulse waveform, a third different electric field can be generated by an electrode (using a third different current subdivision) during a third electric pulse of a pulse waveform, and a fourth different electric field can be generated by an electrode (using a fourth different current subdivided) during a fourth electric pulse of a pulse waveform, and so on. These electric fields can be rotated or cycled multiple times under a timing scheme, wherein each electric field is implemented using a timing channel. The electric field can be generated at a continuous pulse rate or as a plurality of pulse trains. In addition, the inter-pulse interval (i.e., the time between adjacent pulses), the pulse amplitude, and the pulse duration during the electric field cycle can be uniform, or can vary within the electric field cycle. Some examples are configured to determine a set of modulation parameters to create a field shape, thereby providing a wide and uniform modulation field, such as can be used to perfuse target neural tissue using sub-sensory modulation. Some examples are configured to determine a set of modulation parameters to create a field shape to reduce or minimize modulation of non-target tissue (e.g., spinal tissue). Various examples disclosed herein relate to shaping the modulation field to enhance modulation of some neural structures and reduce modulation at other neural structures. The modulation field can be shaped using multiple independent current control (MICC) or multiple independent voltage control to guide the estimation of the current subdivision between multiple electrodes and estimate the total amplitude that provides the desired intensity. For example, the modulation field can be shaped to enhance modulation of dorsal horn neural tissue and minimize modulation of spinal tissue. The benefit of MICC is that MICC accounts for differences in electrode-tissue coupling efficiency and perception thresholds at each individual contact, eliminating "hot spot" stimulation.
[0079] The number of available electrodes combined with the ability to generate a variety of complex electrical pulses provides the clinician or patient with a large selection of available modulation parameter sets. For example, if the neurostimulation system to be programmed has 16 electrodes, millions of modulation parameter value combinations are available for programming into the neurostimulation system. Additionally, some SCS systems have up to 32 electrodes, which exponentially increases the number of modulation parameter value combinations available for programming. Figures 7 to 10 Implementation and use of the procedure modeling system and closed-loop programming system described further below provides a mechanism to suggest and control procedures and procedure parameters in a closed-loop manner that is still customized for the patient based on treatment goals.
[0080] Figure 3An embodiment of a programming device 302 such as may be implemented in the neural stimulation system 100 is shown. The programming device 302 represents an embodiment of the programming device 102 and includes a storage device 318, a programming control circuit 316, and a user interface device 310. The programming control circuit 316 generates a plurality of stimulation parameters that control the delivery of neural stimulation pulses according to a pattern of neural stimulation pulses. The user interface device 310 represents an embodiment implementing the user interface 110.
[0081] In various embodiments, the user interface device 310 includes an input / output device 320 that is capable of receiving user interactions and commands to load, modify, and implement neurostimulation programs, and schedule the delivery of neurostimulation programs. In various embodiments, the input / output device 320 allows a user to create, establish, access, and implement corresponding parameter values for neurostimulation programs through graphical selections (e.g., in a graphical user interface outputted using the input / output device 320) or other graphical input / output related to treatment goals, effects of applied treatments, user feedback, etc. In various examples, the user interface device 310 can receive user input to initiate or control the implementation of a program or program change that is recommended, modified, selected, or loaded using a closed-loop programming system described in more detail below.
[0082] In various embodiments, the input / output device 320 allows the patient-user to apply, change, modify, or interrupt certain building blocks of the program and the frequency with which the selected program is delivered. In various embodiments, the input / output device 320 may allow the patient-user to save, retrieve, and modify programs (and program settings) loaded from a clinical encounter, managed from a patient feedback computing device, or stored as a template in the storage device 318. In various embodiments, accompanying software on the input / output device 320 and the user interface device 310 allows newly created building blocks, program components, programs, and program modifications to be saved, stored, or otherwise persisted in the storage device 318. Thus, it will be appreciated that the user interface device 310 may allow for a variety of forms of device operation and control, even while closed-loop programming is occurring.
[0083] In one embodiment, input / output device 320 includes a touch screen. In various embodiments, input / output device 320 includes any type of presentation device (such as an interactive or non-interactive screen), and any type of user input device that allows a user to interact with a user interface to implement, remove or schedule a program. Therefore, input / output device 320 may include one or more of a touch screen, a keyboard, a keypad, a touch pad, a trackball, a joystick and a mouse. The logic of user interface 110, stimulation control circuit 214 and programming control circuit 316 (including their various embodiments discussed herein) can be implemented using a dedicated circuit configured to perform one or more specific functions or a general circuit programmed to perform one or more such functions. Such general circuits include but are not limited to a microprocessor or a part thereof, a microcontroller or a part thereof, and a programmable logic circuit or a part thereof.
[0084] Figure 4 An implantable neural stimulation system 400 and a portion of an environment in which the system 400 may be used are shown. The system 400 includes an implantable system 422, an external system 402, and a telemetry link 426 that provides wireless communication between the implantable system 422 and the external system 402. The implantable system 422 may be used to Figure 4 4 is shown implanted within a patient's body 499. The system is shown for implantation near the spinal cord. However, the neuromodulation system can be configured to modulate other neural targets.
[0085] Implantable system 422 includes implantable stimulator 404 (also referred to as an implantable pulse generator or IPG), lead system 424, and electrodes 406, which represent embodiments of stimulation device 204, lead system 208, and electrodes 206, respectively. External system 402 identifies an embodiment of programming device 302.
[0086] In various embodiments, the external system 402 includes one or more external (non-implantable) devices that each allow a user and / or patient to communicate with the implantable system 422. In some embodiments, the external system 402 includes a programming device intended for a user to initialize and adjust settings for the implantable stimulator 404 and a remote control device for use by a patient. For example, the remote control device can allow the patient to turn the implantable stimulator 404 on and off and / or adjust certain patient-programmable parameters in a plurality of stimulation parameters. The remote control device can also provide a mechanism for receiving and processing feedback about the operation of the implantable neuromodulation system. Feedback may include indicators or effect indications reflecting perceived pain, the effect of treatment, or other aspects of patient comfort or symptoms. Such feedback can be automatically detected from the patient's physiological state, collected from other sensors or devices (not shown), or manually obtained from user input entered in a user interface (such as using the user input scenario discussed below).
[0087] As used herein, the terms "neurostimulator," "stimulator," "neurostimulation," and "stimulation" generally refer to the delivery of electrical energy that affects neuronal activity of neural tissue, which can be excitatory or inhibitory; for example, by initiating action potentials, inhibiting or blocking the propagation of action potentials, affecting changes in neurotransmitter / neuromodulator release or uptake, and inducing changes in neuroplasticity or neurogenesis of tissue. It should be understood that other clinical effects and physiological mechanisms can also be provided through the use of such stimulation techniques.
[0088] Figure 5 An embodiment of an implantable stimulator 404 and one or more leads 424 of an implantable neural stimulation system, such as implantable system 422, is shown. The implantable stimulator 404 may include a sensing circuit 530 for optional sensing capabilities, a stimulation output circuit 212, a stimulation control circuit 514, an implant storage device 532, an implant telemetry circuit 534, and a power supply 536. When the sensing circuit 530 is included and required, the sensing circuit 530 senses one or more physiological signals for the purpose of patient monitoring and / or feedback control of neural stimulation, including in the closed-loop programming process discussed herein. Examples of one or more physiological signals include neural signals and other signals that each indicate a symptom of a patient being treated by neural stimulation and / or a patient's response to the delivery of neural stimulation.
[0089] Stimulation output circuitry 212 is electrically connected to electrodes 406 via one or more leads 424 and delivers each of the neural stimulation pulses through a set of electrodes selected from electrodes 406. Stimulation output circuitry 212 may implement, for example, generation of a customized neural stimulation waveform (e.g., implemented according to parameters of a program selected using a closed-loop programming system) and delivery of it to an anatomical target of the patient.
[0090] Stimulation control circuit 514 represents an embodiment of stimulation control circuit 214 and controls the delivery of neural stimulation pulses using multiple stimulation parameters that specify the pattern of neural stimulation pulses. In one embodiment, stimulation control circuit 514 controls the delivery of neural stimulation pulses using one or more sensed physiological signals and processed inputs from a patient feedback interface. Implant telemetry circuit 534 provides wireless communication with another device (such as a device of external system 402) to implantable stimulator 404, including receiving values of multiple stimulation parameters from external system 402. Implant storage device 532 stores values of multiple stimulation parameters, including parameters from one or more programs obtained using the programming modeling and closed-loop programming techniques disclosed herein.
[0091] The power supply 536 provides energy to the implantable stimulator 404 for its operation. In one embodiment, the power supply 536 includes a battery. In one embodiment, the power supply 536 includes a rechargeable battery and a battery charging circuit for charging the rechargeable battery. The implant telemetry circuit 534 can also function as a power receiver that receives power transmitted from the external system 402 through inductive coupling.
[0092] In various embodiments, the sensing circuit 530, the stimulation output circuit 212, the stimulation control circuit 514, the implant telemetry circuit 534, the implant storage device 532, and the power source 536 are encapsulated in a hermetically sealed implantable housing. In various embodiments, the one or more leads 424 are implanted so that the electrodes 406 are placed on and / or around one or more targets to which the neural stimulation pulses are to be delivered, and the implantable stimulator 404 is implanted subcutaneously and connected to the one or more leads 424 at the time of implantation.
[0093] Figure 6 An embodiment of a closed-loop programming system 602 is shown for use as part of an implantable neural stimulation system (such as external system 402), wherein the closed-loop programming system 602 is shown as being directly or indirectly derived from a program modeling system or input computing device ( Figure 6 Not shown, but referenced below Figure 7 Closed-loop programming system 602 represents an embodiment of programming device 302 and includes external telemetry circuitry 640, external storage device 616, programming control circuitry 620, user interface device 610, controller 630, and external communication device 618 to enable programming of a connected neurostimulation device.
[0094] The closed-loop programming system 602 also includes a neural stimulation parameter generation circuit 660 coupled to a composite output processing circuit 662 and a model processing circuit 664 for generating parameters or selecting programs to be implemented by programming the connected neural stimulation device. The model processing circuit 664 can implement logic to execute and operate a programming determination model (e.g., an AI model that dynamically generates parameter output values based on patient-specific values), such as to perform the following reference Figure 7 The composite output processing circuit 662 may implement logic to determine and apply the weights within the model, such as described below with reference to Figure 7 As discussed.
[0095] The operation of the neural stimulation parameter generation circuit 660, and in particular the use of the model and the composite output from the model, is also based on the operation of the input and weighting control circuit 650. The input and weighting control circuit 650 includes a patient input processing circuit 652 to collect and identify patient input values related to inputs and weightings, such as those described below with reference to Figures 8 to 10 The input and weighting control circuit 650 also includes a treatment target weighting circuit 654 to identify and calculate relevant weighting values for model execution and generation of composite outputs based on the identified patient input values, such as described below with reference to Figures 8 to 10 As discussed.
[0096] The external telemetry circuit 640 provides wireless communication to or from another controllable device such as the implantable stimulator 404 to the closed-loop programming system 602 via the telemetry link 426, including transmission of one or more stimulation parameters (including selected, indicated, or modified stimulation parameters of a selected program) to the implantable stimulator 404. In one embodiment, the external telemetry circuit 640 also transmits power to the implantable stimulator 404 via inductive coupling.
[0097] The external communication device 618 may provide a mechanism to communicate with a programming information source such as a data service, a program modeling system via an external communication link (not shown) to receive program information, models, weighted logic, functional controls, etc. The external communication device 618 and the programming information source may communicate using any number of wired or wireless communication mechanisms described in this document (including but not limited to IEEE 802.11 (Wi-Fi), Bluetooth, infrared, etc. standardized and proprietary wireless communication implementations). Although the external telemetry circuit 640 and the external communication device 618 are depicted as separate components within the closed-loop programming system 602, the functionality of both of these components may be integrated into a single communication chipset, circuit system, or device.
[0098] The external storage device 616 stores a plurality of existing neural stimulation waveforms, including definable waveforms used as part of a pattern of neural stimulation pulses, settings and setting values, other parts of a program, and associated therapeutic effect indicators. In various embodiments, each of the plurality of individually definable waveforms includes one or more pulses in a neural stimulation pulse, and may include one or more other waveforms in the plurality of individually definable waveforms. Examples of such waveforms include pulses, pulse blocks, pulse trains and train groups, and programs. The existing waveforms stored in the external storage device 616 may be defined at least in part by one or more parameters, including but not limited to the following: amplitude, pulse width, frequency, one or more durations, electrode configuration, total charge injected per unit time, cycle (e.g., on / off time), waveform shape, spatial position of the waveform shape, pulse shape, number of phases, phase sequence, interphase time, charge balance, and ramp-up.
[0099] The external storage device 616 may also store a plurality of individually definable fields that may be implemented as part of the program. Each of the plurality of individually definable waveforms is associated with one or more of the plurality of individually definable fields. Each of the plurality of individually definable fields is defined by one or more of the plurality of electrodes through which the pulses of the neural stimulation pulses are delivered and the current distribution of the pulses on the one or more electrodes. Various settings in the program, including settings that are changed as a result of evaluation using a dynamic information system and a dynamic model, may be associated with the control of these waveforms and definable fields.
[0100] The programming control circuit 620 represents an embodiment of the programming control circuit 316 and can convert or generate specific stimulation parameters or changes to be transmitted to the implantable stimulator 404 based on the results of the parameter generation circuit 660. The pattern can be defined using one or more waveforms selected from a plurality of individually definable waveforms (e.g., defined by a program) stored in the external storage device 616. In various embodiments, the programming control circuit 620 checks the values of the plurality of stimulation parameters against the safety rules to limit the values to within the constraints of the safety rules. In one embodiment, the safety rules are heuristic rules.
[0101] User interface device 610 represents an embodiment of user interface device 310 and allows a user (including a patient or clinician) to provide input related to treatment goals, such as to implement the following reference Fig.11A and Fig. 11BThe user interface discussed. The user interface device 610 includes a display screen 612, a user input device 614, and can be implemented or coupled to the input and weighting control circuit 650. The display screen 612 can include any type of interactive or non-interactive screen, and the user input device 614 can include any type of user input device that supports the various functions discussed in this document, such as a touch screen, a keyboard, a keypad, a touchpad, a trackball, a joystick, and a mouse. The user interface device 610 can also allow the user to perform other functions suitable for the user interface input (e.g., select, modify, enable, disable, activate, schedule or otherwise define a program, a program set, provide feedback or input values, or perform other monitoring and programming tasks). Although not shown, the user interface 610 can also generate visualizations of such characteristics of device implementation or programming, and receive and implement commands to implement or restore programs and neurostimulator operating values (including implementation states for such operating values). These commands and visualizations can be executed in viewing and guidance mode, state mode, or real-time programming mode.
[0102] The controller 630 may be a microprocessor that communicates with the external telemetry circuit 640, the external communication device 618, the external storage device 616, the programming control circuit 620, and the user interface device 610 via a bidirectional data bus. The controller 630 may be implemented by other types of logic circuitry (e.g., discrete components or a programmable logic array) using a state machine type design. As used in this disclosure, the term "circuitry" should be considered to refer to discrete logic circuitry, firmware, or to the programming of a microprocessor.
[0103] Figure 7 An embodiment of data interaction between a closed-loop programming system 602, a program modeling system 710, and clinician and patient interactive computing devices 730, 740 for operating a neurostimulation device 750 based on user weighting of treatment goals is shown as an example. At a high level, the closed-loop programming system 602 identifies and generates program parameters 780 that are implemented to the neurostimulation device (e.g., using the programming techniques discussed above). The closed-loop programming system 602 generates these parameters through the execution and modification of a parameter generation model (such as an artificial intelligence model that considers closed-loop feedback to identify programming parameters to improve treatment of a patient using the neurostimulation device 750).
[0104] Specifically, the closed-loop programming system 602 operates program implementation logic 708 to generate programming parameters 780 in a closed-loop manner based on the execution of the model, user data input (e.g., patient and clinician input), sensor data input, etc. The closed-loop programming system 602 may also include a user interface 702 that allows control, modification, selection, or specification of data values and data types from an administrative user, clinician, patient, etc. The operation of the model is performed by model execution logic 704 to process inputs, evaluate data values, and generate outputs for closed-loop programming. The closed-loop programming system 602 also includes model weighting logic 706 that adapts the execution of the model to achieve different model results.
[0105] The closed-loop programming system 602 may receive or access models, procedures, parameters, algorithms, logic, or other aspects from the use of the procedural modeling system 710. The procedural modeling system 710 may be used to Figure 7 710 is shown in the form of a computing device (e.g., a server) that is specifically programmed to transmit various trained models 712 and program or parameter data 714 retrieved from a program and model data storage device 716 over a network 720. In an example, the training of the model 712 can be controlled by a healthcare provider, a device manufacturer, or another third party. The program modeling system 710 can also implement selection logic 718 to respond to requests or inquiries for trained models, programs, parameter sets, such as from the closed-loop programming system 602. Other aspects of information such as program settings, program modifications, constraints, rules, etc. related to programming or model operations can be transmitted from the program modeling system 710 to the closed-loop programming system. It should be understood that other form factors and embodiments of the program modeling system 710 can also be provided, including in terms of integrating program modeling and selection logic into a programming device, data service, or information service.
[0106] The model weighting logic 706 of the closed-loop programming system 602 may apply weights determined based on user input from a patient or clinician, where such user input is received via the clinician interactive computing device 730 or the patient interactive computing device 740. As further referenced Figures 10 to 11B As discussed, such user input may select and indicate treatment goals to be addressed using model operations. In an example, the patient interaction computing device 740 is a computing device (e.g., a personal computer, tablet, smartphone) or other form of user interaction device that receives and provides interaction with a patient using a graphical user interface 742 and treatment selection logic 744. Such interaction may be received via a questionnaire, survey, or optional rating input, such as collecting input related to pain or satisfaction, or identifying a patient's psychological or physiological state or treatment outcome.
[0107] The output in the graphical user interface 742 can be defined and interpreted using logic 744, such as to convert various human-computer interactions into inputs representing treatment indication values. Other form factors and interfaces such as smart speakers, audio interfaces, text interfaces, etc. can also replace the graphical user interface 742 or enhance it with the graphical user interface 742. The clinician interaction computing device 730 may include a graphical user interface 732 and treatment selection logic 734 having similar capabilities to the user interface 742 and selection logic 744 but suitable for use by clinicians (e.g., providing enhanced functions or features for physician control).
[0108] In an example, the closed-loop programming system 602 generates, selects, or transmits treatment recommendations 790 to the patient interactive computing device 740 based on the suggested or indicated treatment goals. These treatment recommendations 790 may include a recommendation or identification of a type of treatment to be applied, or may include a suggested treatment goal value. The treatment recommendations 790 may provide other instructions, suggestions, or feedback (including clinician recommendations, behavior modifications, etc. selected for the patient). The treatment recommendations 790 may provide relevant information based on the collection of sensor data 760 or other biopsychological / physiological state monitoring of the patient.
[0109] The closed-loop programming system 602 can utilize sensor data 760 from one or more patient sensors 770 (e.g., wearable devices, sleep trackers, implantable devices, etc.) among one or more internal or external devices. The sensor data 760 is used by the closed-loop programming system 602 as input to the executed model to determine the customization and current state of patient symptoms or treatment outcomes. In various examples, the neurostimulation device 750 includes sensors that contribute to the sensor data 760 evaluated by the closed-loop programming system.
[0110] In an example, the patient sensor 770 is a biopsychosocial sensor or a physiological sensor that senses one or more biopsychosocial signals indicative of a biopsychosocial factor (e.g., stress and / or emotional biomarkers) or a physical factor. Examples of such sensors include a facial recognition sensor that senses a patient's facial expression, a sound sensor (e.g., a microphone) that senses a patient's voice, a sleep sensor that senses a patient's sleep state (e.g., for detecting lack of sleep), a heart rate sensor that senses a patient's heart rate, a blood pressure sensor that senses a patient's blood pressure, an EDA sensor that senses a patient's electrophysiological activity (EDA) (e.g., galvanic skin response), and / or an electrochemical sensor that senses stress biomarkers from a patient's bodily fluids (e.g., enzymes and / or ions, such as lactate or cortisol from saliva or sweat). Other types or form factors of sensor devices may also be utilized.
[0111] Figure 8An embodiment of the processing layers of an artificial intelligence model 800 suitable for generating a composite output according to the user weighting of the treatment goal is shown as an example. Specifically, the model 800 provides a high-level representation of a neural network model 810 and a path within such a model. This path may include nodes and vertices defined based on the relevant processing performed at each level of the neural network. For example, according to the value analyzed at the input layer 812 (e.g., sensor data value), one of the various outputs at the output layer 816 can be reached. However, the neural network model 810 includes one or more hidden intermediate processing layers 814 (in a sense that they are not immediately observed), which provide intermediate nodes on the path defined between the input node layer and the output node layer. Although not shown, the neural network model 810 may include many other layers, weights, and paths, depending on the type of network, the type and amount of training, the type of data being processed, and the type of algorithm used within the processing layer. For example, a "deep" neural network trained according to a deep learning method may involve many layers of feature extraction and input / output paths.
[0112] The processing layers of the model 800 provided by the neural network model 810 for closed-loop programming are further enhanced by using weights and synthesized outputs indicated by patient or clinician (user) input. As shown, a user-weighted synthesized result 820 is generated from the application of user weights 822 to derive a synthesized output 824. Thus, the specific composite output achieved may change due to weights from user input, even in a setting where most data paths are dynamically determined according to the closed-loop data path.
[0113] As a simple example of the operation of model 800, assume that the inputs to neural network model 810 include data values from questionnaires, wearable devices, sleep trackers, and other sensors, as well as patient inputs. The primary outputs produced by output layer 816 may include programmed parameter values designed to address pain relief, medication management (e.g., opioid reduction, changes in medication type or dosage, etc.), or sleep improvement. The use of user weights 822 and the generation of composite outputs 824 can produce composite outputs for: pain and sleep improvement; pain and opioid reduction; sleep improvement and opioid reduction; or any suitable combination of the primary outputs. These composite outputs may still include programmed parameter values, but these programmed parameter values are balanced or modified to address multiple treatment goals.
[0114] Fig. 9An embodiment of a data manipulation flow for implementing closed-loop programmed regulation of a synthesized output based on user weighting according to treatment goals is shown as an example. This flow is first directed by treatment selection logic 910. Treatment selection logic 910 can be implemented by one or more of the following: patient selection 920 of one or more treatment areas to be weighted; clinician (e.g., physician) selection 930 of treatment areas to be weighted; or algorithm selection 940 of treatment areas to be weighted. For example, treatment selection logic 910 can exclude or limit certain types of treatments or treatment goals, such as types of treatments that are clinically inappropriate or harmful to the patient; similarly, treatment selection logic 910 can be used to emphasize certain types of treatments to address identified problems.
[0115] The data manipulation flow continues with compiling a combined list of treatment areas at 950, narrowed down or identified from the selected treatments or treatment targets at 920, 930, 940. This list of treatment areas may be provided to the patient for further selection and input and indication of treatment targets. Using this list of treatment areas, the patient sets personalized weights or input values for each treatment area at 960. The closed-loop processing system then applies the personalized weights or input values using an algorithm to produce a composite metric of programmed values from the model output at 970. The closed-loop processing system may intermittently or on a predetermined basis perform further updates at 980 to identify additional treatment areas for processing or consideration.
[0116] Fig.10 An embodiment of a closed-loop processing flow for implementing neurostimulation therapy to a human patient using weighting of composite outputs for therapy goals in a neurostimulation programming model is shown as an example. In addition to processing sensor data 760 by the closed-loop programming system 602, Fig.10 Consideration of patient condition data 1002 that may be derived from clinician or patient data outputs is also depicted. In addition to parameter and program changes provided by the closed-loop programming system 602, other outputs may also be determined or affected, such as one or more treatment recommendations 1006, one or more treatment status representations 1008, and other outputs.
[0117] The closed-loop programming system 602 is depicted as receiving feedback and interactions 1004 within its user interface 702, which are processed by the model weighting logic 706 to identify composite metric weights 1012. The composite metric weights 1012 are then utilized by the model execution logic to generate parameters representing composite outputs from the trained artificial intelligence model 1014. These parameters 1016 are then provided to the program implementation logic 708.
[0118] The program implementation logic 708 may be implemented by a parameter adjustment algorithm 1020 that affects a neurostimulation program selection 1018 or a neurostimulation program modification 1022. For example, some parameter changes may be implemented by simple modifications to program operation; other parameter changes may require a new program to be deployed. The result of a parameter or program change or selection results in the definition or adjustment of various stimulation parameters 1030 at the neurostimulation device 750, resulting in a different or new stimulation treatment effect 1040.
[0119] Fig.11A and Fig. 11B As examples, embodiments of graphical user interfaces 1100A, 1100B are shown that are each suitable for receiving patient input indicating treatment targets for use in a neural stimulation programming model. A first example of graphical interface 1100A shows a user input of a numerical value 1110 corresponding to a plurality of treatment areas (e.g., treatment areas identified using treatment selection logic 910). The user input of the numerical value can be a scaled value, such as from 0 to 100. Other types of values (such as rankings) or binary indications can also be used. A second example of graphical interface 1100B depicts a pie chart 1120 indicating values divided among a plurality of treatment areas. Other types of user input or values for identifying treatment targets and for identifying areas can also be used.
[0120] Fig.12 An embodiment of a processing method 1200 implemented by a system or device for adjusting the programming of an implantable electrical neural stimulation device based on trust dynamics is shown as an example. For example, the processing method 1200 may be implemented by electronic operations performed by one or more computing systems or devices that are specifically programmed to implement the input collection, model execution and model weighting and neural stimulation programming functions described herein. In a specific example, the operations of the method 1200 may be performed by the above Figure 6 to Figure 1 1 is implemented using the system and data flow depicted in FIG.
[0121] In an example, method 1200 begins by selecting a treatment region for weighting (operation 1202), such as described above with reference to Fig. 9 For example, multiple treatment goals can be selected from a larger set of available treatment goals, and the multiple treatment goals can be selected based on the following: patient identification of treatment type, clinician identification of treatment type, or algorithm identification of treatment type.
[0122] The method 1200 continues by obtaining input provided from a patient or other user (e.g., a clinician) indicating one or more treatment goals for analysis (operation 1204). The treatment goals may be provided from among the treatment areas selected (of operation 1202). In an example, the input provides a rating value associated with each of the treatment goals, and the rating values are used in determining the values of the identified weights for use in the programming model in the following operations. The input may be provided in a graphical user interface (such as the one referenced above). Fig.11A and Fig. 11B GUI for discussion).
[0123] The method 1200 continues by identifying weights for use in a neural stimulation programming model based on the treatment goals indicated in the input (operation 1206). The neural stimulation programming model is trained or otherwise configured to determine parameter outputs for programming of a neural stimulation device. The method 1200 continues by applying the weights within the operation of the neural stimulation programming model to produce programming parameters for a composite output of the programming model (operation 1208). The identification and selection of weights may be as described above with reference to, Figure 7 and Fig.10 In an example, the programming model is implemented as an artificial neural network or as a machine learning classifier. For example, the neural network can be implemented as a deep neural network including multiple intermediate processing layers, as the identified weights are applied to the output layer of the deep neural network to produce a composite output. For example, the overall arrangement of the model can follow the above reference Figure 8 The arrangement described, or a variation of this model.
[0124] Additional operations and feedback as part of method 1200 may continue with the receipt of sensor data, user feedback data, or other data values that may be used to identify the accuracy or effectiveness of implementation of programming parameters associated with the treatment goal (operation 1212). Use of this data may provide closed-loop adjustments to device programming operations, which may include repeating operations 1204 to 1210 to subsequently evaluate treatment goals, generate weights, operate the programming model, and implement adjustments to the identified programming parameters based on the data received in operation 1212. As a result, updated weights may be generated and used for use in additional executions of the model while still accounting for user input in the closed-loop system.
[0125] Fig.13A block diagram of an embodiment of a system 1300 (e.g., a computing system) that implements input and weighted control to modify the operation and output of a neural stimulation programming mode is shown as an example. The system 1300 can be integrated as a remote control device, a patient programmer device, a clinician programmer device, a program modeling system, or other external device that can be used to regulate neural stimulation programming using the programming model methods discussed herein, or integrated as a part thereof. In some examples, the system 1300 can be a networked device connected to a programming device or programming service via a network (or a combination of networks) using a communication interface 1308. The network can include a local, short-range, or long-range network, such as Bluetooth, cellular, IEEE 802.11 (Wi-Fi), or other wired or wireless network.
[0126] System 1300 includes a processor 1302 and a memory 1304, which may optionally be included as part of an input and weight control circuit system 1306. Processor 1302 may be any single processor or group of processors working in concert. Memory 1304 may be any type of memory, including volatile or non-volatile memory. Memory 1304 may include instructions that, when executed by processor 1302, cause processor 1302 to implement features of a user interface, or enable other features of input and weight control circuit system 1306. Thus, electronic operations in system 1300 may be performed by processor 1302 or circuit system 1306.
[0127] For example, the processor 1302 or the circuit system 1306 may implement any of the features of the method 1200 (including operations 1202, 1204, 1206) to obtain and process data to generate a weighted or weighted result based on the composite output of the neural stimulation parameter model in the treatment goal input by the user. The system 1300 may directly or indirectly store, transmit, or cause the implementation of the weighted. It should be understood that the processor 1302 or the circuit system 1306 may also implement the above reference Figures 6 to 12 Other aspects of the logic and processing are described to be shown in a closed-loop system.
[0128] Fig.14A block diagram of an embodiment of a system 1400 (e.g., a computing system) that implements a neural stimulation programming circuit system 1406 to cause programming of an implantable electrical neural stimulation device to implement a therapeutic goal in a human subject as discussed herein is shown as an example. The system 1400 can be operated by a clinician, a patient, a caregiver, a medical institution, a research institution, a medical device manufacturer, or a distributor, and is implemented in a plurality of different computing platforms. The system 1400 can be a remote control device, a patient programmer device, a program modeling system, or other external device, including an adjusted device for directly implementing programming commands and modifications of a neural stimulation device. In some examples, the system 1400 can be a networked device connected to a computing system using a communication interface 1408 to operate a user interface computing system via a network (or a combination of networks). The network can include a local, short-range, or long-range network, such as Bluetooth, cellular, IEEE 802.11 (Wi-Fi), or other wired or wireless network.
[0129] System 1400 includes a processor 1402 and a memory 1404, which may optionally be included as part of a neural stimulation programming circuit system 1406. Processor 1402 may be any single processor or group of processors working in concert. Memory 1404 may be any type of memory, including volatile or non-volatile memory. Memory 1404 may include instructions that, when executed by processor 1402, cause processor 1402 to implement features of neural stimulation programming circuit system 1406. Thus, electronic operations in system 1400 may be performed by processor 1402 or circuit system 1406.
[0130] The processor 1402 or circuit system 1406 may implement any of the features of method 1200, including operation 1210, to identify neural stimulation programming parameters and implement (e.g., save, persist, activate, control) the programming parameters or related procedures in the neural stimulation device using the neural stimulation device interface 1410. The processor 1402 or circuit system 1406 may further provide data and commands to assist in processing and implementing programming using the communication interface 1408. It should be understood that the processor 1402 or circuit system 1406 may also implement the above-referenced Figure 6 to Figure 1 1 describes other aspects of programming devices and device interfaces.
[0131] Fig.151500 is a block diagram showing a machine in the example form of a computer system 1500 according to an example embodiment, in which a set or series of instructions can be executed to cause the machine to perform any of the methods discussed herein. In alternative embodiments, the machine operates as a standalone device, or can be connected (e.g., networked) to other machines. In a networked deployment, the machine can run in the capacity of a server or client machine in a server-client network environment, or it can act as a peer machine in a peer-to-peer (or distributed) network environment. The machine can be a personal computer (personalcomputer, PC), a tablet PC, a hybrid tablet, a personal digital assistant (personal digital assistant, PDA), a mobile phone, an implantable pulse generator (IPG), an external remote control (remote control, RC), a user programmer (CP) or any machine capable of executing instructions (sequential or other) specifying actions to be taken by this machine. Further, although only a single machine is shown, the term "machine" should also be understood to include any machine collection that executes a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein, either individually or together. Similarly, the term "processor-based system" should be understood to include any collection of one or more machines controlled or operated by a processor (eg, a computer) to individually or jointly execute instructions to perform any one or more of the methodologies discussed herein.
[0132] The example computer system 1500 includes at least one processor 1502 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both, a processor core, a computing node, etc.), a main memory 1504, and a static memory 1506, which communicate with each other via a link 1508 (e.g., a bus). The computer system 1500 may also include a video display unit 1510, an alphanumeric input device 1512 (e.g., a keyboard), and a user interface (UI) navigation device 1514 (e.g., a mouse). In one embodiment, the video display unit 1510, the input device 1512, and the UI navigation device 1514 are incorporated into a touch screen display. The computer system 1500 may additionally include a storage device 1516 (e.g., a drive unit), a signal generating device 1518 (e.g., a speaker), a network interface device 1520, and one or more sensors (not shown), such as a global positioning system (GPS) sensor, a compass, an accelerometer, or another sensor. It should be understood that other forms of machines or devices (such as PIG, RC, CP equipment, etc.) capable of implementing the methods discussed in the present disclosure may not be combined with or utilized. Fig.15 Each component described in (such as GPU, video display unit, keyboard, etc.).
[0133] The storage device 1516 includes a machine-readable medium 1522 on which is stored one or more sets of data structures and instructions 1524 (e.g., software) that implement or are utilized by any one or more of the methodologies or functions described herein. The instructions 1524 may also reside, completely or at least partially, in the main memory 1504, the static memory 1506, and / or the processor 1502 during execution of the instructions by the computer system 1500, wherein the main memory 1504, the static memory 1506, and the processor 1502 also constitute machine-readable media.
[0134] Although the machine-readable medium 1522 is shown as a single medium in the example embodiment, 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) storing one or more instructions 1524. The term "machine-readable medium" should also be understood to include any tangible (e.g., non-transitory) medium that can store, encode, or carry instructions for execution by a machine and cause the machine to perform any one or more of the methods of the present disclosure, or can store, encode, or carry data structures used by or associated with these instructions. Therefore, the term "machine-readable medium" should be understood to include, but is not limited to, solid-state memory and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including, but not limited to, semiconductor memory devices (e.g., electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)) and flash memory devices; disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0135] The instructions 1524 may also be transmitted or received over a communication network 1526 using a transmission medium via the network interface device 1520 using any of a number of well-known transmission protocols (e.g., HTTP). Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, a mobile phone network, a plain old telephone (POTS) network, and a wireless data network (e.g., Wi-Fi, 3G and 4G LTE / LTE-A or 5G networks). The term "transmission medium" shall be understood to include any intangible medium that is capable of storing, encoding, or carrying instructions for execution by a machine, and includes digital or analog communication signals or other intangible media that facilitate communication of such software.
[0136] The above detailed description is intended to be illustrative rather than limiting. The scope of the disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Claims
1. A system for generating programming values for a neural stimulation device, the system comprising: at least one processor; as well as at least one storage device comprising instructions that, when executed by the processor, cause the processor to: obtaining an input indicative of a plurality of treatment goals provided by a human patient for treatment with the neural stimulation device, the input providing a rating value associated with each of the plurality of treatment goals; operating an artificial intelligence neural stimulation programming model, the programming model configured to determine parameter outputs for programming the neural stimulation device; identifying a user weight to be applied at an output layer of a programming model, wherein the user weight is based on a rating value associated with each of the plurality of treatment goals; as well as generating a composite output from the programming model by applying the identified user weights at the output layer to a combination of the parameter outputs of the programming model, the composite output providing a user-weighted result from the parameter outputs of the programming model; wherein the composite output is used by the system to program the neurostimulation device for treatment of the human patient, the programming enabling the neurostimulation device to perform neurostimulation treatment of the human patient in accordance with the plurality of treatment goals, and wherein the plurality of treatment targets comprises a combination of at least two treatment types selected from the group consisting of: pain management, sleep quality, medication management, improved mood, reduced depression, or mobility.
2. The system of claim 1, wherein the processor further performs the following operations: Programming parameters of the composite output are communicated to the neural stimulation device.
3. The system of claim 1 or 2, wherein the programming model is implemented as an artificial neural network or a machine learning classifier.
4. The system of claim 3, wherein the programming model is implemented as a deep neural network comprising a plurality of processing layers.
5. The system according to claim 1 or 2, wherein the processor further performs the following operations: obtaining user feedback based on the plurality of treatment goals, the user feedback indicating an effect of a user-indicated programming of the neural stimulation device using the composite output; and An updated user weight is generated to be applied at an output layer of the programming model, the updated user weight resulting from a change to the identified user weight based on the user feedback.
6. The system according to claim 1 or 2, wherein the processor further performs the following operations: obtaining sensor data feedback indicating measurements related to one or more of the plurality of treatment targets; and Updated user weights are generated to be applied at an output layer of the programming model, the updated user weights resulting from changes to the identified user weights based on the sensor data feedback.
7. A system according to claim 1 or 2, wherein the input also indicates a rating value associated with each of the multiple treatment goals, wherein the corresponding rating values associated with the multiple treatment goals are used by the system to determine the value of the identified user weight to be applied at the output layer of the programming model.
8. A system according to claim 1 or 2, wherein the multiple treatment goals are selected from a set of available treatment goals, and wherein the multiple treatment goals are selected based on identification including one or more of the following: patient identification of one or more treatment types to be generated using the programming model, clinician identification of one or more treatment types to be generated using the programming model, or algorithm identification of one or more treatment types to be generated using the programming model.
9. The system according to claim 1 or 2, wherein the processor further performs the following operations: Based on the plurality of treatment goals indicated in the input, activity, behavior, or treatment recommendations are generated for the human patient.
10. The system according to claim 1 or 2, wherein the processor further performs the following operations: obtaining input indicative of a change in the plurality of treatment goals, the change in the plurality of treatment goals being provided by a clinician associated with treatment of the human patient; as well as performing a balancing of the treatment goal with the change in treatment goal based on a comparison between the change in treatment goal provided by the clinician and the treatment goal provided by the human patient; Wherein a balance of the treatment goal and the change in the treatment goal is used by the system to determine a value of the identified user weight to be applied at an output layer of the programming model.
11. The system of claim 10, wherein the input provided by the clinician is obtained in a clinician graphical user interface, and wherein the input provided by the human patient is obtained in a patient graphical user interface.
12. The system of claim 1 or 2, wherein the composite output is used as a parameter for a neurostimulation program of the neurostimulation device, the instructions further causing the processor to: identifying a programmed value for at least one neural stimulation programming parameter in the neural stimulation program based on the composite output; The identified programming values specify operation of the neurostimulation program with respect to one or more of: a pulse pattern, a pulse shape, a spatial location of a pulse, a waveform shape, or a spatial location of a waveform shape to obtain modulated energy provided using multiple leads of the neurostimulation device.
13. A machine-readable medium comprising instructions that, when executed by a machine, cause the machine to perform the operations of the system of any one of claims 1 to 12.
Citation Information
Patent Citations
System and method for neuromorphic controlled adaptive pacing of respiratory muscles and nerves
US20180117334A1