RELATED APPLICATIONSThe present application is a Continuation-In-Part of U.S. Ser. No. 09/566,081 filed May 8, 2000.[0001]
BACKGROUND OF THE INVENTIONThe present invention relates generally to portable electro-medical devices. More particularly, the present invention relates to a multi-functional portable electro-medical device that can be programmed to provide any type of electro-medical treatment.[0002]
With the increasing application of high technology to medical applications, there has been a trend in recent years to providing as much care as possible as well as sophisticated medical treatment outside of hospitals. That trend has resulted in an increase in the amount of surgery as well as other types of medical treatment, such as rehabilitation services, being performed outside of hospitals in, for example, ambulatory surgery centers or rehabilitation centers, respectively.[0003]
SUMMARY OF THE INVENTIONIn order to provide an even more cost effective outcome, the present invention obtains the desired medical outcome with medical equipment that can be utilized in the patient's home. In addition to the cost advantages obtained over providing those treatments in an outpatient setting, the use of the present invention by patients in their homes is also more convenient for the patients, since they do not need to travel to an outpatient center for treatment, and they can initiate their own unsupervised treatment at their convenience.[0004]
The present invention greatly expands the conditions of the patient that can be treated with an electro-medical device in clinics and at home. The present invention provides the capability to apply any type of electro-medical treatment. For example, one exemplary embodiment of the multi-functional electro-medical device in accordance with the present invention is programmed to apply interferential current stimulation, high voltage muscle stimulation as well as pulsed muscle stimulation treatments. With the ability to provide interferential current stimulation, the multi-functional portable electro-medical device of the present invention provides the ability to treat painful muscle conditions. The multi-functional portable electro-medical device in accordance with the present invention may be programmed to apply many other types of electro-medical treatment such as NEMS, TENS, microcurrent, micro current, high voltage, constant voltage or pulse width, and the like.[0005]
The multi-functional portable electro-medical device of the present invention is easy to use and safe. Additionally, an embodiment of a multi-functional portable electro-medical device in accordance with the present invention may include a monitoring system that captures and stores information regarding the use of the device by the patient. By obtaining such usage data, the physician/health care providers who have developed and/or prescribed the treatment for the patient can be satisfied that the patient is indeed receiving the desired treatment and the patient's progress can be measured. In addition, the underwriter of the cost of the treatment can be assured that the patient is actually receiving the treatment. Such monitoring is important in connection with all of the Class II devices, as they are defined in the Food and Drug Administration's Manual, “Classification Names for Medical Devices and In Vitro Diagnostic Products,” such as a portable electro-medical device as defined in 21 C.F.R. 890.5850. Such Class II devices are regulated and require a prescription by a doctor but do not require a high degree of supervision. Thus, such devices are used personally by the patient for whom they are prescribed without any supervision at the time of use.[0006]
Another embodiment of the multi-functional portable electro-medical device in accordance with the present invention provides an optional removable data storage card which is secured within the multi-functional portable electro-medical device on guide rails that prevent the removable data storage card from being inserted into the portable electro-medical device incorrectly. The guide rails also function to removably secure the data storage card in the correct location within the portable electro-medical device. In addition, as a safety feature, the pins on the pad cables used with the electro-medical device are designed with a large diameter so that they cannot be plugged into a typical household 110 volt electrical outlet. Also, the battery charger cable pin is designed such that it can only plug into the battery charger jack and not into a channel jack, which could damage the portable electro-medical device.[0007]
Yet another embodiment of the multi-functional portable electro-medical device in accordance with the present invention determines whether any of the connections between the pads, cables and the stimulator is faulty and then takes appropriate action. The multi-functional portable electro-medical device in accordance the present invention may also be designed such that a channel output level can be changed only in small increments, which assures that a rapid increase or decrease in muscle contraction will not be experienced by the user during treatment if a button is continually depressed.[0008]
Other safety features of an embodiment of the multi-functional portable electro-medical device in accordance with the present invention include monitoring the battery charger so that none of the channels of the portable electro-medical device can provide an output to a cable and pad while the battery is being recharged, constantly monitoring the frequency and width of the waveform output by the portable electro-medical device and taking appropriate action if the waveform changes from the desired pattern, monitoring the liquid crystal display of the portable electro-medical device and taking appropriate action if the display is not operating properly and constantly monitoring the battery voltage of the portable electro-medical device and taking appropriate action if the amount of voltage supplied to the microprocessor is incorrect.[0009]
An exemplary embodiment of the multi-functional portable electro-medical device in accordance with the present invention includes an interactive liquid crystal display (hereinafter “LCD). The LCD includes a touch screen through which a user may interact and control the device. The LCD can display buttons that indicate to a user where on the touch screen a user may touch to enter a command. The LCD is also large enough to convey a large amount of information to provide guidance to a user of the device. For example, the LCD is large enough to display diagrams that make it clear to the user how the pads are to be connected to the user's body for a treatment.[0010]
An exemplary embodiment of the multi-functional portable electro-medical device in accordance with the present invention uses a software based system to provide multiple treatment capabilities. The device is a finite state machine that provides specific treatments based upon the state of the device. Each state has an associated module that controls the device to administer an appropriate treatment.[0011]
In another embodiment of the invention, two electrical signals are applied to a target area. Each electrical signal is formed by a set of two electrode pads and arranged to form a beat frequency at the location the signals intersect with each other. The beat frequency is the difference between the frequencies of the two signals and has an amplitude that is additive and greater than either signal alone. The depth of the interferential signal is increased by increasing the carrier frequency of the signals. The direction of the interferential signal shifts toward the signal having the lower amplitude. The electrical stimulation is used in combination with biologics to further increase bone growth.[0012]
With these and other features of this invention that may become hereinafter apparent, the nature of the invention may be more clearly understood by reference to the following detailed description of the exemplary embodiments, the claims and the several attached drawings.[0013]
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a perspective view of an exemplary embodiment of a multi-functional portable electro-medical device in accordance with the present invention;[0014]
FIG. 2 is a top view of the portable electro-medical device of FIG. 1;[0015]
FIG. 3 is a front elevation view of the portable electro-medical device of FIG. 1;[0016]
FIG. 4 is a rear elevation view of the multi-functional portable electro-medical device of FIG. 1;[0017]
FIG. 5 is a schematic block diagram of an exemplary multi-functional portable electro-medical device in accordance with the present invention;[0018]
FIG. 6 is a schematic block diagram of an exemplary embodiment of an architecture for a multi-functional portable electro-medical device in accordance with the present invention;[0019]
FIG. 7 is a state diagram showing the operation of an exemplary control routine of an multi-functional portable electro-medical device in accordance with the present invention;[0020]
FIGS. 8A and 8B show a schematic diagram of a circuit for an exemplary embodiment of a multi-functional portable electro-medical device in accordance with the present invention;[0021]
FIGS.[0022]9-39 show flowcharts of the control routines of an exemplary embodiment of a multi-functional portable electro-medical device in accordance with the present invention;
FIGS.[0023]40-150 show exemplary display screens of a multi-functional portable electro-medical device in accordance with the present invention;
FIG. 151 is a chart illustrating diagonal modulation therapy stimulation in accordance with the present invention;[0024]
FIGS. 152 and 153 are charts illustrating R-wave stimulation;[0025]
FIG. 154 shows a crossing pattern used for interferential stimulation having a large depth of penetration; and,[0026]
FIG. 155 shows a crossing pattern used for interferential stimulation having a shallow depth of penetration.[0027]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTReferring now in detail to the drawings wherein like parts are designated by like reference numerals throughout, FIGS.[0028]1-4 illustrate an exemplary embodiment of the multi-functional portable electro-medical device10 in accordance with the present invention. The multi-functional portable electro-medical device10 includes apower switch12, a liquid crystal display (LCD)touch screen14 and aspeaker26. Each of the above-described components, as well as other components to be described later herein, may be housed within a plastic case orshell24.
As shown in FIGS. 3 and 4, the case or shell[0029]24 of the exemplary electro-medical device10 may be formed from an upper piece24aand alower piece24b, in order to more easily manufacture the electro-medical device10. Four output jacks16-22 may be provided at the rear of the case of the multi-functional portable electro-medical device10. The four output jacks16-22 provide a separate jack for each of the output channels. Ajack28 for connecting the electro-medical device10 to a battery charger (not shown) may be located on, for example, the rear of the electro-medical device10.
The electro-[0030]medical device10 may be used in a self-administered manner by patients for providing treatments prescribed by physicians and/or other health care providers. A multi-functional portable electro-medical device in accordance with the present invention may be used for any number of muscle treatments including, without limitation: the relaxation of muscle spasms, the prevention or retardation of muscle disuse atrophy, increasing local blood circulation in the legs or other limbs of the patient, reeducating the leg muscles or other muscles of the patient, providing immediate post-surgical stimulation of calf muscles of the patient in order to prevent venous thrombosis, maintaining or increasing the range of motions of the patient's legs or other limbs, relieving acute pain, the relief and management of chronic pain and for reducing edema and/or inflamation as well as many other treatments.
In order to connect the output jacks[0031]16-22 of the electro-medical device10 to the patient, a like plurality of cables (not shown) is used to make a connection between one of the output jacks and a standard electrode pad (not shown) which contacts the skin of the patient. For safety purposes, a pin of the cable is inserted into the respective jacks16-22 in order to connect an electrode pad to the respective output jack16-22.
The exemplary embodiment of the multi-functional portable electro-[0032]medical device10 of the present invention is a digital device which provides additional safety features for the user, other than those previously described in this section. The electro-medical device10 provides four isolated channels capable of independently treating four separate muscle groups. Each of the four channels has independent output power stages and transformers in order to provide channel separation. The electro-medical device10 is battery powered in order to provide portability. The battery power of the exemplary embodiment is provided by an internal 7.2 volt nickel cadmium or nickel metal Hydride battery system, which eliminates the need for patients to monitor and replace batteries. TheLCD touch screen14 provides visual feedback and an interface for the user. In addition, the circuitry of the electro-medical device10 includes aspeaker26 that provides audible reinforcement of keystroke actions. Also, each of the electrically isolated channels has a separate intensity control for independently increasing and decreasing the intensity of that channel.
The[0033]power switch12, in addition to powering on the electro-medical device10, also serves as an off switch for shutting down the device. The muscle stimulation mode contract time and relax time, treatment time and normal/alternating mode selections have built-in default settings. The inferential mode, continuous/variable mode selection, frequency setting, pad selection, and treatment times also have default settings. However, those default settings are easily modified at the time of use, in accordance with the prescription or the user's physician's instructions.
An exemplary embodiment of the electro-[0034]medical device10 of the present invention may be provided with adata storage card30, the details of which are more fully shown and described in U.S. Pat. No. 5,755,745, which is incorporated herein in its entirety. The structure of thestorage card30 is such that it is designed to be used with and removed by the patient from the electro-medical device10, or any other similar type of Class II device which a patient uses in an unsupervised manner, mailed to a service bureau for downloading the stored usage information, and replaced with a new data storage card. Typically, a data storage card such as thedata storage card30 disclosed herein, is designed to hold 30-60 days of patient usage information. During treatment use by the patient, data is accumulated for the treatment period on thedata storage card30.
FIG. 5 is a schematic block diagram of an exemplary embodiment of a multi-functional portable electro-[0035]medical device10 of the present invention. The exemplary electro-medical device10, as previously discussed, is powered by a rechargeable 7.2 volt nickel cadmium or nickelHydride battery system36, which is recharged, by abattery charger38, which may preferably be powered by standard 110 volt household electric current. As a safety feature, the electro-medical device10 is designed to be inoperative while thebattery system36 is being charged. Abattery monitor circuit40 is connected between thebattery system36 and theprocessor42 so that the processor can provide an indication to the user by means of theLCD14 under certain adverse battery conditions as will be described later herein. Theprocessor42, serves to control and monitor all of the functions of the electro-medical device10.
As shown in FIG. 6, the device is preferably implemented with a[0036]processor42. However, the device can also be implemented using a programmed microprocessor and any necessary peripheral integrated circuit elements, an ASIC or other integrated circuit, a hardwired electronic or logic circuit such as a discrete element circuit, a programmable logic device such as a PLD, PLA, FPGA or PAL, or the like. In general, any device that includes a finite state machine which is capable of implementing the flowcharts shown in FIGS.9-39 can be used to implement the present invention.
An exemplary embodiment of the portable electro-[0037]medical device10 in accordance with the present invention provides four electrically isolated channels 1-4 that are capable of independently treating four separate muscle groups. Each of the four channels has an independent drive system80-86. Each drive system includes independent output power stages and transformers that ensures channel separation. Theprocessor42 may be programmed to control the drive circuits80-86 to provide any type of electro-medical treatment. Aspeaker26 provides audible reinforcement to the user of keystroke actions using theLCD touch screen14. Although this detailed description refers to a device that includes only four channels, it is understood by those of ordinary skill in the art that a device may include any number of channels and still form a part of the invention.
In operation of an exemplary embodiment, the patient first powers up the electro-[0038]medical device10 using the on/offswitch12. If the patient does not desire to change the settings entered into theinternal memory32 of the electro-medical device10, then the electro-medical device10 will be powered up in the previously set mode of operation. The default setting is the normal mode. In that normal mode, all four channels of the electro-medical device act synchronously, providing the stimulation pulse trains at the same time, although the intensities of each channel are independently controlled. This mode of operation allows the patient to independently treat up to four separate muscle groups simultaneously.
If the patient desires, an additional level of control for special situations has been provided, which is termed the alternate mode of operation. In the alternate mode of operation,[0039]channels 1 and 2 are operated asynchronously withchannels 3 and 4. Thus, whenchannels 1 and 2 are stimulating the muscles,channels 3 and 4 are off, and whenchannels 1 and 2 are off,channels 3 and 4 are stimulating the muscles. The set on and off times are the same for all four channels in the normal mode.
In the inferential mode of the exemplary embodiment of the invention, the continuous mode of operation has two four pad interferential channels. In the continuous mode, the interference frequency is adjustable from 0 to 200 beats per second. In addition, an amplitude modulation feature is selectable which will reduce the amplitude to 50 percent of the user selected value over a five second period and then return to the user selected value, then repeat the process. In the variable mode of operation, the interference frequency is varied during operation. Three variable modes are provided: a low range of 1-10 beats per second, a high range of 80-150 beats per second and a wide range of 1-150 beats per second. The frequency in all three ranges varies over a ten second period. In both the continuous and variable modes of operation, a pre-mixed two pad mode can be selected. In the two pad mode of operation the interference signals are pre-mixed and then outputted across one cable per channel.[0040]
In the pulsed muscle stimulation mode, an exemplary embodiment of the electro-[0041]medical device10 in accordance with the present invention generates an alternating biphasic asymmetric balanced pulse pattern with a cycle frequency of 71 Hz, a 100 volt peak and a 60 milliamp peak. The primary pulse has a maximum width of 415 microseconds, followed by a transformer-coupled exponential decay back to the zero base line. The biphasic pulses alternate direction, resulting in a pulse repetition rate of 142 pulses per second. As previously described, the stimulus intensity is regulated by the patient by pressing the buttons50. The voltage level is kept constant. The resulting increase or decrease in stimulus intensity is a result of the increasing or decreasing charge per pulse, which is approximately equal to the pulse width times the pulse height. The muscle stimulation pulses are ramped on and off to increase the pulse width to the desired setting and to provide a smooth transition for each muscle contraction.
In the pulsed muscle stimulation mode, a train of repeating pulses is created during the contract cycle. The series of pulses continues until the end of the contract cycle. The relax cycle does not have any pulses. The contract and relax cycles are repeated until the end of the treatment.[0042]
In the interferential mode, the exemplary embodiment of the electro-[0043]medical device10 in accordance with the present invention generates a symmetric biphasic sine wave pattern having a carrier frequency of less than 20 KHz, and preferably between about 5-20 KHz. For a carrier frequency of 5000 Hz, an interference frequency is provided of an adjustable 5000-5200 Hz. The output current is 100 milliamps peak to peak on a 500 ohm load. The carrier and interferential signals are true sine wave symmetric biphasic outputs with zero net charge. The two sine waves are mixed in the patient's body when in four-pad mode. In two-pad mode the sine waves are pre-mixed in the electro-medical device and only one pre-mixed output is generated. The sine wave generation continues until the end of the treatment.
The exemplary embodiment of the electro-[0044]medical device10 can be preset to modulate the sine wave outputs. Two types of modulation are provided. The first type of modulation is frequency modulation. Three ranges of modulation can be selected: 1-10 beats per second, 80-150 beats per second, and 1-150 beats per second.
The second type of modulation, amplitude modulation, can be selected when the interference frequency is held constant. This type of modulation varies the amplitude of one output from its preset value downward to 50 percent of its preset value over a five second period. The amplitude then returns to its preset value over another five second period. This same amplitude modulation is then repeated for the other output and the process is continuously repeated. Further to the preferred embodiment, each channel is connected to two pads and the channels are configured so that the modulation on a first channel is opposite to the modulation on the second channel. That is, as the amplitude on the first channel is decreased downward, the amplitude on the second channel returns to the preset value. Amplitude modulation can be performed in both the normal mode and the alternate mode of operation.[0045]
The load detect[0046]circuit78 shown in FIG. 5 of the exemplary embodiment may consist of an output voltage signal which is measured across a known load resistance. That signal is amplified and fed back into the analog-to-digital conversion system contained within theprocessor42, which allows a precise measurement of the actual load experienced across the output of the transformer contained in each of the four drive circuits80-86. That measurement allows theprocessor42 to detect both open circuits (that is, no load conditions) and short circuit conditions, which allows theprocessor42 to shut down the control signals going to the pulse generation circuits which form part of the drive circuits80-86. Thus, under open or short circuit conditions, theload detection circuit78 operates to shut down the generation of pulses by the electro-medical device10.
A[0047]watchdog system88 is also provided to the exemplary embodiment to monitor theprocessor42 to ensure that theprocessor42 is operating and issuing instructions. Thewatchdog system88 operates using a “counter”. If the “counter” reaches a certain predetermined value, then it operates to shut down theprocessor42 and thus the electro-medical device10. During normal operation, theprocessor42 prevents such a shut down from occurring by always resetting the “counter” of thewatchdog system88 back to zero well before the maximum counter value is reached. In that manner, if theprocessor42 becomes non-operational for any reason, the counter of thewatchdog system88 would reach the maximum predetermined value and, thus, shut down the electro-medical device10.
FIG. 6 shows a schematic block diagram of an exemplary embodiment of an architecture for an electro-medical device in accordance with the present invention. FIG. 6 illustrates the interfaces between the hardware modules and the control routine modules. The primary module is the[0048]foreground executive module90. Theforeground executive module90 provides executive control of the device from startup to shutdown. That exemplary module is programmed as a state machine with the control routine controlling the operational state of the device based upon inputs received from the device hardware.
FIG. 7 shows a state diagram of the exemplary control routines shown in FIGS.[0049]9-39 of an electro-medical device10 in accordance with the present invention. Those control routines that correspond to each state will be described in detail later herein. The primary module that operates the output channel circuits in the pulsed muscle stimulation mode is the backgroundpulse generator module94. That module is started by theforeground executive module90 at startup and is an independent interrupt drivenmodule98 that functions using data supplied by theforeground executive module90. Theforeground executive module90 and the real time clock operational frequencies are constantly monitored against each other to ensure that they do not become out of tolerance. If they become out of tolerance, the electro-medical device10 shuts down all operation.
The exemplary control routine also monitors the loads on each channel and will shut down the output to a channel with a “no load” detection. The control routine also monitors the battery and shuts down the operation before there is insufficient power to operate the[0050]processor42.
The exemplary control routine also accumulates the treatment data for each channel during a treatment session. When the treatment session is complete, the control routine writes this data to the[0051]internal data storage36 prior to shutdown of the processor. This data is also stored on thedata card30 by transferring the data from the internal data storage to the data card during the shutdown sequence.
As previously described, the primary module which operates the output channel circuits is the pulse generator module, which forms part of the drive circuits[0052]80-86. That module is started by theforeground executive module90 at theinitialize state92, when thepower switch12 is depressed. The backgroundpulse generator module94 is operated in an independent interrupt driven fashion and functions using data supplied by theforeground executive module90, which data has been inputted during the advanced options orprogramming state96.
The[0053]battery system36 of the exemplary embodiment is charged during a quick recharge cycle by thebattery charger38. During the charging cycle, the electro-medical device is in the chargingstate104, and cannot operate. The battery monitor40 as well as theprocessor42 determine the amount of charge needed by thebattery system36. If thebattery system36 is sufficiently low, then the battery system will be charged until the battery voltage begins to show a decline, then the charging circuit reverts to a “trickle” charge mode in order to allow maintenance of a fully charged battery at all times.
An exemplary embodiment control routine of the electro-[0054]medical device10 in accordance with the present invention also includes, as a safety feature, a start treatment channel setting. That feature is designed to prevent, at the start of a treatment, a channel output to be set above zero. That assures that the user will not receive an abrupt muscle contraction when starting a treatment. Thus, when starting a treatment, the electro-medical device10 begins operation with all channel intensity settings at zero. If a pad is removed from the skin during treatment, the electro-medical device10 automatically resets the channel to zero. If a pad cable is unplugged from the electro-medical device10 during treatment, the intensity of that channel is reset to zero.
In addition to the start treatment channel setting safety feature, the exemplary embodiment of the electro-[0055]medical device10 in accordance with the present invention also includes a channel increase/decrease limit feature, which is designed so that the channel output level can only be changed one digit at a time. Thus, pressing the respective channel button50 will change the output controlled by that button by only a small increment. That assures that the user will not receive a rapid increase or decrease in muscle contraction during treatment if the button were continually depressed.
Another exemplary embodiment of the electro-[0056]medical device10 in accordance with the present invention also includes a monitor which is designed to constantly monitor the frequency and width of the waveform being applied to each of the pad cables. If the waveform changes from the pattern that it is designed to generate, the electro-medical device is automatically shut-off. That assures that the user will receive the effective and comfortable treatment which is designed to be provided by the electro-medical device10.
The patient receives a constant and accurate display of information concerning the operation of the electro-[0057]medical device10. When the electro-medical device10 is first turned on using theswitch12, theLCD14 displays the default settings for each of the contract time, relax time, mode and treatment time. If those are the prescription settings for the particular patient using that electro-medical device10, then there is no need to change the settings. Otherwise, the settings are changed as is described herein below.
FIGS. 8A and 8B show a schematic diagram of the circuit for an exemplary embodiment of a multi-functional electro-medical device in accordance with the present invention. The[0058]circuit200 includes apower circuit204 that has acharger connector206 in communication with abattery charger208 in communication with apower supply210. Thepower circuit204 provides a number ofoutputs212 that provide power to other portions of the electro-medical device.
The[0059]circuit200 also includes aprocessor214 in communication with static RAM216, flash memory218, arealtime clock220, and amemory card222. Theprocessor214 may be any type of processor that is capable of executing the control routine as set forth in the flow charts of FIGS.9-39. Theprocessor214 is in communication with anamplifier242 that controls aspeaker226, aliquid crystal display228, aprogrammable logic device230,sine wave generators232 and234, a digital toanalog converter236 and an analog todigital converter238. The A toD converter238 is in communication with amicrophone240 through theamplifier242 and a touch screen244. The digital to analog converter provides anoutput gain270,272,274,276 to four channels. Theprocessor214 controls the digital toanalog converter236 to output a predetermined maximum voltage on those outputs. Theoutputs270,272,274 and276 provide the input for theamplifiers250,252,254 and256, respectively.
The[0060]processor214 also communicates with aprogrammable logic device230 andsine wave generators232 and234 which are multiplexed by a multiplexer246 to a digital toanalog converter248. The digital toanalog converter248 adjusts the signal level of theamplifiers250,252,254 and256. Theamplifiers250,252,254 and256 communicate throughtransformers278,280,282 and284, respectively. The output of thetransformers282 and284 are provided directly to the output of channels three and four, respectively. However, the outputs oftransformers278 and280 are switched throughswitches286 and288 to output channels one and two, respectively. Theswitches286 and288 are solenoids which activate dual bar switches to select the outputs from thetransformers278 and280 from thehigh voltage outputs258 and260. Thecircuit200 also includesload sensing devices262,264,266 and268 which sense the load of corresponding channels one through four, respectively.
FIG. 9 outlines a control routine for a field upgrade of a system of an exemplary embodiment of the device of the present invention. The control routine of FIG. 9 executes each time the device powers-up. Upon power-up, the control routine starts at[0061]step300 where the control routine initializes the processor. The control routine then continues to step302 where the control routine determines whether there are bad check sums. If, instep302, the control routine determines that there are bad check sums, then the control routine continues to step304. Instep304, the control routine sets an error code, beeps three times and continues to step306. Instep306, the control routine shuts down the device. If, instep302, the control routine determines that there are no bad check sums, then the control routine continues to step308. Instep308, the control routine determines whether the program in the static RAM216 is to be loaded based upon a special byte in the serial port that indicates that a field upgrade whether a field upgrade is to take place. If, instep308, the control routine determines that the serial port indicates is not to take place, then the control routine continues to step310. Instep310, the control routine loads a program that is stored in the static RAM216 and continues to step312. Instep312, the control routine executes the control routine outlined in the flowchart of FIG. 10.
If, however, in[0062]step308, the control routine determines that a field upgrade is to take place, then the control routine continues to step314. Instep314, the control routine accepts a field upgrade system command and continues to step316. Instep316, the control routine processes the field upgrade system command and returns to step314. The field upgrade system command may include a command to shutdown the device. In that manner, step s308,314 and316 operate as a type of “boot loader” that enables the program in the static RAM to be modified.
FIG. 10 shows a flowchart for an initialization control routine of an exemplary device in accordance with the present invention as called from[0063]step312 in FIG. 9. The control routine starts atstep318 where the control routine initializes the hardware and continues to S320. Instep320, the control routine loads the setup data from an internal flash memory and continues to step321. Instep321, the control routine sets the state of the device to “starting” and continues to step322. Instep322, the control routine determines whether an error has been stored. If, instep322, the control routine determines that an error has been stored, then the control routine continues to step324. Instep324, the control routine sets the state to “error” and continues to step326. If, however, instep322, the controller determines that an error has not been stored, then the control routine continues to step326. Instep326, the control routine determines whether the device has had an improper shut down. If, instep326, the control routine determines that the device has experienced an improper shut down, then the control routine continues to S328. Instep328, the controlroutine records error13, sets the state of the device to “error” and returns to step330. If, however, instep326, the control routine determines that the device has not experienced an improper shut down, then the control routine continues to step330.
In[0064]step330, the control routine determines whether the device is in maintenance mode. If, instep330, the control routine determines that the device is in maintenance mode, then the control routine continues to step332. Instep332, the control routine initializes a serial port output start up message, sets the state of the device to “maintenance” and continues to step334. If, however, instep330, the control routine determines that the device is not in the maintenance mode, then the control routine continues to step334. Instep334, the control routine starts a timed task loop. A timed task loop is a control loop for tasks that must be executed at specified time intervals. An example of such a timed task loop includes updating a time indication bar upon the touch screen The control routine then continues to step336. Instep336, the control routine executes the main executive flow chart as shown in FIG. 11.
FIG. 11 shows a main executive control routine of an exemplary device in accordance with the present invention. The control routine starts at[0065]step338 where the control routine determines whether the charger is connected. If, instep338, the control routine determines that the charger is connected, then the control routine continues to step340. Instep340, the control routine sets the state of the device to “charging,” stops all operations and continues to step342. If, however, instep338, the control routine determines that the charger is not connected, then the control routine continues to step342. Instep342, the control routine determines whether the battery has a low charge. If, instep342, the control routine determines that the battery has a low charge, then the control routine continues to step344. Instep344, the control routine saves the current state, sets the state of the device to “low battery” and continues to step346. If, however, instep342, the control routine determines that the battery does not have a low charge, then the control routine continues to step346.
In step[0066]346, the control routine determines whether the device has been turned off. If, in step346, control routine determines that the device has been turned off, then the control routine continues to step348. Instep348, the control routine saves the current state, sets the state of the device to “off” and continues to step350. If, however, in step346, the control routine determines that the device has not been turned off, then the control routine continues to step350. Instep350, the control routine resets the counter of the watchdog and continues to step352. Instep352, the control routine updates theliquid crystal display14 and continues to step354. Instep354, the control routine processes the timed tasks that were started instep334 of FIG. 10 and continues to step356. Instep356, the control routine determines whether a byte in the data card is set to “maintenance mode.” If, instep356, the control routine determines that the byte is set to “maintenance mode,” then the control routine continues to step358. Instep358, the control routine processes the data received in the RS232 serial port as set forth in the control routine of FIG. 31 and returns to step338. If, however, instep356, the control routine determines that the “maintenance mode” button has not been touched, then the control routine returns to step338.
FIG. 12 outlines the executive interrupt control routine of an exemplary embodiment of the device according to the present invention. The exemplary embodiment of the device operates by continuously processing the control routine outlined in the flowchart of FIG. 11. However, the control routine of FIG. 11 may be interrupted upon a predetermined schedule e.g. every {fraction (1/10)} of a second, to execute the control routine outlined in the flowchart of FIG. 12. Similarly, FIGS.[0067]13-15 show other interrupts to the control routine of FIG. 11.
The control routine of FIG. 12 starts at[0068]step360 where the control routine updates the system clock and continues to step362. Instep362, the control routine executes the control routine that corresponds with the current state. Examples of such control routines are shown in FIGS.16-39 and are described in detail below. After the appropriate state control routine is executed, control of the device returns to the control routine of FIG. 12 where the control routine continues to step364. Instep364, the control routine determines whether the screen has been touched. If, instep364, the control routine determines that the screen has been touched, then the control routine continues to step366. Instep366, the control routine determines whether the screen has been touched at a position that corresponds to the inside of a button on the screen to determine whether a button has been touched on the touch screen. If, instep366, the control routine determines that a button has not been touched, then the control routine returns to step364. If, instep366, the control routine determines that a button has been touched on the screen, then the control routine continues to step368. Instep368, the control routine executes the function of the button that has been touched and continues to step370.
If, however, in[0069]step364, the control routine determines that the screen has not been touched, then the control routine continues to step370. In step370, the control routine updates the battery level and the gas gauge on the display and continues to step372. In step372, the control routine determines whether the foreground executive and real time clocks match. If, in step372, the control routine determines that the clocks do not match, the control routine continues to step373. Instep373, the control routine, logs error “2,” sets the state of the device to “error” and continues to step374. If, however, in step372, the control routine determines that the clocks do match, then the control routine continues to step374. In step374, the control routine returns to continue processing of the control routine that is outlined in FIG. 11.
FIGS.[0070]13-15 outline control routines that generate pulses, receive/send characters and process a transmission, respectively. As explained above, each of the control routines of FIGS.13-15 interrupts execution of the control routine outlined in the flow chart of FIG. 11 and executes at a predetermined schedule. After the control routine is completed, control of the device is returned to the control routine that is outlined in the flowchart of FIG. 11.
FIG. 16 outlines the “starting” state control routine in accordance with an exemplary embodiment of the present invention. The control routine starts at[0071]step382 where the control routine displays the “splash” screen shown in FIG. 39.5 and continues to step384. Instep384, the control routine determines whether the battery power is sufficient to provide a minimum treatment. If, instep384, the control routine determines that the battery power is not sufficient to provide a minimum treatment, then the control routine continues to step386. Instep386, the control routine sets the state of the device to “low battery” and continues to step388. Instep388, the control routine returns control of the device to the control routine of FIG. 12.
If, however, in[0072]step384, the control routine determines that the battery power is sufficient to provide a minimum treatment, then the control routine continues to step390. Instep390, the control routine determines whether the battery power is sufficient to provide a full treatment. If, instep390, the control routine determines that the battery power is not sufficient to provide a full treatment, then the control routine continues to step392. Instep392, the control routine displays the “low battery charge” screen, an example of which is shown in FIG. 40, and continues to step394. Instep394, the control routine determines whether the “recharge now” button has been touched. If, instep394, the control routine determines that the “recharge now” button has been touched, then the control routine continues to step396. Instep396, the control routine displays a “how to recharge battery” screen, an example of which is shown in FIG. 41 and continues to step398. Instep398, the control routine returns control of the device to the control routine outlined in FIG. 12.
If, however, in[0073]step394, the control routine determines that the “recharge now” button has not been touched, then the control routine continues to step400. Instep400, the control routine determines whether the “start shorter treatment” button has been touched. If, instep400, the control routine determines that the “start shorter treatment” button has been touched, then the control routine continues to step402. Instep402, the control routine executes the control routine outlined in FIG. 21 and continues to step404. Instep404, the control routine starts the segment by executing the control routine outlined in FIG. 17. If, however, instep400, the control routine determines that the “start shorter treatment” button has not been touched, then the control routine continues to step406. Instep406, the control routine determines whether one minute has elapsed. If, instep406, the control routine determines that one minute has not elapsed, then the control routine returns to step394. If, however, instep406, the control routine determines that one minute has elapsed then the control routine continues to step407. Instep407, the control routine turns the device off.
If, in[0074]step390, the control routine determines that the battery power is sufficient to provide a full treatment, then the control routine continues to step408. Instep408, the control routine determines whether a flag indicates that the device is being operated by a private owner. If, instep408, the control routine determines that a private owner is not operating the device, then the control routine continues to step410. Instep410, the control routine determines whether the device has expired. If, instep410, the control routine determines that the device has expired, then the control routine continues to step412. Instep412, the control routine displays a “reset” screen, an example of which is shown in FIG. 42, and continues to step418. Instep418, the control routine determines whether the “reset now” button has been touched.
If, in[0075]step418, the control routine determines that the “reset now” button has been touched, then the control routine continues to step420. Instep420, the control routine displays a “device reset” screen, an example of which is shown in FIG. 43, and continues to step422. Instep422, the control routine determines whether the “accept” button has been touched. If, instep422, the control routine determines that the “accept” button has not been touched, then the control routine continues to step424. In step424, the control routine determines whether one minute has elapsed. If, in step424, the control routine determines that one minute has not elapsed, then the control routine returns to step422. If, however, in step424, the control routine determines that one minute has elapsed, then the control routine continues to step425. Instep425, the control routine turns the device off.
If, however, in[0076]step422, the control routine determines that the “accept” button has been touched, then the control routine continues to step426. Instep426, the control routine determines whether a valid number has been entered in the “device reset” screen. If, instep426, the control routine determines that a valid number has been entered, then the control routine continues to step428. Instep428, the control routine resets the device and continues to step430. Instep430, the control routine starts the segment by executing the control routine outlined in FIG. 17.
If, however, in[0077]step426, the control routine determines that a valid number has not been entered, then the control routine continues to step438. Instep438, the control routine displays an “invalid entry” screen, an example of which is shown in FIG. 44, and continues to step440. Instep440, the control routine determines whether the “retry” button has been touched. If, instep440, the control routine determines that the “retry” button has not been touched, then the control routine jumps to step446. If, however, instep440, the control routine determines that the “retry” button has been touched, then the control routine continues to step442. Instep442, the control routine determines whether the device has been reset three times today. If, instep442, the control routine determines the device has been reset three times today, then the control routine continues to step446. Instep446, the control routine the control routine shuts down the device. If, however, instep442, the control routine determines that the device has not been reset three times today, then the control routine returns to step420.
If, however, in[0078]step418, the control routine determines that the “reset now” button has not been touched, then the control routine continues to step432. Instep432, the control routine determines whether the “remind me next time; start treatment now” button has been touched. If, instep432, the control routine determines that the “remind me next time; start treatment now” button has been touched, then the control routine continues to step434. Instep434, the control routine executes the control routine outlined in FIG. 21 and continues to step435. Instep435, the control routine executes the control routine set forth in the flow chart of FIG. 17.
If, however, in[0079]step432 the control routine determines that the “remind me next time; start treatment now” button has not been touched, then the control routine continues to step436. Instep436, the control routine determines whether one minute has elapsed. If, instep436, the control routine determines that one minute has not elapsed, then the control routine returns to step418. If, however, instep436, the control routine determines that one minute has elapsed, then the control routine continues to step437. Instep437, the control routine shuts down the device.
If, however, in[0080]step408, the control routine determines that the private owner is operating the device, then the control routine jumps to step416. If, instep414, the control routine determines that the device is not past the warning date, then the control routine continues to step416. Instep416, the control routine executes the control routine outlined in the flow chart shown in FIG. 17.
FIG. 17 is a flow chart that outlines the control routine for the start segment. The flow chart starts at[0081]step448 where the control routine determines whether the data log is full. If, instep448, the control routine determines that the data log is full, then the control routine continues to step450. Instep450, the control routine displays an “internal update” screen, an example of which is shown in FIG. 15, scrolls the data log and continues to step452. If, however, instep448, the control routine determines that the data log is not full, then the control routine continues to step452. Instep452, the control routine sets up the segment data that determines the device type and the operating parameters and continues to step454. Instep454, the control routine shows one of the start segment screens, examples of which are shown in FIGS.45-48, and continues to step456. Instep456, the control routine determines whether one of the “up” buttons on the touch screen has been touched. If, instep456, the control routine determines that one of the “up” buttons has been touched, then the control routine continues to step458. Instep458, the control routine starts the segment timer and pulse generator and continues to step460. The pulse generator is a background interrupt driven task that generates pulses forstep628 as explained below. Instep460, the control routine displays a “treatment running” screen, examples of which are shown in FIGS.49-52, and continues to step462. Instep462, the control routine sets the state of the device to “running” and continues to step463. In step463, the control routine returns control of the device to the control routine outlined in the flow chart of FIG. 12.
If, however, in[0082]step456, the control routine determines that an “up” button has not been touched, then the control routine continues to step464. Instep464, the control routine determines whether the “options” button has been touched on the touch screen. If, instep464, the control routine determines that the “options” button has been touched, then the control routine continues to step466. Instep466, the control routine executes the control routine outlined in the flow chart of FIG. 19 and returns to step454. If, however, instep464, the control routine determines that the “options” button has not been touched, then the control routine continues to step468. Instep468, the control routine determines whether the “view pads” button has been touched. If, instep468, the control routine determines that the “view pads” button has been touched, then the control routine continues to step470.
In[0083]step470, the control routine displays a “view pads” screen and returns to step454. Exemplary “view pads” screens are shown in FIGS.84-120. If, however, instep468, the control routine determines that the “view pads” button has not been touched, then the control routine continues to step474. Instep474, the control routine determines whether the “help” button has been touched on the touch screen. If, instep474, the control routine determines that the “help” button has been touched on the touch screen, then the control routine continues to step476. Instep476, the control routine executes the control routine that is outlined in the flow chart of FIG. 18 and returns to step454. If, however, instep474, the control routine determines that the “help” button has not been touched, then the control routine continues to step478. Instep478, the control routine determines whether four minutes have elapsed. If, instep478, the control routine determines that four minutes have not elapsed, then the control routine returns to step454. If, however, instep478, the control routine determines that four minutes have elapsed, then the control routine turns the device off.
FIG. 18 is a flow chart that outlines the control routine for the “help” screens. The flow chart begins at[0084]step480. Instep480, the control routine displays a “help” screen, an example of which is shown in FIG. 53, and continues to step482. Instep482, the control routine determines whether the “done” button has been touched on the touch screen. If, instep482, the control routine determines that the “done” button has been touched, then the control routine continues to step484 where the control routine transfers control back to the control routine that called the help screens control routine of FIG. 18. If, however, instep482, the control routine determines that the “done” button has not been touched, then the control routine continues to step486.
In[0085]step486, the control routine determines whether the “next” button has been touched on the touch screen. If, instep486, the control routine determines that the “next” button has been touched, then the control routine continues to step488. Instep488, the control routine displays a “help” screen, an example of which is shown in FIG. 54, and continues to step494. Instep494, the control routine determines whether the “done” button has been touched on the touch screen. If, instep494, the control routine determines that the “done” button has been touched, then the control routine continues to step496. Instep496, the control routine returns control to the control routine that called the help screens control routine in FIG. 18. If, however, instep494, the control routine determines that the “done” button has not been touched, then the control routine continues to step498. Instep498, the control routine determines whether the “prior screen” button has been touched on the touch screen. If, instep498, the control routine determines that the “prior screen” button has been touched on the touch screen, then the control routine returns to step480. If, however, instep498, the control routine determines that the “prior” button has not been touched, then the control routine returns to step488.
If, however, in[0086]step486, the control routine determines that the “next” button has not been touched, then the control routine continues to step490. Instep490, the control routine determines whether the “prior screen” button has been touched. If, instep490, the control routine determines that the “prior screen” button has been touched, then the control routine continues to step492. Instep492, the control routine transfers control to the control routine that called the help screens control routine in FIG. 18. If, however, instep490, the control routine determines that the “prior screen” button has not been touched, then the control routine returns to step482.
FIG. 19 outlines the control routine for modifying the options in accordance with the present invention. The flow chart starts at[0087]step500 where the control routine displays an “options” screen, an example of which is shown in FIG. 55, and continues to step502. Instep502, the control routine determines whether the “view treatments settings” button has been touched on the touch screen. If, instep502, the control routine determines that the “view treatment settings” button has been touched, then the control routine continues to step504. Instep504, the control routine displays the “view treatment settings” screen, an example of which is shown in FIG. 56, and continues to step506. Instep506, the control routine determines whether the “prior screen” button has been touched. If the “prior screen” button has been touched, then the control routine returns to step500. If, however, instep506, the control routine determines that the “prior screen” button has not been touched, then the control routine returns to step504.
If, however, in[0088]step502, the control routine determines that the “view treatment settings” button has not been touched, then the control routine continues to step508. Instep508, the control routine determines whether the “view pads” button has been touched on the touch screen. If, instep508, the control routine determines that the “view pads” button has been touched, then the control routine continues to step510. In step510, the control routine displays a “view pads” screen, examples of which are shown in FIGS.84-120, and continues to step512. Instep512, the control routine determines whether the “prior screen” button has been touched. If, instep512, the control routine determines that the “prior screen” button has been touched, then the control routine returns to step500. If, however, instep512, the control routine determines that the “prior screen” button has not been touched, then the control routine returns to step510.
If, however, in[0089]step508, the control routine determines that the “view pads” button has not been touched, then the control routine continues to step514. Instep514, the control routine determines whether the “adjust screen contrast” button has been touched on the touch screen. If, instep514, the control routine determines that the “adjust screen contrast” button has been touched, then the control routine continues to step516. Instep516, the control routine displays an “adjust screen contrast” display, an example of which is shown in FIG. 57 and continues to step518. Instep518, the control routine determines whether one of the “more” or “less” buttons have been touched on the touch screen. If one of the “more” or “less” buttons have been touched on the touch screen, then the control routine continues to step520. Instep520, the control routine adjusts the screen contrast of the current display in accordance with the more or less request and returns to step516. If, however, instep518, the control routine determines that neither a “more” or “less” button has been touched, then the control routine continues to step522. Instep522, the control routine determines whether the “accept” button has been touched.
If, in[0090]step522, the control routine determines that the “accept” button has been touched, then the control routine continues to step524. Instep524, the control routine sets the contrast on all screens and returns to step500. If, however, instep522, the control routine determines that the “accept” button has not been touched, then the control routine continues to step523. Instep523, the control routine determines whether the “prior screen” button has been touched on the touch screen. If, instep523, the control routine determines that the “prior screen” button has been touched, then the control routine returns to step500. If, however, instep523, the control routine determines that the “prior screen” button has not been touched, then the control routine returns to step516.
If, in[0091]step514, the control routine determines that the “adjust screen contrast” button has not been touched, then the control routine continues to step528. Instep528, the control routine determines whether the “Treatment data, Advanced options” button has been touched. If, instep528, the control routine determines that the “Treatment data, Advanced options” button has been touched, then the control routine continues to step530. Instep530, the control routine executes the control routine outlined in the flow chart of FIG. 20, and returns to step500.
If, however, in[0092]step528, the control routine determines that the “Treatment data, Advanced options” button has not been touched, then the control routine continues to step532. Instep532, the control routine determines whether the device is at the start of a treatment segment. If, instep532, the control routine determines that the device is at the start of a segment, then the control routine continues to step534. Instep534, the control routine determines whether the “take shorter treatment” button has been touched. If, instep534, the control routine determines that the “take shorter treatment” button has been touched, then the control routine continues to step536. Instep536, the control routine displays a take shorter treatment screen, an example of which is shown in FIG. 59, executes the control routine outlined in FIG. 21 and returns to step500. If, however, instep534, the control routine determines that the “take shorter treatment” button has not been touched, then the control routine continues to step538.
If, in[0093]step532, the control routine determines that the device is not at the start of a treatment segment, then the control routine continues to step538. Instep538, the control routine determines whether the “prior screen” button has been touched. If, instep538, the control routine determines that the “prior screen” button has been touched, then the control routine continues to step540. Instep540, the control routine returns control of the device to the control routine that called the option screen control routine of FIG. 19. If, however, the control routine determines that the “prior screen” button has not been touched, then the control routine returns to step500.
FIG. 20 outlines the control routine of the option sub screens of the exemplary device. The flow chart starts at step[0094]542 where the control routine displays a “treatment plan data” screen, an example of which is shown in FIG. 58 and continues to step544. Instep544, the control routine determines whether one of the “segment” buttons has been touched on the touch screen. If, instep544, the control routine determines that one of the “segment” buttons have been touched, then the control routine continues to step546. Instep546, the control routine updates the display to show the selected segment data and returns to step542. If, however, instep544, the control routine determines that none of the “segment” buttons have been touched, then the control routine continues to step548. Instep548, the control routine determines whether the device is at the start of a segment. If, instep548, the control routine determines that the device is at the start of a segment, then the control routine continues to step550. Instep550, the control routine determines whether the “advanced options” button has been touched. If, instep550, the control routine determines that the “advanced options” button has been touched, then the control routine continues to step552. Instep552, the control routine executes the advanced options control routine detailed in the flow chart of FIG. 32 and returns to step542. If, however, instep550, the control routine determines that the “advanced options” button has not been touched, then the control routine returns to step542.
If, in[0095]step548, the control routine determines that the device is not at the start of a segment, then the control routine continues to step554. Instep554, the control routine determines whether the “prior screen” button has been touched. If, instep554, the control routine determines that the “prior screen” button has been touched, then the control routine continues to step556. Instep556, the control routine returns control of the device back to the control routine that called the option sub screen control routine of FIG. 20. If, however, instep554, the control routine determines that the “prior screen” button has not been touched, then the control routine returns to step542.
FIG. 21 shows a flow chart that outlines the control routine for administering a shorter treatment. The flow chart starts at[0096]step558 where the control routine displays a “take shorter treatment” screen, an example of which is shown in FIG. 59, and continues to step560. Instep560, the control routine determines whether a number has been entered. If, instep560, the control routine determines that a number has been entered, then the control routine continues to step562. Instep562, the control routine adds the entered number to the display and returns to step558. If, however, instep560, the control routine determines that a number has not been entered, then the control routine continues to step564. Instep564, the control routine determines whether the “clear” button has been touched on the touch screen. If, instep564, the control routine determines that the “clear” button has been touched, then the control routine continues to step566. Instep566, the control routine clears the display of numbers and returns to step558. If, however, instep564, the control routine determines that the “clear” button has not been touched, then the control routine continues to step568.
In[0097]step568, the control routine determines whether the “start” button has been touched. If, instep568, the control routine determines that the “start” button has been touched, then the control routine continues to step570. Instep570, the control routine determines whether a valid number has been entered. If, instep570, the control routine determines that a valid number has been entered, then the control routine continues to step580. Instep580, the control routine returns to step454 of FIG. 17. If, however, instep570, the control routine determines that a valid number has not been entered, then the control routine continues to step572. Instep572, the control routine displays an “invalid entry” screen, an example of which is shown in FIG. 44, and continues to step574. Instep574, the control routine determines whether the “retry” button has been touched on the touch screen. If, instep554, the control routine determines that the “retry” button has been touched, then the control routine returns to step558. If, however, instep574, the control routine determines that the “retry” button has not been touched, then the control routine returns to step572.
If, however, in[0098]step568, the control routine determines that the “start” button has not been touched, then the control routine continues to step576. Instep576, the control routine determines whether the “prior screen” button has been touched. If, instep576, the control routine determines that the “prior screen” button has been touched, then the control routine continues to step578. Instep578, the control routine returns control of the device back to the control routine that called the running state control routine shown in FIG. 21. If, however, instep576, the control routine determines that the “prior screen” button has not been touched, then the control routine returns to step558.
FIG. 22 is a flow chart that outlines the control routine for the running state of the device. The flow chart starts at[0099]step582 where the control routine accumulates segment usage data, such as time used, maximum intensity, average intensity, and continues to step584. Instep584, the control routine determines whether an intensity key (an up or down button) has been touched on the touch screen. If, instep584, the control routine determines that an intensity key has been touched, then the control routine continues to step586. Instep586, the control routine changes the intensity setting in accordance with the intensity key and returns to step584. If, however, instep584, the control routine determines that an intensity key has not been touched, then the control routine continues to step588. Instep588, the control routine determines whether an open or a short is detected. If, instep588, the control routine determines that an open or a short has been detected, then the control routine continues to step590. Instep590, the control routine displays a “show problem screen,” an example of which is shown in FIG. 153, and continues to step591. Instep591, the control routine determines whether the “Continue treatment” button has been touched on the touch screen. If, instep591, the control routine determines that the “Continue treatment” button has been touched on the touch screen, then the control routine returns to step584. If, however, instep591, the control routine determines that the “Continue treatment” button has not been touched on the touch screen, then the control routine returns to step590.
If, however, in[0100]step588, the control routine determines that an open or short has not been detected, then the control routine continues to step592. Instep592, the control routine determines whether the “pause” button has been touched on the touch screen. If, instep592, the control routine determines that the “pause” button has been touched, then the control routine continues to step594. Instep594, the control routine displays a corresponding treatment on a “pause” display, examples of which are shown in FIGS.60-63, and continues to step596. Instep596, the control routine determines whether the “resume” button has been touched on the touch screen. If, instep596, the control routine determines that the “resume” button has been touched, then the control routine continues to step598.
In[0101]step598, the control routine displays a “resuming treatment” screen, examples of which are shown in FIGS.64-67, and continues to step600. Instep600, the control routine ramps the intensities of the output on each of the channels back to the intensity prior to the pause and continues to step602. Instep602, the control routine determines whether the “stop automatic increase, manually increase intensities” button has been touched. If, instep602, the control routine determines that the “stop automatic increase, manual increase intensities” button has been touched, then the control routine sets the intensity at the current intensity and returns to step584. If, however, instep602, the control routine determines that the “stop automatic increase, manual increase intensities” button has not been touched, then the control routine continues to step604. Instep604, the control routine determines whether the channel intensity equals the channel intensity prior to the pause. If, instep604, the control routine determines that the channel intensity equals the channel intensity prior to the pause then the control routine returns to step584. If, however, in step, S604, the control routine determines that the channel intensity does not equal the channel intensity before the pause, then the control routine returns to step598.
If, however, in[0102]step596, the control routine determines that the “resume” button has not been touched, then the control routine continues to step606. Instep606, the control routine determines whether ten minutes have elapsed. If, instep606, the control routine determines that ten minutes have not elapsed, then the control routine returns to step594. If, however, the control routine determines that ten minutes have elapsed, then the control routine returns to step584.
If, however, in[0103]step592, the control routine determines that the “pause” key has not been touched, then the control routine continues to step608. Instep608, the control routine determines whether the “Options” button has been touched. If, instep608, the control routine determines that “Options” button has been touched, then the control routine continues to step610. Instep610, the control routine executes the options screen control routine of FIG. 19 and returns to step584.
If, however, in[0104]step608, the control routine determines that the “Options” button has not been touched, then the control routine continues to step612. Instep612, the control routine determines whether the “Help” button has been touched on the touch screen. If, instep612, the control routine determines that the “Help” button has been touched, then the control routine continues to step614. Instep614, the control routine executes the control routine detailed in the flow chart of FIG. 18 and returns to step584.
If, however, in[0105]step612, the control routine determines that the “Help” button has not been touched, then the control routine continues to step616. Instep616, the control routine updates the segment clock information and continues to step618. Instep618 the control routine determines whether a clock error exists. If, instep618, the control routine determines that a clock error exists, then the control routine continues to step620. Instep620, the controlroutine logs error12, sets the state of the device to “error,” executes the flow chart outlined in FIG. 28 and continues to step622. Instep622, the control routine returns control of the device back to the control routine that called the running state control routine of the flow chart of FIG. 22. If, however, instep618, the control routine determines that no clock error exists, then the control routine continues to step624. Instep624, the control routine executes device specific tasks, examples of which are shown in FIGS. 23 and 24, as determined instep452 of FIG. 17.
FIG. 23 outlines a control routine for an exemplary pulsed muscle stimulation task in accordance with this invention. The control routine starts at[0106]step626 where the control routine sets the control modes to one of normal and alternate and continues to step628. Instep628, the control routine generates pulses and continues to step630. Instep630, the control routine provides ramping to the pulses and continues to step632. Instep632, the control routine limits the increases in the intensity due to a user's touch on an increase key on the touch screen to prevent inadvertent inverses of the pulses and continues to step633. Instep633, the control routine returns control of the device to the control routine that called the pulsed muscle stimulation treatment control routine of FIG. 23
FIG. 24 shows a flow chart that outlines an exemplary control routine for an interferential device task in accordance with this invention. The control routine starts at[0107]step634 where the control routine sets the control mode to one of a variable and continuous mode and continues to step636. Instep636, the control routine generates sine waves and continues to step638. Instep638, the control routine controls two pad mixing by premixing interferential signals and continues to step640. Instep640 the control routine controls the frequency modulation and continues to step642. Instep642, the control routine controls the amplitude modulation and continues to step643 where the control routine returns to the control routine that called the interferential treatment control routine of FIG. 24.
FIG. 25 shows a flow chart that outlines a control routine for a “segment end” state in accordance with the present invention. The control routine starts at[0108]step644 where the control routine increments the segment counter and continues to step646. Instep646, the control routine calculates the segment results and continues to step648. Instep648, the control routine stores the results internally and continues to step650. Instep650 the control routine determines whether this is the last segment. If, instep650, the control routine determines that this is the last segment, then the control routine continues to step652. Instep652, the control routine displays the “treatment completed” screen, an example of which is shown in FIG. 127, and continues to step654. Instep654, the control routine sets the state of the device to “stopped” and continues to step655. Instep655, the control routine determines whether the “OK” button has been touched on the touch screen. If, instep655, the control routine determines that the “OK” button has been touched, then the control routine continues to step656. Instep656, the control routine returns control of the device to the control routine that called the segment end state control routine of FIG. 25. If, however, instep655, the control routine determines that the “OK” button has not been touched, then the control routine returns to step655.
If, however, in[0109]step650, the control routine determines that this is not the last segment, then the control routine continues to step658. Instep658, the control routine sets the state of the device to “start segment,” and continues to step660. Instep660, the control routine returns control of the device to the control routine that called the segment end state control routine outlined in the flow chart of FIG. 25.
FIG. 26 shows a flow chart that outlines the control routine for an “off” state in accordance with an exemplary embodiment of the invention. The control routine starts at[0110]step662 where the control routine determines whether the current state is “running”. If, instep662, the control routine determines that the current state is “running”, then the control routine continues to step664. Instep664, the control routine sets the state of the device to “stopped,” and continues to step668. Instep668, the control routine displays a “resuming treatment” display, an example of which is shown in FIGS.64-67, ramps the intensities to the previously set intensities for the outputs and continues to step670.
In[0111]step670, the control routine determines whether the “stop automatic increase, manually increase intensities” button has been touched on the touch screen. If, instep670, the control routine determines that the “stop automatic increase, manually increase intensities” button has been touched, then the control routine continues to step671. Instep671, the control routine stops the automatic ramping of the output intensities and continues to step672. If, however, instep670 the control routine determines that the “stop automatic increase, manually increase intensities” button has not been touched, then the control routine continues to step672. Instep672, the control routine sets the state of the device to “running,” and continues to step674. Instep674, the control routine returns control of the device to the control routine that called the off state control routine outlined in FIG. 26.
If, however, in[0112]step662, the control routine determines that the current state is not “running,” then the control routine continues to step676. Instep676, the control routine displays an “on/off button pressed” display, an example of which is shown in FIG. 69, and continues to step678. Instep678, the control routine determines whether the “continue” button has been touched on the touch screen. If, instep678, the control routine determines that the “continue” button has been touched, then the control routine continues to step680. Instep680, the control routine shows a “resuming treatment screen,” examples of which are shown in FIGS.63-67, and continues to step668. If, however, instep678, the control routine determines that the “continue” button has not been touched, then the control routine continues to step682. Instep682, the control routine determines whether the “off” button has been touched on the touch screen. If, instep682, the control routine determines that the “off” button has been touched, then the control routine continues to step684. Instep684, the control routine sets the state of the device to “stopped,” and continues to step686. Instep686, the control routine returns control of the device to the control routine that called the off state control routine of FIG. 26.
If, however, in[0113]step682, the control routine determines that the “off” button has not been touched, then the control routine continues to step688. Instep688, the control routine determines whether one minute has elapsed. If, instep688 the control routine determines that one minute has not elapsed, then the control routine returns to step678. However, if, instep688, the control routine determines that one minute has elapsed then the control routine shuts down the device.
FIG. 27 outlines a “stopped” state control routine in accordance with an exemplary embodiment of the present invention. The control routine starts at[0114]step690 where the control routine writes the treatment data to thedata card30 and continues to step692. Instep692, the control routine displays a “how to recharge battery” screen, an example of which is shown in FIG. 41, and continues to step694. Instep694, the control routine returns control of the device to the control routine that called the stopped state control routine of FIG. 27.
FIG. 28, outlines an “error” state control routine. The control routine starts at[0115]step696 where the control routine determines whether a prior error exists. If, instep696, the control routine determines that a prior error exists, then the control routine continues to step698. Instep698, the control routine records the prior error and continues to step700. Instep700, the control routine logs the error and continues to step702. Instep702, the control routine displays a “problem detected” screen, an example of which is shown in FIG. 148, and continues to step704. Instep704, the control routine beeps three times and continues to step706.
At[0116]step706, the control routine determines whether two minutes have elapsed. If, instep706 the control routine determines that two minutes have elapsed, then the control routine shuts down the device. The system restarts and if the control routine encounters the same error three consecutive times, then the device is shut down and cannot be restarted. If, however, instep706, the control routine determines that two minutes have not elapsed, then the control routine returns to step696. If, however, instep696, the control routine determines that no prior error has been recorded, then the control routine continues to step700.
FIG. 29 outlines a “low battery” state control routine of an exemplary embodiment in accordance with the present invention. The control routine starts at[0117]step708, where the control routine determines whether the current state is “running.” If, instep708, the control routine determines that the current state is “running,” then the control routine continues to step710. Instep710, the control routine calculates the segment results and continues to step712. Instep712, the control routine stores the results and continues to step714. If, however, instep708, the control routine determines that the current state is not “running,” then the control routine continues to step714. Instep714, the control routine displays a “battery empty” screen, an example of which is shown in FIG. 70, and continues to step716.
In[0118]step716, the control routine determines whether the “recharge” button has been touched on the touch screen. If, instep716, the control routine determines that the “recharge” button has been touched, then the control routine continues to step717. Instep717, the control routine displays a “how to recharge battery” screen, an example of which is shown in FIG. 41, and continues to step718. If, however, instep716, the control routine determines that the “recharge” button has not been touched, then the control routine continues to step718. Instep718, the control routine determines whether two minutes have elapsed. If, instep718, the control routine determines that two minutes have not elapsed, then the control routine continues to step719. Instep719, the control routine returns to the control routine that calls the control routine of FIG. 29. If, however, instep718, the control routine determines that two minutes have elapsed, then the control routine continues to step720. Instep720, the control routine shuts down the device.
FIG. 30 outlines the “charging” state control routine of an exemplary embodiment in accordance with the present invention. The control routine starts at[0119]step722 where the control routine determines whether the charger voltage is acceptable. If, instep722, the control routine determines that the charger voltage is not acceptable, then the control routine continues to step724. In step724, the control routine displays a “recharging alert” display, an example of which is shown in FIG. 71, and returns to step722. If, however, instep722, the control routine determines that the charger voltage is acceptable, then the control routine continues to step728.
In[0120]step728, the control routine determines whether the battery temperature is acceptable. If, instep728, the control routine determines that the battery temperature is not acceptable, then the control routine continues to step730. Instep730, the control routine displays a “recharging alert” display, an example of which is shown in FIG. 72 and returns to step722. If, however, instep728, the control routine determines that the battery temperature is acceptable, then the control routine continues to step734. Instep734, the control routine determines whether the battery is fully charged. If, instep734, the control routine determines that the battery is fully charged, then the control routine continues to step736. Instep736, the control routine displays a “battery fully charged” screen, an example of which is shown in FIG. 73, and continues to step738. Instep738, the control routine returns control to the control routine that called the charging state control routine outlined in the flow chart of FIG. 30. If, however, instep734, the control routine determines that the battery is not fully charged, then the control routine continues to S740.
In step[0121]740, the control routine shows a “battery recharging” screen, an example of which is shown in FIG. 74, and continues to step742. Instep742, the control routine controls the charging current being supplied to the battery and continues to step743. Instep743, the control routine determines whether the battery is fully charged. If, instep743, the control routine determines that the battery is fully charged then the control routine continues to step745. Instep745, the control routine displays a “Battery fully charged” screen, an example of which is shown in FIG. 73, and continues to step747. Instep747, the control routine returns control of the device to the control routine that called the charging state control routine of FIG. 30.
If, however, in[0122]step743, the control routine determines that the battery is not fully charged then the control routine continues to step744. Instep744, the control routine determines whether the battery charge is enough for a full treatment. If, instep744, the control routine determines that the battery has enough charge for a full treatment, then the control routine continues to step746. Instep746, the control routine displays a message on the display that the treatment may be started and returns to step740. If, however, instep744, the control routine determines that the battery is not charged enough for a full treatment, then the control routine returns to step740.
FIG. 31 outlines the “maintenance” state control routine of an exemplary embodiment of the present invention. The control routine starts at step[0123]749 where the control routine displays a maintenance mode display, an example of which is shown in FIG. 154 and continues to step750. Instep750, the control routine determines whether a command has been received. If, instep750, the control routine determines that a command has not been received, then the control routine continues to step752. Instep752, the control routine returns control to the control routine that called the maintenance state control routine outlined in FIG. 31. If, however, instep750, the control routine determines that a command has been received, then the control routine continues to step754.
In[0124]step754, the control routine determines whether a valid command has been entered. If, instep754, the control routine determines that a valid command has not been entered, then the control routine continues to step756. Instep756, the control routine returns an error string and continues to step758. In S758, control of the device returns to the control routine that called the maintenance state control routine of FIG. 31. If, however, instep754, the control routine determines that a valid command has been received, then the control routine continues to step760. Instep760, the control routine processes the command and continues to step762. Instep762, the control routine returns control of the device to the control routine that called the maintenance state control routine outlined in FIG. 31.
FIG. 32 shows a flow chart that outlines an advanced options control routine of an exemplary embodiment in accordance with the present invention. The control routine starts at[0125]step764 where the control routine displays an “advanced options” display, an example of which is shown in FIG. 149, and continues to S766. Instep766, the control routine determines whether a number has been entered. If, instep766, the control routine determines that a number has been entered, then the control routine continues to step768. Instep768, the control routine adds the entered number to the display and returns to step764. If, however, instep766, the control routine determines that a number has not been entered, then it continues to step770.
In[0126]step770, the control routine determines whether a “clear” button has been touched. If, instep770, the control routine determines that a “clear” button has been touched, then the control routine continues to step772. In step772, the control routine clears the number display and returns to step764. If, however, instep770 the control routine determines that a “clear” button has not been touched on the touch screen, then the control routine continues to step774. In step774, the control routine determines whether an “accept” button has been touched on the touch screen. If, in step774, the control routine determines that the “accept” button has not been touched, then the control routine continues to step782.
In[0127]step782, the control routine determines whether a “prior screen” button has been touched on the touch screen. If, instep782, the control routine determines that the “prior screen” button has been touched, then the control routine continues to step784. Instep784, the control routine returns to the control routine that called the advanced options control routine of the flow chart of FIG. 32.
If, however, in step[0128]774, the control routine determines that an “accept” button has been touched, then the control routine continues to step776. Instep776, the control routine determines whether a valid code has been entered. If, instep776, the control routine determines that a valid code has not been entered, then the control routine continues to step778. In step778, the control routine displays an “alert-invalid entry” screen, an example of which is shown in FIG. 44, and continues to step780. Instep780, the control routine determines whether the “retry” button has been touched on the touch screen. If, instep780, the control routine determines that the “retry” button has been touched, then the control routine returns to step764. If, however, in S780, the control routine determines that the “retry” button has not been touched, then the control routine returns to step780.
If, however, in[0129]step776 the control routine determines that a valid code has been entered, then the control routine continues to step786. Instep786, the control routine displays an “advanced options” screen, an example of which is shown in FIG. 75, and continues to step788. Instep788, the control routine determines whether the “select, create treatment plan” button on the touch screen has been touched. If, instep788, the control routine determines that the “select, create treatment plan” button has been touched, then the control routine continues to step790. Instep790, the control routine transfers control to the control routine outlined in the flow chart of FIG. 33 and continues to step791. Instep791, the control routine returns control of the device to the control routine that called the advanced options control routine of FIG. 32. If, however, instep788, the control routine determines that the “select, create treatment plan” button has not been touched, then the control routine continues to step792. Instep792, the control routine determines whether the “adjust treatment settings” button has been touched on the touch screen. If, instep792, the control routine determines that the “adjust treatment settings” button has been touched, then the control routine continues to step794. Instep794, the control routine transfers control to the control routine outlined in the flow chart of FIG. 35 and continues to step795. Instep795, the control routine returns control of the device to the control routine that called the advanced options control routine of FIG. 32. If, however, instep792, the control routine determines that the “adjust treatment settings” button has not been touched, then the control routine continues to step796. Instep796, the control routine determines whether the “setup mini treatment” button has been touched on the touch screen. If, instep796, the control routine determines that the “setup mini treatment” button has been touched, then the control routine continues to step798.
In[0130]step798, the control routine transfers control of the device to the control routine that is outlined in the flow chart of FIG. 39 and continues to step799. Instep799, the control routine returns control of the device to the control routine that called the advanced options control routine of FIG. 32. If, however, instep796 the control routine determines that the “setup mini treatment” button has not been touched, then the control routine continues to step800. Instep800, the control routine determines whether the “start treatment” button has been touched on the touch screen. If, instep800, the control routine determines that the “start treatment” button has been touched, then the control routine continues to step802. Instep802, the control routine sets the state of the device to “start segment” and transfers control of the device to the control routine outlined in the flow chart of FIG. 16 and continues to step803. Instep803, the control routine returns control of the device to the control routine that called the advanced options control routine of FIG. 32. If, however, instep800, the control routine determines that the “start treatment” button has not been touched, then the control routine returns to step786.
FIG. 33 shows a flow chart that outlines the select treatment plan control routine of an exemplary embodiment of the device in accordance with the present invention. The control routine starts at[0131]step804 where the control routine displays a “Select Treatment Plan Select—Type of Pain” screen, an example of which is shown in FIG. 76, and continues to step805. Instep805, the control routine determines whether one of the “acute pain,” “sub-acute pain,” “hyper sensitive acute pain” and “chronic pain” buttons have been touched on the touch screen. If, instep805, the control routine determines that none of these four buttons have been touched, then the control routine continues to step807. Instep807, the control routine determines whether the “Prior screen” button on the touch screen has been touched. If, instep807, the control routine determines that the “Prior screen” button has been touched, then the control routine returns to step804. If, however, instep807, the control routine determines that the “Prior screen” button has not been touched, then the control routine returns to step805.
If, however, in[0132]step805, the control routine determines that one of those four buttons has been touched, then the control routine continues to step809. Instep809, the control routine displays a “Select Treatment Plan—Select one other indication” display, an example of which is shown in FIG. 77 and continues to step811. Instep811, the control routine determines whether one of the “muscle spasms,” “increase blood flood,” “disuse atrophy,” “reeducate muscle,” “range and motion,” and “venous thrombosis” buttons or the “none” button is touched. If, instep811, the control routine determines that any of those buttons has been touched, then the control routine continues to step806. If, however, the control routine determines that none of those buttons has been touched, then the control routine continues to step813. In step813, the control routine determines if the “Prior screen” button has been touched. If, in step813, the control routine determines that the “Prior screen” button has been touched then the control routine returns to step804. If, however, in step813, the control routine determines that the prior screen button has not been touched then the control routine returns to step809.
In step[0133]806, the control routine determines the area of pain that is to be treated by sequentially displaying appropriate body part displays, examples of which are shown in FIGS.78-82 and155, and requesting and receiving indications from the user. The control routine then continues to step808. Instep808, the control routine determines if there is a special question that the device needs to have answered to further determine correct pad placement. If, instep808, the control routine has a special question, then the control routine continues to step810. Instep810, the control routine displays a “Select Treatment Plan—Answer question” screen, an example of which is shown in FIG. 83, and continues to step812. Instep812, the control routine receives the user's response to the special question and continues to step814. If, however, atstep808, the control routine determines that the device does not have a special question, then the control routine continues to step814.
In[0134]step814, the control routine displays one of the appropriate view pad screens, examples of which are shown in FIGS.84-120, and continues to step816. Instep816, the control routine displays a “Select Treatment Plan—Select frequency of treatment” screen, an example of which is shown in FIG. 121, receives the user selected frequency of treatment and continues to step818. Instep818, the control routine determines an appropriate treatment plan based upon the pain indication, other indications and pad placement and continues to step820. Instep820, the control routine displays a “Select Treatment Plan—Review plan” screen, an example of which is shown in FIG. 122, and continues to step822. Instep822, the control routine transfers control of the device to the control routine outlined in the flow chart shown in FIG. 34 and continues to step823. In step823, the control routine returns control of the device to the control routine that called the select treatment plan control routine of FIG. 33.
FIG. 34 shows a flow chart that outlines the show treatment plan control routine in accordance with an exemplary embodiment of the invention. The control routine starts at step[0135]824 where the control routine displays a “Select Treatment Plan—Review plan” screen, an example of which is shown in FIG. 122, and continues to step826. Instep826, the control routine determines whether the “Accept” button on the touch screen has been touched. If, instep826, the control routine determines that the “Accept” button has been touched, then the control routine continues to step828. Instep828, the control routine returns control of the device to the control routine that called the show treatment plan control routine of FIG. 34. If, however, instep826, the control routine determines that the “Accept” button has not been touched, then the control routine continues to step830.
In[0136]step830, the control routine determines whether the “Adjust Plan” button has been touched. If, instep830, the control routine determines that the “Adjust Plan” button has been touched, then the control routine continues to step832. Instep832, the control routine transfers control of the device to the control routine outlined in the flow chart of FIG. 35 and returns to step824. If, however, instep830, the control routine determines that the “Adjust Plan” button has not been touched, then the control routine continues to step834. Instep834, the control routine determines whether the “Create Plan” button has been touched on the touch screen. If, instep834, the control routine determines that the “Create Plan” button has been touched, then the control routine continues to step836. Instep836, the control routine transfers control of the device to the create treatment plan control routine that is outlined in the flow chart of FIG. 38 and returns to step824. If, however, instep834, the control routine determines that the “Create Plan” button has not been touched, then the control routine continues to step838.
If, in[0137]step838, the control routine determines that the “View pads” button has been touched, then the control routine continues to step840. Instep840, the control routine displays a “View pads” screen, examples of which are shown in FIGS.84-120, and returns to step824. If, however, the control routine determines that the “View pads” button has not been touched, then the control routine continues to step842. Instep842, the control routine determines if one minute has elapsed. If, instep842, the control routine determines that one minute has not elapsed, then the control routine returns to step824. If, however, the control routine determines instep842 that one minute has elapsed, then the control routine shuts down the device.
FIG. 35 shows a flowchart that outlines an adjust treatment plan control routine. The control routine starts at[0138]step844 where the control routine either displays an “adjust treatment settings” screen, an example of which is shown in FIG. 123, or a “create treatment plan” screen, an example of which is shown in FIG. 124, as appropriate, and continues to step846. Instep846, the control routine determines whether the segment is being changed based upon whether a segment button on the touch screen is touched. If, instep846, the control routine determines that the segment is being changed, then the control routine continues to step848. Instep848, the control routine shows the requested segment and returns to step846. If, however, instep846 the control routine determines that the segment is not being changed, then the control routine continues to step850.
In[0139]step850, the control routine determines whether the “Adjust” button on the touch screen has been touched. If, instep850, the control routine determines that the “Adjust” button has been touched, then the control routine continues to step852. Instep852, the control routine transfers control of the device to the control routine outlined in the flow chart of FIG. 36 and returns to step844. If, however, the control routine determines that the “Adjust” button has not been touched, then the control routine continues to step854. Instep854, the control routine determines whether the “Done” button has been touched. If, instep854, the control routine determines that the “Done” button has been touched, then the control routine continues to step856. Instep856, the control routine returns to the control routine that called the adjust treatment plan control routine of FIG. 35. If, however, instep854, the control routine determines that the “Done” button has not been touched, then the control routine continues to step855.
In[0140]step855, the control routine determines whether the “Prior screen” button has been touched. If, instep855, the control routine determines that the “Prior screen” button has been touched, then the control routine returns control of the device to the control routine that called the adjust treatment plan control routine outlined in the flow chart of FIG. 35. If, however, instep855, the control routine determines that the “Prior screen” button has not been touched, then control routine returns to step846.
FIG. 36 shows a flow chart that outlines the adjust segment option control routine of an exemplary embodiment of the present invention. The control routine starts at[0141]step858 where the control routine displays an “adjust treatment settings” screen, examples of which are shown in FIGS.125-126, and continues to step860. Instep860, the control routine determines whether the user has touched one of the “Adjust” buttons on the touch screen. If, instep860, the control routine determines that the user has touched one of the “Adjust” buttons, then the control routine continues to step862. Instep862, the control routine transfers control of the device to the adjust settings control routine outlined in the flow chart of FIG. 37 and returns to step858. If, however, instep860, the control routine determines that the “Adjust” buttons have not been touched, then the control routine continues to step864.
In[0142]step864, the control routine determines whether the “Accept” button has been touched on the touch screen. If, instep864, the control routine determines that the “Accept” button has not been touched, then the control routine continues to step865. Instep865, the control routine determines whether the “Prior screen” button has been touched on the touch screen. If, instep865, the control routine determines that the “Prior screen” button has been touched on the touch screen then the control routine continues to step866. If, however, instep865, the control routine determines that the “Prior screen” button has not been touched, then the control routine returns to step860. If, however, instep864, the control routine determines that the “Accept” button has been touched, then the control routine continues to step866. Instep866, the control routine returns control of the device to the control routine that called the adjust segment option control routine of FIG. 36.
FIG. 37 shows a flow chart that outlines the adjust settings option control routine in accordance with the exemplary embodiment of the present invention. The control routine starts at[0143]step868 where the control routine displays an “Adjust treatment settings” screen, examples of which are shown in FIGS.127-134, and continues to step870. Instep870, the control routine determines whether a setting has been selected by a user. If, instep870, the control routine determines that a setting has been selected, then the control routine continues to step872. Instep872, the control routine sets the selected setting and returns to step868.
If, however, in[0144]step870, the control routine determines that a setting has not been selected, then the control routine continues to step874. Instep874, the control routine determines whether a setting has been entered. If, instep874, the control routine determines that a setting has not been entered, then the control routine returns to step868. If, however, instep874, the control routine determines that a setting has been entered, then the control routine continues to step876. Instep876, the control routine determines whether a number has been entered. If, instep876, the control routine determines that a number has been entered, then the control routine continues to step878. Instep878, the control routine adds the entered number to the display and returns to step868. If, however, instep876, the control routine determines that a number has not been entered, then the control routine continues to step880.
In[0145]step880, the control routine determines whether the “clear” button has been touched on the touch screen. If, instep880, the control routine determines that the “clear” button has been touched, then the control routine continues to step882. Instep882, the control routine clears the number from the display and returns to step868. If, however, instep880, the control routine determines that the “clear” button has not been touched on the touch screen, then the control routine continues to step884. Instep884, the control routine determines whether the “enter” button has been touched on the touch screen. If, instep884, the control routine determines that the “enter” button has not been touched, then the control routine returns to step868. If, however, instep884, the control routine determines that the “enter” button has been touched on the touch screen, then the control routine continues to step886. Instep886, the control routine determines whether the entry is valid. If, instep886, the control routine determines that the entry is valid, then the control routine continues to step888. Instep888, the control routine returns control of the device to the control routine that called the adjust settings option control routine of FIG. 37.
If, however, in[0146]step886, the control routine determines that the entry is not valid, then the control routine continues to step890. Instep890, the control routine displays an “Alert-invalid entry” screen, an example of which is shown in FIG. 151 and continues to step892. Instep892, the control routine determines whether the “Retry” button has been touched on the touch screen. If, instep892, the control routine determines that the “Retry” button has not been touched, then the control routine returns to step890. If, however, instep892, the control routine determines that the “Retry” button has been touched, then the control routine returns to step868.
FIG. 38 shows a flow chart that outlines a create treatment plan of an exemplary embodiment in accordance with the present invention. The control routine starts at[0147]step894 where the control routine displays a “Create Treatment Plan—Select number of segments in Plan” screen, an example of which is shown in FIG. 135, receives a user input selection for a number of segments in the plan and continues to step896. Instep896, the control routine displays a “Create Treatment Plan—Select treatment type forsegment 1” screen, an example of which is shown in FIG. 136, receives the selected treatment type from the user and continues to step898. Instep898, the control routine determines the type default settings and continues to step900.
In[0148]step900, the control routine displays a “Create Treatment Plan” screen, examples of which are shown in FIGS. 137 and 138, and continues to step902. Instep902, the control routine determines whether an “Adjust” button has been touched on the touch screen. If, instep902, the control routine determines that an “Adjust” button has been touched, then the control routine continues to step904. Instep904, the control routine transfers control of the device to the control routine that is outlined in FIG. 37 and returns to step900. If, however, instep902, the control routine determines that an “Adjust” button has not been touched, then the control routine continues to step908. Instep908, the control routine determines whether an “Accept” button has been touched on the touch screen. If, instep908, the control routine determines that the “Accept” button has not been touched, then the control routine continues to step909.
In[0149]step909, the control routine determines whether the “Prior screen” button has been touched. If, instep909, the control routine determines that the “Prior screen” button has been touched, then the control routine returns to step896. If, however, instep909 the control routine determines that the “Prior screen” button has not been touched, then the control routine returns to step902. If, however, instep908, the control routine determines that the “Accept” button has been touched, then the control routine continues to step906. Instep906, the control routine determines whether the current segment is the last segment in the treatment plan. If, instep906, the control routine determines that this is not the last segment in the treatment plan, then the control routine returns to step896. If, however, instep906, the control routine determines that this is the last segment in the treatment plan, then the control routine continues to step910.
In step[0150]910, the control routine displays a “Create Treatment Plan—Review pad layout” screen, an example of which is shown in FIG. 150 and continues to step912. Instep912, the control routine determines whether the “Accept” button has been touched on the touch screen. If, instep912, the control routine determines that the “Accept” button has been touched on the touch screen, then the control routine continues to step914. Instep914, the control routine shows a “Create Treatment Plan” screen, an example which is shown in FIG. 124, and continues to step918. If, however, instep912, the control routine determines that the “Accept” button has not been touched, then the control routine continues to step916. Instep916, the control routine determines whether the “No pads screen” button has been touched on the touch screen. If, instep916, the control routine determines that the “no pad” screen button has touched, then the control routine continues to step917.
In[0151]step917, the control routine determines whether the “Prior screen” button has been touched on the touch screen. If, instep917, the control routine determines that the “Prior screen” button has been touched, then the control routine returns to step900. If, however, instep917, the control routine determines that the “Prior screen” button has not been touched, then the control routine returns to step910. If, however, instep916, the control routine determines that the “no pad” button has been touched, then the control routine continues to step914. Instep918, the control routine transfers control of the device to the control routine outlined in the flow chart shown in FIG. 35 and continues to step919. Instep919, the control routine returns control to the control routine that called the create treatment plan control routine of FIG. 38.
FIG. 39 shows a flow chart that outlines the mini treatment option control routine of an exemplary embodiment in accordance with the present invention. The control routine starts at[0152]step920 where the control routine shows a “Set up mini treatment” screen, an example of which is shown in FIG. 139, and continues to step922. Instep922, the control routine determines whether an “increase” or “decrease” button has been touched on the touch screen. If, instep922, the control routine determines that an “increase” or “decrease” button has been touched on the touch screen, then the control routine continues to step924.
In[0153]step924, the control routine adjusts the mini treatment times in accordance with the “increase” or “decrease” button that has been touched and returns to step920. If, however, instep922, the control routine determines that an “increase” or “decrease” button has not been touched, then the control routine continues to step926. Instep926, the control routine determines whether a “Prior screen” button has been touched on the touch screen. If, instep926, the control routine determines that a “Prior screen” button has been touched, then the control routine continues to step928. Instep928, the control routine transfers control of the device back to the control routine that called the mini treatment option control routine of FIG. 39. If, however, instep926, the control routine determines that the “Prior screen” button has not been touched, then the control routine continues to step930.
In[0154]step930, the control routine determines whether the “Start treatment” button has been touched. If, instep930, the control routine determines that the “Start treatment” button has not been touched on the touch screen, then the control routine returns to step920. If however, instep930, the control routine determines that the “Start treatment” button has been touched then the control routine continues to step932. Instep932, the control routine displays a “Start mini segment” screen, examples of which are shown in FIGS.140-143, and continues to step934. Instep934, the control routine determines whether an “up” button has been touched on the touch screen. If, instep934, the control routine determines that an “up” button has not been touched, then the control routine continues to step942.
In[0155]step942, the control routine determines whether an “Adjust settings” button has been touched on the touch screen. If, instep942, the control routine determines that an “Adjust settings” button has been touched on the touch screen, then the control routine continues to step944. Instep944, the control routine transfers control of the device to the control routine outlined in the flow chart of FIG. 37 and continues to step945. Instep945, the control routine returns control of the device to the control routine that called the mini treatment option control routine of FIG. 39. If, however, instep942, the control routine determines that the “Adjust settings” button has not been touched, then the control routine continues to step943. Instep943, the control routine determines whether the “Prior screen” button has been touched on the touch screen. If, instep943, the control routine determines that the “Prior screen” button has been touched, then the control routine returns to step932. If, however, instep943, the control routine determines that the “Prior screen” button has been touched, then the control routine returns to step920.
If, however, in[0156]step934, the control routine determines that an “up” button has been touched, then the control routine continues to step936. Instep936, the control routine displays a “Treatment running” screen, examples of which are shown in FIGS.144-147, and continues to step938. Instep938, the control routine determines whether an “Adjust settings” button has been touched on the touch screen. If, instep938, the control routine determines that an “Adjust settings” button has been touched, then the control routine continues to step940. Instep940, the control routine transfers control of the device to the control routine that is outlined in the flow chart of FIG. 37 and continues to step941. Instep941, the control routine returns control of the device to the control routine that called the mini treatment option control routine of FIG. 39. If, however, the control routine determines that the “Adjust settings” button has not been touched, then the control routine continues to step945.
In[0157]step945, the control routine determines whether an intensity button has been touched on the touch screen. If, instep945, the control routine determines that an intensity button has been touched, then the control routine continues to step947 where the control routine changes the intensity setting in accordance with the touched intensity button and returns to step936. If, however, the control routine determines that an intensity button has not been touched, then the control routine continues to step946. Instep946, the control routine determines whether the segment is complete. If, instep946, the control routine determines that the segment is not complete, then the control routine returns to step938. If, however, instep946, the control routine determines that the segment is complete, then the control routine continues to step948.
In[0158]step948, the control routine determines whether this is the last segment in the treatment plan. If, instep948, the control routine determines that this is not the last segment in the treatment plan, then the control routine returns to step932. If, however, instep948, the control routine determines that this is the last segment in the treatment plan, then the control routine continues to step950. Instep950, the control routine displays a “Treatment completed” screen, an example which is shown in FIG. 68, and continues to step952, after the user presses the “OK” button on the test screen. Instep952, the control routine displays the “How to recharge battery” screen, an example of which is shown in FIG. 41, and continues to step953. Instep953, the control routine returns control of the device to the control routine that called the mini treatment option control routine of FIG. 39.
Although the above described exemplary embodiments have four independent channels, it is to be understood that an electro-medical device may have any number of channels and still be within the scope of the invention.[0159]
One advantage of the electro-medical device is that it can be programmed to accept various waveforms and display feedback and control information. Various waveforms can be used in a sequence with one another depending upon the need of the patient as determined by the physician. Thus, multiple waveforms can be integrated together. The device guides the physician through questions in order to determine a suggested electrical stimulation protocol and pad placement. The device maintains records of system setup and patient usage and progress.[0160]
Another feature of the preferred embodiment is shown in FIG. 151 which takes advantage of the flexibility of the electro-medical device. Below approximately 1,000 Hz, as frequency increases, intensity increases. As frequency increases above 1,000 Hz, however, sensation decreases so that the stimulation threshold increases. Thus, above 1,000 Hz, a greater intensity (amplitude) is needed to cause an action potential in the target treatment area. Decreasing intensity or increasing frequency will place the user below the stimulation threshold and produce a relax time for muscle stimulation.[0161]
As shown in FIG. 151, a diagonal therapy stimulation is provided which modulates frequency and amplitude to produce periods of action potentials or stimulation periods, and non-stimulation/relax periods.[0162]
A second wave therapy is shown in FIGS. 152 and 153, referred to as R-wave stimulation. For R-Wave therapy, the stimulation periods or “on” time are characterized as a period of electrical activity that generates action potentials and the “off” or relax time is a period of sub-threshold stimulation that does not create action potentials. In order to normalize metabolic activity, the relax time is a low-level, sub-threshold electrical activity.[0163]
At least two phases of stimulation are provided for R-wave stimulation, both muscle stimulation and interferential. The first phase or “on” time muscle stimulation phase, shown in FIG. 152, uses a parameter set that causes an action potential to be generated in a nerve or muscle. A second phase, or “off” time interferential phase of stimulation, shown in FIG. 153, has a parameter set that does not cause an action potential to be generated. The second phase forms a sinusoidal waveform that modulates frequency and amplitude to produce periods of non-action potential periods (relax phase). The modulated output frequency has an interval of one thousand to several thousand Hz with a modulation frequency of zero to several hundred Hz.[0164]
Preferably, the first phase parameter set is in the range of between 0-1,000 Hz (pulses per second) and the second phase has a parameter set including a frequency between 1,000-100,000 Hz. The stimulation level of the second phase is set lower than what would be necessary to cause an action potential to be generated. This “normalizing” current at higher frequencies has effects that are considered biochemical in nature as it triggers alternative mechanisms of action.[0165]
Thus, the electrotherapy device combines muscle stimulation with interferential in the same treatment by using the relax period to provide interferential stimulation. After the muscle stimulation contract period winds down, a brief interval of dead time can be provided before interferential stimulation begins. The interferential stimulation progresses for the relax time. Another interval of dead time can follow the end of the relax time prior to the next muscle stimulation contract period. Muscle stimulation preferably extends for approximately 40 minutes and the interval times between muscle stimulation and interferential is approximately 0.5 seconds, though can be adjusted on an interval selection screen such as shown in FIG. 128 to between 0.2-2.0 seconds.[0166]
This two-phase operation of the electrotherapy device is particularly useful for bone growth and muscle rehabilitation where pain is a factor. The electrotherapy device can be used for unsupervised in-home use or in a medical clinic environment for treatments to fit the patient, for studies, rehabilitation and other clinical purposes.[0167]
The muscle stimulation screens (FIGS. 45, 49, for instance) can be used to start, run and pause. A two-pad mode can be provided, so that the “adjust” button in FIG. 126 is disabled. In addition, amplitude modulation is disabled. Relax time can be changed to massage time (FIG. 125) to differentiate the two-phase operation and only normal mode can be accessed in FIG. 127.[0168]
Another embodiment of the invention is shown in FIG. 154, where the multifunctional portable electro-medical device is used for osteogenesis and the treatment of osteoporosis. The device can be used, for instance, following spinal fusion surgery, for promoting bone growth with non-unions in long bones and for the treatment of osteoporosis.[0169]
FIG. 154 shows an interferential current, having a base medium frequency alternating current between approximately 1,000-20,000 Hz, being applied to the third lumbar vertebrae of a patient. A first set of[0170]electrode pads1512,1514 are connected to a first channel of the electro-medical device10 in order to apply afirst signal1510 to the patient. A second set ofelectrode pads1522,1524 are connected to a second channel of the electro-medical device10 in order to impart asecond signal1520 to the patient. Theelectrode pads1512,1514,1522,1524 are arranged so that the interferential current forms a cross pattern at the target area to be treated, in this case the third lumbar vertebrae.
A beat frequency is created at the point where the currents of the first and[0171]second signals1510,1520 superimpose with one another. The beat frequency is the difference between the frequencies of the first andsecond signals1510,1520 and has an amplitude that is additive and greater than either signal alone. The amplitude of thesignals1510,1520 can be modulated to increase the area of targeted stimulation. By using an interferential current, the present invention is able to achieve improved directional control and depth of penetration for bone growth.
The arrangement of electrode pads shown in FIG. 154 is able to achieve a high depth of penetration. The pads can also be arranged as shown in FIG. 155 in order to achieve less depth of penetration and a more superficial current pattern. The placement of the electrode pads and desired depth of penetration depends upon the treatment to be achieved, results previously obtained and a physician's diagnosis.[0172]
The electrical stimulation is preferably used in combination with biologics for osteogenesis in order to further enhance bone healing. Any suitable biologics can be used, preferably growth factors, bone morphogenetic proteins, hyaluronic acid, hydroxyapatite, autogenous bone grafts, human bone allografts and demineralized bone matrix (DBM). Examples of suitable biologics are shown, for instance, in U.S. Pat. Nos. 6,034,062, 5,948,428, 5,942,499, 5,916,870 and 5,604,204.[0173]
In the preferred embodiment, electrode pads are used that apply electrical signals directly to the skin of a patient. However, any suitable signal applicator can be used, such as a non-surface mounted device that applies an electromagnetic signal to the patient.[0174]
In accordance with the preferred embodiment, each[0175]signal1510,1520 has a frequency between about 1,000-20,000 Hz and an amplitude from 0-100 mA. The frequency of eachsignal1510,1520 is selected to be within about 250 Hz of each other, so that the beat frequency is modulated to about between 0-250 Hz and 1-100 mA. The depth of the interferential signal is increased by increasing the carrier frequency of the signals. The direction of the interferential signal shifts toward the signal having the lower amplitude.
While this invention has been described with the specific embodiments outlined above, many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the exemplary embodiments described above are illustrative and not limiting. Various changes may be made without departing from the spirit and scope of the invention.[0176]