Method and system for programming and controlling an electrosurgical generator system

Information

  • Patent Grant
  • 7722601
  • Patent Number
    7,722,601
  • Date Filed
    Friday, April 30, 2004
    20 years ago
  • Date Issued
    Tuesday, May 25, 2010
    14 years ago
Abstract
A method and system are disclosed enabling configuration of a control system for an electrosurgical generator system for creating new surgical applications without changing the underlying software system. The system includes an outer loop controller for generating a control signal in accordance with at least a first subset of sensor data from at least one sensor; an inner loop controller for generating a setpoint control signal which is provided to an RF stage in accordance with at least the control signal generated by the outer loop controller and a second subset of sensor data from the at least one sensor; and a configuration controller for generating configuration data and providing first and second configuration data sets of the configuration data to the inner loop and outer loop controllers, respectively, for configuration thereof to provide a type of control selectable from a variety of types of control.
Description
BACKGROUND

1. Technical Field


The present disclosure is directed to electrosurgery and, in particular, to a method and system for programming and controlling an electrosurgical generator system.


2. Description of the Related Art


Electrosurgery entails the use of electrosurgical energy to cut or coagulate tissue, or perform some other type of surgical procedure. An electrosurgical generator system is used for generating the electrosurgical energy and delivering the same to an electrode connected to the generator. The electrode is then brought into contact with tissue and depending on the frequency and other parameters of the electrosurgical energy, the tissue is either cut, coagulated, sealed, etc.


In order to achieve desired surgical results when operating the electrosurgical generator system in one of several control modes, e.g., cut, coagulate and blend, the electrosurgical generator system needs to be programmed to generate electrosurgical energy having output parameters with predetermined values. These desired output parameters typically include the frequency, power (amplitude), duty cycle, and waveform-type of the electrosurgical energy, as well as the output current and output voltage of the electrosurgical generator system.


It is evident that by programming the electrosurgical generator system, one can control various parameters, including other factors, such as the maximum allowable temperature of the tissue during electrosurgery, rate of change of impedance, etc., prior to initiating the electrosurgical procedure.


Accordingly, the present disclosure provides a method and system capable of enabling an individual to quickly create new electrosurgical applications without major re-programming of the software system of an electrosurgical generator system.


SUMMARY

A method and system are disclosed capable of enabling an individual to quickly create new electrosurgical applications without major re-programming of the software system of an electrosurgical generator system. In one embodiment, the method and system of the present disclosure enables an individual to efficiently create new application modes by creating configuration or command files for downloading or programming these new modes into the electrosurgical generator system for creating new surgical applications without changing the underlying software system.


A control loop system is chiefly responsible for the operation of the electrosurgical generator system and it is composed of three basic components: an inner loop system which is responsible for changing and sculpting basic RF output; an outer loop system which is responsible for setting the output target of the inner loop based on a variety of algorithms such as the control of temperature; and a configuration control system which is responsible for reprogramming the inner and outer loop systems “on-the-fly” or in virtual real-time for the inner and outer loop systems to change operation.


All user programming is preferably accomplished using at least one input device, such as a keyboard, touch-screen display, etc., while the software programming may be based on a file-based programming language to input programming commands to the electrosurgical generator system. The combination of the two inputted programming commands are stored into command files and define all aspects and parameters of the electrosurgical generator system.


The simple input and storage of the programming commands according to the present disclosure allows for easy creation and modification of new electrosurgical generator modes. For example, a mode can be created by inputting programming commands and storing the same in a command file, subsequent modes can easily be created by modifying associated parameters and storing them as a new command file.


Further features of the above embodiments will become more readily apparent to those skilled in the art from the following detailed description when taken in conjunction with the drawings.





BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments will be described herein below with reference to the drawings wherein:



FIG. 1 is a block diagram of a control loop system of an electrosurgical generator system in accordance with the present disclosure;



FIGS. 2A-D illustrate charts showing output waveforms indicative of various output parameters of the electrosurgical generator system in accordance with the present disclosure; and



FIG. 3 is a block diagram of a control loop system of an electrosurgical generator in accordance with another embodiment of the invention.





DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Reference should be made to the drawings where like reference numerals refer to similar elements. Referring to FIG. 1, there is shown a block diagram of an embodiment of a control loop system for an electrosurgical generator system in accordance with the present disclosure. The control loop system is designated generally by reference numeral 100 and it is designed to enable a software developer to efficiently program and control the operation of the electrosurgical generator system 200. The electrosurgical generator system 200 is particularly designed for the easy creation of multiple different electrosurgical systems. The method and system of the present disclosure enables an individual to efficiently create new application modes by creating configuration or command files for downloading or programming these new modes into the electrosurgical generator system for creating new surgical applications without changing the underlying software system.


The control loop system 100 is chiefly responsible for the operation of the electrosurgical generator system 200 and it is composed of three basic components: an inner loop system 102 which is responsible for changing and sculpting basic RF output (e.g., current, power, or voltage output, duty cycle, frequency), and inner loop control system dynamics of an RF output stage 106 based on user and/or sensor inputs from various sensors 104 and/or user input devices (not shown); an outer loop system 108 which is responsible for controlling the inner loop setpoint based on a variety of algorithms (e.g., temperature control, impedance control, pulse control, vessel sealing, etc.) based on user and/or sensor inputs from the various sensors 104 and time and/or user input devices (not shown); and a configuration control system 110 which is responsible for changing the programming of the inner and outer loop systems 102, 108 “on-the-fly” or in virtual real-time based on user or sensor inputs received from various sensors 112 and/or user input devices (not shown).



FIGS. 2A-2D illustrate charts showing the RF output indicative of various inner loop output parameters of the electrosurgical generator system 200. FIG. 2A is a chart plotting the output power versus the load impedance where the output power is sculpted, e.g., the output power is not constant over a load impedance range. The electrosurgical generator system 200 is able to control the inner loop system 102 to sculpt the output power based on user and/or sensor inputs received from various sensors 104, 112 and/or user input devices.


With reference to FIGS. 2B-2D, the electrosurgical generator system 200 is also able to maintain the output constant. FIG. 2B shows the output current being maintained at a constant level over a load impedance range. FIG. 2C shows the output power being maintained at a constant level over a load impedance range. FIG. 2D shows the output voltage being maintained at a constant level over a load impedance range.


As shown by FIG. 1, the inner loop system 102 is controlled by an inner loop controller 114, the outer loop system 108 is controlled by an outer loop controller 116, and the configuration control system 110 is controlled by a configuration controller 118. The controllers 114, 116 perform their various functions by the execution of a set of programmable instructions by at least one microprocessor and/or at least one digital signal processor (DSP), e.g., DSPs 120, 122, respectively.


The configuration controller 118 performs its various functions by the execution of a set of programmable instructions executed by at least one microprocessor and/or a DSP, e.g., DSP 124. The controllers 114, 116, 118 are configured for receiving inputted programming commands for operating the electrosurgical generator system 200.


All programming is preferably accomplished using at least one input device, such as a keyboard, touch-screen display, remote computer system, etc., to input the programming commands to the electrosurgical generator system 200. The inputted programming commands are stored into command files within at least one memory module, such as a RAM module, and define all aspects and parameters of the electrosurgical generator system 200.


The simple input or download and storage of the programming commands according to the present disclosure allows for easy creation and modification of new electrosurgical generator modes. For example, one mode can be created by inputting programming commands and storing the same in a command file. A new mode can be created based on the original programming.


A description will now be presented with reference to programming the at least one microprocessor by way of a programming language in a preferred embodiment for controlling and programming the electrosurgical generator system 200 of the present disclosure.


I. Configuration Control System


The set of programmable instructions for operating the electrosurgical generator system 200 in accordance with the present disclosure has been designed to enable two analog inputs to the configuration controller 118 to control the mode (outer and inner loop programming) and the desired output (current (I), power (P), voltage (V), etc. depending on the control mode selected) of the electrosurgical generator system 200.


In an exemplary embodiment of the present disclosure, the method of mode control is accomplished by making a data structure, e.g., Local_Cfg[ ], an array. When a mode switch is desired, a host variable, e.g., Config_Index, is adjusted and then copied to a processing file, e.g., Out_Local_IO.Config_Index, where it switches an active command file, e.g., Local_Cfg[Local_IO.Config_Index].


The method of desired output programming is accomplished by adjusting a host variable, e.g., Out_Local_IO.Desired_Amplitude_Multiplier, where Desired_Amplitude_Multiplier represents a multiplier value for adjusting the output curves of the outer loop system 108 when enabled or is passed directly to the inner loop system 102 as a current/power/voltage level if the outer loop system 108 is disabled.


I.a. Configuration Selection Control


The configuration selection is programmed by filling the variable, e.g., Local_Cfg[ ], with the data from the sets of command files. The configuration index is first specified, then the data is read from the command files, then the next index is specified, etc.


I.a.1. Command File Programming


The programming of the configuration control system 110 is controlled by a Meta command file. This command file loads the Local_Cfg[ ] array with each configuration and specifies how the configuration and Desired_Amplitude_Multiplier is controlled.


To specify which location in the Local_Cfg[ ] array is to be filled, the following command is used:


#CONFIG_INDEX x, where x specifies the location to be filled (0-7).


To specify which configuration is to be loaded in the memory module, the following command is used:


#INCLUDE_FILE xxx, where xxx is a valid path and filename of outer and inner loop command files which define the configuration to be loaded in the memory module.


An example is provided below:

















// Load Config Index Location 0










#CONFIG_INDEX
0









// Inner Loop definition



#INCLUDE_FILE



C:\LRT_TRT\Code\Cmd_Files\CP_472k_Inner_Loop.cmd



// Load Outer Loop definition



#INCLUDE_FILE



C:\LRT_TRT\Code\Cmd_Files\Temp_Outer_Loop.cmd



// Load Config Index location 1










#CONFIG_INDEX
1









// Inner Loop definition



#INCLUDE_FILE



C:\LRT_TRT\Code\Cmd_Files\CP_250k_Inner_Loop.cmd



// Load Outer Loop definition



#INCLUDE_FILE



C:\LRT_TRT\Code\Cmd_Files\DZ_Outer_Loop.cmd











I.b. Mode Selection Control


Mode selection can be programmed to be selected by one of three inputs: a user input device (e.g., a keyboard), AD7 or AD8, where AD7 and AD8 are sensor modules. Mode modification can be programmed to be controlled by one of three inputs: a user input device (e.g., a keyboard), AD7 or AD8. The operation of the mode selection and mode modification control is that one control input can be set to select the mode, then another control can make the fine adjustments to that selection. The mode modification may be done in an additive fashion as shown in the example below:

Actual Mode=Mode(AD7)+Modifier(AD8).

I.b.1. Command File Programming


A Mode Selection Algorithm which controls how the active mode switching is set may be selected.


The valid exemplary selection choices are the following:














#MODE_SEL_ALG_IS_KEYBOARD -keyboard sets the active mode.


#MODE_SEL_ALG_IS_AD7


#MODE_SEL_ALG_IS_AD8









A Mode Modification Algorithm which controls how the active mode switching is set by a modifier also may be selected.


The valid exemplary selection choices are the following:














#MODE_MODIFIER_SEL_IS_OFF -No modifier is used on active


mode switching.


#MODE_MODIFIER_SEL_IS_AD7


