FUNCTIONAL ELECTRICAL STIMULATION OPERATING SYSTEM AND METHODS Field of the Invention
This invention relates to systems and methods for providing functional electrical stimulation to targeted sites in an animal body. Background of the Invention
A functional electrical stimulation (FES) system is an arrangement of components to stimulate a desired muscle response. The FES system can comprise, e.g., surgically implanted components, an externally worn controller, and an operating system for emulating the electrical stimulation of muscle control of a patient.
FES systems are particularly applicable to spinal cord injury and stroke victims. Applications of the FES system include restoration of bladder control, the stimulation of standing, or the stimulation of arm and grasping muscle control . Summary of the Invention One aspect of the invention is an operating system for a FES system that follows the principles of the component object model. With this model, the operating system can encapsulate functional components of code in separately compiled modules. This feature allows for modules of the operating system to be developed in any language and work within the application, thereby facilitating use of third party tools and future development with other languages, if necessary.
Another advantage of this model is that object packages of the FES Code Library are able to have a
separable one-to-one correlation with the devices (e.g., stimulator, transducer) comprising the FES system. Should additional devices be added to the FES system, the operating system architecture provides a highly flexible structure that can be readily upgraded by creating new, individually compiled components, and changing or inserting elements .
Another aspect of the invention is an operating system capable of programming the control of multiple FES systems (e.g., fingergrasp, bladder and bowel, standing function) for a single patient.
Yet another aspect of the invention is an operating system for a FES system that permits ease of use in setting up, adjusting, and monitoring the various settings and control features of the FES system.
Although the disclosure hereof is detailed and exact to enable those skilled in the art to practice the invention, the physical embodiments herein disclosed merely exemplify the invention which may be embodied in other specific structure. While the preferred embodiment has been described, the details may be changed without departing from the invention, which is defined by the claims .
Description of the Drawings FIG. 1 is a schematic representation of the general components comprising a functional electrical stimulation (FES) system.
FIG. 2 is a schematic representation of a patient with multiple FES systems. FIG. 3 is a schematic representation of the main processing unit (MPU) and universal external controller (UEC) .
FIG. 4 is a schematic representation of the program modules comprising the FES operating system. FIG. 5 is a schematic representation of the
program objects of the FES Code Library.
FIG. 6 is a schematic representation of a general walk-through the various features of the FES operating system. FIG. 7 is an illustration of the login interface.
FIG. 8 is an illustration of the startup screen.
FIG. 9 is an illustration of the new patient feature.
FIG. 10a is an illustration of the general information form in the new patient interface.
FIG. 10b is an illustration of the injury notes form in the new 'patient interface. FIG. 10c is an illustration of the FES type form of the new patient interface.
FIG. lOd is an illustration of the default settings form of the new patient interface.
FIG. 11 is an illustration of the patient information interface.
FIG. 12 is an illustration of the save feature for the operating system.
FIG. 13 is an illustration of the physician tab of the patient information interface. FIG. 14 is an illustration of the caregiver tab of the patient information interface.
FIG. 15 is an illustration of the insurance tab of the patient information interface.
FIG. 16 is an illustration of the history tab of the patient information interface.
FIG. 17 is an illustration of the FES information interface.
FIG. 18 is an illustration of the patient identification feature of the FES information interface. FIG. 19 is an illustration of the add note
feature to the FES information interface.
FIG. 20 is an illustration of the surgical information tab of the FES information interface.
FIG. 21 is an illustration of the surgical procedures tab of the FES information interface.
FIG. 22 is an illustration of the electrode map tab.
FIG. 23 is an illustration of the profiling interface. FIG. 24 is an illustration of the pulse frequency control in the profiling interface.
FIG. 25 is an illustration of the pattern type menu in the profiling interface.
FIG. 26 is an illustration of the new grasp feature.
FIG. 27 is an illustration of the new grasp interface.
FIG. 28 is an illustration of the default grasp template menu. FIG. 29 is an illustration of the grasp programming interface.
FIG. 30 is an illustration of the test pulldown menu in the grasp programming interface.
FIG. 31 is an illustration of the quick grasp test control.
FIG. 32 is an illustration of menu to access quick grasp test.
FIG. 33 is an illustration of the drag point feature of the grasp programming interface. FIG. 34 is an illustration of the drag point menu feature in the grasp programming interface .
FIG. 35 is an illustration of the read and write features with the UEC in the grasp programming interface. FIG. 36 is an illustration of the exercise
interface .
FIG. 37 is an illustration of the advanced options feature of the exercise interface.
FIG. 38 is an illustration of the advanced settings feature of the of the exercise interface.
FIG. 39 is an illustration of the test feature of the exercise interface.
FIG. 40 is an illustration of the write feature to the UEC. FIG. 41 is an illustration of the transducer interface .
FIG. 42 is an illustration of the motion tab in the transducer interface.
FIG. 43 is an illustration of the compare settings feature of the transducer interface.
FIG. 44 is an illustration of advanced lock controls .
FIG. 45 is an illustration of the logoff feature. Detailed Description
I. FES System Overview
The various aspects of this invention will be described in the context of an operating system used in association with a functional electrical stimulation (FES) system for prosthetic or therapeutic purposes. The features and advantages related to the invention are well suited to this purpose. Yet, one should appreciate that the various aspects and features of the invention can be applied to achieve other objectives as well. FIG. 1 is a schematic representation of the functional components in a typical FES System 8 for a patient 12. On the signal input side, the system 8 comprises the patient 12, a signal input function 20, and an input signal processing function 22, which generate and process desired activity commands. On the signal
output side, the system 8 comprises the patient 8, a stimulator function 14, a stimulation routing or mapping function 16, and an electrode function 18, which apply stimulation to muscles, or nerves, or both to achieved the desired activity. The system 8 includes an input/output algorithm 24, that form the interface between the signal inputs and the signal outputs.
In a typical embodiment, the implementation of the output signal side of the FES System 8 requires a surgical procedure to implant an internal receiver/stimulator (IRS) in the patient 12, to carry out the electrical stimulating function 14. Electrodes are also typically surgically implanted in individual muscles or nerves, to carry out the electrode function 18. Connecting the electrodes to the IRS is an implanted network of leads and connectors, creating electrical channels to convey electrical stimulation signals from the stimulator 14 to individual electrodes, to thereby carry out the mapping function 16. In a typical embodiment, the implementation of the input signal side of the FES System 8 requires the placement of an external position sensor, e.g., a shoulder position sensor (SPS) , to carry out the signal input function 20. The SPS translates a small, controlled movement by a patient 12 into a control signal. This control signal is transmitted from the SPS to a signal processor located in a remote controller, e.g., universal external controller (UEC) 25, which performs the input signal processing function 22. Upon receiving and processing the control signal, the UEC 25 passes the control signal through the control input/output algorithm 24. The control input/output algorithm 24 is generated and downloaded to the UEC 25 from a FES operating system 28, as will be discussed in greater detail later.
Based upon the translation of the control signal, the control input/output algorithm 24 transmits the respective control device instructions, e.g., by radio waves from an external antenna, to power and control the stimulator function 14. Upon receiving the control device information, the stimulator function 14 delivers the desired low-level electrical current stimulation via the mapping function 16 to the electrode function 18. which causes the respective muscles to contract in controlled patterns to obtain the desired muscular response from the patient 12.
In the illustrated embodiment, the UEC 25 functions as a conduit between the patient 12 and the FES operating system 28. The UEC 25 is of the type shown and described in U.S. Application Ser. No. 09/822,761 entitled "Systems and Methods for Performing Prosthetic or Therapeutic Neuromuscular Stimulation Using a Programmable Universal External Controller" filed March 30, 2001, which is incorporated herein by reference. As described in the just mentioned patent application, the UEC 25 is desirably capable of supporting multiple FES systems 8. For example, FIG. 2 shows how a patient 12 may use multiple FES systems for providing a finger-grasping function 9, a bladder and bowel control function 10, and a standing function 11. The UEC 25 can also be configured to provide different neuromuscular functions simultaneously, such as implementing a standing function 9 for a male patient 12 concurrently with a bladder control function 11. In addition, the firmware of the UEC 25 can be programmed to perform other neuromuscular stimulation functions, including shoulder subluxation, gait training, dysphasia, tenolysis, orthopedic shoulder, and arthroplasty. The FES operating system 28 is capable of supporting the
programming of these multiple FES systems 8 and functions that can be configured in the UEC 25 firmware.
The control algorithm aspect of the FES system 8 requires support from a main processing unit (MPU) 26. FIG. 3 shows a schematic representation of the MPU 26, comprising a microprocessor 30, communication link 32, a hard drive 34 or storage module, a standard interface (monitor 35, keyboard 36 and mouse or pointing device 37) and printer 38. The communication link 26 controls the signal and data flow to and from the MPU 26, and is coupled to the hard drive 34 as well as the standard interface 36 and printer 38.
In a preferred embodiment, the communication link 32 between the MPU 26 and the UEC 25 is an external infrared device. Alternatively, this link 32 can be a cable connection. The link 32 provides the user with dynamic interaction between the standard interface 34 and the UEC 25.
In a preferred embodiment, the monitor 35 of the MPU 26 will have a resolution of 800x600 with 16-bit color. The MPU 26 itself will have storage capacity of 640MB RAM and 1GB hard drive 34 space. II. FES Operating System Overview
The FES operating system 28 that embodies features of the invention resides on the hard drive of the MPU 26. The operating system 28 allows a clinician or therapist (who will be called the "user") to view, adjust and download the various device control parameters to the UEC 25, which can thereby be used by the patient 12 to control daily operation of as single or multiple FES systems 8.
In general, the FES operating system 28 is the program language that provides the user with real time feedback and interaction with the various FES devices and patient through graphic user interface (GUI) elements 52.
The GUI elements 52, created in a window-based graphical format, display the various outputs generated by the operating system 28 and allow the user to input and adjust the real time action of the control language and devices with the patient's muscular response. FIG. 7 illustrates the shell of GUI elements 52 (e.g., window pane, menus, time, corporate name) provided by the operating system 28. In a preferred embodiment, to develop the GUI elements 52, the operating system 28 utilizes certain third party, off-the-shelf components and tools, comprising Microsoft Windows 98 - 2nd Ed., Microsoft Database Engine (MSDE) , Microsoft Visual Basic 6.0 SP4 Runtime Libraries, Olectra Resizer v2.0.3 by APEX, Olectra Chart v5.0 by KL Group, Olectra MetaDraw V2.5.014 by Bennet-Tec Information Systems, Inc., FXTools Gold 5.0.0.3 by Pegasus, and Dockit 1.14.28 by 21 Hex. The Microsoft Windows software provides the environment for the application, as well as the drive and interfaces necessary to communicate with the serial port, printer 38 and infrared link 32. The MSDE provides a database engine for storing and maintaining of patient and system information. The Visual Basic software provides the GUI 52 and Windows library required to run software in the Visual Basic environment. The Olectra Resizer software correctly places and maintains all controls on the screen during window resizing. Olectra Chart and Olectra MetaDraw software are used to display the graphic components. FXTools software is used to display, play and control AVI videos used to demonstrate template grasp positions. The Dockit software is used to place and control multiple panes and views within the application.
Once developed, the operating system 28 can reside as a standard window-based software program on a hard drive 34. Consequently, the user can download the FES operating system 28 from a desktop computer to a personal
computer (PC) laptop running Windows 98 - 2nd ed., thereby providing a tool for the user to program, review, modify, and store parameters and settings of an FES system 8.
FIG. 4 shows a general schematic representation of the breakdown of program modules of a FES operating system 28, comprising the Rehab Suite (RS) package 40, database package 42, user interface (UI) packages 48, and communications package 50.
The Rehab Suite (RS) package 40 comprises the "shell" application that provides the functionality to load UI packages 48 and the main work area, as well as provides a rich GUI 52 for the user. The RS 40 also provides a communication gateway that enables dynamic storing and retrieving of information between the RS 40 and the database (DB) 42. With the proper login, the RS 40 executes its primary function, loading the GUI 52 shell and Patient Explorer 500, discussed later.
The database 42 is comprised of separate components for storage of patient data, system data, and a Help/Super Tool Tip package 44. This aspect allows non- patient data to be updated and distributed by the various UIs 48 without altering patient data. In the preferred embodiment, the database 42 utilizes an SQL-base database engine for maintenance and storage of data, comprised of object code to provide read and write access to the stored information. The object code allows the controller of the instance of this object code to use SQL statements or stored procedures to interact with the data. All database 42 operations are performed through stored procedures in the database 42 package. The physical database comprises separate storage for the patient-specific data and the system-specific information for the FES application. The user can read and write to the patient-specific data, but the user cannot directly interact with the system-specific information.
The Super Tool Tip 44 is a dynamic connection for the user to obtain help information while utilizing the FES operating system 28.
The UI packages 48 are individual programs that perform the various tasks of the operating system 28 in converting the control signal to muscular control device information, displaying a visual, and storing or retrieving patient and system information. Still, each UI 48 structure is compatible with the shell format of the RS 40. When a user selects a file or node from the Patient Explorer 500, the shell of the RS 40 dynamically loads the appropriate UIs 48 into the main application area of the user display.
In the illustrated embodiment shown in FIG. 4, the UI's 48 of the operating system 28 comprise a structure that correlates with the human and functional components of the overall FES system 8, comprising a patient information package 56, FES information package 58, transducer programming package 60, stimulator programming package 62, and profiling package 64. In particular, the patient information package 56 correlates with the human component, i.e., the patient 12; the FES system information package 58 correlates with the mapping function 16; the transducer programming package 60 correlates with the signal input function 20; and the profiling package 64 correlates with the electrode function 18.
This aspect of the system enables each operating system 28 to be a separate executable. As a separate executable, each UI 48 implements its own interface and can call a lower level FES Code Library 74 object (s)
(discussed later) to perform tasks, thereby allowing multiple systems to be programmed for a single patient
12. This aspect of the operating system 28 structure allows for the simple addition of executables to the
operating system 28 having a one-to-one correlation to devices added to the FES system 8.
The patient information package 56 provides the user with an interface 57 to read and adjust general patient information as well as communicate the information to the database 42. General patient information comprises the patient's existing address, physician, caregiver, insurance, hospital, and history of prior treatment.
The FES information package 58 provides an interface 59 to display and adjust detailed parameters relating to the surgery and mapping 16 of the implanted electrodes 18. The package 58 comprises information regarding UEC status, surgical information, surgical procedures, and electrode mapping 16. UEC status refers to the electrical stimulation patterns programmed in the UEC 25.
The transducer programming package 60 provides an interface 61 that enables the user to communicate and interact with the UEC 25 and transducer 20 externally mounted on the patient 12. Once the transducer 20 settings and parameters are programmed into the database 42, the user can download and store this information into the UEC 25 to enable daily control of the FES devices by the patient 12.
The stimulator programming package 62 comprises grasp 66 and exercise 68 programming interfaces. The grasp programming interface 66 allows the user to display and set hand grasp settings and patterns, and subsequently enables the user to save the settings and patterns to the UEC 25 and the database package 42. The exercise programming interface 68 utilizes the predefined grasp patterns stored in the database 42 to create exercise programs for the patient' 12.
The profiling package 64 provides the user with an interface 65 to profile the behavior of a muscle to stimulation.
The communications package 50 is comprised of applications 70 and device 72 communications packages. The separation of these classifications of modules eliminates the need to reload packages and thereby radically improves the response time of the operating system 28. The applications communications package 70 enables communication from the RS 40 to the various UIs 48, as well as will raise events from the various UIs 48 to the RS 40. The device communications package 72 is comprised of the FES Code Library 74 and a component responsible for communicating with the UEC 25.
The FES Code Library 74 is collection of individual objects of programming code that enables device communication between the standard interface (i.e., monitor 35, keyboard 36, and mouse 37) and the various FES devices (e.g., UEC 25, transducer 20, and stimulator 14) . The user can utilize one or various combinations of these objects to communicate with and control the various FES devices. Due to the importance of communicating with the FES devices and the timing of the communications, each object of the FES Code Library 74 is a separate executable. This enables specific object implementations to be added to the FES Code Library 74 as more devices are added to the FES System 8. In addition, this aspect allows the individual UIs 48 to be abstracted from the communications package 50.
In the illustrated embodiment shown in FIG. 5, each object of the FES Code Library 74 correlates with a device of the FES System 8, comprising the system object
76, control algorithm object 78, process object 80 and transducer object 82. In particular, the system object 76 correlates with the overall FES system 8. The control algorithm object 78 correlates with the control algorithm parameters sent to the UEC 25. The process object 80
correlates with the control input and output between the UEC 25 and MPU 26. The transducer object 82 correlates with the transducer 20.
The system object 76 provides the methods to access specific system properties comprising handling system level processes and returning specific implementations from the lower level functional system libraries. The control algorithm object 78 provides the means to allow control algorithm parameters to be sent to the UEC 25. The process object 80 allows the MPU 26 and UEC 25 to communicate the control input and output . The transducer object 82 provides the means control transducer parameter setting, as well as enables the ability to read and write transducer output . III. FES Operating System Features
FIG. 6 is a schematic representation of a general walk-through the various features of the FES operating system 28.
Following initial boot-up of the MPU 26, the monitor 35 will display the desktop feature of the Windows 98-2nd edition program, comprising the startup icon 84 for the FES programming software. Clicking on the icon 84 with the mouse 37 will lead the user into the FES operating system 28, followed by the login interface 86. FIG. 7 shows the login interface 86, comprising sections for the proper user name 87 and password 88. If a correct login, the RS 40 will execute its primary function, loading the GUI 48 shell and Patient Explorer 500. When initially loading, the GUI shell 48 flashes a generic display form 96, a feature that flashes whenever an interface is not loaded.
Alternatively, the RS 40 comprises a new user interface 90 to add users to the system, change one's password 92, and a display of general information 94 about the system. To access this interface, the user
must open the FILE menu 400 and select NEW 402 and PATIENT 406.
FIG. 6 shows that upon correct login, the system 28 will lead the user to the startup screen 100. FIG. 8 illustrates the startup screen, comprising the generic display form 54, the Patient Explorer 500, the Super Tool Tip 44, and a row of push-button menus available to the operating system 28. Initially, the Patient Explorer 500 allows a user to select a patient 12 from the list of patient information files created in the patient information interface 56 and stored in the database 42. Upon selecting a patient name from the menu 501 with the mouse 37, the Patient Explorer 500 provides a tree view 98 of the multiple FES systems 8 (e.g., fingergrasp 9, bladder and bowel control 10, standing 11) utilized by the respective patient 12. In addition, under each FES system 9,10,11 the tree view 98 comprises a menu of the UIs 48 related to grasp 66, exercise 68 and transducer 60 programming for that particularly FES system 8. This feature enables the user and patient 12 to readily manage the multiple FES systems 9,10,11 available to multiple patients 12.
Initially, the user can create a new patient record, select a stored patient record from the Patient Explorer 500, or import an existing patient record from another database. Alternatively, after the link 32 between the operating system 28 and the UEC 25 is established, files can be uploaded, or polled, from the UEC 25 through the FES information package 58, discussed in more detail later.
In the preferred embodiment illustrated in FIG. 9, the user can enter a new patient file to the Patient Explorer 500 by opening the FILE menu 400 and selecting NEW PATIENT 408 with the mouse 37 or arrow keys on the keyboard 36. To import a patient or program files from
an outside database or diskette, the user can open the FILE menu 400 and selecting IMPORT 414.
FIGs. 10a through lOd illustrates that adding a new patient record to the Patient Explorer 500 requires completing the new patient interface 102, comprising a general patient information form 104, injury notes form 106, FES system type form 108, and default settings form 110. Upon creating a new file, clicking the finish button 111 will take the user to the patient information interface 56, as shown in FIG. 6.
FIG. 11 illustrates the patient information interface 56. The patient information interface 56 allows the user to enter in or read out general patient information comprising forms for personal information 112, physician 114, caregiver 116, insurance company 118 and hospital history 120. Once this patient information interface 56 is completed, FIG. 12 illustrates that the information can be saved by opening the FILE menu 400 and selecting SAVE 402. Alternatively, information files can be exported to a diskette or outside database for backup or transfer using the EXPORT 416 feature.
As illustrated in FIG. 11, selecting the personal information tab 112 provides a form for viewing and recording the patient's address, contact information, date of birth, social security number, sex, height, weight and comments. Shown in FIG. 13, the Physicians tab 114 provides a form for viewing the address, contact information and comments for each physician involved with the patient 12. Illustrated in FIG. 14, the caregiver tab 116 provides the user with name, address, contact information and comments for the caregivers . Illustrated in FIG. 15, the Insurance tab 118 provides a form to view and store information regarding the insurance company, plan, insurance identification, group number, address, contact information and comments. Illustrated in FIG.
16, the history tab 120 allows the user to view and store information regarding the date of the injury, the hospitals involved, the patient identification, the diagnosis, the level of injury, the classification of injury, the treatments given and comments.
Upon completion of the patient information interface 57, the user can enter specific information about a particular FES system 8 into the FES information interface 59. As illustrated in FIG. 6, clicking on a particular FES system 8 in the tree view 98 will lead the user to the respective FES information interface 59. As FIG. 6 illustrates, a walk-through the programming for a multiple FES system (e.g., fingergrasp 9, bladder and bowel 10, standing function 11) will be generally analogous 600 to the shown embodiment for programming the fingergrasp 9 function.
In general, the FES information interface 59 allows the user to view and store general information about the particular FES system 8 and surgical procedures used in its implementation.
Illustrated in FIG. 17, the FES information interface 59 comprises a progress notes box 122, UEC status tab 124, general FES information tab 126, surgical procedures tab 128 and electrode map tab 130. As shown in FIG. 18, the user can verify that the patient is the same assigned to the UEC 25 before changing any programming on it by opening the DEVICE menu 420 and selecting PATIENT ID 421. Shown in FIG. 19, pressing the ADD NOTE button 123a will display a small interface 123b for adding comments. The UEC status tab
124 provides for viewing and modifying the lateral and palmar grasp patterns, shoulder settings and exercises stored in the UEC 25. Illustrated in FIG. 20, the surgical information tab 126 provides for viewing and recording the implant surgery date, physician, hospital,
serial numbers of UEC 25 and stimulator 14, and patient identification at the hospital. Illustrated in FIG. 21, the surgical procedures tab 128 provides for the surgeon's comments about the procedures used to implant the internal electrical components. Pressing the ADD PROCEDURE button 129a will display a small diary interface 129b for the surgeon to record notes. The electrode map tab 130 provides for viewing and recording the muscle connected to each implant electrode channel 16. The information entered in the electrode map tab 130 is also used in creating grasp and exercise programs, discussed later.
FIG. 22 illustrates the electrode map tab 130, comprising sections to view and store the channel number 124, the electrode label 134, the electrode serial number 128, the electrode function 138, and the muscle description 140 of the respective muscle group stimulated by each electrode 18. The electrode map tab 130 also features a pull-down menu of muscle abbreviations 142 (e.g., abductor pollicis brevis (AbPB) ) and functions 138
(e.g., thumb abductor (TA) ) to aid in entering the mapping 16 information. By selecting a muscle abbreviation 42 with the mouse 37, the default function
138 and description 140 of that muscle abbreviation 42 is automatically provided in the respective section.
By opening the FILE menu 400 and selecting SAVE 402, the user can store the electrode map tab 130 information in the database 42 while simultaneously updating the Patient Explorer 500. After entering and storing the general information for mapping 16, the user can next profile the muscle response at each electrode 18 to variable electrical stimulation. Selecting with the mouse 37 a particular electrode node 504 in the tree view 98 will load the profiling interface 65 for that respective muscle.
Illustrated in FIG. 23, the profiling interface 65 allows the user to outline the behavior of each muscle connected to an implanted electrode 18. To profile muscle, the user characterizes the muscle's response while varying the level of electrical stimulation to the electrode 18. Alternatively, existing parameters for the profiling can be downloaded from the Patient Explorer 500 by selecting the respective electrode node 504.
The electrical stimulation sent to each muscle consists of a series of individual electrical pulses which can be characterized by pulse amplitude 162, pulse duration 164 and pulse frequency 166. The pulse amplitude 162 represents the level of electrical current.
Normally, higher amplitudes sent to the electrode 18 will produce an increased muscle response. In the illustrated embodiment, the profile interface 65 will allow the amplitude levels to set at 2, 8, 14, and 20 mA, where 20 mA is the default setting. The pulse duration
164 is the length of time that an individual pulse is on. Normally, increasing the pulse will increase the intensity of the muscle response to stimulation. The pulse frequency 165 is the number of pulses per second of electrical current sent to an electrode 18. Generally, the frequency 165 is set at 12 pulses per second, but FIG. 24 shows this can be adjusted by clicking DEVICE 420 and FREQUENCY 438 and selecting the desired frequency.
The main function of the profiling interface 65 is to provide a display for determining the reaction of each muscle as the pulse duration 164 varies for a fixed current amplitude 162. Each electrode 18 must be profiled before proceeding to grasp programming. Later, this description will discuss a feature of the FES operating system 28 that applies this profile information to produce default grasp templates 190.
As illustrated in FIG. 23, the profiling interface 65 is comprised of a channel information 154 section, a stimulation parameters 156 section, and a POI details 158 section. In general, the profile interface 65 defines four types of breakpoints in the pulse duration 164, called points of interest (POIs) 144, for profiling a muscle. These POIs 144 types are threshold level 146, spillover level 148, pattern max level 150 and general info level 152. Threshold level 146 is the lowest stimuli level at which muscle contraction is detected. A spillover level 148 is the pulse duration level 156 that causes another muscle other than the electrode-connected muscle to contract. A pattern max level 150 is the highest pulse duration 164 setting for a muscle contraction. A general info level 152 is an additional setpoint for the user to comment on any interesting behavior by the muscle.
The channel information 154 section displays settings and parameters taken from the completed electrode tab interface 130.
The stimulated manual muscle test (SMMT) 160 enables evaluation of paralyzed, yet innervated muscles to determine viability for implantable stimulation. To conduct the SMMT, electrodes are placed on the skin surface and deliver stimulation to the muscles. The user then grades strength of the muscles response using the SMMT pull-down menu 160 feature.
The stimulation parameter section 156 allows the user to view and set the pulse amplitude 162 and pulse duration levels 164 from the stimulator 14.
Once the pulse amplitude level 162 and duration level 164 are specified, the profiling 64 interface features a pulse duration indicator bar 168. The indicator 168 allows the user to mark POIs 144 with the mouse 37 at selected pulse duration levels 164 displayed
under the indicator bar 168. Upon selecting a POI 144, the interface 65 displays a triangle 170 to mark its selection. Should the user decide to change a POI 144 selection, the interface 65 features a color change of the former POI marker 170 to distinguish its replacement by the new marker 170.
Another feature of in the parameters section 156 is a slide drag point 172 and slide bar 173 that allows a user to select manual or automatic control of the rate of increase in the pulse duration level 164. Generally, a drag point allows a user to readily adjust settings on the display by simply clicking on a drag point or multiple points with a mouse 37 and dragging to the desired adjustment. In regard to the slide drag point 174 and bar 173, MANUAL 174 allows the user to manage the rate of increase in the pulse duration level 164. Alternatively, by sliding the drag point 172 along the bar 173 toward FAST 176, the operating system 28 will automatically adjust the rate of increase in the pulse duration level 164.
As the POIs are marked along the indicator bar, the POI details section 158 provides a display to view and store POI information comprising the POI type menu 180, the POI duration level 180, the spillover muscle name menu 182, the POI pattern type menu 184, and POI comments
186. As illustrated in FIG. 25, the user can select the pattern type for each POI from a menu 184 comprising selections for all patterns 184a, lateral pattern 184b, palmar pattern 184c, and exercise 184d. Once the POI details section 158 is completed, the user can save the information to the database 42 and simultaneously update the Patient Explorer 500 by opening the FILE menu 400 and selecting SAVE 402. Thus, saving information to the database 42 and UEC 25 can be performed from a one button feature 402.
Once the electrodes 18 are mapped into the operating system 28, the user can create grasp patterns 188 and exercise patterns 230.
To create a new grasp pattern 188, the user must select the appropriate system node 502 from the Patient Explorer 500, then open the FILE menu 400 and select NEW 404 and GRASP 410 as shown in FIG. 26. Illustrated in FIG. 27, the new grasp programming interface 67 provides a view to input initial parameters, comprising a pattern name 189, a default template menu 190, the stimulation frequency level 166, and the pulse amplitude level 162 to each channel 16.
A default template 190 is a sequence of stimulation patterns created from the stored profiling settings and settings programmed in the FES operating system 28. The default template 190 provides a starting point for the user to adjust the various parameters associated with a desired grasp control. ' Notably, the template feature 190 is created by muscle rather than by functional group of muscles. Illustrated in FIG. 28, the menu 190 allows the user to either select no default settings 190a or use default settings from the palmar template 190b, lateral template 190c, or exercise template 190d. Clicking the OK button will take the user to the grasp programming interface 66 shown in FIG. 29.
Alternatively, the user can open the grasp interface 66 by selecting an existing grasp pattern file 506 from the Patient Explorer 500 using the mouse 37. When adjusting an existing grasp pattern 188 or other files uploaded from the UEC 25, selecting SAVE 402 will automatically store any saved modifications back to the UEC 25 to be ready for testing.
From the grasp programming interface 66, a user can create new grasp patterns, modify existing grasp settings, test grasp patterns, observe isolated muscles
during a complete grasp cycle, compare grasp patterns to those currently in the UEC 25, view video of example lateral and palmar grasps, and document general grasp programming notes . Programming grasp patterns 188 means finding the relationship between the command level 224 and the stimulation to each electrode 18, and then coordinating the stimulation of muscles to produce a desired movement of the fingers and the thumb. Command level 224 represent the level of stimulation to achieve a desired grasp position. A command level 224 of zero is where the patient grasp is open and a command level 224 of one hundred is where the patient grasp is closed.
The grasp programming interface 66 provides a display comprising the following elements: grasp pattern graph 194, electrode chart 196, grasp test control 199, and grasp pattern comments 214.
The grasp pattern graph 194 is a line graph representation of the stimulation levels of the electrodes 18 where the horizontal axis is the percent command level 224, and the vertical axis is the pulse duration level 162. Alternatively, the vertical axis can be changed to percent activation 210 by the click of a mouse 37 on the selection menu 192. Selection of percent activation 210 converts the graph 194 so that it sets the threshold level 146 to zero and the pattern max 150 to one hundred on the vertical axis. In this mode, the operating system 28 enables the user to select the max activation 210 of stimulation to all muscles, the zero activation 210 of stimulation to all muscles, or individually select the activation levels 210 for each muscle .
The electrode chart 196 identifies each muscle 134 and muscle function 138 and provides a color-code 198, a channel on or off button 197 and the pulse amplitude
level 162 (e.g., 8, 12, 14, 20 mA) control to each channel 16. The color-code key 198 correlates the channel 16 in the chart 196 with the respective graphical representation 195 of the stimulation level to that channel 16. Alternatively, the user can select an electrode 18 by opening the GRASP menu 416, and selecting SELECT CHANNEL 418.
Once the grasp pattern 188 has been created or modified, the grasp programming interface 66 provides a section for grasp test control 199. As illustrated in FIG. 30, a test mode pull-down menu 200 allows the user to select either computer control 201 or SPS Control 202 (i.e. transducer 20). Selecting computer control 201, the grasp programming interface 66 enables the user to cycle the grasp test manually or automatically by simply clicking and sliding the grasp control drag point 204 on the slide 206. MANUAL 203 enables controlled progress through the grasp pattern by clicking arrow keys on the display. Sliding the drag point toward FAST 205 lets the operating system 28 automatically cycle through the grasp test between open and closed at the desired speed of the user. Selecting SPS control 202 allows the patient 12 to test the programmed grasp pattern 188 using the transducer 20. The user can control the test with the START 205, PAUSE 206 and STOP 207 buttons, which is self- explanatory.
Another special feature of the user interface is a quick grasp test 212, shown in FIG. 31, which provides the user with a comparison of a current grasp pattern to stored grasp parameters programmed in the UEC 25. The user can access this quick test 212 by opening the TOOLS menu 428 and selecting COMPARE GRASPS 429, as shown in FIG. 32.
The grasp programming interface 66 also features a grasp template video 216. This feature provides the user
with a continuous, synchronized video of example lateral and palmar grasp positions for comparison while varying the grasp position of the patient 12. By pressing the scroll bar 218, the video 216 will proceed through the open to closed grasp positions. The scroll bar 218 will track the associated command level 224 of the grasp position on the graph 194.
The grasp pattern comments 214 allows the user to view or write observations about the pattern 188 as well as information about performed modifications.
Based upon the results of the grasp testing, the grasp interface 66 allows the user to adjust the pulse amplitude 162, duration 164, and frequency levels 166 as desired. Grasp settings can be modified on the pattern graph 194 and changes made to the chart 196. Typically, the user will modify the grasp pattern 188 by adjusting the pulse duration level 164 on the graph 194 utilizing the drag points 226.
For modifying a grasp pattern 188, the graph 194 shows the recruitment of muscles as a function of the command level 224. To modify a pattern, the graph 194 enables the user to alter the pulse duration 164 or percent activation 220 by selecting a particular electrode 18 displayed in the electrode chart 196 with a mouse 37 or keyboard 36. Alternatively, the user can open the GRASP menu 417 and select CHANNEL 418 and the desired channel name as illustrated in FIG. 33. Upon selecting an electrode 18 on the chart 196 with the mouse 37 or keyboard 36, the grasp programming interface 66 provides drag points 226 (represented by circles) on the corresponding stimulation line 195 on the graph 194. By clicking and dragging a point 226, the user can readily adjust the duration 164 or activation 210 setting at a particular command level 224. Alternatively, the user can click on a point 226 and use the arrow keys on the
keyboard 36 to modify the stimulus to each muscle. To change the amplitude 162 or frequency 166 of stimulation to each muscle, the interface 66 enables the user to select each muscle from the electrode chart 196 and use the keyboard 36 arrows to adjust the settings. Regarding adjustments to the stimulation parameters on the graph 194, the arrow keys will adjust the duration 162 by one microsecond, and the page up/down keys will adjust the duration 162 by ten microseconds. Alternatively, the user can select and adjust multiple drag points 226 simultaneously by clicking a point 226 with the mouse 37, then holding down SHIFT on the keyboard 36 and clicking as many other points 226 as desired with the mouse 37. To add a point 226, the user can click on the desired location with the mouse 37 while holding down CTRL on the keyboard 36. To delete a point 226, the user can click the point 226 with the mouse 37 while holding down ALT on the keyboard 36.
Alternatively, the user can select an electrode from the chart, then right mouse 37 click to display a menu, shown in FIG. 34, comprising commands for MAX all points and ZERO all points. Another feature of this menu is SMOOTH, which enables "smoothing" of the pattern 188.
After a grasp pattern 188 is programmed, the user can save the file by opening the FILE menu 400 and selecting SAVE 402. If the grasp pattern 188 was selected from the Patient Explorer 500 and the MPU 26 is linked to the UEC 25, the operating system 28 will automatically save the file to the UEC 25 as well. FIG. 35 shows that the user can open the DEVICE menu 420 and select READ
PATTERN 421 or WRITE PATTERN 422 with the mouse 37 to upload or download patterns stored in the UEC 25.
Once the grasp patterns are stored into the database 42, the operating system 28 allows the user to create exercise programs for the patient 12.
FIG. 36 shows the exercise interface 68 where exercise programs can be created. To create a new exercise program, the user can add a new file in the Patient Explorer 500 by opening the FILE menu 400 and select NEW 404 and EXERCISE 412 as illustrated in FIG. 26. To edit an existing exercise program, the user can mouse 37 click on the respective exercise node 506 in the Patient Explorer 500.
The exercise interface 68 provides the user a display comprising sections for exercise properties 228, exercise patterns 230, and comments 232. The exercise properties section 228 comprises boxes to view and adjust the exercise name 234, duration 236, stimulation time 238, start delay 240 and rest time 242. The exercise pattern section 230 comprises a pattern selection menu 244 and boxes for entering repetitions per each grasp set 246 and rest after each set 248.
By clicking the OPTIONS button 250, the interface 68 provides more timing options as shown in FIG. 37, comprising ramp up time 252, ramp down time 254, time at one hundred percent stimulation 256, time at percent stimulation 258, and time stimulating per set 260. Alternatively, the user can access these options by selecting the EXERCISE menu 424 and clicking ADVANCED SETTINGS 426 as illustrated in FIG. 38. As the timing parameters are entered or modified, the exercise interface 68 features a time calculation algorithm 235 that automatically calculates the timing and repetitions mentioned above. As the Patient 12 begins using different patterns, the interface provides a display of multiple patterns to allow the user to create or modify an exercise as the patient 12 needs change.
Once the timing parameters are entered, the interface features a TEST button 262 to enable the user to activate the desired exercise from a selection in the
computer. Alternatively, FIG. 39 illustrates that the user can select the TOOLS menu 428, then TEST 430 and the desired stored exercise file.
After completing testing, the user can save the exercise program in the database 42 by opening the FILE menu 400 and selecting SAVE 402. If the exercise file was opened from the Patient Explorer 500, the exercise file will simultaneously be saved to the UEC 25. Alternatively, FIG. 40 illustrates that the user can open the DEVICE menu 420 and select WRITE EXERCISE PROGRAM 432.
As discussed, the FES system 8 allows the Patient 12 to perform various grasp and exercise movements under the control of a transducer 20. To get to the transducer interface 61, the user can select the default SPS node 510 in the Patient Explorer 500, shown in FIG. 40. Alternatively, the user can select the respective system node 502 from the Patient Explorer 500, then click the FILE pull-down menu 400, and select NEW 404 and SPS 434 as illustrated in FIG. 26.
Programming a shoulder sensor involves establishing a range of motion (ROM) , determining the direction of movement to use for controls and locks, determining the percentage of total ROM to be used for control, determining the type of command window for control, establishing lock parameters, and evaluating the control while doing functional tasks. FIG. 41 illustrates the interface 61, comprising a tab 266 for establishing range of motion (ROM) and a tab 268 for establishing motion. The ROM tab 266 allows the user to view and adjust the patient's range of shoulder mobility and set the directions to control the grasp patterns and locks, comprising a setting name box 270, a ROM graph 272, a direction of flexion menu 274, a lock direction menu 276,
a reset ROM button 278, a resize ROM box 280 and a comments section 282.
First, the user must program the patient's ROM by clicking the reset ROM button 278 and having the patient 12 move the shoulder the furthest in all directions. The ROM graph 272 will thereby trace 294 the shoulder movement respective to the protraction 286, retraction 288, elevation 290 and depression directions 292. Clicking the reset button 278 again will clear trace 294 from the graph 272.
Once the maximum ROM 294 is set, the user and patient must establish the direction of flexion and the lock direction. The direction of flexion is the direction of shoulder movement desired to control the grasp position. The direction of lock is the direction of shoulder movement desired to control the lock of the grasp position. The lock feature keeps a constant level of stimulation to each electrode 18 in the FES system 8, thereby allowing a user to hold an object without thinking about the shoulder position.
To set the direction of flexion, the user must select from the four directions in the flexion menu 274. Likewise, setting the direction of lock requires selecting from the four directions in the lock menu 276. Once the direction of flexion 274 or lock 276 is selected, the user cam click on the motion tab 268 to program the individual shoulder control motions. Illustrated in FIG. 42, the motion tab 268 is comprised of a command window 300 and sections for viewing and setting the command type 302, the window size 304, the lock settings 306 and the comments 308.
In general, the command window 300 is a bar graph that provides a color-coded display to view and adjust the command window size , shoulder control ranges and locks. The window 300 comprises a display of the max
range of the SPS 310, the max ROM 312 of the patient 12, the control ROM 314 within the max ROM 312 necessary to operate the FES system 8, and an indicator 316 of the current SPS position. In this embodiment, the control ROM 314 is the shoulder movement required to fully open and close the fingergrasp movement .
A ROM control drag point 318 and slide 320 allows the user to adjust the size of the control ROM 314 window with the click of the mouse 37. Sliding the drag point 318 toward SMALL 322 reduces the required shoulder movement, while sliding the point toward LARGE 324 increases the required movement. A zoom feature 326 enables the user to observe small shoulder movements or to zoom out to return to the original format of the window 300.
The command type section 302 comprises selection for stationary control 332 and mobile control 334. Stationary control 332 means the control ROM range 314 used to control the grasp is set each time the patient 12 selects a grasp pattern 188 from the UEC 25. By selecting stationary control 332, the patient 12 can set, within a short time limit of selecting the grasp pattern 188, the zero percent command level 224. Mobile control means the ROM range moves with the patient's shoulder position.
The mobile control 334 features a specified buffer menu 338 for allowing the patient 12 to add some margin of error to the control range 314 for locking. The buffer 338 thereby increases the size of the control ROM 314 displayed in the command window 300. Thereby, the patient 12 has more flexibility to use a control commensurate with the patient's ability and comprehension.
Active only in the stationary mode 332, a reset zero button 340 will force the bottom of the control window
300 to line up with the current shoulder position indicator 316 on the graph 300. This feature happens automatically when the patient 12 uses the SPS 20 to activate the UEC 25 or change grasps patterns 188. The motion tab 334 also provides features to enable and disable locks as well as set the locking difficulty. By a click of the mouse 37 on ENABLE LOCKS 348, the user can enable or disable the locks. This ENABLE LOCK 348 feature only affects the operating system 28. In contrast, the UEC 25 always enables the lock settings.
The user can also adjust the locking difficulty of the SPS 20 under lock setting 306 by clicking the mouse
37 on the MOVEMENT SIZE EASIER 354 and HARDER 355 buttons, as well as SPEED EASIER 356 or HARDER 357 buttons. Should the patient 12 experience inadvertent locks, clicking the ADVANCED button 358 makes available advanced controls comprising a movement size slide 360 and a movement speed slide 362 as shown in FIG. 44. The movement size drag slide 360 adjusts between SMALL 364 to LARGE 366. The movement speed drag slide 362 adjusts between SLOW 368 to FAST 370. A click on the SIMPLE button 372 will hide the advanced controls from the display.
Once the transducer 20 settings are programmed into the operating system 28, the interface 61 allows testing of the SPS parameters with a grasp pattern 188 programmed in the UEC 25. Clicking the down arrow 374 to the right of the ACTIVE GRASP button 376 will display the stored grasp patterns 188. Selecting a pattern 188 and clicking ACTIVE GRASP 376 will allow the user to control the grasp pattern 188 using the SPS settings, and the command window 300 will display the shoulder movement and locks.
Also, the interface 61 allows comparing of the SPS settings on the screen 35 with those stored in the UEC 25. To perform this comparison, FIG. 43 illustrates that
the user must open the TOOLS menu 380, then select COMPARE SPS 382 and a grasp pattern 188 from the UEC 25 and finally click START. The user is then able to control the selected grasp pattern 188 with the UEC settings.
Once programming and testing is complete, opening the FILE menu 400 and selecting SAVE 402 will store the parameters to the database 42 and simultaneously to the UEC 25. The GUI 52 shell also provides a couple features generally available throughout the operating system 28. One feature is an indicator for the continuous monitoring of the UEC connection status 386 as shown in FIG. 17 for example. The operating system 28 also features the capability to print the information in every screen by opening the FILE pull-down menu 400 and selecting PRINT 436, as illustrated in FIG. 12.
When the user elects to end a programming session, FIG. 45 illustrates that the user can open the FILE menu 400 and select LOGOFF 440. The operating system 28 will return the user to the login interface 86 shown in FIG. 7. If another user elects to login, the operating system 28 provides a login button 89. Otherwise, the user can select the EXIT button 388 to exit the program. Alternatively, the user can exit immediately from the operating system 28 by selecting the exit "x" feature 390 in the corner of the window pane . Once the user has exited the operating system 28, the computer is able to be shutdown from the windows desktop . The foregoing is considered as illustrative only of the principles of the invention. Furthermore, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation shown and described. While the preferred embodiment has been
described, the details may be changed without departing from the invention, which is defined by the claims.