Medical Device – Goran N. Marnfeldt, Jordi Parramon, Christopher Britton Gould, Boston Scientific Neuromodulation Corp

Abstract for “Signaling errors in an implantable medical devices system using simple charging coil Telemetry”

The disclosed methods allow externalizing errors from implantable medical devices using the charging coil. This allows for receipt at external chargers or other external devices. This method is especially useful for telemetry errors that cannot be transmitted through the implant’s telemetry coil, such as when the error is so fundamental that it prohibits the use of traditional methods. Externalizing the error through the charging coil and despite the fact that the implant is designed to be insensitive to fundamental errors, it can be consulted by the external charger to determine the failure mode and take the appropriate action.

Background for “Signaling errors in an implantable medical devices system using simple charging coil Telemetry”

Implantable stimulation devices are devices that deliver electrical stimuli to the body’s nerves and tissues to treat various biological disorders. These include pacemakers to treat heart arrhythmia, defibrillators for treating cardiac fibrillation and cochlear stimulators in order to treat blindness. They also have muscle stimulators that produce coordinated limb movement. They also have spinal cord stimulators which treat chronic pain. There are cortical and deep-brain stimulators to help with motor and psychological disorders. This description will focus on how the invention is used within a Spinal Cord Stimulation system (SCS), such as the one disclosed in U.S. Pat. No. 6,516,227. The present invention could be used in any implantable medical device system. The disclosed invention may also be used in conjunction with a Bion? Implantable stimulators, such as the one shown in U.S. Patent Publication 07/0097719, Nov. 3, 2005, can be used with other implantable medical devices.

“As shown at FIGS. “As shown in FIGS. The IPG 26 circuitry and battery 26 are typically contained in the case 30, although IPGs can be powered by external RF energy or without batteries. The IPG 100 can be coupled to electrodes 100 via one or more of the electrode leads (two leads 102 and104 are shown), so that electrodes 110 form an electrode array 110. The electrodes 106 are housed on a flexible body 110, which also houses individual signal wires 112 or 114 that are attached to each electrode. The illustrated embodiment has eight electrodes on the lead 102 (electrodes E1-E8) and eight electrodes at the lead 104 (electrodes E9-E16). However, the exact number of leads and electrodes depends on the application and can vary. The IPG 100 leads 102 and 104 are connected to each other using lead connectors 38a and 38b. These connectors are attached in a header material 36 which may contain epoxy.

“As shown at FIG. “As shown in FIG. The IPG 100 generally contains two coils: a telemetry 13 coil that transmits/receives data to/from external controller 12, and a charging coil 18. This coil is used for charging the IPG’s 26-volt battery using an external charger 50. As shown, the telemetry coil 13 is mounted in the header 36 of IPG 100.

“As we have already noted, an external controller 12 (e.g. a hand-held programr or clinician’s programmer) is used to transmit and receive data to the IPG 100. The external controller 12 can, for example, send programming data to IPG 100 in order to determine the IPG 100’s therapy. The external controller 12 can also act as a receiver for data from the IPG 100. This includes various reports on the IPG’s status. Like the IPG 100’s external controller 12, it also has a PCB 70, on which electronic components 72 can be placed to control the operation of the external controller 12. The external controller 12 is controlled by a clinician or patient via a user interface 74. It looks similar to a cell phone, computer or other handheld electronic device.

Inductive coupling allows for wireless data transfer between IPG 100, external controller 12, and IPG 100. Both the IPG 100 as well as the external controller 12 are equipped with telemetry coils 13, 17 to enable such functionality. Both the external controller 12 and the IPG 100 can be used as receiver or transmitter, allowing for two-way communication. The external controller 12 and IPG 100 send data to the transmitting coil 17. Or 13. This generates an alternating current (AC), which creates a magnetic field 29. This in turn causes a current in one of the coils 17 or 13. The magnetic field generated by the external controller 12 and IPG 100 is energized with alternating current (AC). This generates a magnetic field 29, which in turn induces a current in the other coils 17 or 13. This protocol is well-known in the art. The external controller 12 and IPG 100 can provide the power to energize the coils 17 and 13. The induced current from the receiving coil can be then demodulated into the telemetered signals.

The external charger 50 can be used to recharge or charge the IPG’s 26-volt battery. The coil 17 is similar to the external controller 12. The coil 17 is energized by an AC current to create magnetic field 29. The magnetic field 29 creates a current within the IPG 100 that causes a charge coil 18 to produce a current. This current is rectified to DC levels and used to recharge battery 26 as described below. The basic components of the external charger 50 are similar to those in the external controller 12. Therefore, it is designated with prime symbols and element numerals that are similar. While it is sufficient to consider the external controller 12 as having similar components for the purposes of this disclosure, one skilled in art will recognize that chargers 50 and external controller 12 will have relevant differences as a result of their respective functions.

Transcutaneous transmission of power or data can be achieved, i.e. through the patient’s skin 25, which is particularly useful for medical implantable devices. The coils 13 and 17 or 18 and 17? should be oriented in parallel planes to transmit data or power. Although this orientation will improve their coupling, it is possible to still transfer reliable data or power.

FIG. 3. The IPG 100 and the external controller 12 have respective demodulation and modulation circuitry, which are coupled to their coils 17, and 13, for data communication. Data 170 will be sent from the IPG 100 to the external controller 12. It is modulated using the modulation circuitry 120. This data 170 is then demodulated (e.g. decoded) by the IPG 100 using demodulation circuitry. Data 172, which is to be sent to the external controller 12 via the IPG 100, is also modulated using modulation circuitry number 124 of the IPG. This data 172 is then demodulated by the external controller using demodulation circuitry 121. One modulation protocol is available in each of the respective demodulation and modulation circuit blocks 120-121, 124 and 125, as mentioned above. The details of such circuitry can be found here.

“The external charger 50 also has a two way communication with IPG 100. However, there are some differences due to the fact the communication between the charger 50 and the IPG 100 usually communicates unmodulated power 174 and not modulated data. To energize coil 17, charging circuitry 122 is used to communicate such power 174. This power 174 is converted to DC using a rectifier circuit 132. The rectified power is then sent, possibly via charging/protection circuitry (134), to the IPG’s 26-volt battery. This generally monitors and controls battery charging.

“The IPG 100 can also transmit data 176 back from the external charger 50. Modulation circuitry 126 is used to perform such back telemetry. Modulation circuitry (126) receives data from the IPG’s microcontroller150 to transmit back to the external charger 50. The data is then used to modify the impedance for the charging coil 18. The illustration shows how impedance can be modulated by a load transistor 130. The transistor’s on resistance provides the modulation. The coil 17 is then reflected by the change in impedance. The external charger 50 interprets this reflection at demodulation circuitry 123, to retrieve the transmitted data. This method of sending data from the IPG100 to the external charger 50, is called Load Shift Keying. It is used to communicate information relevant during the charging of the battery 26 (IPG 100), such as the battery’s capacity, whether the external charger can stop charging, and other pertinent charging variables.

FIG. 3. Error code circuitry 140 is useful for identifying specific failure modes within the IPG 100. The IPG 100 error code circuitry 140 monitors voltages, interrupt signals, and other indicators. The logic of error code circuitry 140 creates an error code (usually numerical) that corresponds to the failure mode by applying its logic. These error codes can be important to the patient, their clinician or the manufacturer of IPG systems. They are usually sent as data 172 from IPG 100 to external controller 12. The error code circuitry 140 could be a part of the IPG’s microprocessor150, but it is presented as a separate block to simplify. The error code sent by the external controller 12 to the user interface 74 may be used for diagnosis and treatment.