#MODE_MODIFIER_SEL_IS_AD8










I.c. Amplitude Selection Control


Amplitude multiplication selection can be selected by one of three inputs: a user input device (e.g., a keyboard), AD7 or AD8. Amplitude multiplication modification can be controlled by one of three inputs: keyboard, AD7 or AD8. The operation of the selection and modification control is that one control input can be set to select the amplitude multiplication, then another control can make fine adjustments to that selection. The amplitude multiplication modification may be done in an additive fashion as shown in the example below:

Actual Amp=Amp(AD7)+Modifier(AD8).


It is noted that amplitude multiplication is used both for outer loop programming and if the outer loop system 108 is off, for the desired output of the inner loop system 102. When the outer loop system 108 is on, a normalized curve is designed which specifies the desired output over time, and an amplitude multiplier controls the amplitude of this curve. A time multiplier controls the time scale at which this curve is interpreted.


I.c.1. Command File Programming


The Output Amplitude Multiplier Algorithm controls how an output amplitude multiplier is set.


The valid exemplary selection choices are the following:

















#AMP_SEL_ALG_IS_KEYBOARD



#AMP_SEL_ALG_IS_AD7



#AMP_SEL_ALG_IS_AD8










The Output Amplitude Modifier Algorithm controls how an output amplitude modifier is set.


The valid selection exemplary choices are the following:

















#AMP_MODIFIER_SEL_IS_OFF



#AMP_MODIFIER_SEL_IS_AD7



#AMP_MODIFIER_SEL_IS_AD8











I.d. RF Activation Control


The control loop system 100 can be programmed to activate RF output based on either AD7 or AD8 inputs. A user input device, such as footswitch of the electrosurgical generator system 200 can also be used to activate RF output. The threshold of activation can be programmed.


I.d.1. Command File Programming


RF Activation Programming selects which source will start the RF activation:














#RF_ACT_IS_FOOTSWITCH -Normal footswitch activation.


#RF_ACT_IS_AD7 -Activated by AD7 voltage above threshold.


#RF_ACT_IS_AD8 -Activated by AD8 voltage above threshold.


#RF_ACT_VOLTAGE_THRESHOLD -Specifies the voltage threshold









It is noted that in a preferred embodiment, footswitch activation of the electrosurgical generator system 200 is always active, even if inputs AD7 or AD8 are selected.


I.e. AD7/AD8 Curves


The programming of sensor input controls is accomplished through the creation of a “map” which specifies the amplitude multiplier and configuration index and maps these values to an input voltage.


I.e.1. Command File Programming


The Mode Control and Amplitude Multiplier Control Maps for each Control Voltage (AD7/AD8) need to be specified.


An exemplary table is shown:














Sensor Voltage
Amplitude Multiplier
Configuration Index







1.0
0.9
1


2.0
1.1
2









Exemplary valid programming commands are:

















#AD7_MAP_V_x y



#AD7_MAP_AMP_xy










#AD7_MAP_INDEX_x
y



#AD8_MAP_V_x y



#AD8_MAP_AMP_xy



#AD8_MAP_INDEX_x
y



where x = 0 − 7









where y is the programmed value











Example for AD8:



















#AD8_MAP_V_0
1.47




#AD8_MAP_AMP_0
0.0



#AD8_MAP_INDEX_0

0



#AD8_MAP_V_1
1.57



#AD8_MAP_AMP_1
0.0



#AD8_MAP_INDEX_1

0



#AD8_MAP_V_2
1.66



#AD8_MAP_AMP_2
0.0



#AD8_MAP_INDEX_2

0



#AD8_MAP_V_3
1.76



#AD8_MAP_AMP_3
0.0



#AD8_MAP_INDEX_3

0



#AD8_MAP_V_4
1.85



#AD8_MAP_AMP_4
0.0



#AD8_MAP_INDEX_4

0



#AD8_MAP_V_5
1.94



#AD8_MAP_AMP_5
0.0



#AD8_MAP_INDEX_5

0



#AD8_MAP_V_6
2.04



#AD8_MAP_AMP_6
0.0



#AD8_MAP_INDEX_6

0



#AD8_MAP_V_7
6.00



#AD8_MAP_AMP_7
0.0



#AD8_MAP_INDEX_7

0











I.e.2. Related Routines















894 HOST.CPP
37 |--Process_Sensor_Control









 | |








1313 HOST.CPP
38 | |--Get_AD7_Sensor_Map_Index









 | |








1343 HOST.CPP
39 | |--Get_AD8_Sensor_Map_Index









 | |








1427 HOST.CPP
40 | |--Update_Sensor_Pads









41 | | |..sqrt



 | |








709 HOST_I~1.CPP
42 | |--Send_TCL_Data


926 HOST_I~1.CPP
43 | | |--Delay {11}









44 | | |..SET_DATA_IN



 | |








646 HOST_I~1.CPP
45 | |--Get_Keying_Request









46 | | |..DIG_In_Prt



 | |









47 | |..AI_VRead printf











II. Outer Loop System


The outer loop system 108 is responsible for controlling the setpoint (e.g. DSP_Shared_Data.RF_Desired_Output) for the inner loop system 102. The concept of temperature control will be used to describe how this is accomplished, however other control methods may be used, such as but not limited to rate of change of temperature control, impedance control and rate of change of impedance control. In temperature control mode, the outer loop system 108 is programmed to follow a specific temperature vs. time curve. The outer loop system 108 uses the temperature versus time curve to retrieve its target temperature after lapse of a specified time, e.g., after a procedure has started. If the temperature is low, then the outer loop system 108 raises the inner loop setpoint. If the temperature is high, then the outer loop system 108 lowers the inner loop setpoint. The inner loop system 102 then attempts to deliver RF as specified by the inner loop setpoint, and thus raise or lower the temperature.


The user is given control of the amplitude multiplier and/or the time multiplier which adjust the temperature versus time curves. The curves are specified as normalized values from 0.0 to 1.0. Thus, the temperature curve can be increased by increasing the amplitude multiplier:

Target Temperature=Temperature_Curve(Time)*Amplitude Multiplier;


The time scale in which the curve is executed may also be adjusted by modifying the time multiplier in a similar fashion to the target temperature, thus:

Time=Time Curve*Time Multiplier;


The outer loop system 108 operates in selectable modes for controlling temperature, rate of change of impedance and work (in Joules). The source code enables the addition of other modes, if desired.


The outer loop system 108 can also be turned off. In this case, the amplitude multiplier is passed directly to the inner loop system 102 as the setpoint and the time multiplier is not used.


Sitting on top of all the outer loop modes and algorithms is a pulsing control system. This pulsing control system allows the user to specify pulsing waveform pattern parameters, such as the number of pulses in a burst of pulses, the duty cycle (e.g., ratio of on time to off time), delay time (e.g., time between bursts of pulses), frequency (e.g., 1/time between rising edges of ‘on time’), and on/off amplitude envelope (e.g., amplitude pattern of a burst of pulses) for pulses to be delivered.


II.a. Command File Programming


Outer loop Proportional Integral Derivative (PID) parameters control the dynamic behavior of the outer loop system 108. Preferably, the control system is a PID system.


















#OUTER_LOOP_P
1.0



#OUTER_LOOP_I
0.0001



#OUTER_LOOP_D
0.0










Outer loop control output limit parameters, including minimum and maximum inner loop target values, are used to limit the range that the outer loop system 108 can change the inner loop setpoint. The outer loop control output limit parameters are sent from the outer loop system 108 to the inner loop system 102. The data is either in watts, amps or volts depending on the inner loop programming (e.g., using curves selected from I, P, V curves).


Exemplary limits are:

















#OUTER_LOOP_OUTPUT_MAX 150.0



#OUTER_LOOP_OUTPUT_MIN 0.0










An outer loop start point is the starting inner loop target. This gives the outer loop system 108 a point at which to start prior to starting active control.


An exemplary start point is:


#OUTER_LOOP_OUTPUT_START 5.0


Outer loop curve types specify which outer loop algorithm is to be executed. The software system may support numerous different algorithms. A few exemplary valid types are shown below:


Valid types are:

















#OUTER_LOOP_ALG_IS_TEMPERATURE



#OUTER_LOOP_ALG_IS_OFF










An outer loop amplitude curve specifies the target amplitude part of the target versus time curve that the outer loop system 108 uses to determine its target.


A corresponding table is provided which specifies the shape of the amplitude curve. The target value=OUTER_LOOP_CURVE_AMP[TIME*TIME_Multiplier]*AMPLITUDE_Multiplier


#OUTER_LOOP_CURVE_AMP03 0.01


Exemplary Amplitude Curve:

















#OUTER_LOOP_CURVE_AMP_00 0.2



#OUTER_LOOP_CURVE_AMP_01 0.4



#OUTER_LOOP_CURVE_AMP_02 0.6



#OUTER_LOOP_CURVE_AMP_03 0.8



#OUTER_LOOP_CURVE_AMP_04 1.0



#OUTER_LOOP_CURVE_AMP_05 1.0



#OUTER_LOOP_CURVE_AMP_06 1.0



#OUTER_LOOP_CURVE_AMP_07 1.0



#OUTER_LOOP_CURVE_AMP_08 1.0



#OUTER_LOOP_CURVE_AMP_09 1.0



#OUTER_LOOP_CURVE_AMP_10 1.0



#OUTER_LOOP_CURVE_AMP_11 1.0



#OUTER_LOOP_CURVE_AMP_12 1.0



#OUTER_LOOP_CURVE_AMP_13 1.0



#OUTER_LOOP_CURVE_AMP_14 1.0



#OUTER_LOOP_CURVE_AMP_15 1.0



#OUTER_LOOP_CURVE_AMP_16 1.0



#OUTER_LOOP_CURVE_AMP_17 1.0



#OUTER_LOOP_CURVE_AMP_18 1.0



#OUTER_LOOP_CURVE_AMP_19 1.0



#OUTER_LOOP_CURVE_AMP_20 1.0



#OUTER_LOOP_CURVE_AMP_21 1.0



#OUTER_LOOP_CURVE_AMP_22 1.0



#OUTER_LOOP_CURVE_AMP_23 1.0



#OUTER_LOOP_CURVE_AMP_24 1.0










Outer loop time curve parameters specify the shape of the time curve, where each location in the OUTER_LOOP_CURVE_AMP [ ] corresponds to the values in the time curve. The time multiplier thus allows the user to expand or contract the time at which the AMP curve generates the targets to the outer loop.


It is noted that the location may be specified with two digits, for example:


#OUTER_LOOP_CURVE_TIME03 0.01


Exemplary Time Curve:

















#OUTER_LOOP_CURVE_TIME_00 0.0



#OUTER_LOOP_CURVE_TIME_01 0.04167



#OUTER_LOOP_CURVE_TIME_02 0.08333



#OUTER_LOOP_CURVE_TIME_03 0.125



#OUTER_LOOP_CURVE_TIME_04 0.1667



#OUTER_LOOP_CURVE_TIME_05 0.2083



#OUTER_LOOP_CURVE_TIME_06 0.25



#OUTER_LOOP_CURVE_TIME_07 0.29167



#OUTER_LOOP_CURVE_TIME_08 0.3333



#OUTER_LOOP_CURVE_TIME_09 0.375



#OUTER_LOOP_CURVE_TIME_10 0.41667



