Patent Publication Number: US-11376427-B2

Title: Systems and methods for restoring muscle function to the lumbar spine and kits for implanting the same

Description:
I. CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 15/948,945, filed Apr. 9, 2018, now U.S. Pat. No. 10,449,355, which is a continuation of U.S. patent application Ser. No. 15/202,435, filed Jul. 5, 2016, now U.S. Pat. No. 9,950,159, which is a continuation-in-part application of U.S. patent application Ser. No. 14/792,430, filed Jul. 6, 2015, now U.S. Pat. No. 9,474,906, which is a continuation of U.S. patent application Ser. No. 14/061,614, filed Oct. 23, 2013, now U.S. Pat. No. 9,072,897, the entire contents of each of which are incorporated herein by reference. 
     U.S. patent application Ser. No. 15/948,945, filed Apr. 9, 2018, now U.S. Pat. No. 10,449,355, is also a continuation-in-part of U.S. patent application Ser. No. 13/797,100, filed Mar. 12, 2013, which claims the benefit of U.S. Provisional Patent Application Ser. No. 61/659,334, filed Jun. 13, 2012, the entire contents of each of which are incorporated herein by reference. 
    
    
     II. FIELD OF THE INVENTION 
     This application generally relates to systems and methods for neuromuscular electrical stimulation, including stimulation of tissue associated with control of the lumbar spine for treatment of back pain. 
     III. BACKGROUND OF THE INVENTION 
     The human back is a complicated structure including bones, muscles, ligaments, tendons, nerves and other structures. The spinal column has interleaved vertebral bodies and intervertebral discs, and permits motion in several planes including flexion-extension, lateral bending, axial rotation, longitudinal axial distraction-compression, anterior-posterior sagittal translation, and left-right horizontal translation. The spine provides connection points for a complex collection of muscles that are subject to both voluntary and involuntary control. 
     Back pain in the lower or lumbar region of the back is common. In many cases, the cause of back pain is unknown. It is believed that some cases of back pain are caused by abnormal mechanics of the spinal column. Degenerative changes, injury of the ligaments, acute trauma, or repetitive microtrauma may lead to back pain via inflammation, biochemical and nutritional changes, immunological factors, changes in the structure or material of the endplates or discs, and pathology of neural structures. 
     The spinal stabilization system may be conceptualized to include three subsystems: 1) the spinal column, which provides intrinsic mechanical stability; 2) the spinal muscles, which surround the spinal column and provide dynamic stability; and 3) the neuromotor control unit, which evaluates and determines requirements for stability via a coordinated muscle response. In patients with a functional stabilization system, these three subsystems work together to provide mechanical stability. It is applicant&#39;s realization that low back pain results from dysfunction of these subsystems. 
     The spinal column consists of vertebrae and ligaments, e.g. spinal ligaments, disc annulus, and facet capsules. There has been an abundance of in-vitro work in explanted cadaver spines and models evaluating the relative contribution of various spinal column structures to stability, and how compromise of a specific column structure will lead to changes in the range of motion of spinal motion segments. 
     The spinal column also has a transducer function, to generate signals describing spinal posture, motions, and loads via mechanoreceptors present in the ligaments, facet capsules, disc annulus, and other connective tissues. These mechanoreceptors provide information to the neuromuscular control unit, which generates muscle response patterns to activate and coordinate the spinal muscles to provide muscle mechanical stability. Ligament injury, fatigue, and viscoelastic creep may corrupt signal transduction. If spinal column structure is compromised, due to injury, degeneration, or viscoelastic creep, then muscular stability must be increased to compensate and maintain stability. 
     Muscles provide mechanical stability to the spinal column. This is apparent by viewing cross section images of the spine, as the total area of the cross sections of the muscles surrounding the spinal column is larger than the spinal column itself. Additionally, the muscles have much larger lever arms than those of the intervertebral disc and ligaments. 
     Under normal circumstances, the mechanoreceptors exchange signals with the neuromuscular control unit for interpretation and action. The neuromuscular control unit produces a muscle response pattern based upon several factors, including the need for spinal stability, postural control, balance, and stress reduction on various spinal components. 
     It is believed that in some patients with back pain, the spinal stabilization system is dysfunctional. With soft tissue injury, mechanoreceptors may produce corrupted signals about vertebral position, motion, or loads, leading to an inappropriate muscle response. In addition, muscles themselves may be injured, fatigued, atrophied, or lose their strength, thus aggravating dysfunction of the spinal stabilization system. Conversely, muscles can disrupt the spinal stabilization system by going into spasm, contracting when they should remain inactive, or contracting out of sequence with other muscles. As muscles participate in the feedback loop via mechanoreceptors in the form of muscle spindles and golgi tendon organs, muscle dysfunction may further compromise normal muscle activation patterns via the feedback loops. 
     Trunk muscles may be categorized into local and global muscles. The local muscle system includes deep muscles, and portions of some muscles that have their origin or insertion on the vertebrae. These local muscles control the stiffness and intervertebral relationship of the spinal segments. They provide an efficient mechanism to fine-tune the control of intervertebral motion. The lumbar multifidus, with its vertebra-to-vertebra attachments is an example of a muscle of the local system. Another example is the transverse abdominus, with its direct attachments to the lumbar vertebrae through the thoracolumbar fascia. 
     The multifidus is the largest and most medial of the lumbar back muscles. It has a repeating series of fascicles which stem from the laminae and spinous processes of the vertebrae, and exhibit a constant pattern of attachments caudally. These fascicles are arranged in five overlapping groups such that each of the five lumbar vertebrae gives rise to one of these groups. At each segmental level, a fascicle arises from the base and caudolateral edge of the spinous process, and several fascicles arise, by way of a common tendon, from the caudal tip of the spinous process. Although confluent with one another at their origin, the fascicles in each group diverge caudally to assume separate attachments to the mamillary processes, the iliac crest, and the sacrum. Some of the deep fibers of the fascicles that attach to the mamillary processes attach to the capsules of the facet joints next to the mamillary processes. The fascicles arriving from the spinous process of a given vertebra are innervated by the medial branch of the dorsal ramus that issues from below that vertebra. The dorsal ramus is part of spinal nerve roots formed by the union of dorsal root fibers distal to the dorsal root ganglion and ventral root fibers. 
     The global muscle system encompasses the large, superficial muscles of the trunk that cross multiple motion segments, and do not have direct attachment to the vertebrae. These muscles are the torque generators for spinal motion, and control spinal orientation, balance the external loads applied to the trunk, and transfer load from the thorax to the pelvis. Global muscles include the oblique internus abdominus, the obliquus externus abdmonimus, the rectus abdominus, the lateral fibers of the quadratus lumborum, and portions of the erector spinae. 
     Normally, load transmission is painless. Over time, dysfunction of the spinal stabilization system is believed to lead to instability, resulting in overloading of structures when the spine moves beyond its neutral zone. The neutral zone is a range of intervertebral motion, measured from a neutral position, within which the spinal motion is produced with a minimal internal resistance. High loads can lead to inflammation, disc degeneration, facet joint degeneration, and muscle fatigue. Since the endplates and annulus have a rich nerve supply, it is believed that abnormally high loads may be a cause of pain. Load transmission to the facets also may change with degenerative disc disease, leading to facet arthritis and facet pain. 
     For patients believed to have back pain due to instability, clinicians offer treatments intended to reduce intervertebral motion. Common methods of attempting to improve muscle strength and control include core abdominal exercises, use of a stability ball, and Pilates. Spinal fusion is the standard surgical treatment for chronic back pain. Following fusion, motion is reduced across the vertebral motion segment. Dynamic stabilization implants are intended to reduce abnormal motion and load transmission of a spinal motion segment, without fusion. Categories of dynamic stabilizers include interspinous process devices, interspinous ligament devices, and pedicle screw-based structures. Total disc replacement and artificial nucleus prostheses also aim to improve spine stability and load transmission while preserving motion. 
     There are a number of problems associated with current implants that aim to restore spine stabilization. First, it is difficult to achieve uniform load sharing during the entire range of motion if the location of the optimum instant axis of rotation is not close to that of the motion segment during the entire range of motion. Second, cyclic loading of dynamic stabilization implants may cause fatigue failure of the implant, or the implant-bone junction, e.g. screw loosening. Third, implantation of these systems requires surgery, which may cause new pain from adhesions, or neuroma formation. Moreover, surgery typically involves cutting or stripping ligaments, capsules, muscles, and nerve loops, which may interfere with the spinal stabilization system. 
     Functional electrical stimulation (FES) is the application of electrical stimulation to cause muscle contraction to re-animate limbs following damage to the nervous system such as with stroke or spine injury. FES has been the subject of much prior art and scientific publications. In FES, the goal generally is to bypass the damaged nervous system and provide electrical stimulation to nerves or muscles directly which simulates the action of the nervous system. One lofty goal of FES is to enable paralyzed people to walk again, and that requires the coordinated action of several muscles activating several joints. The challenges of FES relate to graduation of force generated by the stimulated muscles, and the control system for each muscle as well as the system as a whole to produce the desired action such as standing and walking. 
     With normal physiology, sensors in the muscle, ligaments, tendons and other anatomical structures provide information such as the force a muscle is exerting or the position of a joint, and that information may be used in the normal physiological control system for limb position and muscle force. This sense is referred to as proprioception. In patients with spinal cord injury, the sensory nervous system is usually damaged as well as the motor system, and thus the afflicted person loses proprioception of what the muscle and limbs are doing. FES systems often seek to reproduce or simulate the damaged proprioceptive system with other sensors attached to a joint or muscle. 
     For example, in U.S. Pat. No. 6,839,594 to Cohen, a plurality of electrodes are used to activate selected groups of axons in a motor nerve supplying a skeletal muscle in a spinal cord patient (thereby achieving graduated control of muscle force) and one or more sensors such as an accelerometer are used to sense the position of limbs along with electrodes attached to muscles to generate an electromyogram (EMG) signal indicative of muscle activity. In another example, U.S. Pat. No. 6,119,516 to Hock, describes a biofeedback system, optionally including a piezoelectric element, which measures the motions of joints in the body. Similarly a piezoelectric crystal may be used as a muscle activity sensor as described by U.S. Pat. No. 5,069,680 to Grandjean. 
     FES has also been used to treat spasticity, characterized by continuous increased muscle tone, involuntary muscle contractions, and altered spinal reflexes which leads to muscle tightness, awkward movements, and is often accompanied by muscle weakness. Spasticity results from many causes including cerebral palsy, spinal cord injury, trauma, and neurodegenerative diseases. U.S. Pat. No. 7,324,853 to Ayal describes apparatus and method for electrically stimulating nerves that supply muscles to modify the muscle contractions that lead to spasticity. The apparatus includes a control system configured to analyze electrical activity of one or more muscles, limb motion and position, and mechanical strain in an anatomical structure. 
     Neuromuscular Electrical Stimulation (NMES) is a subset of the general field of electrical stimulation for muscle contraction, as it is generally applied to nerves and muscles which are anatomically intact, but malfunctioning in a different way. NMES may be delivered via an external system or, in some applications, via an implanted system. 
     NMES via externally applied skin electrodes has been used to rehabilitate skeletal muscles after injury or surgery in the associated joint. This approach is commonly used to aid in the rehabilitation of the quadriceps muscle of the leg after knee surgery. Electrical stimulation is known to not only improve the strength and endurance of the muscle, but also to restore malfunctioning motor control to a muscle. See, e.g., Gondin et al., “Electromyostimulation Training Effects on Neural Drive and Muscle Architecture”, Medicine &amp; Science in Sports &amp; Exercise 37, No. 8, pp. 1291-99 (August 2005). 
     An implanted NMES system has been used to treat incontinence by stimulating nerves that supply the urinary or anal sphincter muscles. For example, U.S. Pat. No. 5,199,430 to Fang describes implantable electronic apparatus for assisting the urinary sphincter to relax. 
     The goals and challenges of rehabilitation of anatomically intact (i.e., non-pathological) neuromuscular systems are fundamentally different from the goals and challenges of FES for treating spinal injury patients or people suffering from spasticity. In muscle rehabilitation, the primary goal is to restore normal functioning of the anatomically intact neuromuscular system, whereas in spinal injury and spasticity, the primary goal is to simulate normal activity of a pathologically damaged neuromuscular system. 
     It would therefore be desirable to provide an apparatus and method to rehabilitate muscle associated with control of the lumbar spine to treat back pain. 
     It further would be desirable to provide an apparatus and method to restore muscle function of local segmental muscles associated with the lumbar spine stabilization system. 
     IV. SUMMARY OF THE INVENTION 
     The present invention overcomes the drawbacks of previously-known systems by providing systems and methods for restoring muscle function to the lumbar spine to treat, for example, low back pain. In accordance with one aspect of the present invention a kit for use in restoring muscle function of the lumbar spine is provided. The kit may include an electrode lead having one or more electrodes disposed thereon, an implantable pulse generator (IPG), and a tunneler system configured to subcutaneously tunnel between an incision site for implantation of the distal end of the lead and an incision site for the IPG such that the proximal end of the lead may be coupled to the IPG for full implantation of the lead and IPG. The one or more electrodes may be implanted in or adjacent to tissue associated with control of the lumbar spine, e.g., a nervous tissue, a muscle, a ligament, or a joint capsule, and may be coupled to the IPG via the electrode lead to provide electrical stimulation to the target tissue. The tunneler system may include tunneler, a sheath, and a tunneler tip. The tunneler may have a handle on the proximal end and may be removably coupled to the tunneler tip at a distal portion of the tunnel for creating a subcutaneous passage. The tunneler tip may be bullet-shaped or facet-shaped. The sheath may be positioned over the tunneler between the handle and the tunneler tip such that the sheath may be disposed temporarily in the subcutaneous passage to permit the proximal portion of the lead to be fed through the sheath to the IPG for coupling to the IPG. 
     The IPG may include a first communications circuit, and the kit may also include a handheld activator having a second communications circuit and an external programmer having a third communications circuit. The activator may transfer a stimulation command to the IPG via the first and second communications circuits, and the external programmer may transfer programming data to the IPG via the first and third communications circuits, such that the stimulation command directs the programmable controller to provide electrical stimulation in accordance with the programming data. 
     The programmable controller may direct one or more electrodes to stimulate target tissue, e.g., a dorsal ramus nerve, or fascicles thereof, that innervate a multifidus muscle, and/or nervous tissue associated with a dorsal root ganglia nerve. The stimulation of both the dorsal ramus nerve, or fascicles thereof, that innervate a multifidus muscle, and the nervous tissue associated with a dorsal root ganglia nerve may occur simultaneously, in an interleaved manner, and/or discretely. In addition, the dorsal ramus nerve, or fascicles thereof, may be stimulated at the same or different stimulation parameters than the stimulation parameters used for the nervous tissue associated with the dorsal root ganglia nerve. 
     The electrode lead may have a strain relief portion. In addition, the electrode lead may include a first fixation element, and a second fixation element distal to the first fixation element, wherein the first fixation element is angled distally relative to the electrode lead and the second fixation element is angled proximally relative to the electrode lead in a deployed state. As such, the first and second fixation elements may sandwich a first anchor site, e.g., muscle tissue such as the intertransversarii, therebetween to anchor the electrode lead to the first anchor site. The second fixation element may be radially offset relative to the first fixation element such that the first and the second fixation elements do not overlap when collapsed inward toward the electrode lead in a delivery state and there is a space between the distal ends of the first and second fixation elements in the collapsed position. In addition, the electrode lead may include third and fourth fixation elements structured similarly to the first and second fixation elements that may sandwich a second anchor site, e.g., muscle, therebetween to anchor the electrode lead to the second anchor site. In one embodiment, the fixation elements may be foldable planar arms curved radially inward. 
     In accordance with another aspect of the present invention, a method for restoring muscle function to the lumbar spine to treat low back pain using the kit described above is provided. First, the distal end of the electrode lead is implanted at a first incision site so that the one or more electrodes are disposed in or adjacent to tissue associated with control of the lumbar spine, e.g., a nervous tissue, a muscle, a ligament, or a joint capsule. For example, the one or more electrodes may be implanted in or adjacent to the dorsal ramus nerve or fascicles thereof that innervate the multifidus muscle. Next, the clinician tunnels the tunneler, the sheath, and the tunneler tip subcutaneously between the first incision site and a second incision site such that the sheath, having the tunneler disposed therein, spans the first and second incision sites. The tunneler tip is then decoupled from the tunneler, and the tunneler is removed from the sheath while the sheath continues to span the first and second incision sites. Next, the clinician feeds the proximal end of the electrode lead through an end of the sheath until the proximal end of the electrode lead is exposed at the other end of the sheath, and then removes the sheath from the subcutaneous tunnel between the first and second incision sites. The proximal end of the electrode lead is coupled to the IPG either within the second incision site or outside the second incision site. The IPG is implanted at the second incision site. 
     In addition, the clinician may instruct the external programmer to transfer programming data to the IPG, and the clinician or the patient may operate the handheld activator to command the IPG to provide electrical stimulation to stimulate the tissue, e.g., a dorsal ramus nerve, or fascicles thereof, that innervate a multifidus muscle, and/or a nervous tissue associated with a dorsal root ganglia nerve, via the one or more electrodes responsive to the programming data. 
     The external programmer may be coupled to a computer, e.g., a physician&#39;s computer, configured to run software. The software preferably causes the programming data to be displayed, e.g., on the computer&#39;s display, and permits selection and adjustment of such programming data based on user input. 
     The programming data transferred between the external programmer and the IPG preferably includes at least one of: pulse amplitude, pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, or electrode configuration. For example, a physician may adjust a stimulation rate or cause a treatment session to be started on the external programmer or on the programming system software via the computer and programming data will be sent to the IPG to execute such commands. 
     The stimulation commands transferred between the activator and the IPG preferably include at least one of: a command to start a treatment session or stop the treatment session; a command to provide a status of the implantable pulse generator; or a request to conduct an impedance assessment. For example, a user, e.g., physician, patient, caretaker, may cause a treatment session to be started on the activator and a command will be sent to the IPG to execute such command. The activator may have a user interface configured to receive user input to cause a stimulation command to be generated. 
     The one or more electrodes are configured to be implanted in or adjacent to at least one of nervous tissue, a muscle, a ligament, or a joint capsule. The system may include a lead coupled to the IPG and having the electrode(s) disposed thereon. The lead may be coupled to a first fixation element configured to anchor the lead to an anchor site, e.g., muscle, bone, nervous tissue, a ligament, and/or a joint capsule. The lead may be further coupled to a second fixation element, distal to the first fixation element. In one embodiment, the first fixation element is angled distally relative to the lead and the second fixation element is angled proximally relative to the lead such that the first and second fixation elements are configured to sandwich the anchor site therebetween. 
     The programmable controller of the IPG may be programmed with, for example, stimulation parameters and configured to adjust stimulation parameters based on receipt of programming data from the external programmer. In one embodiment, the programmable controller is programmed to direct the one or more electrodes to stimulate the tissue at a pulse amplitude between about 0.1-7 mA or about 2-5 mA, a pulse width between about 20-500 μs or about 100-400 μs, and a stimulation rate between about 1-20 Hz or about 15-20 Hz. In addition, the programmable controller may be programmed to direct the one or more electrodes to stimulate the tissue in a charge-balanced manner. Further, the programmable controller may be programmed to direct the one or more electrodes to stimulate the tissue with increasing pulse amplitudes to a peak pulse amplitude and then stimulate with decreasing pulse amplitudes. In one embodiment, the programmable controller is programmed to direct the one or more electrodes to stimulate the dorsal ramus nerve that innervates the multifidus muscle. The programmable controller also may be programmed to direct the one or more electrodes to stimulate the fascicles of the dorsal ramus nerve that innervates the multifidus muscle. 
     The first, second, and/or third communication circuits may be inductive and/or employ RF transceivers. 
     In one embodiment, the handheld activator includes a pad coupled to a handheld housing by a cable. Preferably, the cable has a sufficient length to enable a user to place the pad in extracorporeal proximity to the IPG while viewing the handheld housing. 
     In accordance with another aspect of the present invention, a method for restoring muscle function of the lumbar spine to reduce back pain is provided. The method includes providing one or more electrodes, an implantable pulse generator, an external programmer, and a handheld activator; implanting the one or more electrodes in or adjacent to tissue associated with control of the lumbar spine; implanting the implantable pulse generator in communication with the one or more electrodes; transferring programming data to the implantable pulse generator from the external programmer; and operating the handheld activator to command the implantable pulse generator to stimulate the tissue with the one or more electrodes responsive to the programming data. 
    
    
     
       V. BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic view of an exemplary embodiment of a stimulator system constructed in accordance with the principles of the present invention. 
         FIG. 2A  shows an exemplary electrode lead of the stimulator system of  FIG. 1 . 
         FIGS. 2B and 2C  show alternative orientations of the fixation elements of  FIG. 2A , wherein  FIG. 2B  shows a side view of an exemplary electrode lead and  FIG. 2C  shows a front view of the lead of  FIG. 2B . 
         FIG. 2D  illustrates another exemplary electrode lead having first and second subsets of electrodes and additional fixation elements. 
         FIG. 2E  shows an alternative of the electrode lead of  FIG. 2D , wherein the electrode lead only includes fixation elements at the first subset of electrodes, but not at the second subset. 
         FIG. 2F  shows another embodiment of the electrode lead of  FIG. 2D , with an alternative arrangement of fixation elements at the second subset of electrodes. 
         FIG. 2G  shows an alternative embodiment of an electrode lead for use in the stimulator system, wherein the lead is transitionable between folded and planar positions. 
         FIG. 3A  shows an exemplary implantable pulse generator (IPG) of the stimulator system of  FIG. 1 . 
         FIGS. 3B through 3D  show alternative generalized block diagrams of the IPG of  FIG. 3A , wherein the IPG of  FIG. 3B  has an inductive communications circuit, the IPG of  FIG. 3C  has a RF transceiver communications circuit, and the IPG of  FIG. 3D  has an inductive communications circuit and a RF transceiver communications circuit. 
         FIG. 4A  shows an exemplary activator of the stimulator system of  FIG. 1 . 
         FIGS. 4B and 4C  show alternative generalized block diagrams of the activator of  FIG. 4A , wherein the activator of  FIG. 4B  has an inductive communications circuit and the activator of  FIG. 4C  has a RF transceiver communications circuit. 
         FIG. 5A  shows an exemplary external programmer of the stimulator system of  FIG. 1 . 
         FIGS. 5B and 5C  show alternative generalized block diagrams of the external programmer of  FIG. 5A , wherein the external programmer of  FIG. 5B  has an inductive communications circuit and the external programmer of  FIG. 5C  has a RF transceiver communications circuit. 
         FIG. 6  is a block diagram of the functional components of an exemplary software-based programming system of the stimulator system of  FIG. 1 . 
         FIGS. 7A through 7D  show an exemplary method for implanting a distal end of an electrode lead in accordance with the principles of the present invention. 
         FIGS. 7E through 7G  show another exemplary method for implanting a distal end of another electrode lead in accordance with the principles of the present invention. 
         FIG. 7H  shows the distal ends of multiple electrode leads implanted using the exemplary method of  FIGS. 7A through 7D . 
         FIG. 7I  shows components of an exemplary tunneler system for tunneling the proximal end of an electrode lead subcutaneously for coupling to an IPG. 
         FIG. 7J  shows the components of the tunneler system of  FIG. 7I  in an assembled state. 
         FIG. 7K  illustrates a flow chart of an exemplary method for using the tunneler system of  FIGS. 7I and 7J  to tunnel the proximal end of an electrode lead subcutaneously for coupling to an IPG. 
         FIG. 8  shows a graph depicting an exemplary charge-balanced electrical stimulation waveform that may be delivered by the electrodes and IPG of the present invention. 
         FIG. 9  shows a graph depicting an exemplary stimulation pulse train that may be delivered by the electrodes and IPG of the present invention. 
         FIG. 10  shows a graph depicting an exemplary session that may be delivered by the electrodes and IPG of the present invention. 
         FIGS. 11-15  are exemplary screenshots illustrating various aspects of the user interface of the software-based programming system of the present invention. 
     
    
    
     VI. DETAILED DESCRIPTION OF THE INVENTION 
     The neuromuscular stimulation system of the present invention comprises implantable devices for facilitating electrical stimulation to tissue within a patient&#39;s back and external devices for wirelessly communicating programming data and stimulation commands to the implantable devices. The devices disclosed herein may be utilized to stimulate tissue associated with local segmental control of the lumbar spine in accordance with the programming data to rehabilitate the tissue over time. In accordance with the principles of the present invention, the stimulator system may be optimized for use in treating back pain of the lumbar spine. 
     Referring to  FIG. 1 , an overview of an exemplary stimulator system constructed in accordance with the principles of the present invention is provided. In  FIG. 1 , components of the system are not depicted to scale on either a relative or absolute basis. Stimulator system  100  includes electrode lead  200 , implantable pulse generator (IPG)  300 , activator  400 , optional magnet  450 , external programmer  500 , and software-based programming system  600 . 
     Electrode lead  200  includes lead body  202  having a plurality of electrodes, illustratively, electrodes  204 ,  206 ,  208 , and  210 . Electrode lead  200  is configured for implantation in or adjacent to tissue, e.g., nervous tissue, muscle, a ligament, and/or a joint capsule including tissue associated with local segmental control of the lumbar spine. Electrode lead  200  is coupled to IPG  300 , for example, via connector block  302 . IPG  300  is configured to generate pulses such that electrodes  204 ,  206 ,  208 , and/or  210  deliver neuromuscular electrical stimulation (“NMES”) to target tissue. In one embodiment, the electrodes are positioned to stimulate a peripheral nerve where the nerve enters skeletal muscle, which may be one or more of the multifidus, transverse abdominus, quadratus lumborum, psoas major, internus abdominus, obliquus externus abdominus, and erector spinae muscles. Such stimulation may induce contraction of the muscle to restore neural control and rehabilitate the muscle, thereby improving muscle function of local segmental muscles of the lumbar spine, improving lumbar spine stability, and reducing back pain. 
     IPG  300  is controlled by, and optionally powered by, activator  400 , which includes control module  402  coupled to pad  404 , e.g., via cable  406 . Control module  402  has user interface  408  that permits a user, e.g., patient, physician, caregiver, to adjust a limited number of operational parameters of IPG  300  including starting and stopping a treatment session. Control module  402  communicates with IPG  300  via pad  404 , which may comprise an inductive coil or RF transceiver configured to communicate information in a bidirectional manner across a patient&#39;s skin to IPG  300  and, optionally, to transmit power to IPG  300 . 
     Stimulator system  100  also may include optional magnet  450  configured to transmit a magnetic field across a patient&#39;s skin to IPG  300  such that a magnetic sensor of IPG  300  senses the magnetic field and IPG  300  starts or stops a treatment session responsive to the sensed magnetic field. 
     In  FIG. 1 , software-based programming system  600  is installed and runs on a conventional laptop computer, and is used by the patient&#39;s physician together with external programmer  500  to provide programming to IPG  300 . During patient visits, external programmer  500  may be coupled, either wirelessly or using a cable such as cable  502 , to the physician&#39;s computer such that software-based programming system  600  may download for review data stored on IPG  300  via external programmer  500 . Software-based programming system  600  also may transfer programming data to IPG  300  via external programmer  500  to reprogram stimulation parameters programmed into IPG  300 . For example, programming system  600  may be used to program and adjust parameters such as pulse amplitude (voltage or current), pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, and electrode configuration. Programming system  600  also may be configured to upload and store data retrieved from IPG  300  to a remote server for later access by the physician. 
     Referring now to  FIGS. 2A-2G , various embodiments of the electrode lead are described. In  FIG. 2A , an exemplary embodiment of electrode lead  200  is described. Electrode lead  200  contains a plurality of electrodes  204 ,  206 ,  208 , and  210 , disposed at distal end  211  of lead body  202 , that are configured to be implanted in or adjacent to tissue, such as nervous tissue, muscle, ligament, and/or joint capsule. Lead body  202  is a suitable length for positioning the electrodes in or adjacent to target tissue while IPG is implanted in a suitable location, e.g., the lower back. For example, lead body  202  may be between about 30 and 80 cm in length, and preferably about 45 or about 65 cm in length. Lead body  202  is also of a suitable diameter for placement, for example, between about 1 and 2 mm in diameter and preferably about 1.3 mm. Electrodes  204 ,  206 ,  208 , and  210  may be configured to stimulate the tissue at a stimulation frequency and at a level and duration sufficient to cause muscle to contract and may be ring electrodes, partial electrodes, segmented electrodes, nerve cuff electrodes placed around the nerve innervating the target muscle, or the like. Electrodes  204 ,  206 ,  208 ,  210  are a suitable length(s) and spaced apart a suitable distance along lead body  202 . For example, electrodes  204 ,  206 ,  208 ,  210  may be about 2-5 mm in length, and preferably about 3 mm, and may be spaced apart about 2-6 mm, and preferably about 4 mm. As will also be understood by one of skill in the art, an electrode lead may contain more or fewer than four electrodes. 
     Also at distal end  211 , first and second fixation elements  212  and  214  are coupled to lead body  202  via first and second fixation rings  216  and  218 , respectively. First and second fixation elements  212  and  214  are configured to sandwich an anchor site, e.g., muscle, therebetween to secure electrode lead  200  at a target site without damaging the anchor site. First and second fixation elements  212  and  214  may include any number of projections, generally between 1 and 8 each and preferably 3 or 4 each. The radial spacing between the projections along the respective fixation ring is defined by the anchor site around which they are to be placed. Preferably, the projections of first and second fixation elements  212  and  214  are equidistally spaced apart radially, i.e., 180 degrees with two projections, 120 degrees with three projections, 90 degrees with four projections, etc. First fixation elements  212  are angled distally relative to lead body  202 , and resist motion in the first direction and prevent, in the case illustrated, insertion of the lead too far, as well as migration distally. Second fixation elements  214  are angled proximally relative to lead body  202  and penetrate through a tissue plane and deploy on the distal side of the tissue immediately adjacent to the target of stimulation. First fixation elements  212  are configured to resist motion in the opposite direction relative to second fixation elements  214 . This combination prevents migration both proximally and distally, and also in rotation. In the illustrated embodiment, first fixation elements  212  are positioned between electrode  208  and distal most electrode  210  and second fixation elements  214  are positioned between distal most electrode  210  and end cap  220 . The length of and spacing between the fixation elements is defined by the structure around which they are to be placed. In one embodiment, the length of each fixation element is between about 1.5-4 mm and preferably about 2.5 mm and the spacing is between about 2 mm and 10 mm and preferably about 6 mm. First and second fixation elements  212  and  214  are configured to collapse inward toward lead body  202  in a delivery state and to expand, e.g., due to retraction of a sheath, in a deployed state. 
     Referring now to  FIGS. 2B and 2C , an alternative embodiment of electrode lead  200  is described. Electrode lead  200 ′ is constructed similarly to electrode lead  200  of  FIG. 2A , wherein like components are identified by like-primed reference numbers. Thus, for example, lead body  202 ′ in  FIGS. 2B and 2C  corresponds to lead body  202  of  FIG. 2A , etc. As will be observed by comparing  FIGS. 2B and 2C  with  FIG. 2A , electrode lead  200 ′ includes fixation elements that are radially offset with respect to each other. For example, first fixation elements  212 ′ may be configured to be radially offset relative to second fixation elements  214 ′ by prefabricating at least one of first fixation ring  216 ′ and second fixation ring  218 ′ relative to lead body  202 ′ such that at least one of first fixation elements  212 ′ and second fixation elements  214 ′ is radially offset with respect to the other. For example, as illustrated in  FIG. 2C , first fixation elements  212 ′ has three projections  203  and second fixation elements  214 ′ has three projections  205  and, preferably, projections  203  are radially offset relative to projections  205  by a predetermined angle, e.g., approximately 60 degrees. However, as appreciated by one of ordinary skill in the art, projections  203  may be radially offset relative to projections  205  by other angles to achieve the benefits in accordance with the present invention described below. Projections  203  and  205  may be formed of a flexible material, e.g., a polymer, and may be collapsible and self-expandable when deployed. For example, projections  203  and  205  may collapse inward toward lead body  202 ′ in a delivery state such that projections  203  and  205  are generally parallel to the longitudinal axis of lead body  202 ′ within a sheath. In the delivery state, the radially offset first and second fixation elements  212 ′ and  214 ′ need not overlap within a sheath. Further, projections  203  and  205  may expand, e.g., due to retraction of the sheath, in a deployed state such that projections  203  are angled distally relative to lead body  202 ′, and resist motion in the first direction and prevent, in the case illustrated, insertion of the lead too far, as well as migration distally, and projections  205  are angled proximally relative to lead body  202 ′ to resist motion in an opposite direction relative to first fixation elements  212 ′. This combination prevents migration of the lead both proximally and distally, and also in rotation. 
     Referring now to  FIG. 2D , another embodiment of electrode lead  200  is described. Electrode lead  200 ″ is constructed similarly to electrode lead  200  of  FIG. 2A , wherein like components are identified by like-primed reference numbers. Thus, for example, lead body  202 ″ in  FIG. 2D  corresponds to lead body  202  of  FIG. 2A , etc. As will be observed by comparing  FIG. 2D  with  FIG. 2A , electrode lead  200 ″ includes additional electrodes and fixation elements distal to the first and second fixation elements. Specifically, electrode lead  200 ″ contains a first subset of electrodes comprising electrodes  204 ″,  206 ″,  208 ″, and  210 ″, disposed along lead body  202 ″, that are configured to be implanted in or adjacent to tissue, such as nervous tissue, muscle, ligament, and/or joint capsule. Further, electrode lead  200 ″ contains a second subset of electrodes comprising electrodes  254  and  256 , disposed at the distal end of lead body  202 ″ distal to the first subset of electrodes, that are configured to be implanted in or adjacent to the same or different tissue, such as nervous tissue, muscle, ligament, and/or joint capsule. For example, in one embodiment, one or more electrodes of the first subset of electrodes are configured to be implanted in or adjacent to the dorsal ramus nerve or fascicles thereof for stimulation and one or more electrodes of the second subset of electrodes are configured to be implanted in or adjacent to the dorsal root ganglion for stimulation. Lead body  202 ″ may be structurally similar to lead body  200  of  FIG. 2A  described above and is a suitable length for positioning the first and second subset of electrodes in or adjacent to target tissue(s) while the IPG is implanted in a suitable location, e.g., the lower back, although lead body  202 ″ may be extended at the distal end of additional electrodes, Electrodes  204 ″,  206 ″,  208 ″,  210 ″,  254  and  256  may be configured to stimulate the tissue(s) at a stimulation frequency and at a level and duration sufficient to cause muscle to contract and may be ring electrodes, partial electrodes, segmented electrodes, nerve cuff electrodes placed around the nerve innervating the target muscle, or the like. Alternatively, the first subset of electrodes may be configured to stimulate the respective target tissue with a stimulation regime, e.g., stimulation frequency, level, and duration, that is different from the stimulation regime utilized by the second subset of electrodes to stimulate the respective target tissue. Electrodes  204 ″,  206 ″,  208 ″,  210 ″,  254  and  256  may be structurally similar, with regard to length and spacing, to the electrodes of  FIG. 2A  described above. Further, the first subset of electrodes may be spaced apart a suitable distance from the second subset of electrodes, such that the electrode lead may stimulate different portions of the same tissue or different tissues simultaneously and/or substantially simultaneously. As will also be understood by one of skill in the art, the first subset of electrodes may contain more or fewer than four electrodes and the second subset of electrodes may contain more or fewer than two electrodes on lead body  202 ″. 
     Also at a location along lead body  202 ″, first and second fixation elements  212 ″ and  214 ″ are coupled to lead body  202 ″ via first and second fixation rings  216 ″ and  218 ″, respectively, and in proximity to at least one electrode of the first subset of electrodes. Additionally at the distal end of lead body  202 ″, third and fourth fixation elements  262  and  264  are coupled to lead body  202 ″ via third and fourth fixation rings  266  and  268 , respectively, and in proximity to at least one electrode of the second subset of electrodes. First and second fixation elements  212 ″ and  214 ″ are configured to sandwich a first anchor site, e.g., muscle such as the intertransversarii or nervous tissue, therebetween to secure the first subset of electrodes of electrode lead  200 ″ at a target site without damaging the first anchor site. Third and fourth fixation elements  262  and  264  are configured to sandwich a second anchor site, e.g., muscle or nervous tissue, therebetween to secure the second subset of electrodes of electrode lead  200 ″ at another target site without damaging the second anchor site. 
     First and second fixation elements  212 ″ and  214 ″ and third and fourth fixation elements  262  and  264  may be structurally similar, with regard to length and spacing, to the fixation elements of  FIG. 2A  described above. Fixation elements  212 ″,  214 ″,  262 , and  264  are configured to collapse inward toward lead body  202 ″ in a delivery state and to expand, e.g., due to retraction of a sheath, in a deployed state. Similar to the embodiment illustrated in  FIGS. 2B and 2C , second fixation element  214 ″ may be configured to be radially offset relative to first fixation element  212 ″ by prefabricating and coupling first fixation ring  216 ″ to lead body  202 ″ offset a predetermined angle from second fixation ring  218 ″ such that the projections are offset from one another by the predetermined angle, e.g., 60 degrees. Similarly, third fixation element  262  may be configured to be radially offset relative to fourth fixation element  264  by prefabricating and coupling third fixation ring  266  to lead body  202 ″ offset a predetermined angle from fourth fixation ring  268  such that the projections are offset from one another by the predetermined angle, e.g., 60 degrees. Thus, first fixation element  212 ″ and second fixation element  214 ″ need not overlap in the delivery state within the sheath, and third fixation element  262  and fourth fixation element  264  need not overlap in the delivery state within the sheath. 
     In addition, first and fourth fixation elements  212 ″ and  264  are angled distally relative to lead body  202 ″ in a deployed state, and resist motion in a first direction and prevent, in the case illustrated, insertion of the lead too far, as well as migration distally. Second and third fixation elements  214 ″ and  262  are angled proximally relative to lead body  202 ″ in a deployed state, and resist motion in a second direction opposite to the first direction. This combination prevents migration both proximally and distally, and also in rotation. In the illustrated embodiment, first fixation elements  212 ″ are positioned between electrode  208 ″ and electrode  210 ″ and second fixation elements  214 ″ are positioned between electrode  210 ″ and electrode  254 . Third fixation elements  262  are positioned between distal most electrode  256  and distal cap  220 ″ and fourth fixation elements  264  are positioned between electrode  254  and distal most electrode  256 . 
     Referring now to  FIG. 2E , another embodiment of electrode lead  200  is described. Electrode lead  200 ′″ is constructed similarly to electrode lead  200  of  FIG. 2A , wherein like components are identified by like-primed reference numbers. Thus, for example, lead body  202 ′″ in  FIG. 2E  corresponds to lead body  202  of  FIG. 2A , etc. As will be observed by comparing  FIG. 2E  with  FIG. 2A , electrode lead  200 ′″ includes additional electrodes distal to the first and second fixation elements. Specifically, electrode lead  200 ′″ may include a first subset of electrodes comprising electrodes  206 ′″,  208 ′″ and  210 ′″ and a second subset of electrodes comprising electrodes  254 ′ and  256 ′. The second subset of electrodes are positioned distal to the first subset of electrodes relative to lead body  202 ′″. Electrode lead  200 ′″ may further include first and second fixation elements  212 ′″ and  214 ′″ along lead body  202 ′″ in proximity to at least one electrode of the first subset of electrodes. In the illustrated embodiment, first fixation elements  212 ′″ are positioned between electrode  208 ′″ and electrode  210 ′″ and second fixation elements  214 ′″ are positioned between electrode  210 ′″ and electrode  254 ′. As will also be understood by one of skill in the art, the first subset of electrodes may contain more or fewer than three electrodes and the second subset of electrodes may contain more or fewer than two electrodes on lead body  202 ′″, and the first and second subsets of electrodes may be structurally similar to the first and second subsets of electrodes described in  FIG. 2D  above. 
     Similar to the embodiment illustrated in  FIGS. 2B and 2C , second fixation elements  214 ′″ may be configured to be radially offset relative to first fixation elements  212 ′″ by prefabricating and coupling first fixation ring  216 ′″ to lead body  202 ″ offset a predetermined angle from second fixation ring  218 ″ such that the projections are offset from one another by the predetermined angle, e.g., 60 degrees. In addition, first fixation elements  212 ′″ is angled distally relative to lead body  202 ′″ in a deployed state, and resist motion in a first direction and prevent, in the case illustrated, insertion of the lead too far, as well as migration distally. Second fixation elements  214 ′″ is angled proximally relative to lead body  202 ′″ in a deployed stated, and resist motion in a second direction opposite to the first direction. This combination prevents migration both proximally and distally, and also in rotation. 
     Referring now to  FIG. 2F , another embodiment of electrode lead  200  is described. Electrode lead  200 ″″ is constructed similarly to electrode lead  200  of  FIG. 2A , wherein like components are identified by like-primed reference numbers. Thus, for example, lead body  202 ″″ in  FIG. 2F  corresponds to lead body  202  of  FIG. 2A , etc. As will be observed by comparing  FIG. 2F  with  FIG. 2A , electrode lead  200 ″″ includes three fixation elements rather than four fixation elements. Specifically,  FIG. 2F  illustrates an embodiment where the electrode lead may include first, second, and third fixation elements  212 ″″,  214 ″″, and  262 ′. In the illustrated embodiment, first fixation elements  212 ″″ are positioned between electrode  208 ″″ and electrode  210 ″″, second fixation elements  214 ″″ are positioned between electrode  210 ″″ and electrode  254 ″, and third fixation elements  262 ′ are positioned between distal most electrode  256 ″ and end cap  220 ′″. As will also be understood by one of skill in the art, the fixation elements may be positioned along the electrode lead to secure any one of the other electrodes disposed thereon at a target site. 
     While  FIG. 2A  illustrates fixation elements  212  and  214  on lead body  202 , it should be understood that other fixation elements may be used to anchor electrode lead  200  at a suitable location including the fixation elements described in U.S. Pat. No. 9,079,019 to Crosby and U.S. Patent Application Pub. No. 2013/0338730 to Shiroff, both assigned to the assignee of the present invention, the entire contents of each of which is incorporated herein by reference. For example,  FIG. 2G  illustrates planar foldable lead body  201  and fixation elements  246 ,  248  and  250 . Fixation elements  246 ,  248  and  250  are foldable planar arms, transitionable between a folded position in a delivery state and a planar position or a partially planar position in a deployed state. Further, fixation elements  246 ,  248  and  250  may be curved radially inward to facilitate in recruiting muscle or nervous tissue and/or to anchor the electrode lead at a suitable location. Lead body  201  and fixation elements  246 ,  248  and  250  may collapse radially inward in a delivery state and may expand, e.g., due to retraction of a sheath, in a deployed state. In addition, lead body  201  may include flexible electrodes  232 ,  234 ,  236 ,  238 ,  240 ,  242 , and  244  along lead body  201 . The electrodes may be partial cuff electrodes, or any flexible electrode commercially available capable of curving radially inward along with lead body  201  in a delivery state, and expanding in a deployed state. As will be understood by one of skill in the art, lead body  201  may contain more or fewer than seven electrodes. 
     Lead body  202  further includes stylet lumen  222  extending therethrough. Stylet lumen  222  is shaped and sized to permit a stylet to be inserted therein, for example, during delivery of electrode lead  200 . In one embodiment, end cap  220  is used to prevent the stylet from extending distally out of stylet lumen  222  beyond end cap  220 . 
     Lead body  202  may include an elastic portion as described in U.S. Patent Application Pub. No. 2013/0338730 to Shiroff, or U.S. Patent Application Pub. No. 2014/0350653 to Shiroff, both assigned to the assignee of the present invention, the entire contents of both of which are incorporated herein by reference. 
     At proximal end  224 , electrode lead  200  includes contacts  226 ,  228 ,  230 , and  232  separated along lead body  202  by spacers  234 ,  236 ,  238 ,  240 , and  242 . Contacts  226 ,  228 ,  230 , and  232  may comprise an isodiametric terminal and are electrically coupled to electrodes  204 ,  206 ,  208 , and  210 , respectively, via, for example, individually coated spiral wound wires. A portion of proximal end  224  is configured to be inserted in IPG  300  and set-screw retainer  244  is configured to receive a screw from IPG  300  to secure the portion of electrode lead  200  within IPG  300 . 
     As would be apparent to one of ordinary skill in the art, various electrode locations and configurations would be acceptable, including the possibility of skin surface electrodes. The electrode(s) may be an array of a plurality of electrodes, or may be a simple single electrode where the electrical circuit is completed with an electrode placed elsewhere (not shown) such as a skin surface patch or by the can of an implanted pulse generator. In addition, electrode lead  200  may comprise a wirelessly activated or leadless electrode, such as described in U.S. Pat. No. 8,321,021 to Kisker, such that no lead need be coupled to IPG  300 . 
     Referring to  FIG. 3A , IPG  300  is configured to generate pulses for electrical transmission to electrode lead  200 . As is common with other active implantable medical devices, the IPG electronics are housed in a hermetically sealed metal housing  304 . Housing  304  may comprise titanium or other biocompatible material, and includes connector block  302  that permits electrode lead  200  to be electrically coupled to the electronics within housing  304  via channel  306 . Channel  306  is coupled to conductors  308 ,  310 ,  312 , and  314  which are coupled to the IPG electronics. When proximal end  224  of electrode lead  200  is inserted within channel  306 , conductors  308 ,  310 ,  312 , and  314  are electrically coupled to contacts  226 ,  228 ,  230 , and  232 , respectively, and, in turn, electrically coupled to electrodes  204 ,  206 ,  208 , and  210 , respectively. Set-screw  316  is configured to be tightened down on set-screw retainer  244  to secure a portion of electrode lead  200  within channel  306 . IPG  300  further includes a second channel (not shown) with four additional conductors. The two separate channels facilitate bilateral stimulation and the electrode configuration, e.g., combination of positive and negative electrodes, may be programmed independently for each channel. 
     As will be appreciated by one of ordinary skill in the art, while IPG  300  is illustratively implantable, a stimulator may be disposed external to a body of a patient on a temporary or permanent basis without departing from the scope of the present invention. For example, an external stimulator may be coupled to the electrodes wirelessly. 
     With respect to  FIG. 3B , a generalized schematic diagram of the internal functional components of IPG  300  is now described. IPG  300  may include programmable controller  318 , telemetry system  320  coupled to coil  322 , power supply  324 , electrode switching array  326 , system sensors  328 , and optional therapeutic circuitry module  330 . 
     Controller  318  is electrically coupled to, and configured to control, the internal functional components of IPG  300 . Controller  318  may comprise a commercially available microcontroller unit including a programmable microprocessor, volatile memory, nonvolatile memory such as EEPROM for storing programming, and nonvolatile storage, e.g., Flash memory, for storing firmware and a log of system operational parameters and patient data. The memory of controller  318  stores program instructions that, when executed by the processor of controller  318 , cause the processor and the functional components of IPG  300  to provide the functionality ascribed to them herein. Controller  318  is configured to be programmable such that programming data is stored in the memory of controller  318  and may be adjusted using external programmer  500  as described below. Programming data may include pulse amplitude (voltage or current), pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, and electrode configuration. In accordance with one embodiment, programmable parameters, their ranges, and nominal values are: 
     
       
         
           
               
               
               
               
               
             
               
                   
                   
               
               
                   
                 Parameter 
                 Min 
                 Max 
                 Nominal 
               
               
                   
                   
               
             
            
               
                   
                 Amplitude 
                  0 mA 
                  7.0 mA 
                  1 mA 
               
               
                   
                 Pulse Width 
                  25 μs 
                 500 μs 
                 200 μs 
               
               
                   
                 Rate 
                  1 Hz 
                  40 Hz 
                  20 Hz 
               
               
                   
                 On Ramp 
                  0 s 
                  5 s 
                  2 s 
               
               
                   
                 Off Ramp 
               
               
                   
                 Cycle-On 
                  2 s 
                  20 s 
                  10 s 
               
               
                   
                 Cycle-Off 
                  20 s 
                 120 s 
                  20 s 
               
               
                   
                 Session 
                  1 min 
                  60 min 
                  30 min 
               
               
                   
                   
               
            
           
         
       
     
     Controller  318  may be programmable to allow electrical stimulation between any chosen combination of electrodes on the lead, thus providing a simple bipolar configuration. In addition, controller  318  may be programmed to deliver stimulation pulses in a guarded bipolar configuration (more than 1 anode surrounding a central cathode) or IPG housing  304  may be programmed as the anode, enabling unipolar stimulation from any of the electrodes. 
     Controller  318  further may be programmed with a routine to calculate the impedance at electrode lead  200 . For example, controller  318  may direct power supply  324  to send an electrical signal to one or more electrodes which emit electrical power. One or more other electrodes receive the emitted electrical power and send a received signal to controller  318  that runs the routine to calculate impedance based on the sent signal and the received signal. 
     Controller  318  is coupled to communications circuitry including telemetry system  320 , which is electrically coupled to coil  322 , that permits transmission of stimulation commands, and optionally power, between IPG  300  and activator  400  such that IPG  300  may be powered, programmed, and/or controlled by activator  400 . For example, controller  318  may start or stop a treatment session responsive to stimulation commands received from a corresponding telemetry system and coil of activator  400  via coil  322  and telemetry system  320 . Telemetry system  320  and coil  322  further permit transmission of programming data, and optionally power, between IPG  300  and external programmer  500  such that IPG  300  may be powered, programmed, and/or controlled by software-based programming system  600  via external programmer  500 . For example, controller  318  may direct changes to at least one of pulse amplitude (voltage or current), pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, and electrode configuration responsive to programming data received from a corresponding telemetry system and coil of external programmer  500  via coil  322  and telemetry system  320 . 
     The technology for telemetry system  320  and coil  322  is well known to one skilled in the art and may include a magnet, a short range telemetry system, a longer range telemetry system (such as using MICS RF Telemetry available from Zarlink Semiconductor of Ottawa, Canada), or technology similar to a pacemaker programmer. Alternatively, coil  322  may be used to transmit power only, and separate radio frequency transmitters may be provided in IPG  300  activator  400 , and/or external programmer  500  for establishing bidirectional or unidirectional data communication. 
     Power supply  324  powers the electrical components of IPG  300 , and may comprise a primary cell or battery, a secondary (rechargeable) cell or battery or a combination of both. Alternatively, power supply  324  may not include a cell or battery, but instead comprise a capacitor that stores energy transmitted through the skin via a Transcutaneous Energy Transmission System (TETs), e.g., by inductive coupling. In a preferred embodiment, power supply  324  comprises a lithium ion battery. 
     Controller  318  further may be coupled to electrode switching array  326  so that any subset of electrodes of the electrode leads may be selectably coupled to therapeutic circuitry module  330 , described in detail below. In this way, an appropriate electrode set may be chosen from the entire selection of electrodes implanted in the patient&#39;s body to achieve a desired therapeutic effect. Electrode switching array  326  preferably operates at high speed, thereby allowing successive stimulation pulses to be applied to different electrode combinations. 
     System sensors  328  may comprise one or more sensors that monitor operation of the systems of IPG  300 , and log data relating to system operation as well as system faults, which may be stored in a log for later readout using software-based programming system  600 . In one embodiment, system sensors  328  include a magnetic sensor configured to sense a magnetic field and to transmit a signal to controller  318  based on the sensed magnetic field such that the controller starts or stops a treatment session. In another embodiment, system sensors  328  include one or more sensors configured to sense muscle contraction and to generate a sensor signal based on the muscle contraction. Controller  318  is configured to receive the sensor signal from system sensors  328  and to adjust the stimulation parameters based on the sensor signal. In one embodiment, system sensors  328  sense an increase or decrease in muscle movement and controller  318  increases or decreases the stimulation frequency to maintain smooth and continuous muscle contraction. 
     In one embodiment, sensors  328  may include an accelerometer that senses acceleration of a muscle caused by muscle contraction. The accelerometer may be a 1-, 2- or 3-axis analog or digital accelerometer that determines whether the patient is active or asleep or senses overall activity of the patient, which may be a surrogate measure for clinical parameters (e.g., more activity implies less pain), and/or a heart rate or breathing rate (minute ventilation) monitor, e.g., which may be obtained using one or more of the electrodes disposed on the electrode leads. The accelerometer may be used to determine the orientation of IPG  300 , and by inference the orientation of the patient, at any time. For example, after implantation, software-based programming system  600  may be used to take a reading from the implant, e.g., when the patient is lying prone, to calibrate the orientation of the accelerometer. If the patient is instructed to lie prone during therapy delivery, then the accelerometer may be programmed to record the orientation of the patient during stimulation, thus providing information on patient compliance. In other embodiments, system sensors  328  may include a pressure sensor, a movement sensor, and/or a strain gauge configured to sense muscle contraction and to generate a sensor signal based on the muscle contraction, and in a further embodiment, various combinations of at least one of an accelerometer, a pressure sensor, a movement sensor, and/or a strain gauge are included. 
     Sensors  328  may also include, for example, a humidity sensor to measure moisture within housing  304 , which may provide information relating to the state of the electronic components, or a temperature sensor, e.g., for measuring battery temperature during charging to ensure safe operation of the battery. Data from the system sensors may be logged by controller  318  and stored in nonvolatile memory for later transmission to software-based programming system  600  via external programmer  500 . 
     As will be appreciated by one of ordinary skill in the art, system sensors  328  may be placed in a variety of locations including within housing  302 , within or adjacent to the tissue that is stimulated, and/or in proximity to the muscle to be contracted and connected via a separate lead to IPG  300 . In other embodiments, sensors  324  may be integrated into one or more of the leads used for stimulation or may be an independent sensor(s) operatively coupled to IPG  300  using, for example, radio frequency (RF) signals for transmitting and receiving data. 
     Controller  318  also may be coupled to optional therapeutic circuitry module  330  that provides any of a number of complimentary therapeutic stimulation, analgesic, feedback or ablation treatment modalities as described in detail below. IPG  300  illustratively includes one therapeutic circuitry module  330 , although additional circuitry modules may be employed in a particular embodiment depending upon its intended application, as described in U.S. Pat. No. 9,248,278 to Crosby, assigned to the assignee of the present invention, the entire contents of which is incorporated herein by reference. Therapeutic circuitry module  330  may be configured to provide different types of stimulation, either to induce muscle contractions or to block pain signals in afferent nerve fibers; to monitor muscle contractions induced by stimulation and adjust the applied stimulation regime as needed to obtain a desired result; or to selectively and intermittently ablate nerve fibers to control pain and thereby facilitate muscle rehabilitation. 
     Referring to  FIG. 3C , IPG  300 ′ is constructed similarly to PG  300  of  FIG. 3B , wherein like components are identified by like-primed reference numbers. Thus, for example, power supply  324 ′ in  FIG. 3C  corresponds to power supply  324  of  FIG. 3B , etc. As will be observed by comparing  FIGS. 3B and 3C , IPG  300 ′ includes a communications circuit employing transceiver  332  coupled to antenna  334  (which may be inside or external to the hermetic housing) rather than telemetry system  320  and coil  322  of IPG  300 . 
     Transceiver  332  preferably comprises a radio frequency (RF) transceiver and is configured for bi-directional communications via antenna  334  with a similar transceiver circuit disposed in activator  400  and/or external programmer  500 . For example, transceiver  332  may receive stimulation commands from activator  400  and programming data from software-based programming system  600  via external programmer  500 . Controller  318  may direct changes to at least one of pulse amplitude (voltage or current), pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, and electrode configuration, including commands to start or stop a treatment session, responsive to programming data and/or stimulation commands received from a corresponding transceiver and antenna of activator  400  and/or external programmer  500  via antenna  334  and transceiver  332 . Transceiver  332  also may include a low power mode of operation, such that it periodically awakens to listen for incoming messages and responds only to those messages including the unique device identifier assigned to that IPG. In addition, transceiver  332  may employ an encryption routine to ensure that messages sent from, or received by, IPG  300  cannot be intercepted or forged. 
     Referring to  FIG. 3D , IPG  300 ″ is constructed similarly to IPG  300  of  FIG. 3B  and IPG  300 ′ of  FIG. 3C  except that IPG  300 ″ includes a communications circuit employing telemetry system  320 ″ and coil  322 ″ and a communications circuit employing transceiver  332 ″ and antenna  334 ″. IPG  300 ″ is preferably in an embodiment where IPG  300 ″ communicates inductively and using RF. In one embodiment, telemetry system  320 ″ and coil  322 ″ are configured to transfer stimulation commands, and optionally power, between IPG  300 ″ and activator  400  from a corresponding telemetry system and coil of activator  400 . In such an embodiment, transceiver  332 ″ and antenna  334 ″ are configured to transfer programming data between IPG  300 ″ and external programmer  500 ′ from a corresponding transceiver and antenna of external programmer  500 ′. In an alternative embodiment, telemetry system  320 ″ and coil  322 ″ permit transfer of programming data, and optionally power, between IPG  300 ″ and external programmer  500  from a corresponding telemetry system and coil of external programmer  500 . In such an embodiment, transceiver  332 ″ and antenna  334 ″ are configured for transfer of stimulation commands between IPG  300 ″ and activator  400 ′ from a corresponding transceiver and antenna of activator  400 ′. 
     Referring now to  FIG. 4A , exemplary activator  400 , including control module  402  and pad  404 , is described. Control module  402  includes housing  410  sized for handheld use and user interface  408 . User interface  408  permits a user, e.g., patient, physician, caregiver, to adjust a limited number of operational parameters of IPG  300  including starting and stopping a treatment session. Illustratively, user interface  408  includes signal LED  412 , status LED  414 , warning LED  416 , start button  418 , stop button  420 , status button  422 , and battery LED  424 . Signal LED  412  preferably contains multiple diodes, each of which emit light of a different preselected color. Signal LED  412  is configured to illuminate when the communications circuit within pad  404  detects a suitable connection with a the corresponding communications circuit in IPG  300  suitable for power transmission and/or data communication between IPG  300  and activator  400 . In one embodiment, signal LED  412  illuminates a red diode when there is not a suitable connection, a yellow diode when the connection is suitable but weak, and a green diode when the connection is suitable and strong. Status LED  414  also may include multiple diodes that illuminate in a pattern of flashes and/or colors to indicate to the user the status of IPG  300 . Such patterns are stored in the memory of the controller of control module  402  and may indicate whether the IPG is directing stimulation to occur or awaiting commands. A user may refer to a user manual to decode a pattern shown on status LED  414 . Warning LED  416  is configured to illuminate when the controller of control module  402  detects an error and indicates that a user should contact their physician or clinic. When start button  418  is pressed, the controller of control module  402  directs a signal to be sent to IPG  300  via pad  404  and cable  406  to begin a treatment session. When stop button  420  is pressed, the controller of control module  402  directs a signal to be sent to IPG  300  via pad  404  and cable  406  to end a treatment session. Alternatively, the treatment session may have a predetermined length and the controller de-energizes the electrodes when the session time expires. Battery LED  424  is configured to illuminate when the controller in control module  402  detects that the battery levels are below a predetermined threshold. 
     Pad  404  is configured to communicate information and, optionally, transfer power from control module  402  to IPG  300  in a bidirectional manner across a patient&#39;s skin. In one embodiment, pad  404  includes an inductive coil within its housing. Cable  406  is a suitable length so that a patient may comfortably place pad  404  in extracorporeal proximity to IPG  300  implanted in the patient&#39;s lower back while viewing control module  402  to confirm correct placement using signal LED  412 . 
     With respect to  FIG. 4B , a generalized schematic diagram of the internal functional components of activator  400  is now described. Activator  400  may include programmable controller  426 , telemetry system  428  coupled to coil  430 , user interface  432 , power supply  434 , and input and output circuitry (I/O)  436 . In a preferred embodiment, programmable controller  426 , telemetry system  428 , user interface  432 , power supply  434 , and input and output circuitry (I/O)  436  are housed within control module housing  410  and coil  430  is housed within the housing for pad  404 . 
     Controller  426  is electrically coupled to, and configured to control, the internal functional components of activator  400 . Controller  426  may comprise a commercially available microcontroller unit including a programmable microprocessor, volatile memory, nonvolatile memory such as EEPROM for storing programming, and nonvolatile storage, e.g., Flash memory, for storing firmware and a log of system operational parameters and patient data. The memory of controller  426  may store program instructions that, when executed by the processor of controller  426 , cause the processor and the functional components of activator  400  to provide the functionality ascribed to them herein. Controller  426  is configured to be programmable. For example, controller  426  may send stimulation commands responsive to user input received at user interface  432  to controller  318  of IPG  300  via the telemetry (or RF) systems to start or stop a treatment session. In a preferred embodiment, a limited number of stimulation parameters may be adjusted at user interface  432  to minimize the chance of injury caused by adjustments made by non-physician users. In an alternative embodiment, controller  426  also may send adjustments to stimulation parameters, e.g., pulse amplitude (voltage or current), pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, and electrode configuration to IPG  300  responsive to user input received at user interface  432 . 
     Controller  426  is coupled to telemetry system  428 , which is electrically coupled to coil  430  (e.g., via cable  406 ), that permits transmission of energy and stimulation commands between activator  400  and IPG  300  (or IPG  300 ″) such that IPG  300  may be powered, programmed, and/or controlled by activator  400  responsive to user input received at user interface  432 . For example, controller  426  may direct telemetry system  428  and coil  430  to send adjustments to stimulation parameter(s), including commands to start or stop a treatment session or provide status of the IPG, responsive to user input received at user interface  432  to coil  322  and telemetry system  320  of IPG  300 . The technology for telemetry system  428  and coil  430  is well known to one skilled in the art and may be similar to telemetry system  320  and coil  322  described above. Alternatively, coil  430  may be used to transmit power only, and separate radio frequency transmitters may be provided in activator  400  and IPG  300  for establishing bidirectional or unidirectional data communication. 
     User interface  432  is configured to receive user input and to display information to the user. As described above, user interface  432  may include buttons for receiving user input and LEDs for displaying information to the user. As will be readily apparent to one skilled in the art, user interface  432  is not limited thereto and may use a display, a touch screen, a keypad, a microphone, a speaker, a trackball, or the like. 
     Power supply  434  powers the electrical components of activator  400 , and may comprise a primary cell or battery, a secondary (rechargeable) cell or battery or a combination of both. Alternatively, power supply  434  may be a port to allow activator  400  to be plugged into a conventional wall socket for powering components. 
     Input and output circuitry (I/O)  436  may include ports for data communication such as wired communication with a computer and/or ports for receiving removable memory, e.g., SD card, upon which program instructions or data related to activator  400  use may be stored. 
     Referring to  FIG. 4C , activator  400 ′ is constructed similarly to activator  400  of  FIG. 4B  except that activator  400 ′ includes a communications circuit employing transceiver  438  and antenna  440  rather than a communications circuit employing telemetry system  428  and coil  430 . Transceiver  438  preferably comprises a radio frequency (RF) transceiver and is configured for bi-directional communications via antenna  440  with transceiver  332  via antenna  334  of IPG  300 ′. Transceiver  438  may transmit stimulation commands from activator  400 ′ to IPG  300 ′ (or IPG  300 ″). For example, controller  426 ′ may direct transceiver  438  to transmit commands to start or stop a treatment session to IPG  300 ′ responsive to user input received at user interface  432 ′. In one embodiment, controller  426 ′ may direct transceiver  438  to transmit a command to provide status of IPG  300 ′ or commands to adjust stimulation parameter(s) to IPG  300 ′ responsive to user input received at user interface  432 ′. 
     Transceiver  438  also may include a low power mode of operation, such that it periodically awakens to listen for incoming messages and responds only to those messages including the unique device identifier assigned to that activator. In addition, transceiver  438  may employ an encryption routine to ensure that messages sent from, or received by, activator  400 ′ cannot be intercepted or forged. 
     Referring now to  FIG. 5A , exemplary external programmer  500  is now described. External programmer  500  includes housing  504  sized for handheld use and user interface  506 . User interface  506  permits a user, e.g., patient, physician, caregiver, to send programming data to IPG  300  including commands to adjust stimulation parameters. Illustratively, user interface  506  includes status LED  508 , status button  510 , and signal LEDs  512 . Status LED  508  is configured to illuminate when status button  510  is pressed to indicate a successful communication has been sent to IPG  300 , e.g., command to stop a treatment session. Signal LEDs  512  are configured to illuminate based on the strength of the signal between IPG  300  and external programmer  500 . The controller of external programmer  500  may direct appropriate signal LEDs  512  to illuminate based on the strength of the signals between the respective telemetry systems and coils or transceivers and antennas of external programmer  500  and IPG  300 . Signal LEDs  512  may include diodes with different colors. For example, signal LEDs  512  may include red diodes configured to illuminate when the signal strength between external programmer  500  and IPG  300  is weak or non-existent, yellow diodes configured to illuminate when the signal strength between external programmer  500  and IPG  300  is medium, and green diodes configured to illuminate when the signal strength between external programmer  500  and IPG  300  is strong. External programmer  500  further includes port  514  configured to receive cable  502  such that external programmer  500  is electrically coupled and may communicate programming data with software-based programming system  600  run on a computer. 
     With respect to  FIG. 5B , a generalized schematic diagram of the internal functional components of external programmer  500  is now described. External programmer  500  may include programmable controller  516 , telemetry system  518  coupled to coil  520 , user interface  522 , power supply  524 , and input and output circuitry (I/O)  526 . 
     Controller  516  is electrically coupled to, and configured to control, the internal functional components of external programmer  500 . Controller  516  may comprise a commercially available microcontroller unit including a programmable microprocessor, volatile memory, nonvolatile memory such as EEPROM for storing programming, and nonvolatile storage, e.g., Flash memory, for storing firmware and a log of system operational parameters and patient data. The memory of controller  516  may store program instructions that, when executed by the processor of controller  516 , cause the processor and the functional components of external programmer  500  to provide the functionality ascribed to them herein. Controller  516  is configured to be programmable such that stimulation parameters, e.g., pulse amplitude (voltage or current), pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, and electrode configuration may be adjusted responsive to user input received at user interface  522 . For example, controller  516  may send programming data responsive to user input received at user interface  522  to controller  318  of IPG  300  via the respective telemetry (or RF) systems to adjust stimulation parameters or to start or stop a treatment session. In a preferred embodiment, only a physician has access to external programmer  500  to minimize the chance of injury caused by adjustments made by non-physician users. 
     Controller  516  is coupled to telemetry system  518 , which is electrically coupled to coil  520 , that permits transmission of programming data, and optionally power, between software-based programming system  600  and IPG  300  (or IPG  300 ″) via external programmer  500 . In this manner, IPG  300  may be powered, programmed, and/or controlled by software-based programming system  600  and external programmer  500  responsive to user input received at user interface  522 . For example, controller  516  may direct telemetry system  518  to transmit stimulation parameter(s) such as pulse amplitude (voltage or current), pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, and electrode configuration, including commands to start or stop a treatment session, to IPG  300  responsive to user input received at user interface  522  and/or software-based programming system  600 . As another example, controller  516  may direct telemetry system  518  to transmit interrogation commands such as requests for the actual value of stimulation parameter(s), battery voltage, data logged at IPG  300 , and IPG  300  status data, to IPG  300  responsive to user input received at user interface  522  and/or software-based programming system  600 , and to receive responses to the interrogation commands from IPG  300 . As yet another example, controller  516  may direct telemetry system  518  to transmit commands to IPG  300  to calculate the impedance of electrode lead  200  using a routine stored on controller  318  of IPG  300  and to receive the calculated lead impedance from the telemetry system of IPG  300 . The technology for telemetry system  518  and coil  520  is well known to one skilled in the art and may be similar to telemetry system  320  and coil  322  described above. Alternatively, coil  520  may be used to transmit power only, and separate radio frequency transmitters may be provided in external programmer  500  and IPG  300  for establishing directional data communication. 
     User interface  522  is configured to receive user input and to display information to the user. As described above, user interface  522  may include buttons for receiving user input and LEDs for displaying information to the user. As will be readily apparent to one skilled in the art, user interface  522  is not limited thereto and may use a display, a touch screen, a keypad, a microphone, a speaker, a trackball, or the like. 
     Power supply  524  powers the electrical components of external programmer  500 , and may comprise a primary cell or battery, a secondary (rechargeable) cell or battery or a combination of both. Alternatively, power supply  524  may be a port to allow external programmer  524  to be plugged into a conventional wall socket for powering components. In one preferred embodiment, power supply  524  comprises a USB port and cable that enables external programmer  500  to be powered from a computer, e.g., via cable  502 , running software-based programming system  600 . 
     Input and output circuitry (I/O)  526  may include ports for data communication such as wired communication with a computer and/or ports for receiving removable memory, e.g., SD card, upon which program instructions or data related to external programmer  500  use may be stored. In one embodiment, I/O  526  comprises port  514 , and corresponding circuitry, for accepting cable  502  such that external programmer  500  is electrically coupled to a computer running software-based programming system  600 . 
     Referring to  FIG. 5C , external programmer  500 ′ is constructed similarly to external programmer  500  of  FIG. 5B  except that external programmer  500 ′ includes a communications circuit employing transceiver  528  and antenna  530  rather than a communications circuit employing telemetry system  518  and coil  520 . Transceiver  528  preferably comprises a radio frequency (RF) transceiver and is configured for bi-directional communications via antenna  530  with transceiver  332  via antenna  334  of IPG  300 ′. Transceiver  528  may transmit programming data from external programmer  500 ′ to IPG  300 ′ (or IPG  300 ″). For example, controller  516 ′ may direct transceiver  528  to transmit stimulation parameter(s) such as pulse amplitude (voltage or current), pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, and electrode configuration, including commands to start or stop a treatment session, to IPG  300 ′ responsive to user input received at user interface  522 ′ and/or software-based programming system  600 . As another example, controller  516 ′ may direct transceiver  528  to transmit interrogation commands such as requests for the actual value of stimulation parameter(s), battery voltage, data logged at IPG  300 ′, and IPG  300 ′ status data, to IPG  300 ′ responsive to user input received at user interface  522 ′ and/or software-based programming system  600 , and to receive responses to the interrogation commands from IPG  300 ′. As yet another example, controller  516 ′ may direct transceiver  528  to transmit commands to IPG  300 ′ to calculate the impedance of electrode lead  200  using a routine stored on controller  318 ′ of IPG  300 ′ and to receive the calculated lead impedance from transceiver  332  of IPG  300 ′. 
     Transceiver  528  also may include a low power mode of operation, such that it periodically awakens to listen for incoming messages and responds only to those messages including the unique device identifier assigned to that external programmer. In addition, transceiver  528  may employ an encryption routine to ensure that messages sent from, or received by, external programmer  500 ′ cannot be intercepted or forged. 
     Referring now to  FIG. 6 , the software implementing programming system  600  is now described. The software of programming system  600  comprises a number of functional blocks, schematically depicted in  FIG. 6 , including main block  602 , event logging block  604 , data download block  606 , configuration setup block  608 , user interface block  610 , alarm detection block  612 , sensor calibration block  614 , firmware upgrade block  616 , device identifier block  618 , and status information block  620 . The software preferably is written in C++ and employs an object oriented format. In one preferred embodiment, the software is configured to run on top of a Microsoft Windows™ (a registered trademark of Microsoft Corporation, Redmond, Wash.) or Unix-based operating system, such as are conventionally employed on desktop and laptop computers. The computer running programming system  600  preferably includes a data port, e.g., USB port or comparable wireless connection, that permits external programmer  500  and/or activator  400  to be coupled thereto. Alternatively, as discussed above, the computer may include a wireless card, e.g., conforming to the IEEE 802.11 standard, thereby enabling IPG  300 , activator  400 , and/or external programmer  500  to communicate wirelessly with the computer running programming system  600 . As a further alternative, IPG  300 , activator  400 , and/or external programmer  500  may include a communications circuit(s) having telephony circuitry, e.g., GSM, CDMA, LTE circuitry, or the like, that automatically dials and uploads data, such as alarm data, from IPG  300  to a secure website accessible by the patient&#39;s physician. 
     Main block  602  preferably includes a main software routine that executes on the physician&#39;s computer, and controls overall operation of the other functional blocks. Main block  602  enables the physician to download event data and alarm information stored on IPG  300 , via external programmer  500 , to his office computer, and also permits programming system  600  to directly control operation of IPG  300 , via external programmer  500 . Main block also enables the physician to upload firmware updates and configuration data to IPG  300  via external programmer  500 . 
     Event Log block  604  is a record of operational data downloaded from IPG  300 , using external programmer  500 , and may include, for example, treatment session start and stop times, current stimulation parameters, stimulation parameters from previous treatment sessions, sensor data, lead impedance, battery current, battery voltage, battery status, and the like. The event log also may include the occurrence of events, such as alarms or other abnormal conditions. 
     Data Download block  606  is a routine that commands IPG  300 , using external programmer  500 , to transfer data to programming system  600  for download after IPG  300  is coupled to the computer programming system  600  via external programmer  500 . Data Download block  606  may initiate, either automatically or at the instigation of the physician via user interface block  610 , downloading of data stored in the event log. 
     Configuration Setup block  608  is a routine that configures the parameters stored within IPG  300 , using external programmer  500 , that control operation of IPG  300 . The interval timing parameters may determine, e.g., how long the processor remains in sleep mode prior to being awakened to listen for radio communications or to control IPG  300  operation. The interval timing parameters may control, for example, the duration of a treatment session. Interval timing settings transmitted to IPG  300  from programming system  600  also may determine when and how often event data is written to the memory in controller  318 . In an embodiment in which external programmer  500  is also configured to transfer data to activator  400 , programming system  600  also may be used to configure timing parameters used by the firmware executed by controller  426  of activator  400 . Block  608  also may be used by the physician to configure parameters stored within the memory of controller  318  relating to limit values on operation of controller  318 . These values may include times when IPG  300  may and may not operate, etc. Block  608  also may configure parameters store within the memory of controller  318  relating to control of operation of IPG  300 . These values may include target numbers of treatment sessions and stimulation parameters. 
     User interface block  610  handles display of information retrieved from the programming system  600  and IPG  300 , via external programmer  500 , and data download block  606 , and presents that information in an intuitive, easily understood format for physician review. Such information may include status of IPG  300 , treatment session start and stop times, current stimulation parameters, stimulation parameters from previous treatment sessions, sensor data, lead impedance, battery status, and the like. User interface block  610  also generates user interface screens that permit the physician to input information to configure the session timing, stimulation parameters, requests to calculate lead impedance, etc. 
     Alarm detection block  612  may include a routine for evaluating the data retrieved from IPG  300 , using external programmer  500 , and flagging abnormal conditions for the physician&#39;s attention. For example, alarm detection block  612  may flag when a parameter measured by system sensors  328  is above or below a predetermined threshold. 
     Sensor calibration block  614  may include a routines for testing or measuring drift, of system sensors  328  employed in IPG  300 , e.g., due to aging or change in humidity. Block  614  may then compute offset values for correcting measured data from the sensors, and transmit that information to IPG  300  for storage in the nonvolatile memory of controller  318 . 
     Firmware upgrade block  616  may comprise a routine for checking the version numbers of the controller firmware installed on IPG  300 , using external programmer  500 , and identify whether upgraded firmware exists. If so, the routine may notify the physician and permit the physician to download revised firmware to IPG  300 , in nonvolatile memory. 
     Device identifier block  618  consists of a unique identifier for IPG  300  that is stored in the nonvolatile memory of controller  318  and a routine for reading that data when programming system  600  is coupled to IPG  300  via external programmer  500 . The device identifier also may be used by IPG  300  to confirm that wireless communications received from activator  400  and/or external programmer  500  are intended for that specific IPG. Likewise, this information is employed by activator  400  and/or external programmer  500  to determine whether a received message was generated by the IPG associated with that system. Finally, the device identifier information may be employed by programming system  600  to confirm that activator  400  and IPG constitute a matched set. 
     Status information block  620  comprises a routine for interrogating IPG  300 , when connected via activator  400 , or external programmer  500  and programming system  600 , to retrieve current status data from IPG  300 , using external programmer  500 . Such information may include, for example, battery status, stimulation parameters, lead impedance, the date and time on the internal clocks of treatment sessions, version control information for the firmware and hardware currently in use, and sensor data. 
     Referring now to  FIGS. 7A to 7D , an exemplary method for implanting an electrode lead and IPG is described. First, electrode lead  200 , IPG  300 , stylet (not shown), suture sleeve  700 , introducer  702 , and dilator  704  are provided, as shown in  FIG. 7A . In  FIG. 7A , components of the system are not depicted to scale on either a relative or absolute basis. Suture sleeve  700  illustratively includes first end section  706 , middle section  708  separated from first end section by first groove  710 , second end section  712  separated from middle section  708  by second groove  714 , and sleeve lumen  716 . First and second end sections  706  and  712  may have truncated conical portions as shown. First and second grooves  710  and  714  are sized and shaped to accept sutures such that suture sleeve  700  may be secured to tissue, e.g., superficial fascia, using the sutures. Sleeve lumen  716  is sized such that electrode lead  200  may be inserted therethrough. 
     Introducer  702  may include introducer lumen  718 , distal tip  720 , and coupling portion  722 . Introducer lumen  718  extends through introducer  702  and is shaped and sized to permit electrode lead  200  to slide therethrough. Distal tip  720  is beveled to ease introduction through tissue. Coupling portion  722 , illustratively a female end with threads, is configured to be coupled to a portion of dilator  704 . In one embodiment, introducer  702  comprises a commercially available 7 French (Fr) introducer. 
     Dilator  704  may include dilator lumen  724 , distal tip  726 , coupling portion  728 , and handle  730 . Dilator lumen  724  extends through dilator  704  and is shaped and sized to permit introducer  702  to slide therethrough. Distal tip  726  is beveled to ease introduction through tissue. Coupling portion  728 , illustratively a male end with threads, is configured to be coupled to a portion of introducer  702 , e.g., coupling portion  722 . Handle  730  is sized and shaped to permit a physician to comfortably hold dilator  704 . 
     Next, a stylet is inserted within the stylet lumen of electrode lead  200  to provide additional stiffness to electrode lead  200  to ease passage of electrode lead  200  through introducer  702 . The stylet may be a commercially available stylet such as a locking stylet available from Cook Group Incorporated of Bloomington, Ind. Electrode lead  200  then is inserted within introducer lumen  718  of introducer  702 . 
     Using fluoroscopy, acoustic, anatomic, or CT guidance, dilator  704  is delivered transcutaneously and transmuscularly to a target site, e.g., in or adjacent to tissue associated with control of the lumbar spine. Such tissue may include nervous tissue, muscle, ligament, and/or joint capsule. In one embodiment, muscle includes skeletal muscle such as the multifidus, transverse abdominus, quadratus lumborum, psoas major, internus abdominus, obliquus externus abdominus, and erector spinae muscles and nervous tissue includes a peripheral nerve that innervates skeletal muscle. In a preferred embodiment, nervous tissue comprises the dorsal ramus nerve, or fascicles thereof, that innervate the multifidus muscle. 
     Next, introducer  702  (having a portion of the electrode lead disposed therein) is inserted through dilator lumen  724  to the target site. Introducer  702  may then be coupled to dilator  704 , e.g., by screwing coupling portion  722  onto coupling portion  728 . 
       FIGS. 7B-7D  depict a lateral projection of a segment of a typical human lumbar spine shown having a vertebral body V, transverse process TP, intertransversarii ITV, a dorsal ramus DR, and a dorsal root ganglion DRG. In  FIG. 7B , dilator  704  having introducer  702  disposed therethrough, which has a portion of the electrode lead disposed therein, are positioned adjacent to the target site, illustratively, the medial branch of the dorsal ramus DR nerve that innervates the multifidus muscle. In one embodiment, electrodes of the electrode lead are positioned to stimulate the medial branch of the dorsal ramus that exits between the L2 and L3 lumbar segments and passes over the transverse process of the L3 vertebra, thereby eliciting contraction of fascicles of the lumbar multifidus at the L3, L4, L5 and Si segments and in some patients also at the L2 segment. 
     Introducer  702  and dilator  704  are moved proximally, e.g., using handle  730 , while maintaining the position of electrode lead  200  at the target site, as shown in  FIG. 7C . The first and second fixation elements of electrode lead  200  individually transition from a collapsed state within introducer  702  to an expanded state, shown in  FIG. 7C , as introducer  702  passes over the respective fixation element. The first and second fixation elements sandwich an anchor site, e.g., muscle such as the intertransversarii, therebetween without damaging the anchor site in the expanded state to fix electrode lead  200  at the target site. 
     Introducer  702  and dilator  704  are moved proximally off the proximal end of electrode lead  200  and suture sleeve  700  is placed over the proximal end of electrode lead  200  and moved distally, as illustrated in  FIG. 7D . When suture sleeve  700  is positioned adjacent to the superficial fascia SF beneath skin SK, sutures are sewn into the first and second grooves of suture sleeve  700  so as to secure suture sleeve  700  to the superficial fascia SF. 
     As shown in  FIG. 7D , electrode lead  200  may include strain relief portion  250  as described below. Strain relief portion  250  is configured to reduce lead dislodgement and/or fracture after implantation due to, for example, the lack of suitable anchor sites for the electrode leads, the torsional and/or bending stresses imposed on the electrode leads by movement of the surrounding muscles. As described below, strain relief portion  250  may take on a variety of structures that are designed to reduce the strain on electrode lead  200  and the fixation elements, thereby reducing the risk of lead dislodgement, fatigue fracture, and injury to the nervous tissue through which electrode lead  200  passes. In the embodiment of  FIG. 7D , strain relief portion  250  comprises a loop. Preferably, the loop comprises a diameter of at least 2 cm. In an alternative embodiment, strain relief portion  250  comprises a “C” shape. Other strain relief structures designed to reduce the strain on electrode lead  200  and the fixation elements of the present invention may be used, such as those described in U.S. Patent Application Pub. No. 2014/0350653 to Shiroff, assigned to the assignee of the present invention, the entire contents of which are incorporated herein by reference. Strain relief portion  250  permits extension of electrode lead  200  between proximal end  224  and distal end  211  of electrode lead  200  without imposing excessive loads on the fixation elements that could result in axial displacement of the electrodes. 
     Finally, the IPG is coupled to the proximal end of electrode lead  200  and implanted within the lower back of the patient, as described in more detail below. 
     Referring now to  FIGS. 7E-7G , an exemplary method for implanting electrode lead  200 ′″ of  FIG. 2E  is described.  FIGS. 7E-7G  depict a lateral projection of a segment of a typical human lumbar spine shown having a vertebral body V, transverse process TP, intertransversarii ITV, dorsal root ganglion DRG, and a dorsal ramus DR. The method illustrated in  FIGS. 7E-7G  uses tools constructed similarly to those used in the method illustrated in  FIGS. 7B-7D  above, wherein like components are identified by like-primed reference numbers. Thus, for example, dilator  704 ′ in  FIGS. 7E-7F  corresponds to dilator  704  of  FIGS. 7B-7C , etc. In  FIG. 7E , dilator  704 ′ having introducer  702 ′ disposed therethrough, which has a portion of the electrode lead disposed therein, are positioned adjacent to the first target site, e.g., the nervous tissue associated with the dorsal root ganglion DRG. 
     Introducer  702 ′ and dilator  704 ′ are moved proximally, e.g., using handle  730 ′ (not shown), while maintaining the position of electrode lead  200 ′″, to expose the second subset of electrodes at the first target site, illustratively, the nervous tissue associated with the dorsal root ganglion, as shown in  FIG. 7F . The first and second fixation elements of the electrode lead individually transition from a collapsed state within introducer  702 ′ to an expanded state, shown in  FIG. 7F , as introducer  702 ′ passes over the respective fixation element. The first and second fixation elements sandwich an anchor site, e.g., muscle such as the intertransversarii ITV or nervous tissue, therebetween without damaging the anchor site in the expanded state to fix the second subset of electrodes at the first target site. Introducer  702 ′ and dilator  704 ′ are further moved proximally, e.g., using handle  730 ′, while maintaining the position of the second subset of electrodes at the first target site with the assistance of the first and second fixation elements, to expose the first subset of electrodes at the second target site, illustratively, the medial branch of the dorsal ramus DR nerve or fascicles thereof that innervates the multifidus muscle. For example, the first subset of electrodes of electrode lead  200 ′″ at the second target site may be positioned to stimulate the medial branch of the dorsal ramus DR nerve or fascicles thereof that exits between the L2 and L3 lumbar segments and passes over the transverse process of the L3 vertebra, thereby eliciting contraction of fascicles of the lumbar multifidus at the L3, L4, L5 and Si segments and in some patients also at the L2 segment. 
     Introducer  702 ′ and dilator  704 ′ are moved proximally off the proximal end of electrode lead  200 ′″ and suture sleeve  700 ′ may be placed over the proximal end of electrode lead  200 ′″ and moved distally, as illustrated in  FIG. 7G . When suture sleeve  700 ′ is positioned adjacent to the superficial fascia SF beneath skin SK, sutures are sewn into the first and second grooves of suture sleeve  700 ′ so as to secure suture sleeve  700 ′ to the superficial fascia SF. Electrode lead  200 ′″ may comprise strain relief portion  250 ′ similar to strain relief portion  250  of electrode lead  200  of  FIG. 7D  described above to reduce axial strain on the fixation elements at the anchor site. Illustratively, strain relief portion  250 ′ is a loop in electrode lead  200 ′″ proximal to the electrodes on the lead and distal to the suture sleeve  700 ′. 
     Referring now to  FIG. 7H , multiple electrode leads may be implanted using the methods described above. For example, electrode leads  207  and  209  may be structurally similar to any of the electrode leads of  FIGS. 2A through 2G  described above, and may contain a plurality of electrodes disposed at their respective distal ends. The plurality of electrodes are configured to be implanted in or adjacent to tissue at the opposing side of the spine, such as nervous tissue, muscle, ligament, and/or joint capsule. For example, after implanting a first electrode lead as described in  FIGS. 7B through 7D  or  FIGS. 7E through 7G , the respective implantation method may be repeated on the opposing side of the spine to implant a second electrode lead. Electrode leads  207  and  209  may include fixation elements at their respective distal ends configured to anchor electrode leads  207  and  209  to their respective anchor sites. As illustrated in  FIG. 7H , electrode lead  207  may be anchored at a different anchor site to electrode lead  209 . For example, electrode lead  207  may be anchored to a first anchor site, e.g., muscle such as the intertransversarii on one side of the spine, such that the plurality of electrodes disposed thereon are in or adjacent to the dorsal root ganglion and/or the medial branch of the dorsal ramus nerve or fascicles thereof that innervates the multifidus muscle located on one side of the lumbar spine while electrode lead  209  may be anchored to a second anchor site, e.g., muscle such as the intertransversarii on the opposing side of the spine, such that the plurality of electrodes disposed thereon are in or adjacent to the dorsal root ganglion and/or to the medial branch of the dorsal ramus nerve or fascicles thereof that innervates the multifidus muscle located on the opposite side of the lumbar spine. 
     Referring now to  FIG. 7I , an exemplary tunneler system for tunneling the proximal end of an electrode lead subcutaneously for coupling to an IPG is described. First, tunneler system  740  is provided. Tunneler system  740  may include tunneler  742 , bullet-shaped tunneler tip  744  and/or facet-shaped tunneler tip  746 , sheath  748 , and optionally back-up sheath  750 . Tunneler  742  includes an elongated shaft with handle  752  at the proximal end and distal portion  754  configured for coupling, e.g., via threads, to the selected tunneler tip. Bullet-shaped tunneler tip  744  and facet-shaped tunneler tip  746  may include mating threaded portions configured to be coupled to threaded distal portion  754  of tunneler  742 . Both bullet-shaped tunneler tip  744  and facet-shaped tunneler tip  746  are configured to create a subcutaneous passage to accept sheath  748 . A clinician selects a desired bullet-shaped tunneler tip  744  or facet-shaped tunneler tip  746  to use based on application and user preference. Sheath  748  includes an inner lumen for receiving the elongated shaft of tunneler  742  and may be shaped and sized to fit between stopper  756  adjacent to handle  752  and threaded distal portion  754  of tunneler  742 . The outer diameter of sheath  748  may be approximately the same as the maximum outer diameter of bullet-shaped tunneler tip  744  and facet-shaped tunneler tip  746 . In addition, sheath  748  is configured to be disposed temporarily in the subcutaneous passage created by either bullet-shaped tunneler tip  744  or facet-shaped tunneler tip  746 .  FIG. 7J  shows select components of the tunneler system of  FIG. 7I  in an assembled state. 
     As described above, a clinician may make a first incision and implant the distal end of electrode lead  200  in accordance with the method described in  FIGS. 7B-D , or alternatively, may make a first incision and implant the distal end of electrode lead  200 ′″ in accordance with the method described in  FIGS. 7E-G . 
       FIG. 7K  is a flow chart showing exemplary method  760  for tunneling between a first incision, where the distal end of an electrode lead is implanted, to a second incision, where an IPG is within the incision or outside the incision, such that the proximal end of the electrode lead may be coupled to the IPG and the electrode lead and IPG may be fully implanted. At  762 , the clinician makes the second incision at a location remote from the location of the first incision, e.g., about 4-5 inches away from the first incision, to implant the IPG. The assembled tunneler system as shown in  FIG. 7J  is used to subcutaneously tunnel from the second incision to the first incision, or vice versa, to permit the proximal end of the electrode lead to be positioned through sheath  748  adjacent to the IPG for coupling. For example, once the distal end of the electrode lead is implanted and the proximal end is exposed at the first incision site, the clinician selects the partially assembled or assembled tunneler system as such shown in  FIG. 7J , or if unassembled, slides sheath  748  over the elongated shaft of tunneler  742 , and installs the desired bullet-shaped tunneler tip  744  or facet-shaped tunneler tip  746  to the threaded distal portion of tunneler  742 . 
     At  764 , the clinician inserts tunneler  742  and sheath  748  into the second incision and at  766 , advances tunneler system  740  subcutaneously until the selected desired tunneler tip reaches the first incision site, so that tunneler  742  and sheath  748  span the first and second incision sites. Alternatively, the clinician could tunnel from the first incision site to the second incision site. 
     At  768 , the clinician removes the selected desired tunneler tip and at  770 , withdraws tunneler  742  from sheath  748  through the second incision site while holding the distal end of sheath  748  at the first incision site. In this manner, one end of sheath  748  is exposed at one incision and the other end of sheath  748  is exposed at the other incision while portions of sheath  748  remain beneath the skin. At  772 , the clinician then feeds the proximal end of the electrode lead into the distal end of sheath  748  until it reaches the second incision site. At  774  the clinician pulls sheath  748  out through the second incision site such that the proximal end of the electrode lead remains exposed at the second incision site. At  776 , the clinician connects the proximal end of the electrode lead to the IPG, inside or outside the body and at  778 , closes the second incision with the IPG therein. The first incision is closed as well before or after the second incision is closed. As a result, the electrode lead and the IPG are fully implanted. 
     Exemplary stimulation parameters in accordance with aspects of the present invention are now described. Preferably, such stimulation parameters are selected and programmed to induce contraction of muscle to restore neural control and rehabilitate muscle associated with control of the spine, thereby improving lumbar spine stability and reducing back pain. As used in this specification, “to restore muscle function” means to restore an observable degree of muscle function as recognized by existing measures of patient assessment, such as the Oswestry Disability Index (“ODI”) as described in Lauridsen et al.,  Responsiveness and minimal clinically important difference for pain and disability instruments in low back pain patients , BMC Musculoskeletal Disorders, 7: 82-97 (2006), the European Quality of Life Assessment 5D (“EQ-5D”) as described in Brazier et al.,  A comparison of the EQ -5 D and SF -6 D across seven patient groups , Health Econ. 13: 873-884 (2004), or a Visual Analogue Scale (“VAS”) as described in Hagg et al.,  The clinical importance of changes in outcome scores after treatment for chronic low back pain , Eur Spine J 12: 12-20 (2003). In accordance with one aspect of the present invention, “to restore muscle function” means to observe at least a 15% improvement in one of the foregoing assessment scores within 30-60 days of initiation of treatment. As described above, the stimulation parameters may be programmed into the IPG, may be adjusted in the IPG responsive to (i) stimulation commands transferred from the activator or (ii) programming data transferred from the external programmer. 
     The stimulation parameters include, for example, pulse amplitude (voltage or current), pulse width, stimulation rate, stimulation frequency, ramp timing, cycle timing, session timing, and electrode configuration, including commands to start or stop a treatment session. In one embodiment, pulse amplitude is programmed to be adjustable between 0 and 7 mA. In a preferred embodiment, pulse amplitude is programmed to be between about 2-5 mA, 2.5-4.5 mA, or 3-4 mA, and preferably about 3.5 mA. In one embodiment, pulse width is programmed to be adjustable between 25 and 500 μs. In a preferred embodiment, pulse width is programmed to be between about 100-400 μs, 150-350 μs, or 200-300 μs, and preferably about 350 Vs. In one embodiment, stimulation rate is programmed to be adjustable between 1 and 40 Hz. In a preferred embodiment, stimulation rate is programmed to be between about 5-35 Hz, 10-30 Hz, or 15-20 Hz, and preferably about 20 Hz. In one embodiment, on ramp timing is programmed to be adjustable between 0 and 5 s. In a preferred embodiment, on ramp timing is programmed to be between about 0.5-4.5 s, 1-4 s, 1.5-3.5 s, or 2-3 s, and preferably about 2.5 s. In one embodiment, off ramp timing is programmed to be adjustable between 0 and 5 s. In a preferred embodiment, off ramp timing is programmed to be between about 0.5-4.5 s, 1-4 s, 1.5-3.5 s, or 2-3 s, and preferably about 2.5 s. In one embodiment, cycle-on timing is programmed to be adjustable between 2 and 20 s. In a preferred embodiment, cycle-on timing is programmed to be between about 4-18 s, 6-16 s, 8-14 s, 9-13 s, or 10-12 s and preferably about 10 s. In one embodiment, cycle-off timing is programmed to be adjustable between 20 and 120 s. In a preferred embodiment, cycle-off timing is programmed to be between about 30-110 s, 40-100 s, 50-90 s, 55-85 s, 60-80 s, or 65-75 s and preferably about 70 s. In one embodiment, session timing is programmed to be adjustable between 1 and 60 min. In a preferred embodiment, session timing is programmed to be between about 5-55 min, 10-50 min, 15-45 min, 20-40 min, or 25-35 min, and preferably about 30 min. 
     In another embodiment, the first subset of electrodes are configured to stimulate the target tissue according to stimulation parameters that are different from the stimulation parameters by which the second subset of electrodes are configured to stimulate the respective target tissue. For example, the subset of electrodes located in or adjacent to the nervous tissue associated with the dorsal root ganglion may be configured to stimulate the target tissue according to stimulation parameters different from the stimulation parameters used by the other subset of electrodes to stimulate the medial branch of the dorsal ramus nerve that innervates the multifidus muscle. In one embodiment, pulse amplitude is programmed to be adjustable between 0 to 2000 μA. In a preferred embodiment, pulse amplitude is programmed to be between 0 and 1000 μA. In one embodiment, pulse width is programmed to be adjustable between 40 and 300 ms. In a preferred embodiment, pulse width is programmed to be between about 40-300 ms, 200 ms, or 300 ms, and preferably about 200-300 ms. In one embodiment, stimulation frequency is programmed to be at least 16 Hz. In a preferred embodiment, stimulation rate is programmed to be between 16-100 Hz, 20 Hz, 30, Hz, 40 Hz, 50 Hz, 20-50 Hz, 20-30 Hz, 20-40 Hz, 30-40 Hz, 30-50 Hz, or preferably between 40-50 Hz. 
       FIG. 8  is a graph of an exemplary charge-balanced electrical stimulation waveform that may be delivered by the electrodes and IPG of the present invention. The IPG directs the electrodes, responsive to programming, stimulation commands, and/or received programming data, to stimulate at a pulse amplitude for the time of a pulse width and then balances the charge by dropping to a negative pulse amplitude and then bringing the pulse amplitude back to zero over the time of a waveform. The stimulation may be current-controlled and charge-balanced, or voltage-controlled and charge-balanced. 
       FIG. 9  is a graph showing an exemplary stimulation pulse train that may be delivered by the electrodes and IPG of the present invention. During cycle-on programming, the IPG directs the electrodes, responsive to programming, stimulation commands, and/or received programming data, to deliver a stimulation pulse train in an “on ramp” manner such that the pulse amplitude increases in predetermined increments to reach the programmed peak pulse amplitude. In this way, the number of pulses in the “on ramp” needed to reach the programmed peak pulse amplitude may be determined by the IPG responsive to data supplied by the programming system. After reaching the programmed peak pulse amplitude, the IPG directs the electrodes to deliver at the programmed peak pulse amplitude for a predetermined number of stimulation pulses. After the predetermined number of stimulation pulses is reached, the IPG directs the electrodes, responsive to programming, stimulation commands, and/or received programming data, to deliver a stimulation pulse train in an “off ramp” manner such that the pulse amplitude decreases in predetermined increments from the programmed peak pulse amplitude to zero. As shown in  FIG. 9 , the pulse amplitude may drop, e.g., to zero, between each stimulation pulse. 
       FIG. 10  is a graph showing an exemplary session that may be delivered by the electrodes and IPG of the present invention. In this example, during a cycle, the IPG directs the electrodes, responsive to programming, stimulation commands, and/or received programming data, to deliver electrical stimulation for the cycle-on duration, followed by a cycle-off duration of no electrical stimulation. Illustratively, a session is a programmable duration of repetitive cycles and the session delay is the time delay between the receipt of the command by the IPG to start a session to the start of the first cycle. After a session is completed, IPG directs the electrodes, responsive to programming, stimulation commands, and/or received programming data, to stop delivering electrical stimulation until a new session begins. 
     Referring now to  FIGS. 11-15 , exemplary screen shots generated by user interface block  610  of software  600  are described for a stimulator system.  FIG. 11  shows main program screen  1100  that is displayed to a physician running software-based programming system  600 . Main program screen  1100  includes identification and status area  1102 , electrode configuration area  1104 , session parameters area  1106 , impedance logging area  1108 , settings area  1110 , and buttons  1112 . 
     In  FIG. 11 , identification and status area  1102  includes Subject ID, IPG Mode, Battery Status, Serial No., and Magnet Effect. Subject ID permits a user, e.g., a physician, to enter an ID, which is then displayed, for a subject having implanted electrodes and an IPG of the present invention. IPG Mode permits a user to turn the mode “ON”, such that the IPG implanted in the subject is activated, and turn the mode “OFF”, such that the IPG is deactivated. Battery Status displays the remaining battery power of the power supply in the IPG. Battery Status may be updated after a user interrogates the IPG to request updated battery status information. Serial No. displays the serial number assigned to the IPG implanted in the subject. Magnet Effect permits a user change how the IPG responds to sensing a magnetic field from a magnet, e.g., magnet  450 . For example, a user may select “Stop Session Only”, such that the IPG will only stop a stimulation session upon sensing the magnet; the user may select “Start Session Only”, such that the IPG will only start a stimulation session upon sensing the magnet; the user may select “Start and Stop Session”, such that the IPG will interchangeably stop or stop a stimulation session each time the magnet is sensed; or the user may select “No Effect”, such that the IPG does not respond to sensing the magnet. 
     Electrode configuration area  1104  includes Stimulation Mode, Rate, right electrode lead display, left electrode lead display, Amplitude, Pulse Width, Impedance area, and Offset. Stimulation Mode permits a user to select a “Bilateral” mode where electrodes on two separate electrode leads stimulate tissue at the same time or a “Unilateral” mode where electrodes on only one electrode lead stimulate tissue. Rate permits a user to select a stimulation rate of any integer between, e.g., 1-40 Hz. Right electrode lead display shows an illustration of four electrodes (numbered 1-4) on the right electrode lead implanted within the subject while left electrode lead display shows the four electrodes (numbered 5-8) on the left electrode lead implanted within the subject. A user may select which electrode(s) stimulate in a session and may change the polarity of each electrode between positive and negative. In the illustrated embodiment, when a session begins, negative electrode  2  on the right lead and negative electrode  6  on the left lead transmit energy to target tissue to stimulate the tissue and positive electrodes  1  and  5 , respectively, receive the energy after it has passed through the target tissue. Amplitude permits a user to adjust the pulse amplitude delivered by an electrode on a lead. A user may increase the pulse amplitude by selecting the Amplitude button and then pressing the corresponding up arrow button and decrease by pressing the corresponding down arrow button for the right or the left electrode lead. In one embodiment, the pulse amplitude increases or decreases by 0.1 mA when the corresponding arrow button is pressed by a user. Alternatively, a user may enter in the desired pulse amplitude using, for example, the keyboard on the computer. Pulse Width permits a user to adjust the pulse width delivered by an electrode on a lead. A user may increase the pulse width by selecting the Pulse Width button and then pressing the corresponding up arrow button and decrease by pressing the corresponding down arrow button for the right or the left electrode lead. In one embodiment, the pulse width increases or decreases by 1 is when the corresponding arrow button is pressed by a user. Alternatively, a user may enter in the desired pulse width using, for example, the keyboard on the computer. Impedance area permits a user to select the Measure Impedance button which causes the programming system, via the external programmer, to command the IPG to run the routine to measure impedances and then transmit the measured impedances back to the programming system, via the external programmer. The measured impedances then are displayed for each electrode. Offset permits a user to offset the stimulation timing between the right and left electrodes. 
     Session parameters area  1106  includes Session, Cycle On, Cycle Off, On Ramp, and Off Ramp. The corresponding button for each of the parameters permits a user to adjust the timing for each parameter by selecting the button and then pressing the up or down arrows, or, alternatively, by selecting the corresponding button and entering the desired parameter using, for example, the keyboard on the computer. 
     Impedance logging area  1108  includes Log Impedance Daily, Daily Log Time, Log Impedance Matrix, and Matrix Log Period. Log Impedance Daily includes a button that permits a user to select “YES” or “NO”. If a user selects “YES”, the IPG will run the impedance test routine every day and store the measured impedance in its memory for transfer to the programming system software. Daily Log Time permits a user to adjust how many hours and minutes per day the IPG will log the measured impedance. Log Impedance Matrix permits a user to select “YES”, where the IPG will store the measured impedance in matrix form, and “NO” where the IPG will not store the measured impedance in matrix form. Matrix Log Period permits a user to select “Hourly”, “Daily”, or “Weekly”, whereby the IPG will store the measured impedance in a matrix every hour, every day, or every week, respectively. 
     Settings area  1110  includes Cumulative Max, Lockout Time, Session Delay, Pulse Train Balance, Interphase Period, Balance Mode, Voltage Limit, and Transpose L-R. Cumulative Max permits a user to select the maximum cumulative stimulation session minutes in an amount of days. Lockout Time permits a user to set a number of hours or minutes that a stimulation session may not be initiated. Session Delay permits a user to select a number of seconds that a session will be delayed after IPG receives a command to start a session. Pulse Train Balance permits a user to cause a pulse train balance mode to be “Enabled” or “Disabled”. The pulse train balance mode may be the mode described above with respect to  FIG. 9 . Interphase Period permits a user to adjust the time between stimulation pulses. Balance Mode permits a user to cause a balance mode to be “Active” or “Inactive”. The balance mode may be the mode described above with respect to  FIG. 8 . Voltage Limit permits a user to adjust the maximum voltage that may be supplied from the power source to the electrodes. In one embodiment, Voltage Limit may be set to “Automatic” such that the controller of the IPG determines the maximum voltage based on predetermined thresholds programmed therein. Transpose L-R permits a user to turn “ON” or “OFF” a mode that, when activated, causes stimulation to be interchanged between the electrodes on the right electrode lead and the electrodes on the left electrode lead. 
     Buttons  1112  include Interrogate, Program, Start Session, and Stop Session. When pressed, the “Interrogate” button causes the communications circuitry in the external programmer to transmit interrogation commands, such as requests for the (i) actual value of stimulation parameter(s) programmed in the IPG, (ii) battery voltage remaining in the IPG, (iii) data logged in the IPG, and (iv) IPG status data, to the communications circuitry in the IPG for processing by the IPG controller. The responsive data is then sent back to the software, via communications circuitry in the IPG and external programmer, for display on the user interface of the computer, such as main program screen  1100 . The “Program” button, when pressed, causes the communications circuitry in the external programmer to transmit programming data to the communications circuitry in the IPG for processing by the IPG controller. Programming data may include, for example, adjustments made by the user to the various input areas in main program screen  1100 . The “Start Session” button, when pressed, causes the communications circuitry in the external programmer to transmit a command to begin a treatment session, or optionally programming data that includes such a command, to the communications circuitry in the IPG at the selected stimulation parameters for processing by the IPG controller. The stimulation parameter data may be stored in the IPG controller such that future sessions will cause stimulation at the selected stimulation parameters. The “Stop Session” button, when pressed, causes the communications circuitry in the external programmer to transmit a command to stop a treatment session to the communications circuitry in the IPG for processing by the IPG controller. 
       FIG. 12  shows temporary program screen  1200  that is displayed to a physician running software-based programming system  600 . Temporary program screen  1200  includes electrode configuration area  1202 , session parameters area  1204 , settings area  1206 , and buttons  1208 . Temporary program screen  1200  permits a user to adjust stimulation parameters on a temporary basis, e.g., for one or two sessions. 
     Electrode configuration area  1202  is similar to electrode configuration area  1104  of  FIG. 11  and for conciseness, will not be described again in detail. Session parameters area  1204  is similar to session parameters area  1106  of  FIG. 11 , although session parameters area  1204  may include fewer parameters for user adjustment. Illustratively, session parameters area  1204  includes On Ramp and Off Ramp. 
     Settings area  1206  is similar to settings area  1110  of  FIG. 11 , although settings area  1206  may include fewer settings for user adjustment. Illustratively, settings area  1206  includes Pulse Train Balance, Interphase Period, Balance Mode, Voltage Limit, and Transpose L-R. 
     Buttons  1208  include Start Temporary Program, Stop Temporary Program, and Copy Changed Values to Main Screen. The “Start Temporary Program” button, when pressed, causes the communications circuitry in the external programmer to transmit a command to begin a treatment session to the communications circuitry in the IPG at the selected temporary stimulation parameters for processing by the IPG controller. The temporary stimulation parameter data may be stored in the IPG controller on a temporary basis such that future sessions will cause stimulation at the stimulation parameters programmed prior to receipt of the temporary stimulation parameters. The “Stop Temporary Program” button, when pressed, causes the communications circuitry in the external programmer to transmit a command to stop a treatment session to the communications circuitry in the IPG for processing by the IPG controller. The “Copy Changed Values to Main Screen” button, when pressed, causes software-based programming system  600  to copy the temporary stimulation parameters entered in screen  1200  into corresponding input areas in main program screen  1100  of  FIG. 11 . 
       FIG. 13  shows impedance screen  1300  that is displayed to a physician running software-based programming system  600 . Impedance screen  1300  includes electrode configuration area  1302  and impedance matrix area  1304 . 
     Electrode configuration area  1302  includes right electrode lead impedance display, left electrode lead impedance display, and Impedance area. Right electrode lead impedance display shows an illustration of four electrodes (numbered 5-8) on the right electrode lead implanted within the subject while left electrode lead impedance display shows the four electrodes (numbered 1-4) on the left electrode lead implanted within the subject. A user may select at which electrode(s) to measure impedance using the respective displays. Impedance area permits a user to select the “Measure Impedance” button which causes the programming system, via the external programmer, to command the IPG to run the routine to measure impedances at the electrodes selected in the lead displays and then transmit the measured impedances back to the programming system, via the external programmer. The measured impedances then is displayed for each electrode. Selection of electrodes on the lead displays for measuring impedance does not affect electrode configuration area  1104  of main program screen  1100  in  FIG. 11 . 
     Impedance matrix area  1304  includes an impedance matrix and a Measure Impedance Matrix button. When pressed, the “Measure Impedance Matrix” button causes the impedance matrix to be populated with the measured impedances in accordance with selections made at electrode configuration area  1302 . In the illustrated embodiment, impedance between electrode  2  (selected to be negative) and electrode  1  (selected to be positive) on the left lead is measured to be 490 Ohms and impedance between electrode  6  (selected to be negative) and electrode  5  (selected to be positive) on the right electrode lead is measured to be 1355 Ohms. Thus, when the Measure Impedance Matrix button is pressed, the software causes  490  to be populated at the intersection of 2 negative and 1 positive and 1355 to be populated at the intersection of 6 negative and 5 positive in the impedance matrix. The impedance matrix also may display when an electrode is excluded or out of range. 
       FIG. 14  shows data review screen  1400  that is displayed to a physician running software-based programming system  600 . Data review screen  1400  includes daily log area  1402  and data matrix area  1404 . 
     Daily log area  1402  permits a user to view, on a day-by-day basis, Number of Daily Sessions, Total Daily Session Time, Daily Impedance, and Voltage. The date button permits a user to select a day and time such that a user may view stored data from the selected day/time. The “Number of Daily Sessions” area displays the number of treatment sessions that were started for the selected day. The “Total Daily Session Time” area displays the number of minutes of treatment sessions for the selected day. The “Daily Impedance” area displays the measured impedance of the right and left electrode lead for the selected day. The “Voltage” area displays the measured voltage remaining in the IPG power supply at the end of the selected day. 
     Data matrix area  1404  includes a data matrix and a “Get Stored Data” button. When pressed, the “Get Stored Data” button, causes the communications circuitry in the external programmer to transmit a request for stored data to the communications circuitry in the IPG for processing by the IPG controller. The IPG controller retrieves the stored data from its memory and causes the communications circuitry in the IPG to transmit the stored data to the communications circuitry in the external programmer for display on data review screen  1400 . The data matrix is populated with received stored data in the appropriate row and column corresponding to the electrode configuration. The data matrix also may display when an electrode is disabled. 
       FIG. 15  shows data graphs screen  1500  that is displayed to a physician running software-based programming system  600 . Data graphs screen  1500  includes session time graph  1502  and impedance graph  1504 . Session time graph  1502  displays the total daily session time on a daily basis, as retrieved from stored data in the IPG. In the illustrated embodiment, session time  1506  shows that the patient used the stimulation system for 60 minutes on the first day and then did not use the stimulation system for the next 15 days. Impedance graph  1504  displays the daily impedance for the right and left electrode lead on a daily basis, as retrieved from stored data in the IPG. In the illustrated embodiment, right impedance  1508  shows that the measured impedance for the electrodes on the right electrode lead was about 12,000 ohms over three days, while left impedance  1510  shows that the measured impedance for the electrodes on the left electrode lead was about 1400 ohms over three days. When pressed, the “Get Stored Data” button, causes the communications circuitry in the external programmer to transmit a request for stored data to the communications circuitry in the IPG for processing by the IPG controller. The IPG controller retrieves the stored data from its memory and causes the communications circuitry in the IPG to transmit the stored data to the communications circuitry in the external programmer for display on data graphs screen  1500 . 
     As will be readily understood by one of ordinary skill in the art, a user may enter data into the user interface using suitable mechanisms known in the art, such as, entering numbers, letters, and/or symbols via a keyboard or touch screen, mouse, touchpad, selection from a drop-down menu, voice commands, or the like. 
     While various illustrative embodiments of the invention are described above, it will be apparent to one skilled in the art that various changes and modifications may be made therein without departing from the invention. The appended claims are intended to cover all such changes and modifications that fall within the true scope of the invention.