Reporting IPG error codes to the patient can be a great help in understanding and possibly fixing problems with IPG. If you are looking for a solution to such errors, certain error codes could indicate a problem in the stimulation program or software that is running in the IPG. If these error codes are known, it may be possible to send new stimulation programs or software to the IPG in order to correct the problem. Even if an error cannot be fixed immediately, it is important to report the error codes in order to analyze the specific failure. This failure can indicate, for instance, whether IPG 100 can still be fixed by extraordinary methods (such as the application of special manufacturer commands), or whether IPG 100 must be removed from the patient. The manufacture of an IPG system can benefit from knowing the failure to create a more robust system. Without knowledge of specific failure modes, they may need to undertake a complicated and time-consuming failure analysis.

“Unfortunately, inventors discovered that external reporting error codes is not always possible. Failure modes that are so fundamental to the IPG 100 cause the inability of error codes to be reported. This includes the error code circuitry 140 and microcontroller 150. The modulation circuitry 124. The error code cannot be communicated to the external controller 12. Incorrect initialization of IPG 100 may lead to such fundamental failure modes. The execution of microcontroller 150 in?boot up? initiates the initialization of the IPG 100. Instructions stored in initialization logic 132 are executed to initiate the IPG 100. This initialization procedure is usually used to recover the IPG 100 from a power failure. For example, the IPG 100 goes into a power-down mode after the battery 26 becomes too low or the IPG 100 stops functioning. Although instructions may be stored in the microcontroller 150 for initialization logic, they are shown separately to simplify. To function properly, the modulation 124/demodulation125 circuitry of the IPG 100 might also need initialization. Tuning or enablement may be required.

“If a fundamental error is made during initialization or after initialization, it may not be possible for the IPG 100 telemeter error codes to be transmitted outside of the IPG. The patient, manufacturer, or clinician may not be aware of the specific error, making it difficult to take corrective actions. IPG 100 might have to be removed from the patient. This is painful and inconvenient and should only be done as a last resort. If the fundamental error can be identified and corrected, such explant would be regrettable. The manufacture of IPG systems is affected by fundamental errors. This knowledge can greatly aid in failure analysis and could help the manufacturer improve the reliability of its design. This disclosure provides solutions to improve the externalization of IPG errors in implantable medical devices.

“The following description relates to the use of the invention in a spinal cord stimulation system (SCS). It is important to understand that the invention does not limit itself. The invention can be used with any implantable medical device system that has an improved ability to report errors.

“Regardless of the invention, the disclosed techniques enable externalizing errors from an implantable device medical device by using the charging coil. The receiver can then be charged at an external charger, or any other external device. This method is especially useful for telemetry errors that cannot be transmitted through the implant’s telemetry coil, such as when the error is so fundamental that it prohibits the use of traditional methods. Externalizing the error through the charging coil and despite the fact that the implant is designed to be insensitive to fundamental errors, it can be consulted by the external charger to determine the failure mode and take the appropriate action.

“FIG. 4. This is an illustration of an improved IPG 200 that has a stronger system to communicate errors outside the IPG. Comparing to FIG. The IPG 200 now has error modulation circuitry 215. The error modulation circuitry210, which is similar to the error code circuitry 140, receives different voltages, interrupt signals or other indicators 212 in the IPG 200. The logic of the error modulation circuitry210 interprets the indicator 212 and modifies the impedance 18 of the charging coil 18. The indicators 212 could be identical or similar to the indicators 141 that are used with the error code circuitry 140 in the IPG 200. The error modulator circuitry (210) may be concerned with transmitting only fundamental errors that are not preventable by traditional methods using telemetry coil 13. In this case, indicators 212 could also inform about such fundamental errors. Indicators 212 could also indicate failures in microcontroller 150, initialization logic 132 and modulator circuitry 124, i.e. circuitry that would be required for failure mode transmission via telemetry coil 13.

“To briefly review the background, error codes generated using error code circuitry 140 are typically broadcast as data from LPG’s Telemetry coil 13 to external controller 12. The error modulator210, on the other hand, broadcasts error data to external charger 50. This back telemetry of error data is preferable to the traditional modulator126 which communicates with the external charger 50. The error modulator210 connects directly with the load transistor 130 that controls the impedance of charging coil 18. These errors can be transmitted to the external charger 50, where they will be decoded by demodulator 220. The external charger 50’s demodulator 220 will also decode normal back-telemetry (data from modulator 126) reporting on the battery status during charging, and will therefore include demodulator number 123 of prior art (FIG. 3.) may be kept separate from the other circuit blocks of the demodulator 220- involved in decoding errors transmitted by error modulator (210).

Because it relies upon reflections, telemetry between the IPG 200 and the external charger 50 are passive. They rely on the external charger’s magnetic field to function. To receive data from the error modulator 220 (error data) and modulator 126 (status data), the external charger 50 must have an active connection. In a preferred implementation however, the modulation of the charging loop 18 starts regardless of whether the external charger 50 has been activated. The error modulator 210 modulates the impedance of charging coil 18 continuously to transmit (e.g. reflect) the fundamental error. This is done even though the external charger 50 has not yet been activated to receive it. This ensures that the external charger 50 will receive the error determined and modulated by error module 210 as soon as it is activated.

“Errormodulator 210 should be designed to resist fundamental errors such as incorrect initialization of IPG 200. The logic circuitry of error modulator 220 is the simplest version. In some cases, the error module 210 is only dependent upon battery power (Vbat). It does not depend on the initialization logic 132, the microcontroller 150 or the modulator circuitry 124, which are the circuit blocks that transmit error codes to external controllers 12. The error modulator 210 is thus kept in operation by preventing problems with those circuit blocks. Other embodiments of the error modulator 220 can either receive data from microcontroller 150 or be a part thereof.