#OUTER_LOOP_CURVE_TIME_11 0.4583



#OUTER_LOOP_CURVE_TIME_12 0.5



#OUTER_LOOP_CURVE_TIME_13 0.54167



#OUTER_LOOP_CURVE_TIME_14 0.5833



#OUTER_LOOP_CURVE_TIME_15 0.625



#OUTER_LOOP_CURVE_TIME_16 0.6667



#OUTER_LOOP_CURVE_TIME_17 0.70833



#OUTER_LOOP_CURVE_TIME_18 0.75



#OUTER_LOOP_CURVE_TIME_19 0.79167



#OUTER_LOOP_CURVE_TIME_20 0.8333



#OUTER_LOOP_CURVE_TIME_21 0.875



#OUTER_LOOP_CURVE_TIME_22 0.9167



#OUTER_LOOP_CURVE_TIME_23 0.9583



#OUTER_LOOP CURVE TIME_24 1.0










Outer_Loop_Misc_ Parms is an array of parameters which may be passed to the outer loop system 108 to make modifications in the algorithm, providing a method for making subtle adjustments to an algorithm for different tissue types or handsets.


A miscellaneous outer loop algorithm parameter table is for sub-variations within a specific algorithm structured as a two dimensional array, Outer_Loop_Misc_Parm[y][x].


#OUTER_LOOP_MISC_PARMS0000 10.0


Pulse modes of the outer loop system 108 are programmed with the following exemplary commands:


Turning ON or OFF the pulse mode is accomplished with the commands:

















#PULSE_MODE_ON



#PULSE_MODE_OFF










Specifying the pulse on/off widths in seconds is accomplished with the commands:



















#PULSE_ON_WIDTH
0.100
// 100 ms



#PULSE_OFF_WIDTH
0.200
// 200 ms










The number of pulses to be delivered is specified by the command:



















#NUM_PULSES
5
// 5 pulses










The output level (in units of the inner loop desired output) is specified by the command:



















#PULSE_OFF_LEVEL
7
// 7 watts if constant power











III. Inner Loop System


The inner loop system 102 is responsible for the low level control of the RF delivery. The inner loop system 102 has programming controls for the control variable selection (e.g., current, power or voltage control), control curve definition (e.g., power curve shape), waveform definition, RF Frequency selection, calibration, sensor variable gain dynamics (e.g., automatic gain control dynamics for the V, I sensors 104) and control dynamics (e.g., PID variables for the control system).