“When there is a fundamental error, the clinician, patient or manufacturer will activate the external charger 50 to identify the cause. Let’s say, for example, that the IPG 200 experiences a fundamental error. Perhaps the IPG 200 failed to initialize according to the previous instructions. Both the error code circuitry 140 (or the error modulator 215) have been receiving respective indicators 141 or 212 during this time. If the error is critical, however, it may not possible to transmit the error code via the telemetry coil 13. In the IPG, for example, the microcontroller or modulator circuitry 150 may not have been properly initialized, or may be experiencing other failures. The manufacturer, the clinician, and patient will usually first check the external controller 12 for any errors. The external controller 12 could be already ‘in hand’ if the patient is already using it for the purpose of initializing IPG 200. It is notified at the external controller’s interface 74 (FIG. 2) If the error code is not received by the external controller 12 (FIG.

“Error modulator 210, as noted above, is as simple as possible and can be implemented as logic gates powered with the battery 26, requiring no initialization nor enablement to function. FIG. 2 shows one embodiment of error modulator 215. 5. The error indicators 212 are inputs to a multiplexer 230. This chooses one input from 0-10 according to the status of counter232. The error indicator 212 is input to the multiplexer (mux) 230. This allows the error modulator 220 to output 256 (28 error sequences 262). The synchronization pattern 262 is generated by the inputs 8-10 and mux 230, as described below. The counter 232 outputs a value between 0 (?0000?) and 10 (10 (?1010?)). The counter 232 outputs a value from 0 (?0000?) to 10 (10?1010) on a 4-bit binary bus in order to select the appropriate mux input. Counter 232 is incremented with a clock signal CLK. This clock signal can be the master clock signal for IPG 200, an inverter or delay loop, or any other clock generation circuitry well-known. The counter resets to 0 when it reaches the maximum value (10 in the example).

The error sequence 260 is Manchester encoded using exclusive OR gate 236, which XORs a mux input with one period. If the input is a ‘1?, then the output of XOR Gate 236 includes a rising transition that is inversely proportional to the clock period. Conversely, if it is a ‘0?, then the output contains a falling transition that matches the clock period. So logic?1? is represented by rising or falling transitions. In this way, logic?1? and logic?0?s can be represented by rising or fall transitions in accordance with Manchester encoding.

“The error modulator210, as mentioned earlier, is preferably set up to broadcast errors detected from the charging coil 18 of the IPG 200 whenever an error is detected. This means that any indicator 212 is activated. This broadcasting is possible even if the external charger 50 has not been activated and is therefore not able to receive the error transmission. All indicators 212 are ORed by OR gate 234, so that OR gate 234 outputs?1?. Any indicator 212 that contains a?1?. This OR gate output goes to an AND gate 238, whose input also includes the Manchester encoded errors data from XOR Gate 236. If any of the indicators are?1?, OR gate 234’s output will be?0. AND gate 238 will always output a value of?0. to load control node A. This saves power by not having to toggle the load transistor 130 if there is an error. The OR gate outputs a value of?1 if there is an indicator that indicates?1?. The AND gate 238 passes the Manchester encoded data to load control node B. FIG. FIG. 5 illustrates the assertion of three indicators. These are inputs 2, 3 and 5, respectively, to the mux230. Modulation of load transistor 130 at node A results in a?00110100. Each state of the sequence includes rising or falling transitions, as described earlier and shown in FIG. 5. You will notice that the failure signal can be sent to the back Telemetry Modator 126 (FIG. 4) to disarm the circuit as shown in FIG. 5. This means that an error assertion made by error modulator 220 is granted priority access to charger coil 18 instead of normal back telemetry communications (e.g. battery status) requested by modulator 126.

“Error transmission should be repeated as long as an indicator 212 is active. A unique synchronization pattern 262 is available to demark the beginning or end of error sequence 260. 5. The synchronization pattern 262 in the depicted embodiment is created by setting mux input 8 to be a?0?, input 10, to be a?1?, as well as providing the clock to input 9. The counter 232 selects mux 8 and creates a falling edge at node A. Input 9, which is the clock signal, can be selected. This creates a non-transitioning low output at node B. When input 10 is selected, it provides a rising transition to node A. This creates a unique synchronization patterns 262 with a lower clock period than a clock. This condition can’t be considered valid data in the Manchester-encoded sequence 260. This unique pattern 262 can be detected at the demodulation circuitry 220-in the external charger 50 (FIG. The external charger 50 can detect when the error sequence 261 starts and stops by putting in a number 4. The synch pattern 262 is similar to the error sequence 260. It will not be generated at load control Node A if the error indicator 212 has not been asserted.

“Once coil 17 has received the error sequence 260,? As shown in FIG. 6 to demodulate 220 the sequence of indicators 212. The microcontroller 250 that is standard on an external charger 50 can decode the indicators 212 to give information to the user interface. 74 (e.g. screen) of an external charger. Eight indicator bits are used to indicate 256 failure modes [Errors 0-Error255] in the illustrated example. These can be indicated at the user interface (74?). A brief textual description of the failure is helpful if possible (e.g. [failure mode X]?) You can also display the error number along with the failure mode X textual description, which is stored in the microcontroller’s 250 memory or any other memory that is accessible to it.”

FIG. 5 shows the circuitry that makes up the error modulator 210. 5. Generally, 5 requires only the voltage of Vbat (or buffered and regulated versions thereof), and a clock source (which may include part of the error module 210) to function. These circuits, which are typically implemented in CMOS can run at voltages up to 2V. They can also operate when there is not enough battery power to fully power the IPG 200. The output of rectifier 132, which could power the error modulator 210, would be sufficient to allow it to operate independently of battery voltage. This would enable reporting of low battery power conditions.

“FIG. “FIG.7 illustrates another example of an error modulator (210). send error messages to the external charger 50 The error modulator 210 is used in this application. This converts the task indicator 265 into a modulation frequency of the load transistor 130. The task indicator 265 may contain a specific initialization task, for example. It can therefore receive input from the initialization logic 132, as shown. Alternativly, the task indicator 265 could include instructions from the microcontroller 150 as shown in red.

“Further information concerning the error modator 210?” FIG. 8. If necessary, task indicator 265, which can be carried on a parallel or serial bus, is first decoded (270). A task that activates the load transistor 130 can be identified and a disable signal sent to the standard charger coil 18 modulator126 (FIG. 4) to enable the error modulator (210)? Priority to the coil as previously discussed.”

“Once task X has been identified, it can be input to the programmable timer circuitry 272 that generates a clock signal at a specific frequency, fx. A crystal oscillator or a voltage controlled oscillator can be used in timer circuitry 272. It also includes a phase-, delay-locked loop or other known adjustable clock generation circuitry. The timer circuitry 272 is commonly found in the microprocessor 150 in the IPG 200. Therefore, additional circuitry beyond the microcontroller150 may not be necessary to implement the error moderator 210?. The error modulator 210 is available in the following? The Figures show the error modulator 210 and its sub-circuits separately for your convenience.

“FIG. “FIG. 9 illustrates how the error modulator (210?) works. In this example, it is assumed that IPG initialization requires the orderly performance of four tasks, Task 0-Task 3 to make the IPG 20 operational. How does the error modulator 220 work? Two scenarios illustrate the operation of the error modulator 210. Szenario 280 shows that no fundamental error is observed. Once Task 0 has been indicated, the error modator outputs a clock signal to load controller node B of f0. This output continues uninterruptedly until Task 1 is completed. At that point, the output changes to f1 and so on. The process continues until all tasks have been completed. At that point, the timer 272 stops generating the clock signal. The disable signal to the normal charging coil modulator126 can then be re-enabled.

“Scenario 282 illustrates how the error modulation circuitry210 works. When a fundamental error occurs. The example where the IPG 200 makes an error while performing Task 1 is a good illustration of this. The process starts with Task 0 and the corresponding output of f0. Next, Task 1 is indicated and its corresponding output is f1. The IPG 200 stops execution because of a fundamental error in Task 1. Task 2 is not indicated and the error modulator 220? The error modulator 210 continues to output frequency F1 indefinitely. This provides a simple indicator of error.”

“This frequency f1 can then be detected at the demodulator 220- (FIG. 4.) in the external charger 50 when the external charger is turned on and capable of receiving impedance reflections 18. The patient, physician, or manufacturer can operate the external charger 50 if the IPG 200’s function isn’t working properly. This may be after first (unsuccessfully!) checking the external controller 12.

“Errors can be indicated by error modulator 210” as a single frequency. fx is for failure mode x. As shown in FIG. 6. These error numbers and/or failure modes will be displayed on the user interface. 50. Errors are only indicated by one frequency. This means that the errors transmitted from the IPG 200 and the external charger 50 are less than the multi-bit example in FIGS. 4-6. The number of error frequencies that can be used depends on how many frequencies the timer 272 can output, and the resonant frequencies from the charging coils 18. These frequencies are available in the IPG 200, external charger and demodulator 225. Because the IPG 200 has a limited number to perform during initialization, it may not be possible to use a limited number error frequencies.

“FIG. “FIG. 11-13. Similar to error modulator 210 (FIGS. 7-9), error modulator 210? indicates an error at charging coil 18 by modulating the load transistor 130 with a single continuously-broadcast frequency. The external charger interprets this error condition by assessing the reflection frequency fx. FIGS. FIGS. 10-13 show the error modulator210. This result is achieved using different circuitry.”

“In this embodiment, an error can be determined and assigned a 300 error number, which may be deduced in the microcontroller 150. The error number is then sent to the error moderator 210. as shown in FIG. 10. The error modulator 210 is again available. The error modulator 210 can be used as a stand-alone circuit or part of the microcontroller 150.

“The load control node A uses the frequency generated by error 300, n. Referring to FIG. 11. The error number, n is entered into a decrement count 320. This clock is used to calculate the IPG 200’s system time. The counter 320 gradually decreases until it reaches zero. At that point, its output Q increases. This output is sent from the T input to a T flipflop 330. It is again clocked and toggles its output Q (i.e. changes its logic state) whenever input T is asserted. This toggled output generates an output clock signal at load control point A with a frequency of fx, which is a function the error number 300 entered into counter 320.

FIG. 12 which describes the operation and function of the error moderator 210? FIG. 11. Like error modulator 210? (FIGS. 7-9), error modulator 210? it is intended to go through a series of initialization tasks. Four such tasks are shown in FIG. 12. If there is no error at any step, the routine moves on to the next one as shown. The load controlled node for the load transistor 130 is not modified. If an error occurs at any of these steps, the microcontroller 150 (or other logic) issues an error number (n=Ex), corresponding to Task X. This error number (n=Ex) is loaded into counter 320 and begins to decrease. The logic state at load control point A is switched by T flipflop 330 when the count in counter 320 equals zero. The counter 320 is reset with the error number E, and the process continues to toggle node A’s logic state.

FIG. 13 shows the effect of this. 13 is the generation a clock signal with a half-period equal to the error number E times the time it takes to increment the counter 320. This is denoted at?t? FIG. 12. Each error number Ex corresponds to a frequency, which fx=1/(2*Ex*t), and this frequency is used for turning the load transistor 130. It is then transmitted to the external charger 50. The frequency generated by error modulator 220? FIG. 7-9, the error moderator 210? FIGS. FIGS. 10-13 broadcasts the frequency associated with the error, ex, preferably continuously, to enable the external charger 50, to receive and decode the frequency and correlate it with a particular error mode or failure mode at the first possible opportunity.

“The enclosed embodiments show the transmission of error information from the implant’s charging coil (i.e. the coil that receives power), to an external charger (i.e. the device that provides the power), as opposed to an External Controller (i.e. the device that sends a program to the implant, among other things, to control its therapeutic operations). It is not necessary for the external controller 12 to be isolated from the external charger 50. According to the disclosed techniques, error messages can be sent from the implant’s charger coil to any other device that also provides power to the implant.

“Even though certain embodiments of this invention have been described and shown, it is important to understand that the discussion above does not limit the invention to these particular embodiments. All skilled in the art will know that modifications and changes can be made to the present invention without departing from its spirit and scope. The present invention covers all alternatives, modifications, equivalents, and other items that fall within the scope and spirit of the invention as described in the claims.

Summary for “Signaling errors in an implantable medical devices system using simple charging coil Telemetry”

Implantable stimulation devices are devices that deliver electrical stimuli to the body’s nerves and tissues to treat various biological disorders. These include pacemakers to treat heart arrhythmia, defibrillators for treating cardiac fibrillation and cochlear stimulators in order to treat blindness. They also have muscle stimulators that produce coordinated limb movement. They also have spinal cord stimulators which treat chronic pain. There are cortical and deep-brain stimulators to help with motor and psychological disorders. This description will focus on how the invention is used within a Spinal Cord Stimulation system (SCS), such as the one disclosed in U.S. Pat. No. 6,516,227. The present invention could be used in any implantable medical device system. The disclosed invention may also be used in conjunction with a Bion? Implantable stimulators, such as the one shown in U.S. Patent Publication 07/0097719, Nov. 3, 2005, can be used with other implantable medical devices.

“As shown at FIGS. “As shown in FIGS. The IPG 26 circuitry and battery 26 are typically contained in the case 30, although IPGs can be powered by external RF energy or without batteries. The IPG 100 can be coupled to electrodes 100 via one or more of the electrode leads (two leads 102 and104 are shown), so that electrodes 110 form an electrode array 110. The electrodes 106 are housed on a flexible body 110, which also houses individual signal wires 112 or 114 that are attached to each electrode. The illustrated embodiment has eight electrodes on the lead 102 (electrodes E1-E8) and eight electrodes at the lead 104 (electrodes E9-E16). However, the exact number of leads and electrodes depends on the application and can vary. The IPG 100 leads 102 and 104 are connected to each other using lead connectors 38a and 38b. These connectors are attached in a header material 36 which may contain epoxy.

“As shown at FIG. “As shown in FIG. The IPG 100 generally contains two coils: a telemetry 13 coil that transmits/receives data to/from external controller 12, and a charging coil 18. This coil is used for charging the IPG’s 26-volt battery using an external charger 50. As shown, the telemetry coil 13 is mounted in the header 36 of IPG 100.

“As we have already noted, an external controller 12 (e.g. a hand-held programr or clinician’s programmer) is used to transmit and receive data to the IPG 100. The external controller 12 can, for example, send programming data to IPG 100 in order to determine the IPG 100’s therapy. The external controller 12 can also act as a receiver for data from the IPG 100. This includes various reports on the IPG’s status. Like the IPG 100’s external controller 12, it also has a PCB 70, on which electronic components 72 can be placed to control the operation of the external controller 12. The external controller 12 is controlled by a clinician or patient via a user interface 74. It looks similar to a cell phone, computer or other handheld electronic device.

Inductive coupling allows for wireless data transfer between IPG 100, external controller 12, and IPG 100. Both the IPG 100 as well as the external controller 12 are equipped with telemetry coils 13, 17 to enable such functionality. Both the external controller 12 and the IPG 100 can be used as receiver or transmitter, allowing for two-way communication. The external controller 12 and IPG 100 send data to the transmitting coil 17. Or 13. This generates an alternating current (AC), which creates a magnetic field 29. This in turn causes a current in one of the coils 17 or 13. The magnetic field generated by the external controller 12 and IPG 100 is energized with alternating current (AC). This generates a magnetic field 29, which in turn induces a current in the other coils 17 or 13. This protocol is well-known in the art. The external controller 12 and IPG 100 can provide the power to energize the coils 17 and 13. The induced current from the receiving coil can be then demodulated into the telemetered signals.

The external charger 50 can be used to recharge or charge the IPG’s 26-volt battery. The coil 17 is similar to the external controller 12. The coil 17 is energized by an AC current to create magnetic field 29. The magnetic field 29 creates a current within the IPG 100 that causes a charge coil 18 to produce a current. This current is rectified to DC levels and used to recharge battery 26 as described below. The basic components of the external charger 50 are similar to those in the external controller 12. Therefore, it is designated with prime symbols and element numerals that are similar. While it is sufficient to consider the external controller 12 as having similar components for the purposes of this disclosure, one skilled in art will recognize that chargers 50 and external controller 12 will have relevant differences as a result of their respective functions.

Transcutaneous transmission of power or data can be achieved, i.e. through the patient’s skin 25, which is particularly useful for medical implantable devices. The coils 13 and 17 or 18 and 17? should be oriented in parallel planes to transmit data or power. Although this orientation will improve their coupling, it is possible to still transfer reliable data or power.

FIG. 3. The IPG 100 and the external controller 12 have respective demodulation and modulation circuitry, which are coupled to their coils 17, and 13, for data communication. Data 170 will be sent from the IPG 100 to the external controller 12. It is modulated using the modulation circuitry 120. This data 170 is then demodulated (e.g. decoded) by the IPG 100 using demodulation circuitry. Data 172, which is to be sent to the external controller 12 via the IPG 100, is also modulated using modulation circuitry number 124 of the IPG. This data 172 is then demodulated by the external controller using demodulation circuitry 121. One modulation protocol is available in each of the respective demodulation and modulation circuit blocks 120-121, 124 and 125, as mentioned above. The details of such circuitry can be found here.

“The external charger 50 also has a two way communication with IPG 100. However, there are some differences due to the fact the communication between the charger 50 and the IPG 100 usually communicates unmodulated power 174 and not modulated data. To energize coil 17, charging circuitry 122 is used to communicate such power 174. This power 174 is converted to DC using a rectifier circuit 132. The rectified power is then sent, possibly via charging/protection circuitry (134), to the IPG’s 26-volt battery. This generally monitors and controls battery charging.

“The IPG 100 can also transmit data 176 back from the external charger 50. Modulation circuitry 126 is used to perform such back telemetry. Modulation circuitry (126) receives data from the IPG’s microcontroller150 to transmit back to the external charger 50. The data is then used to modify the impedance for the charging coil 18. The illustration shows how impedance can be modulated by a load transistor 130. The transistor’s on resistance provides the modulation. The coil 17 is then reflected by the change in impedance. The external charger 50 interprets this reflection at demodulation circuitry 123, to retrieve the transmitted data. This method of sending data from the IPG100 to the external charger 50, is called Load Shift Keying. It is used to communicate information relevant during the charging of the battery 26 (IPG 100), such as the battery’s capacity, whether the external charger can stop charging, and other pertinent charging variables.

FIG. 3. Error code circuitry 140 is useful for identifying specific failure modes within the IPG 100. The IPG 100 error code circuitry 140 monitors voltages, interrupt signals, and other indicators. The logic of error code circuitry 140 creates an error code (usually numerical) that corresponds to the failure mode by applying its logic. These error codes can be important to the patient, their clinician or the manufacturer of IPG systems. They are usually sent as data 172 from IPG 100 to external controller 12. The error code circuitry 140 could be a part of the IPG’s microprocessor150, but it is presented as a separate block to simplify. The error code sent by the external controller 12 to the user interface 74 may be used for diagnosis and treatment.

Reporting IPG error codes to the patient can be a great help in understanding and possibly fixing problems with IPG. If you are looking for a solution to such errors, certain error codes could indicate a problem in the stimulation program or software that is running in the IPG. If these error codes are known, it may be possible to send new stimulation programs or software to the IPG in order to correct the problem. Even if an error cannot be fixed immediately, it is important to report the error codes in order to analyze the specific failure. This failure can indicate, for instance, whether IPG 100 can still be fixed by extraordinary methods (such as the application of special manufacturer commands), or whether IPG 100 must be removed from the patient. The manufacture of an IPG system can benefit from knowing the failure to create a more robust system. Without knowledge of specific failure modes, they may need to undertake a complicated and time-consuming failure analysis.

“Unfortunately, inventors discovered that external reporting error codes is not always possible. Failure modes that are so fundamental to the IPG 100 cause the inability of error codes to be reported. This includes the error code circuitry 140 and microcontroller 150. The modulation circuitry 124. The error code cannot be communicated to the external controller 12. Incorrect initialization of IPG 100 may lead to such fundamental failure modes. The execution of microcontroller 150 in?boot up? initiates the initialization of the IPG 100. Instructions stored in initialization logic 132 are executed to initiate the IPG 100. This initialization procedure is usually used to recover the IPG 100 from a power failure. For example, the IPG 100 goes into a power-down mode after the battery 26 becomes too low or the IPG 100 stops functioning. Although instructions may be stored in the microcontroller 150 for initialization logic, they are shown separately to simplify. To function properly, the modulation 124/demodulation125 circuitry of the IPG 100 might also need initialization. Tuning or enablement may be required.

“If a fundamental error is made during initialization or after initialization, it may not be possible for the IPG 100 telemeter error codes to be transmitted outside of the IPG. The patient, manufacturer, or clinician may not be aware of the specific error, making it difficult to take corrective actions. IPG 100 might have to be removed from the patient. This is painful and inconvenient and should only be done as a last resort. If the fundamental error can be identified and corrected, such explant would be regrettable. The manufacture of IPG systems is affected by fundamental errors. This knowledge can greatly aid in failure analysis and could help the manufacturer improve the reliability of its design. This disclosure provides solutions to improve the externalization of IPG errors in implantable medical devices.

“The following description relates to the use of the invention in a spinal cord stimulation system (SCS). It is important to understand that the invention does not limit itself. The invention can be used with any implantable medical device system that has an improved ability to report errors.

“Regardless of the invention, the disclosed techniques enable externalizing errors from an implantable device medical device by using the charging coil. The receiver can then be charged at an external charger, or any other external device. This method is especially useful for telemetry errors that cannot be transmitted through the implant’s telemetry coil, such as when the error is so fundamental that it prohibits the use of traditional methods. Externalizing the error through the charging coil and despite the fact that the implant is designed to be insensitive to fundamental errors, it can be consulted by the external charger to determine the failure mode and take the appropriate action.

“FIG. 4. This is an illustration of an improved IPG 200 that has a stronger system to communicate errors outside the IPG. Comparing to FIG. The IPG 200 now has error modulation circuitry 215. The error modulation circuitry210, which is similar to the error code circuitry 140, receives different voltages, interrupt signals or other indicators 212 in the IPG 200. The logic of the error modulation circuitry210 interprets the indicator 212 and modifies the impedance 18 of the charging coil 18. The indicators 212 could be identical or similar to the indicators 141 that are used with the error code circuitry 140 in the IPG 200. The error modulator circuitry (210) may be concerned with transmitting only fundamental errors that are not preventable by traditional methods using telemetry coil 13. In this case, indicators 212 could also inform about such fundamental errors. Indicators 212 could also indicate failures in microcontroller 150, initialization logic 132 and modulator circuitry 124, i.e. circuitry that would be required for failure mode transmission via telemetry coil 13.

“To briefly review the background, error codes generated using error code circuitry 140 are typically broadcast as data from LPG’s Telemetry coil 13 to external controller 12. The error modulator210, on the other hand, broadcasts error data to external charger 50. This back telemetry of error data is preferable to the traditional modulator126 which communicates with the external charger 50. The error modulator210 connects directly with the load transistor 130 that controls the impedance of charging coil 18. These errors can be transmitted to the external charger 50, where they will be decoded by demodulator 220. The external charger 50’s demodulator 220 will also decode normal back-telemetry (data from modulator 126) reporting on the battery status during charging, and will therefore include demodulator number 123 of prior art (FIG. 3.) may be kept separate from the other circuit blocks of the demodulator 220- involved in decoding errors transmitted by error modulator (210).

Because it relies upon reflections, telemetry between the IPG 200 and the external charger 50 are passive. They rely on the external charger’s magnetic field to function. To receive data from the error modulator 220 (error data) and modulator 126 (status data), the external charger 50 must have an active connection. In a preferred implementation however, the modulation of the charging loop 18 starts regardless of whether the external charger 50 has been activated. The error modulator 210 modulates the impedance of charging coil 18 continuously to transmit (e.g. reflect) the fundamental error. This is done even though the external charger 50 has not yet been activated to receive it. This ensures that the external charger 50 will receive the error determined and modulated by error module 210 as soon as it is activated.

“Errormodulator 210 should be designed to resist fundamental errors such as incorrect initialization of IPG 200. The logic circuitry of error modulator 220 is the simplest version. In some cases, the error module 210 is only dependent upon battery power (Vbat). It does not depend on the initialization logic 132, the microcontroller 150 or the modulator circuitry 124, which are the circuit blocks that transmit error codes to external controllers 12. The error modulator 210 is thus kept in operation by preventing problems with those circuit blocks. Other embodiments of the error modulator 220 can either receive data from microcontroller 150 or be a part thereof.

“When there is a fundamental error, the clinician, patient or manufacturer will activate the external charger 50 to identify the cause. Let’s say, for example, that the IPG 200 experiences a fundamental error. Perhaps the IPG 200 failed to initialize according to the previous instructions. Both the error code circuitry 140 (or the error modulator 215) have been receiving respective indicators 141 or 212 during this time. If the error is critical, however, it may not possible to transmit the error code via the telemetry coil 13. In the IPG, for example, the microcontroller or modulator circuitry 150 may not have been properly initialized, or may be experiencing other failures. The manufacturer, the clinician, and patient will usually first check the external controller 12 for any errors. The external controller 12 could be already ‘in hand’ if the patient is already using it for the purpose of initializing IPG 200. It is notified at the external controller’s interface 74 (FIG. 2) If the error code is not received by the external controller 12 (FIG.

“Error modulator 210, as noted above, is as simple as possible and can be implemented as logic gates powered with the battery 26, requiring no initialization nor enablement to function. FIG. 2 shows one embodiment of error modulator 215. 5. The error indicators 212 are inputs to a multiplexer 230. This chooses one input from 0-10 according to the status of counter232. The error indicator 212 is input to the multiplexer (mux) 230. This allows the error modulator 220 to output 256 (28 error sequences 262). The synchronization pattern 262 is generated by the inputs 8-10 and mux 230, as described below. The counter 232 outputs a value between 0 (?0000?) and 10 (10 (?1010?)). The counter 232 outputs a value from 0 (?0000?) to 10 (10?1010) on a 4-bit binary bus in order to select the appropriate mux input. Counter 232 is incremented with a clock signal CLK. This clock signal can be the master clock signal for IPG 200, an inverter or delay loop, or any other clock generation circuitry well-known. The counter resets to 0 when it reaches the maximum value (10 in the example).

The error sequence 260 is Manchester encoded using exclusive OR gate 236, which XORs a mux input with one period. If the input is a ‘1?, then the output of XOR Gate 236 includes a rising transition that is inversely proportional to the clock period. Conversely, if it is a ‘0?, then the output contains a falling transition that matches the clock period. So logic?1? is represented by rising or falling transitions. In this way, logic?1? and logic?0?s can be represented by rising or fall transitions in accordance with Manchester encoding.

“The error modulator210, as mentioned earlier, is preferably set up to broadcast errors detected from the charging coil 18 of the IPG 200 whenever an error is detected. This means that any indicator 212 is activated. This broadcasting is possible even if the external charger 50 has not been activated and is therefore not able to receive the error transmission. All indicators 212 are ORed by OR gate 234, so that OR gate 234 outputs?1?. Any indicator 212 that contains a?1?. This OR gate output goes to an AND gate 238, whose input also includes the Manchester encoded errors data from XOR Gate 236. If any of the indicators are?1?, OR gate 234’s output will be?0. AND gate 238 will always output a value of?0. to load control node A. This saves power by not having to toggle the load transistor 130 if there is an error. The OR gate outputs a value of?1 if there is an indicator that indicates?1?. The AND gate 238 passes the Manchester encoded data to load control node B. FIG. FIG. 5 illustrates the assertion of three indicators. These are inputs 2, 3 and 5, respectively, to the mux230. Modulation of load transistor 130 at node A results in a?00110100. Each state of the sequence includes rising or falling transitions, as described earlier and shown in FIG. 5. You will notice that the failure signal can be sent to the back Telemetry Modator 126 (FIG. 4) to disarm the circuit as shown in FIG. 5. This means that an error assertion made by error modulator 220 is granted priority access to charger coil 18 instead of normal back telemetry communications (e.g. battery status) requested by modulator 126.

“Error transmission should be repeated as long as an indicator 212 is active. A unique synchronization pattern 262 is available to demark the beginning or end of error sequence 260. 5. The synchronization pattern 262 in the depicted embodiment is created by setting mux input 8 to be a?0?, input 10, to be a?1?, as well as providing the clock to input 9. The counter 232 selects mux 8 and creates a falling edge at node A. Input 9, which is the clock signal, can be selected. This creates a non-transitioning low output at node B. When input 10 is selected, it provides a rising transition to node A. This creates a unique synchronization patterns 262 with a lower clock period than a clock. This condition can’t be considered valid data in the Manchester-encoded sequence 260. This unique pattern 262 can be detected at the demodulation circuitry 220-in the external charger 50 (FIG. The external charger 50 can detect when the error sequence 261 starts and stops by putting in a number 4. The synch pattern 262 is similar to the error sequence 260. It will not be generated at load control Node A if the error indicator 212 has not been asserted.

“Once coil 17 has received the error sequence 260,? As shown in FIG. 6 to demodulate 220 the sequence of indicators 212. The microcontroller 250 that is standard on an external charger 50 can decode the indicators 212 to give information to the user interface. 74 (e.g. screen) of an external charger. Eight indicator bits are used to indicate 256 failure modes [Errors 0-Error255] in the illustrated example. These can be indicated at the user interface (74?). A brief textual description of the failure is helpful if possible (e.g. [failure mode X]?) You can also display the error number along with the failure mode X textual description, which is stored in the microcontroller’s 250 memory or any other memory that is accessible to it.”

FIG. 5 shows the circuitry that makes up the error modulator 210. 5. Generally, 5 requires only the voltage of Vbat (or buffered and regulated versions thereof), and a clock source (which may include part of the error module 210) to function. These circuits, which are typically implemented in CMOS can run at voltages up to 2V. They can also operate when there is not enough battery power to fully power the IPG 200. The output of rectifier 132, which could power the error modulator 210, would be sufficient to allow it to operate independently of battery voltage. This would enable reporting of low battery power conditions.

“FIG. “FIG.7 illustrates another example of an error modulator (210). send error messages to the external charger 50 The error modulator 210 is used in this application. This converts the task indicator 265 into a modulation frequency of the load transistor 130. The task indicator 265 may contain a specific initialization task, for example. It can therefore receive input from the initialization logic 132, as shown. Alternativly, the task indicator 265 could include instructions from the microcontroller 150 as shown in red.

“Further information concerning the error modator 210?” FIG. 8. If necessary, task indicator 265, which can be carried on a parallel or serial bus, is first decoded (270). A task that activates the load transistor 130 can be identified and a disable signal sent to the standard charger coil 18 modulator126 (FIG. 4) to enable the error modulator (210)? Priority to the coil as previously discussed.”

“Once task X has been identified, it can be input to the programmable timer circuitry 272 that generates a clock signal at a specific frequency, fx. A crystal oscillator or a voltage controlled oscillator can be used in timer circuitry 272. It also includes a phase-, delay-locked loop or other known adjustable clock generation circuitry. The timer circuitry 272 is commonly found in the microprocessor 150 in the IPG 200. Therefore, additional circuitry beyond the microcontroller150 may not be necessary to implement the error moderator 210?. The error modulator 210 is available in the following? The Figures show the error modulator 210 and its sub-circuits separately for your convenience.

“FIG. “FIG. 9 illustrates how the error modulator (210?) works. In this example, it is assumed that IPG initialization requires the orderly performance of four tasks, Task 0-Task 3 to make the IPG 20 operational. How does the error modulator 220 work? Two scenarios illustrate the operation of the error modulator 210. Szenario 280 shows that no fundamental error is observed. Once Task 0 has been indicated, the error modator outputs a clock signal to load controller node B of f0. This output continues uninterruptedly until Task 1 is completed. At that point, the output changes to f1 and so on. The process continues until all tasks have been completed. At that point, the timer 272 stops generating the clock signal. The disable signal to the normal charging coil modulator126 can then be re-enabled.

“Scenario 282 illustrates how the error modulation circuitry210 works. When a fundamental error occurs. The example where the IPG 200 makes an error while performing Task 1 is a good illustration of this. The process starts with Task 0 and the corresponding output of f0. Next, Task 1 is indicated and its corresponding output is f1. The IPG 200 stops execution because of a fundamental error in Task 1. Task 2 is not indicated and the error modulator 220? The error modulator 210 continues to output frequency F1 indefinitely. This provides a simple indicator of error.”

“This frequency f1 can then be detected at the demodulator 220- (FIG. 4.) in the external charger 50 when the external charger is turned on and capable of receiving impedance reflections 18. The patient, physician, or manufacturer can operate the external charger 50 if the IPG 200’s function isn’t working properly. This may be after first (unsuccessfully!) checking the external controller 12.

“Errors can be indicated by error modulator 210” as a single frequency. fx is for failure mode x. As shown in FIG. 6. These error numbers and/or failure modes will be displayed on the user interface. 50. Errors are only indicated by one frequency. This means that the errors transmitted from the IPG 200 and the external charger 50 are less than the multi-bit example in FIGS. 4-6. The number of error frequencies that can be used depends on how many frequencies the timer 272 can output, and the resonant frequencies from the charging coils 18. These frequencies are available in the IPG 200, external charger and demodulator 225. Because the IPG 200 has a limited number to perform during initialization, it may not be possible to use a limited number error frequencies.

“FIG. “FIG. 11-13. Similar to error modulator 210 (FIGS. 7-9), error modulator 210? indicates an error at charging coil 18 by modulating the load transistor 130 with a single continuously-broadcast frequency. The external charger interprets this error condition by assessing the reflection frequency fx. FIGS. FIGS. 10-13 show the error modulator210. This result is achieved using different circuitry.”

“In this embodiment, an error can be determined and assigned a 300 error number, which may be deduced in the microcontroller 150. The error number is then sent to the error moderator 210. as shown in FIG. 10. The error modulator 210 is again available. The error modulator 210 can be used as a stand-alone circuit or part of the microcontroller 150.

“The load control node A uses the frequency generated by error 300, n. Referring to FIG. 11. The error number, n is entered into a decrement count 320. This clock is used to calculate the IPG 200’s system time. The counter 320 gradually decreases until it reaches zero. At that point, its output Q increases. This output is sent from the T input to a T flipflop 330. It is again clocked and toggles its output Q (i.e. changes its logic state) whenever input T is asserted. This toggled output generates an output clock signal at load control point A with a frequency of fx, which is a function the error number 300 entered into counter 320.

FIG. 12 which describes the operation and function of the error moderator 210? FIG. 11. Like error modulator 210? (FIGS. 7-9), error modulator 210? it is intended to go through a series of initialization tasks. Four such tasks are shown in FIG. 12. If there is no error at any step, the routine moves on to the next one as shown. The load controlled node for the load transistor 130 is not modified. If an error occurs at any of these steps, the microcontroller 150 (or other logic) issues an error number (n=Ex), corresponding to Task X. This error number (n=Ex) is loaded into counter 320 and begins to decrease. The logic state at load control point A is switched by T flipflop 330 when the count in counter 320 equals zero. The counter 320 is reset with the error number E, and the process continues to toggle node A’s logic state.

FIG. 13 shows the effect of this. 13 is the generation a clock signal with a half-period equal to the error number E times the time it takes to increment the counter 320. This is denoted at?t? FIG. 12. Each error number Ex corresponds to a frequency, which fx=1/(2*Ex*t), and this frequency is used for turning the load transistor 130. It is then transmitted to the external charger 50. The frequency generated by error modulator 220? FIG. 7-9, the error moderator 210? FIGS. FIGS. 10-13 broadcasts the frequency associated with the error, ex, preferably continuously, to enable the external charger 50, to receive and decode the frequency and correlate it with a particular error mode or failure mode at the first possible opportunity.

“The enclosed embodiments show the transmission of error information from the implant’s charging coil (i.e. the coil that receives power), to an external charger (i.e. the device that provides the power), as opposed to an External Controller (i.e. the device that sends a program to the implant, among other things, to control its therapeutic operations). It is not necessary for the external controller 12 to be isolated from the external charger 50. According to the disclosed techniques, error messages can be sent from the implant’s charger coil to any other device that also provides power to the implant.

“Even though certain embodiments of this invention have been described and shown, it is important to understand that the discussion above does not limit the invention to these particular embodiments. All skilled in the art will know that modifications and changes can be made to the present invention without departing from its spirit and scope. The present invention covers all alternatives, modifications, equivalents, and other items that fall within the scope and spirit of the invention as described in the claims.

Click here to view the patent on Google Patents.

What is a software medical device?

The FDA can refer to software functions that include ” Software As a Medical Device” and “Software in a Medical Device(SiMD)”, which are software functions that are integral to (embedded in a) a medical device.

Section 201(h),?21 U.S.C. 321(h),(1) defines a medical device to be?an apparatus, implements, machine, contrivances, implant, in vitro regulator, or other similar or related articles, as well as a component or accessory. . . (b) is intended for diagnosis or treatment of disease or other conditions in humans or animals. (c) Is intended to alter the structure or function of human bodies or animals. To be considered a medical device, and thus subject to FDA regulation, the software must meet at least one of these criteria:

  • It must be used in diagnosing and treating patients.
  • It must not be designed to alter the structure or function of the body.

If your software is designed to be used by healthcare professionals to diagnose, treat, or manage patient information in hospitals, the FDA will likely consider such software to be medical devices that are subject to regulatory review.

Is Your Software a Medical Device?

FDA’s current oversight, which puts more emphasis on the functionality of the software than the platform, will ensure that FDA does not regulate medical devices with functionality that could be dangerous to patient safety. Examples of Device Software and Mobile Medical Apps FDA is focused on

  • Software functions that aid patients with diagnosed mental disorders (e.g., depression, anxiety, and post-traumatic stress disorder (PTSD), etc.) by providing “Skill of the Day”, a behavioral technique, or audio messages, that the user can access when they are experiencing anxiety.
  • Software functions that offer periodic reminders, motivational guidance, and educational information to patients who are recovering from addiction or smokers trying to quit;
  • Software functions that use GPS location data to alert asthmatics when they are near high-risk locations (substance abusers), or to alert them of potential environmental conditions that could cause symptoms.
  • Software that uses video and games to encourage patients to exercise at home.
  • Software functions that prompt users to choose which herb or drug they wish to take simultaneously. They also provide information about interactions and give a summary of the type of interaction reported.
  • Software functions that take into account patient characteristics, such as gender, age, and risk factors, to offer patient-specific counseling, screening, and prevention recommendations from established and well-respected authorities.
  • Software functions that use a list of common symptoms and signs to give advice about when to see a doctor and what to do next.
  • Software functions that help users to navigate through a questionnaire about symptoms and to make a recommendation on the best type of healthcare facility for them.
  • These mobile apps allow users to make pre-specified nurse calls or emergency calls using broadband or cell phone technology.
  • Apps that allow patients or caregivers to send emergency notifications to first responders via mobile phones
  • Software that tracks medications and provides user-configured reminders to improve medication adherence.
  • Software functions that give patients access to their health information. This includes historical trending and comparisons of vital signs (e.g. body temperature, heart rate or blood pressure).
  • Software functions that display trends in personal healthcare incidents (e.g. hospitalization rates or alert notification rate)
  • Software functions allow users to electronically or manually enter blood pressure data, and to share it via e-mail, track it and trend it, and upload it to an electronic or personal health record.
  • Apps that offer mobile apps for tracking and reminders about oral health or tools to track users suffering from gum disease.
  • Apps that offer mobile guidance and tools for prediabetes patients;
  • Apps that allow users to display images and other messages on their mobile devices, which can be used by substance abusers who want to quit addictive behaviors.
  • Software functions that provide drug interaction and safety information (side effects and drug interactions, active ingredient, active ingredient) in a report based upon demographic data (age and gender), current diagnosis (current medications), and clinical information (current treatment).
  • Software functions that allow the surgeon to determine the best intraocular lens powers for the patient and the axis of implantation. This information is based on the surgeon’s inputs (e.g., expected surgically induced astigmatism and patient’s axial length, preoperative corneal astigmatism etc.).
  • Software, usually mobile apps, converts a mobile platform into a regulated medical device.
  • Software that connects with a mobile platform via a sensor or lead to measure and display electrical signals from the heart (electrocardiograph; ECG).
  • Software that attaches a sensor or other tools to the mobile platform to view, record and analyze eye movements to diagnose balance disorders
  • Software that collects information about potential donors and transmits it to a blood collection facility. This software determines if a donor is eligible to collect blood or other components.
  • Software that connects to an existing device type in order to control its operation, function, or energy source.
  • Software that alters or disables the functions of an infusion pump
  • Software that controls the inflation or deflation of a blood pressure cuff
  • Software that calibrates hearing aids and assesses sound intensity characteristics and electroacoustic frequency of hearing aids.

What does it mean if your software/SaaS is classified as a medical device?

SaaS founders need to be aware of the compliance risks that medical devices pose. Data breaches are one of the biggest risks. Medical devices often contain sensitive patient data, which is why they are subject to strict regulations. This data could lead to devastating consequences if it were to become unprotected. SaaS companies who develop medical devices need to take extra precautions to ensure their products are safe.

So who needs to apply for FDA clearance? The FDA defines a ?mobile medical app manufacturer? is any person or entity who initiates specifications, designs, labels, or creates a software system or application for a regulated medical device in whole or from multiple software components. This term does not include persons who exclusively distribute mobile medical apps without engaging in manufacturing functions; examples of such distributors may include the app stores.

Software As Medical Device Patenting Considerations

The good news is that investors like medical device companies which have double exclusivity obtained through FDA and US Patent and Trademark Office (USPTO) approvals. As such, the exit point for many medical device companies is an acquisition by cash rich medical public companies. This approach enables medical devices to skip the large and risky go-to-market (GTM) spend and work required to put products in the hands of consumers.

Now that we have discussed the FDA review process, we will discuss IP issues for software medical device companies. Typically, IP includes Patents, Trademarks, Copyrights, and Trade secrets. All of these topics matter and should be considered carefully. However, we will concentrate on patents to demonstrate how careless drafting and lack of planning can lead to problems, namely unplanned disclosures of your design that can then be used as prior art against your patent application.

In general, you should file patent application(s) as soon as practicable to get the earliest priority dates. This will help you when you talk to investors, FDA consultants, prototyping firms, and government agencies, among others. Compliance or other documents filed with any government agency may be considered disclosure to third parties and could make the document public. In general, disclosures to third parties or public availability of an invention trigger a one year statutory bar during which you must file your patent application. Failure to file your application within the required time frame could result in you losing your right to protect your invention.

The information from your FDA application may find its way into FDA databases, including DeNovo, PMA and 510k databases and FDA summaries of orders, decisions, and other documents on products and devices currently being evaluated by the FDA. Your detailed information may be gleaned from Freedom of Information Act requests on your application. This risk mandates that you patent your invention quickly.

When you patent your medical device invention, have a global picture of FDA regulatory framework when you draft your patent application. Be mindful of whether your software/SaaS application discusses the diagnosing and treating patients or affecting the structure or function of the body and add language to indicate that such description in the patent application relates to only one embodiment and not to other embodiments. That way you have flexibility in subsequent discussions with the FDA if you want to avoid classification of your software/SaaS/software as a medical device. In this way, if you wish to avoid FDA registration and oversight, you have the flexibility to do so.

An experienced attorney can assist you in navigating the regulatory landscape and ensure that you comply with all applicable laws. This area of law is complex and constantly changing. It is important that you seek legal advice if you have any questions about whether or not your software should be registered with FDA.

Patent PC is an intellectual property and business law firm that was built to speed startups. We have internally developed AI tools to assist our patent workflow and to guide us in navigating through government agencies. Our business and patent lawyers are experienced in software, SaaS, and medical device technology. For a flat fee, we offer legal services to startups, businesses, and intellectual property. Our lawyers do not have to track time as there is no hourly billing and no charges for calls or emails. We just focus on getting you the best legal work for your needs.

Our expertise ranges from advising established businesses on regulatory and intellectual property issues to helping startups in their early years. Our lawyers are familiar with helping entrepreneurs and fast-moving companies in need of legal advice regarding company formation, liability, equity issuing, venture financing, IP asset security, infringement resolution, litigation, and equity issuance. For a confidential consultation, contact us at 800-234-3032 or make an appointment here.