The inner loop system 102 can be programmed for two basic modes of operation, open loop and closed loop. In open loop mode, the RF output is set to the fixed value of the high voltage power supply, and is not adjusted by software. The calibration of output RF power is controlled by Econ_Gain and Offset parameters, and the power curve is defined by the RF stage characteristics. In closed loop mode, the software reads the sensor board values of V, VI phase shift and I, and calculates Vrms, Irms, Pavg (which may be determined in accordance with the VI phase shift, Zrms, crest factor, cable impedances, Vpeak, and/or Ipeak and controls the RF output to match the desired control curve.


III.a. Command File Programming


Inner loop commands are typically specified in an ‘Inner Loop’ command file so that the commands are separate from the ‘Outer Loop’ and ‘Meta’ commands files. This configuration allows easier sharing of command file programming.


III.a.1. RF Frequency Selection


The system may have various RF frequency selections available such as: 250, 500, 750, 1000, 1250, 1500, 1750, 2000 Khz.


Exemplary command file programming commands for frequency selection are as follows:

















#SET_FREQ_SEL_250KHZ



#SET_FREQ_SEL_500KHZ



#SET_FREQ_SEL_750KHZ



#SET_FREQ_SEL_1000KHZ



#SET_FREQ_SEL_1250KHZ



#SET_FREQ_SEL_1500KHZ



#SET_FREQ_SEL_1750KHZ



#SET_FREQ_SEL_2000KHZ











III.a.2. PID Parameters


The inner loop control dynamics are controlled by two sets of parameters, the PID parameters and the I, P, V gain adjusts. The PID parameters are adjusted to give the appropriate dynamic response assuming a system gain of 1. The I, P and/or V gain adjusts are used to modify the PID parameters based on the actual gains of the system in the respective control area (e.g., current, power and voltage) which changes based on load impedance, frequency, and waveform duty cycle.


Exemplary PID parameter commands are:

















#CNTL_SYS_P 0.8269



#CNTL_SYS_I 0.7133



#CNTL_SYS_D 0.0264










Control system target gain compensation controls the change in loop gain based on which target the control system is aiming at (e.g., current, power, voltage). The PDD_GAIN_ADJ is multiplied by the PID values to change the loop gain, e.g., P CNTL_SYS_P*I_PID_GAIN_ADJ.


Exemplary Gain Adjust parameter commands are:

















#I_PID_GAIN_ADJ 0.3



#P_PID_GAIN_ADJ 0.008



#V_PID_GAIN_ADJ 0.005











III.a.3. Crest Factor


Crest factor is defined as: Crest Factor=Pk/Rms. Crest factor specifies the ratio of the signal PK to RMS value, thus giving an indication of maximum amplitude to be expected from the waveform.


Since the system reads the actual V, I waveforms, the software needs to know how to set the scaling for sensors on a sensor board for the specified waveform. Crest factor allows the software to calculate the maximum expected amplitude of the waveform, so that it can calculate the PID settings for the sensor board.


The crest factor should be measured at about 10 ohms, which is typically the highest (e.g., corresponds to the least ringing).


An exemplary crest factor setting command is:


#CREST_FACTOR 2


III.a.4. Control Mode/Curve Definitions


A control mode definition specifies which basic mode the control system operates in, open or closed loop.


Exemplary control mode definition commands are:

















#CONTROL_MODE_IS_OPEN_LOOP



#CONTROL_MODE_IS_CLOSED_LOOP










A control curve definition specifies how the impedance curve maps are interpreted.


Exemplary control curve definition commands are:

















#CONTROL_CURVE_IS_CURRENT



#CONTROL_CURVE_IS_POWER



#CONTROL_CURVE_IS_VOLTAGE











III.a.5. Control System Maximums


Control system maximum parameters control the maximum outputs allowed for the generator in the given mode. This protects the generator, as the control system does not allow the current, power, and/or voltage to go beyond these limits no matter what other settings are programmed to be set to. Current is in RMS Amps, power in watts, and voltage is in RMS volts.


Exemplary maximum parameter control commands are:

















#MAX_CURRENT 4.0



#MAX_POWER 150



#MAX VOLTAGE 500











III.a.6. Control Curve Definition


An RF output control curve can be programmed to one of at least three modes of operation: constant current, constant power and constant voltage.


The modes of operation specify the target that the control system tries to control. All of these modes use two maps (e.g., the curve map and the impedance map) and the Zlow and Zhigh parameters to define the operation. Viewed together these two maps define the basic shape of the control curve at the specified impedance points. Preferably, the curve map is normalized from 0 to 1.0 and the impedance map is in ohms.


Exemplary maps can be viewed as below:
















Impedance Map Value
Curve Map Value



















0
0.5



100
0.75



200
1.0



300
1.0



500
0.5










A curve defined by the exemplary map value is shown in FIG. 2A. Exemplary charts of each mode are shown in FIGS. 2B-2D and explained below.


III.a.6.i. Constant Current Curves


The constant current mode attempts to provide constant current from 0 to Z High ohms. After Z High ohms, it switches to providing constant voltage (see FIG. 2B).


III.a.6.ii. Constant Power Curves


The constant power mode attempts to provide constant power from Z Low to Z High ohms. Below Z Low, it switches to providing constant current mode, and above Z High, it switches to providing constant voltage (see FIG. 2C).


III.a.6.iii. Constant Voltage Curves


The constant voltage mode attempts to provide constant voltage from Z Low and above. Below Z Low, it switches to providing constant current (see FIG. 2D).


III.a.7. Sensor Automatic Gain Control Dynamics


To accurately read the voltage and current sensors 104, an automatic gain control system is provided to the electrosurgical generator system 200 for providing a high speed A/D converter with a properly amplified signal. The dynamics of this gain control are programmed as a PID controller. The commands for programming the PID controller are as follows:



















#V_SENSOR_VGAIN_P
0.002
//Voltage Var Gain P



#V_SENSOR_VGAIN_I
0.004
//Voltage Var Gain I



#V_SENSOR_VGAIN_D
0.0
//Voltage Var Gain D



#I_SENSOR_VGAIN_P
0.002
//Current Var Gain P



#I_SENSOR_VGAIN_I
0.004
//Current Var Gain I



#I_SENSOR_VGAIN_D
0.0
//Current Var Gain D











III.a.8. Waveform Definition


The RF waveform is defined by a pulse generator which activates the main RF stage (e.g., FETs). The programming of the pulse generator allows specification of at least the pulse width, the number of pulses and an off time. This allows a wide variety of waveform patterns to be programmed for the electrosurgical generator system 200.


III.a.9. Outer Loop


One embodiment of the present disclosure includes splitting the outer loop system into two sub-sections: an outer loop target generator which handles the time-based changes to the setpoint of the outer loop (e.g., temperature versus time curves) and an inner loop target generator which selects which target (e.g., voltage, current, power) the inner loop is controlling.


III.a.10 Downloading Configuration Files


It is contemplated that the system of the present disclosure can be configured such that the system allows the downloading of the configuration files into the electrosurgical generator by the user. The new configuration files could be purchased or given to the user for upgrading the electrosurgical system.



FIG. 3 shows another embodiment of the electrosurgical generator system, designated generally by the number 300. An inner loop controller 314 includes at least the functionality of the inner loop controller 114 shown in FIG. 1. An outer loop controller 316 together with a high level RF algorithm (HLA) module 330 include at least the functionality of the outer loop controller 116 shown in FIG. 1. A control system for an electrosurgical generator having an inner and outer loop controller is described in U.S. patent application Ser. No. 10/427,832, filed on May 1, 2003, the contents of which are incorporated herein by reference in their entirety. A configuration controller 318 includes at least the functionality of the configuration controller 118 shown in FIG. 1. A sensor module 304 includes at least the sensors 104 shown in FIG. 1 and a configuration sensor module 312 includes at least the sensors 112 shown in FIG. 1. An RF stage 306 corresponds to the RF stage 106 shown in FIG. 1. A waveform pattern controller 332 provides at least functionality described above with respect to waveform generation.


Configuration data 340, 342, 344, 346, 348, 350 is generated by the configuration controller 318. The inner loop controller 314 includes an inner loop target generator (ILTG) 360 and an inner loop control module (ILCM) 362. The outer loop controller 316 includes an outer loop target generator (OLTG) 364 and an outer loop control module (OLCM) 366. The ILTG configuration data 340 is provided to the ILTG 360. The ILCM configuration data 342 is provided to the OLCM 366. The OLTG configuration data 344 is provided to the OLTG 364, the OLCM configuration data 346 is provided to the OLCM 366. The waveform controller configuration data 348 is provided to the waveform controller 332. The HLA module configuration data 350 is provided to the HLA module 330.


The elements ILTG 360, ILCM 362, OLTG 364, OLCM 366, the configuration controller 318, the configuration sensor module 312, the HLA module 330, the waveform controller 332 or the sensor module 304, or a combination thereof, may be disabled and/or bypassed, or a connection between two or more elements may be disabled so that the electrosurgical generator control system 300 may operate without the disabled element. The disabled elements pass the input directly to the output of the module, thus allowing the enabled elements to operate with no change from the disabled units. The inner loop controller 314 processes sensor data received from the sensor module 304 in accordance with configuration data received from the configuration controller 318, updated configuration data received from the HLA module 330, and the inner loop multiplier control signal received from the outer loop controller 316, and generates a supply setpoint control signal which is provided to the RF stage 306, where an amplitude of an aspect of the RF energy output by the RF stage 306 is controlled in accordance with the supply setpoint. In the example provided in FIG. 3, the supply setpoint is an HV supply setpoint which controls amplitude of the voltage output by the RF stage 306.


The ILTG 360 receives configuration data including at least one algorithm selected from algorithms including a sculpted curve (including sculpted current, sculpted voltage and sculpted power) and RF limit algorithms, pulse parameters (pulse enable (for enabling or disabling pulsing function), pulse on (length of “high” pulse), pulse off (length of “low” pulse), pulse min (amplitude of “low” pulse), an inner loop gain curve, maximum RF limits, a control curve and Zlow, Zhigh, Zcntl values (where Zcntl indicates when to switch the control variable, e.g., from current to voltage, or vice versa); sensor data from the sensor module 304; and the inner loop multiplier from the outer loop controller 316. The ILTG 360 generates a target signal to the ILCM 362 based on the inner loop control curve provided via the configuration data from the configuration controller 318 and updateable by the configuration update data from the HLA module 330; the inner loop multiplier from the outer loop controller 316; and impedance and actual RF current and voltage from the sensor module 304. The target signal preferably represents voltage, but it can also represent the HV supply setpoint in the case when the ILCM is bypassed and/or disabled.


The ILTG 360 further includes modules for performing the following functions: performing a sculpted curve algorithm including, for example, but not limited to converting a sculpted current or power control curve into a voltage control curve; limiting the control curve to the maximum values (e.g., for current, voltage and power) allowed for the hardware; calculating and generating the inner loop target based on the sensor data, the control curve and the inner loop multiplier; controlling the inner loop control module gains based on impedance sensor data and the gain curve which specifies changes in gain due to changes in impedance for generating the gain multiplier; pulsing the inner loop target; and selecting a mode based on the sensed load impedance and the impedance breakpoints Zlow, Zhigh and Zcntl, and generating a control mode signal in accordance with the selected mode.


Mode selection determines which sensor data is to be used by the ILCM 362 and which variable is to be controlled, e.g., sensor data that corresponds to current, voltage or power for controlling current, voltage or power, respectively. Preferably, current control is to be used for impedances less than Zlow, power or voltage control is used for impedance values between Zlow and Zhigh, and voltage control is used for the remaining impedance values. To avoid inaccuracy and prevent unnecessary control mode switching when the impedance is near a breakpoint, hysteresis is used when the impedance is close to a breakpoint.


The RF limit algorithm causes the ILTG 360 and the ILCM 362 to operate in an open loop mode in which there is minimal software control of the HV supply setpoint output in response to sensor data. The open loop mode is generally used for calibration and service functions, but is not limited thereto. Preferably, in the open loop mode the amplitude activation setting determines the percentage of full scale output that the RF stage 306 will deliver. The RF limit algorithm protects the RF stage 306 from user actions, such as setting the activation amplitude setting to a level that could cause the HV supply setpoint to be set to a level that could damage the RF stage 306. The HV supply setpoint is kept within predetermined limits, where the limits are determined by the control curve.


The inner loop control curve is interpreted to represent the maximum allowed HV supply setpoint at the specified impedance (Z). As long as the maximum HV supply setpoint allowed is not exceeded, as defined by the inner loop control curve, control of the HV supply setpoint is based on the inner loop multiplier. If the control curve is exceeded, then the output HV supply setpoint is held at the maximum allowed HV supply setpoint for providing protection to the electrosurgical unit receiving the energy generated by the RF stage 306. The HV supply setpoint is set to equal the inner loop multiplier after the HV supply setpoint is less than the maximum RF limit value, with some possible hysteresis.


The max RF limits parameter provides another layer of control layered on top of the control curve for use with any algorithm by providing maximum limits for current, voltage and/or power levels of the HV supply setpoint. The control layer which uses the max RF limits parameter further provides protection to the RF stage unit 306 and the electrosurgical unit (ESU) receiving the energy generated by the RF stage 306, including protection from changes to the software. Furthermore, the control system may use the minimum of the limits described by the control curve and the max RF limit for limiting the HV supply setpoint.


The pulsing function may run in parallel with other ILTG 360 algorithms. The duration of the “high” and “low” pulses, the time between leading edges, the level for the “low” pulse, etc., are specified by the pulse parameters. The level for the “high” pulse is defined by the control curve, the impedance data from the sensor data and the inner loop multiplier for closed loop control, or by the inner loop multiplier for open loop control, such as when the RF limit algorithm is performed. The pulsing of the inner loop target may contribute to providing sharp edged pulses of the HV supply setpoint, if desired.


The inner loop control curve received via the configuration data specifies the inner loop desired output values versus sensed impedance values obtained from sensor data. The desired output values of the received inner loop control curve represent current, voltage or power, as determined by the algorithm received via the configuration data (e.g., the sculpted current, voltage or power algorithm, respectively). The received inner loop control curve may be converted into a voltage, current or power curve, in accordance with the mode selected, in which the desired output values represent voltage, current or power, respectively. The control curve (or converted control curve) may be structured, for example, as a multi-dimensional array. One column of the array specifies impedance values, and another column specifies desired output values, where the desired output values represent current, power or voltage in accordance with the control mode. Preferably the desired output values are normalized between 0 and 1.0. A desired output value which is output as the inner loop target is generated by obtaining a normalized desired output value via linear interpolation based on the actual impedance, and multiplying the normalized desired output value by the inner loop multiplier.


Control of the inner loop control module gains (herein referred to as inner loop gain control) includes generating the gain multiplier in response to a constant control voltage as impedance changes. System gain (e.g., RF voltage/HV supply set-point, where the RF voltage is measured RF voltage output by the RF stage 306) varies with patient load impedance. The inner loop gain control objective is to stabilize the system gain to keep it close to constant as the load impedance changes. The inner loop gain curve is theoretically a set of points of a gain multiplier plotted versus impedance derived from the design of the hardware, which is designed to adjust the gains due to the response of the electrosurgical generator system 300.


The gain curve preferably holds a normalized voltage response versus impedance. By using a normalized voltage response, the voltage is converted into the variable that we are controlling (current, power, or voltage). The gain multiplier is computed by taking the inverse of the voltage response that corresponds to the sensed impedance. The gain multiplier is used to adjust the inner loop PID values of the ILCM 362 so that the control system gain is close to constant. Accordingly, the PID values should be calculated assuming a system gain of 1.0, as the PID values are adjusted as described above.


To compute the gain multiplier, for voltage control, the interpolated value of the gain curve is inverted. For power control, the gain multiplier is Z/V2 (where V is the interpolated value from the gain curve). For current control, the gain multiplier is Z/V. Accordingly, the ILSM 362 can use a single set of PID gain values for the inner loop voltage, current or power control, and the gain multiplier is used to modify the PID gains during the procedure in virtual real-time.


The ILCM 362 receives configuration data including control parameters, such as PID parameters; sensor data from the sensor module 304 and the inner loop target, the gain multiplier and the control mode (Irms, Vrms, Pavg or Bypass) from ILTG 360. The ILCM 362 adjusts the HV supply setpoint in accordance with the received data so that the inner loop target is reached.


The ILCM 362 preferably uses a control algorithm, such as a PID algorithm, which is able to switch between control modes such as current control, voltage control, power control and a bypass mode (e.g., minimal control, where received data is provided as the output) without large disturbances when switching control modes. When the ILTG 360 is performing the RF limit algorithm, the ILCM 362 is preferably in bypass mode. When switching between control modes, the PID loop algorithm (if active) pre-loads the integral term for minimum disturbance.


With respect to the outer loop controller 316, the OLTG 364 receives configuration data including the outer loop target curve, the target slew rate, the time multiplier and an algorithm selectable from algorithms including time control or bypass algorithms; the amplitude multiplier from the HLA module 330; and time signals. Other than when performing the bypass algorithm, the OLTG 364 generates a time varying outer loop target in accordance with the received data which is provided to the OLCM 366, where the outer loop target may represent a property such as, but not limited to, temperature, current, power, voltage or impedance. Preferably, the outer loop target is generated by a linear interpolation of the adjusted outer loop target curve, where the target curve provided via the OLTG configuration data is adjusted in accordance with the amplitude multiplier, the time multiplier and/or time.


The outer loop target slew rate parameter allows the system to have a programmable slew rate of the outer loop target, so that regardless of how quickly the amplitude multiplier changes, the outer loop target will not change faster than the programmed slew rate. The outer loop target slew rate control function is typically used in systems in which the user may have direct control of a parameter, such as the activation amplitude setting, and it is desired to limit the rate at which the activation amplitude setting can be changed.


The OLCM 366 receives configuration data including control parameters, such as PID parameters, inner loop multiplier maximum and minimum limit values, pulse parameters, at least one algorithm selectable from algorithms such as temperature, temperature limit, impedance (Z), or bypass algorithms, algorithm parameters, such as temperature limits and an outer loop gain curve; sensor data from the sensor module 304 and the outer loop target from the OLTG 364. Preferably, the OLCM 366 uses a control algorithm, such as a PID algorithm which operates in accordance with the PID parameters. The OLCM 366 adjusts the inner loop multiplier in accordance with the received data in order to reach the outer loop target.


The OLCM 366 is capable of pulsing the inner loop multiplier. When the pulse is “on”, the output value is the computed inner loop multiplier. When the pulse is “off”, the output is set to a predetermined value.


The OLCM 366 controls outer loop gain. The outer loop gain curve describes a plot of gain multiplier versus impedance derived from the inner loop control curve, and thus the programming of the inner loop by way of the configuration parameters. The outer loop gain curve may be structured, for example, as a two-dimensional array. When outer loop gain control is enabled, the outer loop gain is multiplied by the gain multiplier that corresponds to the received impedance sensor data. The outer loop gain control stabilizes the system gain to maintain system gain that is close to constant. From the perspective of the outer loop controller 316, the system gain varies with patient load impedance due to the inner loop control curve programming. Conceptually, the outer loop gain is multiplied by the inverse of the normalized inner loop control curve, thus keeping the system gain close to constant. The outer loop gain curve specifies the inverse of the normalized inner loop control curve, where the outer loop gain curve may be further adjusted for keeping the system stable.


The HLA module 330 receives configuration data including at least one procedural algorithm selectable from algorithms for controlling the electrosurgical generator system 300 during specific types of procedures, or procedures performed under specific conditions, such as on specific organs. The procedural algorithms include algorithms, such as, vessel sealing (e.g., LigaSure™ (standard and precise)), rate of change of impedance (dZ/dt), lung, bowel, ablation, etc., and bypass algorithms, and a combination thereof; algorithm specific data for adjusting at least one specified procedural algorithm; sensor data from the sensor module 304; time signals; user entered settings; and the activation amplitude setting from the configuration controller 318.


Preferably, the HLA module 330 uses a state based control algorithm. The HLA module 330 performs top level RF delivery algorithms which are primarily state based. The HLA module 330 has the capability of changing the configuration data of the lower level modules, including the ILTG 360, the ILCM 362, the OLTG 364 and the OLCM 366 and the waveform controller (332). The HLA module 330 sets up the lower level modules in accordance with the received data by adjusting the corresponding configuration data as determined necessary. Furthermore, during a procedure the HLA module 330 reprograms the lower level modules in accordance with the received data by adjusting the corresponding configuration data in accordance with the algorithm selected, and in response to measured properties as indicated by the received sensor data, where the reprogramming may be performed in virtual real-time.


The user entered settings may be used in conjunction with any of the algorithms selected. Furthermore, the user entered settings may control the activation amplitude setting for one or more electrical or physical properties (e.g., power, current, voltage or temperature) without directly identifying the particular property and target setting. For example, the user may select from a variety of generic settings, where each generic setting includes a predetermined setting for one or more properties.


The waveform controller 332 receives configuration data including “on” time, dead time, number of pulses per burst of pulses, and delay time between bursts of pulses. It is contemplated that the waveform controller 332 may be programmed by the HLA module 332 if determined necessary, and/or by the configuration file via download from the configuration controller 318. The waveform controller 332 controls the hardware which generates a wave pattern (such as a square wave pattern) which drives FETs in the RF stage. Parameters of the waveform pattern that may be controlled by the waveform controller 332 include at least, “on” time (pulse width of a single pulse), dead time (delay to next pulse), number of pulses per group of pulses, and delay time between groups of pulses.


The waveform generator 332 may receive an amplitude envelope parameter with the configuration parameters, and may further include circuitry, such as analog and/or logic circuitry for adjusting amplitude of pulses within a burst of pulses. The amplitude envelope parameter may describe the amplitude setting for individual pulses of groups (or bursts) of pulses. The amplitude adjustments may be performed at a rate that is faster than the rate at which the software, such as the inner loop controller 314, is capable of providing control, so that the amplitude adjustments may be provided for individual pulses of groups of pulses. The waveform generator may receive a control signal, such as a control signal from the ILCM 362, indicative of the HV supply setpoint, for synchronizing the amplitude adjustments with the HV supply setpoint or with the signals output by the RF stage 106.


Preferably, the configuration controller 318 is a system which selects the required configuration files based on user input and download them to the rest of the system. It is contemplated that the configuration controller 318 may be removable and replaceable. The configuration controller receives configuration sensor data from the configuration sensor module 312 and/or user input devices (not shown) for direct user input. The configuration controller 318 generates the configuration data and the activation amplitude setting in accordance with the received data. The configuration controller 318 selects the algorithm to be used by the ILTG 360, OLTG 364, OLCM 366 and the HLA 330. The configuration data is provided to the appropriate modules as described above, and the activation amplitude setting is provided to the HLA module 330.


The configuration controller may configure itself (or alternatively be configured by another processor) in accordance with conditions, such as the ESU and/or the user interface to the electrosurgical generator system being used.


The configuration sensor module 312 includes sensors for sensing user actions, (including user actions not intentionally related to providing input to the configuration controller 318), environmental conditions, patient conditions or other properties or conditions. The configuration sensor module 312 further includes analog and or digital circuitry and software modules for processing signals generated by the sensors such as for preparing the signals for input to the configuration controller 318, and for controlling the sensors.


The sensors of the configuration sensor module 312 may include, for example, a sensor for sensing adjustment of a slider mechanism on the ESU for selecting a parameter on the ESU, an optical sensor for sensing a property of the patient's tissue, a proximity sensor for sensing thickness of the patient's tissue, a motion sensor for sensing motion of the ESU or the patient, a sensor for sensing moisture levels of tissue, etc. A portion of the sensors may be provided within the sterile field of the electrosurgical procedure. The configuration sensor module 312 may further include one or more commercially available user input devices.


The sensor module 304 includes sensors for sensing electrical properties of energy as output by the electrosurgical device, and/or electrical and/or physical properties proximate the surgical site or the ESU. Furthermore, the sensor module includes analog and or digital circuitry and software modules for processing signals generated by the sensors such as for preparing the signals for input to the control system of the electrosurgical generator system 300, and for calculating values derived from the sensed properties. It is contemplated that sensors and circuitry may be shared by the sensor module 304 and the configuration controller 318. Furthermore, the sensor module 304 may further include at least one control system for controlling the sensors, amplification of sensed signals, sampling rates of the sensors, etc. The sensor module 304 may further include one or more commercially available user input devices.


In a preferred embodiment, a user may enter user input to the configuration controller for selecting (directly or indirectly) configuration parameters, the activation amplitude setting and the amplitude multiplier. As described above, the user input to the configuration controller may not be intentionally entered for selecting configuration parameters.


It is contemplated that another configuration parameter, an expected crest factor parameter, may be provided to at least one of the modules of the control system of the electrosurgical generator 300 for providing further control. Furthermore, the sensor module 304 may include sensors for sensing the crest factor. The control system may further include a safety monitor module which compares the expected crest factor parameter with the sensed crest factor, and sends control signals to other modules of the control system for making adjustments in accordance with the results of the comparison. The sensor module 304 may configure the sensors for setting up the dynamic range of the sensors in accordance with the expected crest factor parameter.


It is further contemplated that the control system includes an activation sequencer which controls startup and ending of RF delivery. The activation sequencer may receive configuration data from the configuration controller 318 and or updated configuration data from the HLA module 330 for performing startup and/or shutdown procedures in accordance with the configuration data and/or updated configuration data.


The software modules of the electrosurgical generator control system 300, including the inner loop controller 314, outer loop controller 316, the configuration controller 318, the HLA module 330, the waveform controller 332 and control modules associated with the sensor module 304 and/or the configuration sensor module 312 are respectively executable on at least one processor, such as a microprocessor and/or a DSP. Resources for processing, storage, etc., or a combination thereof may be shared by any combination of the aforementioned software modules. The software instructions of the respective software modules may be stored on computer readable medium, such as CD-ROMs or magnetic disks, and/or may be transmitted and/or received via propagated signals.


In operation, the control system may be initialized during the power up and/or the activation process. The electrosurgical generator system 300 recognizes (via sensing or “plug and play” notification) the type of ESU and/or electrosurgical generator user interface to be used. Sensors of the sensor module 304 and/or the configuration sensor module 312 sense initialization properties associated with the environment, ESU or patient. Information is entered via a user interface, such as patient and/or procedure related information (procedure to be performed, tissue to be operated upon, patient identification, age, weight, expected fat content). The information or additional information may be retrieved from a database accessible by the control system of the electrosurgical generator system 300.


The appropriate configuration files are selected or generated by the configuration controller 318. It is contemplated that at least a portion of the configuration files are stored by the configuration controller 318 and/or associated memory. Accordingly, selected configuration files not stored by the configuration controller 318 may be downloaded to the configuration controller 318 through various methods. Upon activation of the electrosurgical generator system 300 the configuration controller 318 downloads the configuration files into the respective modules of the control system.


The control system for the electrosurgical generator system 300 provides a high degree of flexibility for performing a wide variety of different types of control for controlling the output of electrosurgical energy for use in a wide variety of types of procedures which may be performed under a wide variety of circumstances. Furthermore, the control system provides a wide variety of different types of control during a procedure, where the control and selection of the type of control is provided on the fly, or in virtual real time in response to properties associated with sensed properties and/or user input or actions. The type of control provided may be selected in response to a variety of factors, such as sensed or input tissue response, type of electrosurgical instrument being used, patient profile, the type of procedure being performed, environmental conditions, the type of tissue being treated and the condition of the tissue being treated.


Although this disclosure has been described with respect to preferred embodiments, it will be readily apparent to those having ordinary skill in the art to which it appertains that changes and modifications may be made thereto without departing from the spirit or scope of the claims appended hereto.

Claims
  • 1. An electrosurgical generator system having an RF stage for outputting at least one waveform of electrosurgical energy for performing an electrosurgical procedure, the electrosurgical generator comprising: at least one control module executable on at least one processor for controlling in combination at least one parameter of the output electrosurgical energy;a configuration controller for generating configuration data including configuration data for respective control modules of the at least one control module and providing the corresponding configuration data to the respective control modules for configuring the respective control modules to provide a type of control selectable from a variety of types of control;a sensor module having at least one sensor that senses electrical or physical properties relating to the output electrosurgical energy or the application of the electrosurgical energy and generates sensor data corresponding thereto;wherein the at least one control module includes: an outer loop controller that generates a control signal in accordance with at least a first subset of the sensor data; andan inner loop controller that generates a setpoint control signal and provides the setpoint control signal to the RF stage for controlling at least an amplitude of the energy output by the RF stage, wherein the setpoint control signal is generated based on at least the control signal generated by the outer loop controller and a second subset of the sensor data;wherein the outer loop controller includes: an outer loop target generator that generates an outer loop target value based on at least a time signal indicative of a time lapse during the procedure and an outer loop target curve providing target values versus time values provided via the configuration data; andan outer loop control module performing a control algorithm for generating the control signal based on at least the outer loop target value and the first subset of sensor data;wherein the inner loop controller includes: an inner loop target generator that generates an inner loop target value based on at least the second subset of sensor data or an inner loop target curve providing target values versus impedance values provided via the configuration data; andan inner loop control module performing a control algorithm that generates the setpoint control signal based on at least the inner loop target value and the second subset of sensor data.
  • 2. The electrosurgical generator system as in claim 1, wherein the at least one sensor is selected from the group consisting of current, phase shift, voltage, power, impedance, and temperature sensors.
  • 3. The electrosurgical generator system as in claim 1, wherein the electrosurgical generator system further comprises a configuration sensor module having at least one sensor for sensing at least one property relating to at least one of a user action relating directly to operation of an electrosurgical instrument, and at least one of a physical or electrical property sensed in a field of the procedure, wherein the configuration sensor module generates at least one signal corresponding to the sensing.
  • 4. The electrosurgical generator system as in claim 1, wherein the configuration data provided to the inner loop controller includes at least one of an algorithm selected from at least a sculpted current algorithm, a sculpted voltage algorithm and a sculpted power algorithm; pulse parameters for controlling a waveform pattern of the setpoint control signal; a gain curve providing predetermined gain multiplier values plotted versus predetermined impedance values; maximum limitation values for the setpoint control signal; a control curve providing target values plotted versus impedance values; predetermined impedance breakpoint values; and control algorithm parameters; and wherein the configuration data provided to the outer loop controller includes at least one of a target curve providing target values plotted versus time values; a target slew rate for limiting the slew rate of the outer loop controller; a time multiplier for adjusting the target curve with respect to the time values; control algorithm parameters; threshold range values for the control signal generated by the outer loop controller; pulse parameters for pulsing the control signal; an outer loop algorithm selected from at least one of a temperature algorithm, a temperature limit algorithm, and an impedance algorithm; outer loop algorithm parameters; and a gain curve providing predetermined gain multiplier values plotted versus predetermined impedance values.
  • 5. The electrosurgical generator system as in claim 1, further comprising a waveform controller receiving configuration data from the configuration controller and controlling a waveform pattern of the electrosurgical energy generated by the RF stage.
  • 6. The electrosurgical generator system as in claim 1, wherein each of the outer loop target generator, the outer loop control module, the inner loop target generator and the inner loop control module are bypassable.
  • 7. The electrosurgical generator system as in claim 1, wherein the electrosurgical generator system further comprises a high level RF algorithm module for generating updated configuration data for at least one of the respective control modules in response to at least one of received sensor data and time signals indicative of the amount of time lapsed during a procedure, and providing the updated configuration data to the at least one of the respective control modules for reconfiguring the respective control modules.
  • 8. The electrosurgical generator system as in claim 7, wherein the configuration data provided to the high level RF algorithm module includes at least an algorithm selection and algorithm specific data for adjusting at least one procedural algorithm.
PRIORITY

This application claims priority to an application entitled “METHOD AND SYSTEM FOR PROGRAMMING AND CONTROLLING AN ELECTROSURGICAL GENERATOR SYSTEM” filed in the United States Patent and Trademark Office on May 1, 2003 and assigned Ser. No. 60/466,954, the contents of which are hereby incorporated by reference.

PCT Information
Filing Document Filing Date Country Kind 371c Date
PCT/US2004/013443 4/30/2004 WO 00 12/19/2006
Publishing Document Publishing Date Country Kind
WO2004/098385 11/18/2004 WO A
US Referenced Citations (619)
Number Name Date Kind
1787709 Wappler Jan 1931 A
1813902 Bovie Jul 1931 A
1841968 Lowry Jan 1932 A
1863118 Liebel Jun 1932 A
1945867 Rawls Feb 1934 A
2827056 Degelman Mar 1958 A
2849611 Adams Aug 1958 A
2982881 Reich May 1961 A
3058470 Seeliger et al. Oct 1962 A
3089496 Degelman May 1963 A
3163165 Humio Dec 1964 A
3252052 Nash May 1966 A
3391351 Trent Jul 1968 A
3402326 Guasco et al. Sep 1968 A
3413480 Biard et al. Nov 1968 A
3436563 Regitz Apr 1969 A
3439253 Piteo Apr 1969 A
3439680 Thomas, Jr. Apr 1969 A
3461874 Martinez Aug 1969 A
3471770 Haire Oct 1969 A
3478744 Leiter Nov 1969 A
3486115 Anderson Dec 1969 A
3495584 Schwalm Feb 1970 A
3513353 Lansch May 1970 A
3514689 Giannamore May 1970 A
3515943 Warrington Jun 1970 A
3551786 Van Gulik Dec 1970 A
3562623 Farnsworth Feb 1971 A
3571644 Jakubovitch Mar 1971 A
3589363 Banko Jun 1971 A
3595221 Blackett Jul 1971 A
3601126 Estes Aug 1971 A
3611053 Rowell Oct 1971 A
3641422 Farnsworth et al. Feb 1972 A
3642008 Bolduc Feb 1972 A
3662151 Haffey May 1972 A
3675655 Sittner Jul 1972 A
3683923 Anderson Aug 1972 A
3693613 Kelman Sep 1972 A
3697808 Lee Oct 1972 A
3699967 Anderson Oct 1972 A
3720896 Bierlein Mar 1973 A
3743918 Maitre Jul 1973 A
3766434 Sherman Oct 1973 A
3768482 Shaw Oct 1973 A
3783340 Becker Jan 1974 A
3784842 Kremer Jan 1974 A
3801766 Morrison, Jr. Apr 1974 A
3801800 Newton Apr 1974 A
3812858 Oringer May 1974 A
3815015 Swin et al. Jun 1974 A
3826263 Cage et al. Jul 1974 A
3828768 Douglas Aug 1974 A
3848600 Patrick, Jr. et al. Nov 1974 A
3870047 Gonser Mar 1975 A
3875945 Friedman Apr 1975 A
3885569 Judson May 1975 A
3897787 Ikuno et al. Aug 1975 A
3897788 Newton Aug 1975 A
3901216 Felger Aug 1975 A
3905373 Gonser Sep 1975 A
3913583 Bross Oct 1975 A
3923063 Andrews et al. Dec 1975 A
3933157 Bjurwill et al. Jan 1976 A
3946738 Newton et al. Mar 1976 A
3952748 Kaliher et al. Apr 1976 A
3963030 Newton Jun 1976 A
3964487 Judson Jun 1976 A
3971365 Smith Jul 1976 A
3978393 Wisner et al. Aug 1976 A
3980085 Ikuno Sep 1976 A
4005714 Hilebrandt Feb 1977 A
4024467 Andrews et al. May 1977 A
4041952 Morrison, Jr. et al. Aug 1977 A
4051855 Schneiderman Oct 1977 A
4063557 Wuchinich et al. Dec 1977 A
4074719 Semm Feb 1978 A
4092986 Schneiderman Jun 1978 A
4094320 Newton et al. Jun 1978 A
4097773 Lindmark Jun 1978 A
4102341 Ikuno et al. Jul 1978 A
4114623 Meinke et al. Sep 1978 A
4121590 Gonser Oct 1978 A
4123673 Gonser Oct 1978 A
4126137 Archibald Nov 1978 A
4145636 Doi Mar 1979 A
4171700 Farin Oct 1979 A
4188927 Harris Feb 1980 A
4191188 Belt et al. Mar 1980 A
4196734 Harris Apr 1980 A
4200104 Harris Apr 1980 A
4200105 Gosner Apr 1980 A
4209018 Meinke et al. Jun 1980 A
4231372 Newton Nov 1980 A
4232676 Herczog Nov 1980 A
4237887 Gosner Dec 1980 A
4237891 DuBose et al. Dec 1980 A
4281373 Mabille Jul 1981 A
4287557 Brehse Sep 1981 A
4303073 Archibald Dec 1981 A
4311154 Sterzer et al. Jan 1982 A
4314559 Allen Feb 1982 A
4321926 Roge Mar 1982 A
4334539 Childs et al. Jun 1982 A
4343308 Gross Aug 1982 A
4372315 Shapiro et al. Feb 1983 A
4376263 Pittroff et al. Mar 1983 A
4378801 Oosten Apr 1983 A
4384582 Watt May 1983 A
4397314 Vaguine Aug 1983 A
4407272 Yamaguchi Oct 1983 A
4411266 Cosman Oct 1983 A
4416276 Newton et al. Nov 1983 A
4416277 Newton et al. Nov 1983 A
4429694 McGreevy Feb 1984 A
4436091 Banko Mar 1984 A
4437464 Crow Mar 1984 A
4438766 Bowers Mar 1984 A
4452546 Hiltebrandt et al. Jun 1984 A
4463759 Garito et al. Aug 1984 A
4470414 Imagawa et al. Sep 1984 A
4472661 Culver Sep 1984 A
4474179 Koch Oct 1984 A
4492231 Auth Jan 1985 A
4492832 Taylor Jan 1985 A
4494541 Archibald Jan 1985 A
4514619 Kugelman Apr 1985 A
4520818 Mickiewicz Jun 1985 A
4559496 Harnden, Jr. et al. Dec 1985 A
4559943 Bowers Dec 1985 A
4565200 Cosman Jan 1986 A
4566454 Mehl et al. Jan 1986 A
4569345 Manes Feb 1986 A
4576177 Webster, Jr. Mar 1986 A
4582057 Auth et al. Apr 1986 A
4586120 Malik et al. Apr 1986 A
4590934 Malis et al. May 1986 A
4608977 Brown Sep 1986 A
4615330 Nagasaki et al. Oct 1986 A
4630218 Hurley Dec 1986 A
4632109 Patterson Dec 1986 A
4644955 Mioduski Feb 1987 A
4646222 Okado et al. Feb 1987 A
4651264 Shiao-Chung Hu Mar 1987 A
4651280 Chang et al. Mar 1987 A
4657015 Irnich Apr 1987 A
4658815 Farin et al. Apr 1987 A
4658819 Harris et al. Apr 1987 A
4658820 Klicek Apr 1987 A
4662383 Sogawa et al. May 1987 A
4691703 Auth et al. Sep 1987 A
4712559 Turner Dec 1987 A
4727874 Bowers et al. Mar 1988 A
4735204 Sussman et al. Apr 1988 A
4739759 Rexroth et al. Apr 1988 A
4741334 Irnich May 1988 A
4754757 Feucht Jul 1988 A
4788634 Schlecht et al. Nov 1988 A
4805621 Heinze et al. Feb 1989 A
4818954 Flachenecker et al. Apr 1989 A
4827911 Broadwin et al. May 1989 A
4827927 Newton May 1989 A
4832024 Boussignac et al. May 1989 A
4848335 Manes Jul 1989 A
4848355 Nakamura et al. Jul 1989 A
4860745 Farin et al. Aug 1989 A
4862889 Feucht Sep 1989 A
4880719 Murofushi et al. Nov 1989 A
4887199 Whittle Dec 1989 A
4890610 Kirwan et al. Jan 1990 A
4903696 Stasz et al. Feb 1990 A
4907589 Cosman Mar 1990 A
4922210 Flachenecker et al. May 1990 A
4931047 Broadwin et al. Jun 1990 A
4931717 Gray et al. Jun 1990 A
4938761 Ensslin Jul 1990 A
4942313 Kinzel Jul 1990 A
4959606 Forge Sep 1990 A
4961047 Carder Oct 1990 A
4961435 Kitagawa et al. Oct 1990 A
4966597 Cosman Oct 1990 A
RE33420 Sussman Nov 1990 E
4969885 Farin Nov 1990 A
4992719 Harvey Feb 1991 A
4993430 Shimoyama et al. Feb 1991 A
4995877 Ams et al. Feb 1991 A
5015227 Broadwin et al. May 1991 A
5019176 Brandhorst, Jr. May 1991 A
5024668 Peters et al. Jun 1991 A
5029588 Yock et al. Jul 1991 A
5087257 Farin Feb 1992 A
5099840 Goble et al. Mar 1992 A
5103804 Abele et al. Apr 1992 A
5108389 Cosmescu Apr 1992 A
5108391 Flachenecker et al. Apr 1992 A
5122137 Lennox Jun 1992 A
5133711 Hagen Jul 1992 A
5151102 Kamiyama et al. Sep 1992 A
5152762 McElhenney Oct 1992 A
5157603 Scheller et al. Oct 1992 A
5160334 Billings et al. Nov 1992 A
5162217 Hartman Nov 1992 A
5167658 Ensslin Dec 1992 A
5190517 Zieve et al. Mar 1993 A
5196008 Kuenecke Mar 1993 A
5196009 Kirwan, Jr. Mar 1993 A
5201900 Nardella Apr 1993 A
5207691 Nardella May 1993 A
5230623 Guthrie et al. Jul 1993 A
5233515 Cosman Aug 1993 A
5249121 Baum et al. Sep 1993 A
5254117 Rigby et al. Oct 1993 A
RE34432 Bertrand Nov 1993 E
5267994 Gentelia et al. Dec 1993 A
5267997 Farin Dec 1993 A
5281213 Milder et al. Jan 1994 A
5300068 Rosar et al. Apr 1994 A
5300070 Gentelia Apr 1994 A
5318563 Malis et al. Jun 1994 A
5323778 Kandarpa et al. Jun 1994 A
5324283 Heckele Jun 1994 A
5330518 Neilson et al. Jul 1994 A
5334183 Wuchinich Aug 1994 A
5334193 Nardella Aug 1994 A
5341807 Nardella Aug 1994 A
5342356 Ellman Aug 1994 A
5342357 Nardella Aug 1994 A
5342409 Mullett Aug 1994 A
5348554 Imran et al. Sep 1994 A
5370645 Klicek et al. Dec 1994 A
5370672 Fowler et al. Dec 1994 A
5370675 Edwards et al. Dec 1994 A
5372596 Klicek et al. Dec 1994 A
5383874 Jackson Jan 1995 A
5383876 Nardella Jan 1995 A
5383917 Desai et al. Jan 1995 A
5385148 Lesh et al. Jan 1995 A
5396062 Eisentraut et al. Mar 1995 A
5400267 Denen et al. Mar 1995 A
5403311 Abele et al. Apr 1995 A
5403312 Yates et al. Apr 1995 A
5409000 Imran Apr 1995 A
5409006 Buchholtz et al. Apr 1995 A
5409485 Suda Apr 1995 A
5413573 Koivukangas May 1995 A
5414238 Steigerwald et al. May 1995 A
5417719 Hull et al. May 1995 A
5422567 Matsunaga Jun 1995 A
5423808 Edwards et al. Jun 1995 A
5423809 Klicek Jun 1995 A
5423810 Goble et al. Jun 1995 A
5425704 Sakurai et al. Jun 1995 A
5430434 Lederer et al. Jul 1995 A
5432459 Thompson Jul 1995 A
5433739 Sluijter et al. Jul 1995 A
5434398 Goldberg Jul 1995 A
5436566 Thompson Jul 1995 A
5438302 Goble Aug 1995 A
5443463 Stern et al. Aug 1995 A
5445635 Denen Aug 1995 A
5451224 Goble et al. Sep 1995 A
5458597 Edwards et al. Oct 1995 A
5462521 Brucker et al. Oct 1995 A
5472441 Edwards et al. Dec 1995 A
5472443 Cordis et al. Dec 1995 A
5478303 Folry-Nolan et al. Dec 1995 A
5480399 Hebborn Jan 1996 A
5483952 Aranyi Jan 1996 A
5490850 Ellman et al. Feb 1996 A
5496312 Klicek Mar 1996 A
5496313 Gentelia et al. Mar 1996 A
5500012 Brucker et al. Mar 1996 A
5500616 Ochi Mar 1996 A
5514129 Smith May 1996 A
5520684 Imran May 1996 A
5531774 Schulman et al. Jul 1996 A
5534018 Wahlstrand et al. Jul 1996 A
5536267 Edwards et al. Jul 1996 A
5540681 Strul et al. Jul 1996 A
5540683 Ichikawa Jul 1996 A
5540684 Hassler, Jr. Jul 1996 A
5540724 Cox Jul 1996 A
5556396 Cohen et al. Sep 1996 A
5558671 Yates Sep 1996 A
5569242 Lax et al. Oct 1996 A
5571147 Sluijter et al. Nov 1996 A
5573533 Strul Nov 1996 A
5584830 Ladd et al. Dec 1996 A
5588432 Crowley Dec 1996 A
5594636 Schauder Jan 1997 A
5596466 Ochi Jan 1997 A
5599344 Paterson Feb 1997 A
5599345 Edwards et al. Feb 1997 A
5599348 Gentelia et al. Feb 1997 A
5605150 Radons et al. Feb 1997 A
5613966 Makower et al. Mar 1997 A
5613996 Lindsay Mar 1997 A
5625370 D'Hont Apr 1997 A
5626575 Crenner May 1997 A
5628745 Bek May 1997 A
5643330 Holsheimer et al. Jul 1997 A
5647869 Goble et al. Jul 1997 A
5647871 Levine et al. Jul 1997 A
5651780 Jackson et al. Jul 1997 A
5658322 Fleming Aug 1997 A
5660567 Nierlich et al. Aug 1997 A
5674217 Wahlstrom et al. Oct 1997 A
5685840 Schechter et al. Nov 1997 A
5688267 Panescu et al. Nov 1997 A
5690692 Fleming Nov 1997 A
5693042 Bioarski et al. Dec 1997 A
5694304 Telefus et al. Dec 1997 A
5695494 Becker Dec 1997 A
5696351 Benn et al. Dec 1997 A
5696441 Mak et al. Dec 1997 A
5702386 Stern et al. Dec 1997 A
5702429 King Dec 1997 A
5707369 Vaitekunas et al. Jan 1998 A
5712772 Telefus et al. Jan 1998 A
5713896 Nardella Feb 1998 A
5718246 Vona Feb 1998 A
5720744 Eggleston et al. Feb 1998 A
5722975 Edwards et al. Mar 1998 A
5729448 Haynie et al. Mar 1998 A
5733281 Nardella Mar 1998 A
5749869 Lindenmeier et al. May 1998 A
5749871 Hood et al. May 1998 A
5755715 Stern May 1998 A
5766165 Gentelia et al. Jun 1998 A
5769847 Panescu Jun 1998 A
5772659 Becker et al. Jun 1998 A
5792138 Shipp Aug 1998 A
5797802 Nowak Aug 1998 A
5797902 Netherly Aug 1998 A
5814092 King Sep 1998 A
5817093 Williamson, IV et al. Oct 1998 A
5820568 Willis Oct 1998 A
5827271 Bussey et al. Oct 1998 A
5830212 Cartmell Nov 1998 A
5836909 Cosmescu Nov 1998 A
5836943 Miller, III Nov 1998 A
5836990 Li Nov 1998 A
5846236 Lindenmeier et al. Dec 1998 A
5868737 Taylor et al. Feb 1999 A
5868739 Lindenmeier et al. Feb 1999 A
5868740 LeVeen et al. Feb 1999 A
5871481 Kannenberg et al. Feb 1999 A
5897552 Edwards et al. Apr 1999 A
5908444 Azure Jun 1999 A
5913882 King Jun 1999 A
5921982 Lesh et al. Jul 1999 A
5925070 King et al. Jul 1999 A
5931836 Hatta et al. Aug 1999 A
5938690 Law et al. Aug 1999 A
5948007 Starkenbaum et al. Sep 1999 A
5951545 Schilling Sep 1999 A
5951546 Lorentzen Sep 1999 A
5954686 Garito et al. Sep 1999 A
5954717 Behl et al. Sep 1999 A
5954719 Chen et al. Sep 1999 A
5961344 Rosales et al. Oct 1999 A
5971980 Sherman Oct 1999 A
5976128 Schilling et al. Nov 1999 A
5983141 Sluijter et al. Nov 1999 A
6010499 Cobb Jan 2000 A
6014581 Whayne et al. Jan 2000 A
6033399 Gines Mar 2000 A
6044283 Fein et al. Mar 2000 A
6053910 Fleenor Apr 2000 A
6053912 Panescu et al. Apr 2000 A
6055458 Cochran et al. Apr 2000 A
6056745 Panescu et al. May 2000 A
6056746 Goble et al. May 2000 A
6063075 Mihori May 2000 A
6063078 Wittkampf May 2000 A
6068627 Orszulak et al. May 2000 A
6074386 Goble et al. Jun 2000 A
6074388 Tockweiler et al. Jun 2000 A
6080149 Huang et al. Jun 2000 A
6093186 Goble Jul 2000 A
6102497 Ehr et al. Aug 2000 A
RE36871 Epstein Sep 2000 E
6113591 Whayne et al. Sep 2000 A
6113596 Hooven Sep 2000 A
6123702 Swanson et al. Sep 2000 A
6132429 Baker Oct 2000 A
6142992 Cheng et al. Nov 2000 A
6155975 Urich et al. Dec 2000 A
6162217 Kannenberg et al. Dec 2000 A
6171304 Netherly et al. Jan 2001 B1
6188211 Rincon-Mora et al. Feb 2001 B1
6203541 Keppel Mar 2001 B1
6210403 Klicek Apr 2001 B1
6222356 Taghizadeh-Kaschani Apr 2001 B1
6228080 Gines May 2001 B1
6228081 Goble May 2001 B1
6231569 Bek May 2001 B1
6235020 Cheng et al. May 2001 B1
6238387 Miller, III May 2001 B1
6238388 Ellman May 2001 B1
6241725 Cosman Jun 2001 B1
6245065 Panescu Jun 2001 B1
6246912 Sluijter et al. Jun 2001 B1
6251106 Becker et al. Jun 2001 B1
6258085 Eggleston Jul 2001 B1
6261285 Novak Jul 2001 B1
6261286 Goble et al. Jul 2001 B1
6273886 Edwards Aug 2001 B1
6275786 Daners Aug 2001 B1
6293941 Strul Sep 2001 B1
6293942 Goble et al. Sep 2001 B1
6296636 Cheng et al. Oct 2001 B1
6306131 Hareyama et al. Oct 2001 B1
6306134 Goble et al. Oct 2001 B1
6309386 Bek Oct 2001 B1
6325799 Goble Dec 2001 B1
6337998 Behl et al. Jan 2002 B1
6338657 Harper et al. Jan 2002 B1
6350262 Ashley Feb 2002 B1
6358245 Edwards Mar 2002 B1
6364877 Goble et al. Apr 2002 B1
6383183 Sekino et al. May 2002 B1
6391024 Sun et al. May 2002 B1
6398779 Buysse et al. Jun 2002 B1
6398781 Goble et al. Jun 2002 B1
6402741 Keppel et al. Jun 2002 B1
6402743 Orszulak et al. Jun 2002 B1
6416509 Goble et al. Jul 2002 B1
6436096 Hareyama Aug 2002 B1
6451015 Rittman, III et al. Sep 2002 B1
6458121 Rosenstock Oct 2002 B1
6464689 Qin Oct 2002 B1
6464696 Oyama Oct 2002 B1
6498466 Edwards Dec 2002 B1
6506189 Rittman, III et al. Jan 2003 B1
6508815 Strul Jan 2003 B1
6511476 Hareyama Jan 2003 B2
6511478 Burnside et al. Jan 2003 B1
6517538 Jacob et al. Feb 2003 B1
6524308 Muller et al. Feb 2003 B1
6547786 Goble Apr 2003 B1
6558376 Bishop May 2003 B2
6560470 Pologe May 2003 B1
6562037 Paton May 2003 B2
6565559 Eggleston May 2003 B2
6573248 Ramasamy et al. Jun 2003 B2
6575969 Rittman, III et al. Jun 2003 B1
6582427 Goble et al. Jun 2003 B1
6620157 Dabney et al. Sep 2003 B1
6623423 Sakurai et al. Sep 2003 B2
6629973 Wardell et al. Oct 2003 B1
6635057 Harano Oct 2003 B2
6645198 Bommannan et al. Nov 2003 B1
6648883 Francischelli Nov 2003 B2
6652514 Ellman Nov 2003 B2
6663623 Oyama et al. Dec 2003 B1
6663624 Edwards Dec 2003 B2
6666860 Takahashi Dec 2003 B1
6679875 Honda Jan 2004 B2
6682527 Strul Jan 2004 B2
6685700 Behl Feb 2004 B2
6685701 Orszulak et al. Feb 2004 B2
6685703 Pearson et al. Feb 2004 B2
6689131 McClurken Feb 2004 B2
6692489 Heim Feb 2004 B1
6693782 Lash Feb 2004 B1
6712813 Ellman Mar 2004 B2
6730080 Harano May 2004 B2
6733495 Bek May 2004 B1
6733498 Paton May 2004 B2
6740079 Eggers May 2004 B1
6740085 Hareyama May 2004 B2
6755825 Shoenman et al. Jun 2004 B2
6758846 Goble et al. Jul 2004 B2
6783523 Qin Aug 2004 B2
6786905 Swanson et al. Sep 2004 B2
6790206 Panescu Sep 2004 B2
6796981 Wham et al. Sep 2004 B2
6824539 Novak Nov 2004 B2
6830569 Thompson Dec 2004 B2
6843789 Goble Jan 2005 B2
6849073 Hoey Feb 2005 B2
6855141 Lovewell Feb 2005 B2
6855142 Harano Feb 2005 B2
6860881 Sturm Mar 2005 B2
6864686 Novak Mar 2005 B2
6875210 Refior Apr 2005 B2
6893435 Goble May 2005 B2
6923804 Eggers et al. Aug 2005 B2
6929641 Goble et al. Aug 2005 B2
6939346 Kannenberg et al. Sep 2005 B2
6939347 Thompson Sep 2005 B2
6942660 Pantera et al. Sep 2005 B2
6948503 Refior et al. Sep 2005 B2
6966907 Goble Nov 2005 B2
6989010 Francischelli et al. Jan 2006 B2
6994704 Qin et al. Feb 2006 B2
6994707 Ellman et al. Feb 2006 B2
7001381 Harano et al. Feb 2006 B2
7004174 Eggers et al. Feb 2006 B2
7041096 Malis et al. May 2006 B2
7044948 Keppel May 2006 B2
7044949 Orszulak et al. May 2006 B2
7060063 Marion et al. Jun 2006 B2
7062331 Zarinetchi et al. Jun 2006 B2
7063692 Sakurai et al. Jun 2006 B2
7066933 Hagg Jun 2006 B2
7122031 Edwards et al. Oct 2006 B2
7131860 Sartor et al. Nov 2006 B2
7137980 Buysse et al. Nov 2006 B2
7147638 Chapman et al. Dec 2006 B2
7160293 Sturm et al. Jan 2007 B2
7172591 Harano et al. Feb 2007 B2
7175618 Dabney et al. Feb 2007 B2
7175621 Heim et al. Feb 2007 B2
7211081 Goble May 2007 B2
7214224 Goble May 2007 B2
7220260 Fleming et al. May 2007 B2
7247155 Hoey et al. Jul 2007 B2
7250746 Oswald et al. Jul 2007 B2
7255694 Keppel Aug 2007 B2
7282048 Goble et al. Oct 2007 B2
7300435 Wham et al. Nov 2007 B2
7303557 Wham et al. Dec 2007 B2
7364577 Wham et al. Apr 2008 B2
7367972 Francischelli et al. May 2008 B2
RE40388 Gines Jun 2008 E
7396336 Orszulak et al. Jul 2008 B2
20010014804 Goble et al. Aug 2001 A1
20010029315 Sakurai et al. Oct 2001 A1
20010031962 Eggleston Oct 2001 A1
20020035363 Edwards et al. Mar 2002 A1
20020035364 Schoenman et al. Mar 2002 A1
20020052599 Goble May 2002 A1
20020068932 Edwards Jun 2002 A1
20020107517 Witt et al. Aug 2002 A1
20020111624 Witt et al. Aug 2002 A1
20020151889 Swanson et al. Oct 2002 A1
20020193787 Qin Dec 2002 A1
20030004510 Wham et al. Jan 2003 A1
20030060818 Kannenberg Mar 2003 A1
20030078572 Pearson et al. Apr 2003 A1
20030139741 Goble et al. Jul 2003 A1
20030153908 Goble Aug 2003 A1
20030163123 Goble Aug 2003 A1
20030163124 Goble Aug 2003 A1
20030171745 Francischelli Sep 2003 A1
20030181898 Bowers Sep 2003 A1
20030199863 Swanson Oct 2003 A1
20030225401 Eggers et al. Dec 2003 A1
20040002745 Flemming Jan 2004 A1
20040015159 Slater et al. Jan 2004 A1
20040015163 Buysse et al. Jan 2004 A1
20040015216 DeSisto Jan 2004 A1
20040019347 Sakurai Jan 2004 A1
20040024395 Ellman Feb 2004 A1
20040030328 Eggers Feb 2004 A1
20040030330 Brassell et al. Feb 2004 A1
20040044339 Beller Mar 2004 A1
20040049179 Francischelli Mar 2004 A1
20040054365 Goble Mar 2004 A1
20040059323 Sturm et al. Mar 2004 A1
20040068304 Paton Apr 2004 A1
20040082946 Malis Apr 2004 A1
20040095100 Thompson May 2004 A1
20040097912 Gonnering May 2004 A1
20040097914 Pantera May 2004 A1
20040097915 Refior May 2004 A1
20040116919 Heim Jun 2004 A1
20040133189 Sakurai Jul 2004 A1
20040138653 Dabney et al. Jul 2004 A1
20040138654 Goble Jul 2004 A1
20040143263 Schechter et al. Jul 2004 A1
20040147918 Keppel Jul 2004 A1
20040167508 Wham et al. Aug 2004 A1
20040172016 Bek et al. Sep 2004 A1
20040193148 Wham et al. Sep 2004 A1
20040230189 Keppel Nov 2004 A1
20040243120 Orszulak et al. Dec 2004 A1
20040260279 Goble et al. Dec 2004 A1
20050004564 Wham Jan 2005 A1
20050004569 Witt et al. Jan 2005 A1
20050021020 Blaha et al. Jan 2005 A1
20050021022 Sturm et al. Jan 2005 A1
20050101949 Harano et al. May 2005 A1
20050101951 Wham May 2005 A1
20050113818 Sartor May 2005 A1
20050113819 Wham May 2005 A1
20050149151 Orszulak Jul 2005 A1
20050182398 Paterson Aug 2005 A1
20050197659 Bahney Sep 2005 A1
20050203504 Wham et al. Sep 2005 A1
20060025760 Podhajsky Feb 2006 A1
20060079871 Plaven et al. Apr 2006 A1
20060161148 Behnke Jul 2006 A1
20060178664 Keppel Aug 2006 A1
20060224152 Behnke et al. Oct 2006 A1
20060281360 Sartor et al. Dec 2006 A1
20070038209 Buysse et al. Feb 2007 A1
20070093800 Wham et al. Apr 2007 A1
20070093801 Behnke Apr 2007 A1
20070135812 Sartor Jun 2007 A1
20070173802 Keppel Jul 2007 A1
20070173803 Wham et al. Jul 2007 A1
20070173804 Wham et al. Jul 2007 A1
20070173805 Weinberg et al. Jul 2007 A1
20070173806 Orszulak et al. Jul 2007 A1
20070173810 Orszulak Jul 2007 A1
20070173813 Odom Jul 2007 A1
20070208339 Arts et al. Sep 2007 A1
20070225698 Orszulak et al. Sep 2007 A1
20070250052 Wham Oct 2007 A1
20070265612 Behnke et al. Nov 2007 A1
20070282320 Buysse et al. Dec 2007 A1
20080015564 Wham et al. Jan 2008 A1
20080039831 Odom et al. Feb 2008 A1
20080039836 Odom et al. Feb 2008 A1
20080082094 McPherson et al. Apr 2008 A1
20080125767 Blaha May 2008 A1
Foreign Referenced Citations (102)
Number Date Country
179607 Mar 1905 DE
1099658 Feb 1961 DE
1139927 Nov 1962 DE
1149832 Jun 1963 DE
1439302 Jan 1969 DE
2439587 Feb 1975 DE
2455174 May 1975 DE
2407559 Aug 1975 DE
2602517 Jul 1976 DE
2504280 Aug 1976 DE
2540968 Mar 1977 DE
2820908 Nov 1978 DE
2803275 Aug 1979 DE
2823291 Nov 1979 DE
2946728 May 1981 DE
3143421 May 1982 DE
3045996 Jul 1982 DE
3120102 Dec 1982 DE
3510586 Oct 1986 DE
3604823 Aug 1987 DE
390937 Apr 1989 DE
3904558 Aug 1990 DE
3942998 Jul 1991 DE
4339049 May 1995 DE
19717411 Nov 1998 DE
19848540 May 2000 DE
246350 Nov 1987 EP
310431 Apr 1989 EP
325456 Jul 1989 EP
336742 Oct 1989 EP
390937 Oct 1990 EP
556705 Aug 1993 EP
0569130 Nov 1993 EP
608609 Aug 1994 EP
0694291 Jan 1996 EP
836868 Apr 1998 EP
878169 Nov 1998 EP
1051948 Nov 2000 EP
1053720 Nov 2000 EP
1151725 Nov 2001 EP
1293171 Mar 2003 EP
1472984 Nov 2004 EP
1495712 Jan 2005 EP
1500378 Jan 2005 EP
1535581 Jun 2005 EP
1609430 Dec 2005 EP
1645235 Apr 2006 EP
0880220 Jun 2006 EP
1707143 Oct 2006 EP
1810628 Jul 2007 EP
1810630 Jul 2007 EP
1810633 Jul 2007 EP
1275415 Oct 1961 FR
1347865 Nov 1963 FR
2313708 Dec 1976 FR
2502935 Oct 1982 FR
2517953 Jun 1983 FR
2573301 May 1986 FR
607850 Aug 1948 GB
855459 Nov 1960 GB
902775 Aug 1962 GB
2164473 Mar 1986 GB
2214430 Sep 1989 GB
2358934 Aug 2001 GB
166452 Jan 1965 SU
727201 Apr 1980 SU
WO9206642 Apr 1992 WO
WO9324066 Dec 1993 WO
WO9424949 Nov 1994 WO
WO9428809 Dec 1994 WO
WO9509577 Apr 1995 WO
WO9519148 Jul 1995 WO
WO9602180 Feb 1996 WO
WO9604860 Feb 1996 WO
WO9608794 Mar 1996 WO
WO9618349 Jun 1996 WO
WO9629946 Oct 1996 WO
WO9639086 Dec 1996 WO
WO9639914 Dec 1996 WO
WO 9639086 Dec 1996 WO
WO9706739 Feb 1997 WO
WO9706740 Feb 1997 WO
WO9706855 Feb 1997 WO
WO9711648 Apr 1997 WO
WO9717029 May 1997 WO
WO0211634 Feb 2002 WO
WO0245589 Jun 2002 WO
WO0247565 Jun 2002 WO
WO02053048 Jul 2002 WO
WO02088128 Jul 2002 WO
WO03090630 Nov 2003 WO
WO03090635 Nov 2003 WO
WO03092520 Nov 2003 WO
WO2004028385 Apr 2004 WO
WO2004098385 Apr 2004 WO
WO2004103156 Dec 2004 WO
WO2005046496 May 2005 WO
WO2005048809 Jun 2005 WO
WO2005050151 Jun 2005 WO
WO2005048809 Jun 2005 WO
WO2005060365 Jul 2005 WO
WO2005060849 Jul 2005 WO
Related Publications (1)
Number Date Country
20070093800 A1 Apr 2007 US
Provisional Applications (1)
Number Date Country
60466954 May 2003 US