BACKGROUND OF THE INVENTIONEmbodiments of the present disclosure generally relate to systems and methods for establishing a bi-directional communication link between devices, and more particularly to establishing a communication link between implantable medical devices and external instruments based on an advertisement schedule.
An implantable medical device (IMD) is a medical device that is configured to be implanted within a patient anatomy and commonly employ one or more leads with electrodes that either receive or deliver voltage, current or other electromagnetic pulses from or to an organ or tissue for diagnostic or therapeutic purposes. In general, IMDs include a battery, electronic circuitry, such as a pulse generator and/or a microprocessor that is configured to handle RF communication with an external instrument as well as control patient therapy. The components of the IMD are hermetically sealed within a metal housing (generally referred to as the can).
IMDs are programmed by and transmit data to external instruments controlled by physicians and/or the patient. The external instruments use commercial operating systems (e.g., iOS, Android) that communicate by forming wireless bi-directional communication links with the IMDs. The bi-direction communication link is formed based on advertisement notices received by the external instruments broadcasted by the IMD at a predetermined frequency. The predetermined frequency is based on the wireless protocol. However, the current drain expended by the IMD to broadcast the advertisement notices can be too high where small size is of utmost importance. To conserve current drain, the advertising notices may be output at a lower frequency than defined by the wireless protocol. That is, the period between advertisement notices may be on the order of minutes instead of seconds or milliseconds.
However, the external instruments have built in constraints related to how long the external instrument will monitor for advertising notices for usability and power consumption purposes. If the advertisement notice is not received by the external instrument within the monitoring period the external instrument may repeatedly monitor for advertising notices during the monitoring period at decreasing intervals until the advertisement notice is received. Due to the lower frequency of the advertising notices transmitted by the IMD, if the external instrument misses an advertising pulse, minutes may pass by before the external instrument has an opportunity to receive an advertisement notice during the monitoring period. The number of unsuccessful monitoring periods occurring between advertisement notices drain the power source, such as the battery, of the external instrument. A need exists for improved methods and systems to establish a communication link between the external instrument and an IMD having a modified advertisement notice broadcast frequency.
BRIEF SUMMARYIn accordance with an embodiment herein, a method is provided for establishing a bi-directional communication link. The method includes configuring an external instrument to define a scanning interval based on an advertising schedule transmitted by a medical device implanted in a patient. The method further includes configuring the external instrument to establish a wireless bi-directional communication link with the implantable medical device (IMD) based on an advertisement notice occurring during the scanning interval defined by a wireless protocol. The method further includes delivering therapy to the patient in accordance with therapeutic protocols stored in the IMD or communicated to the IMD by the external instrument.
In an embodiment, a system for establishing a hi-directional communication link is provided. The system includes an implantable medical device (IMD) having a sensing circuit to collect sensed data. The IMD includes a radio frequency (RF) circuit and a memory. The memory includes an advertising schedule based on a wireless protocol. The IMD is configured to transmit the advertising schedule during a first communication session to an external instrument. The external instrument includes one or more processors that are electrically coupled to an RF circuit and a memory. The one or more processors are configured to define a scanning interval based on the advertising schedule. The RF circuit of the external instrument is configured to establish a wireless bi-directional communication link with the IMD over the wireless protocol based on the scanning interval.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates simplified block diagram of a system for initiating a bi-directional communication link, according to an embodiment of the present disclosure.
FIG. 2 illustrates a block diagram of exemplary internal components of an implantable medical device, according to an embodiment of the present disclosure.
FIG. 3 illustrates a block diagram of exemplary internal components of an external instrument, according to an embodiment of the present disclosure.
FIG. 4 illustrates a flowchart of a method for establishing a bi-directional communication link with an implantable medical device.
FIG. 5A illustrates a timing diagram of establishing wireless bi-directional communication links between an implantable medical device and an external instrument, according to an embodiment of the present disclosure.
FIG. 5B illustrates a timing diagram of transmissions between an implantable medical device and an external instrument during a segment of the timing diagram ofFIG. 5A, according to an embodiment of the present disclosure.
FIG. 6 illustrates a flowchart of a method to calculate a scanning interval based on an advertising schedule, according to an embodiment of the present disclosure.
FIG. 7 illustrates a block diagram of exemplary internal components of an implantable medical device, according to an embodiment of the present disclosure.
DETAILED DESCRIPTIONWhile multiple embodiments are described, still other embodiments of the described subject matter will become apparent to those skilled in the art from the following detailed description and drawings, which show and describe illustrative embodiments of disclosed inventive subject matter. As will be realized, the inventive subject matter is capable of modifications in various aspects, all without departing from the spirit and scope of the described subject matter. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not restrictive.
Various embodiments described herein include a method and/or system to provide an advertising notice schedule to establish a wireless bi-directional communication link between an implantable medical device (IMD) and an external instrument (EI). The advertising schedule is based on a modified advertisement interval relative to a wireless protocol defining the wireless bi-directional communication link. For example, the advertising schedule may include information on when subsequent advertising notices are to be transmitted by the IMD, an advertisement interval or frequency of transmissions of the advertising notices by the IMD, and/or the like. The EI defines a scanning interval to monitor for advertisement notices delivered by the IMD. The scanning interval is configured by the EI based on the advertising schedule such that the scanning interval occurs concurrently with and/or is synchronous with the advertisement notice. For example, the EI will delay the scanning interval to listen for the advertising notice until the EI knows the advertising notice is scheduled to be output from the IMD. The EI calculates when the advertising notice is scheduled to be transmitted by the IMD based on information included in the advertising schedule such as an advertising interval, an advertising delay, and/or the like. When the EI and IMD establish the wireless bi-directional communication link, the IMD may transmit the advertising schedule to the EI, prior to termination of the link, in order to adjust the timing information between the IMD and the EI for subsequent communication sessions.
A technical effect of various embodiment described herein allow an adjusted (e.g., slower) advertising rate without an impact to the time it takes to establish a wireless bi-directional communication link between the IMD and the EI. A technical effect of various embodiments described herein include decreasing battery drain for both the IMD and the EI to establish a wireless bi-directional communication link.
FIG. 1 illustrates a simplified block diagram of asystem100 for initiating a bi-directional communication link. Thesystem100 may include an IMD101 and an EI201 (e.g., table computer, smart phone, smart watch, laptop, and/or the like), according to an embodiment. TheIMD101 may be implanted within a patient106 (e.g., proximate to and/or within aheart103, proximate to the spinal cord). Additionally or alternatively, the IMD101 may have components that are external to the patient, for example, theIMD101 may include a neuro external pulse generator (EPG). Optionally, the IMD101 may be one of various types of implantable devices, such as, for example, neurostimulator, electrophysiology (EP) mapping and radio frequency (RF) ablation system, an implantable pacemaker, implantable cardioverter-defibrillator (ICD), defibrillator, cardiac rhythm management (CRM) device, an implantable pulse generator (IPG), or the like.
Optionally, the IMD101 may be a leadless pacer, examples of which are disclosed in U.S. Pat. No. 9,072,913, entitled, “RATE RESPONSIVE LEADLESS CARDIAC PACEMAKER,” and U.S. Pat. No. 9,168,383, entitled “LEADLESS CARDIAC PACEMAKER WITH CONDUCTED COMMUNICATION,” METHOD OF FABRICATING STIMULATION LEAD FOR APPLYING ELECTRICAL STIMULATION TO TISSUE OF A PATIENT,” which are expressly incorporated herein by reference. Additionally or alternatively, the IMD101 may be a leadless monitor, example of which are disclosed in U.S. patent application having Docket No. A15E1059, entitled, “METHOD AND SYSTEM TO DISCRIMINATE RHYTHM PATTERNS IN CARDIAC ACTIVITY,” which is expressly incorporated herein by reference.
TheEI201 is configured to establish a wirelessbi-directional communication link104 with theIMD101. Thecommunication link104 allows theEI201 to receive measurements from theIMD101, and to program or send instructions to theIMD101. Thecommunication link104 may use a standard wireless protocol such as Bluetooth Low Energy, Bluetooth, Medical Implant Communication Service, and/or the like. TheEI201 may be located within a home of the patient106, a hospital, an automobile, at an office of the patient106, or the like.
FIG. 2 illustrates a block diagram of exemplary internal components of theIMD101. The systems described herein can include or represent hardware and associated instructions (e.g., software stored on a tangible and non-transitory computer readable storage medium, such as a computer hard drive, ROM, RAM, or the like) that perform the operations described herein. The hardware may include electronic circuits that include and/or are connected to one or more logic-based devices, such as microprocessors, processors, controllers, or the like. Additionally or alternatively, one or more of these devices may be hard-wired with logic circuits to perform these operations.
TheIMD101 is for illustration purposes only, and it is understood that the circuitry could be duplicated, eliminated or disabled in any desired combination to provide a device capable of treating the appropriate chamber(s) with cardioversion, defibrillation and/or pacing stimulation as well as providing for apnea detection and therapy. Additionally or alternatively, theIMD101 may be used to generate electrical stimulation for application to a desired area of a body, such as a spinal cord stimulation, as described later herein corresponding toFIG. 8.
Thehousing138 for theIMD101, shown schematically inFIG. 2, is often referred to as the “can”, “case” or “case electrode” and may be programmably selected to act as the return electrode for all “unipolar” modes. Thehousing138 may further be used as a return electrode alone or in combination with one or more of the coil electrodes for shocking purposes. Thehousing138 further includes a connector (not shown) having a plurality of terminals,142,152,154,156 and158 (shown schematically and, for convenience, the names of the electrodes to which they are connected are shown next to the terminals. A right atrial tip terminal (ARTIP)142 is adapted for connection to the atrial tip electrode and a right atrial ring terminal may be adapted for connection to right atrial ring electrode. A left ventricular tip terminal (VLTIP)144, a left atrial ring terminal (ALRING)146, and a left atrial shocking terminal (ALCOIL)148 are adapted for connection to the left ventricular ring electrode, and a left atrial tip electrode and a left atrial coil electrode respectively. A right ventricular tip terminal (VRTIP)152, a right ventricular ring terminal (VRRING)154, a right ventricular shocking terminal (RVCOIL)156, and an SVC shocking terminal (SVC COIL)158 are adapted for connection to the right ventricular tip electrode, right ventricular ring electrode, an RV coil electrode, and an SVC coil electrode, respectively.
An acoustic terminal (ACT)150 is adapted to be connected to an external acoustic sensor or an internal acoustic sensor, depending upon which (if any) acoustic sensors are used. Terminal151 is adapted to be connected to a blood sensor to collect measurements associated with glucose levels, natriuretic peptide levels, or catecholamine levels.
TheIMD101 includes acontroller circuit160 which controls operation of theIMD101. The controller circuit160 (also referred to herein as a processor module or unit) may include one or more processors, or equivalent control circuitry, designed specifically for controlling the delivery of stimulation therapy and may further include RAM or ROM memory, logic and timing circuitry, state machine circuitry, and I/O circuitry. Typically, thecontroller circuit160 includes the ability to process or monitor input signals (data) as controlled by program code stored in memory. The details of the design and operation of thecontroller circuit160 are not critical to the invention. Rather, anysuitable controller circuit160 may be used that carries out the functions described herein. Among other things, thecontroller circuit160 receives, processes, and manages storage of digitized cardiac data sets from the various sensors and electrodes. For example, the cardiac data sets may include IEGM data, pressure data, heart sound data, and the like.
TheIMD101 includes anatrial pulse generator170 and a ventricular/impedance pulse generator172 to generate pacing stimulation pulses for delivery by the rightatrial lead130, theright ventricular lead131, and/or thecoronary sinus lead132 via an electrode configuration switch174. It is understood that in order to provide stimulation therapy in each of the four chambers of the heart, the atrial and ventricular pulse generators,170 and172, may include dedicated, independent pulse generators, multiplexed pulse generators or shared pulse generators. The pulse generators,170 and172, are controlled by thecontroller circuit160 via appropriate control signals,176 and178, respectively, to trigger or inhibit the stimulation pulses.
TheIMD101 includes a neuro stimulationpulse generator circuit192 to generate stimulation pulses for a brain or spinal cord nervous system. The stimulation pulses are delivered by a plurality of electrodes through theneuro output lead191. The neuro stimulationpulse generator circuit192 is controlled by thecontroller circuit160 via appropriate control signals193 to trigger or generate the stimulation pulses.
Thecontroller circuit160 further includestiming control circuitry179 used to control the timing of such stimulation pulses (e.g., pacing rate, atria-ventricular (AV) delay, atrial interconduction (A-A) delay, or ventricular interconduction (V-V) delay, etc.) as well as to keep track of the timing of refractory periods, blanking intervals, noise detection windows, evoked response windows, alert intervals, marker channel timing, and the like. Switch174 includes a plurality of switches for connecting the desired electrodes to the appropriate I/O circuits, thereby providing complete electrode programmability. Accordingly, the switch174, in response to acontrol signal180 from thecontroller circuit160, determines the polarity of the stimulation pulses (e.g., unipolar, bipolar, etc.) by selectively closing the appropriate combination of switches (not shown) as is known in the art.
Atrial sensing circuit182 andventricular sensing circuit184 may also be selectively coupled to the rightatrial lead130,coronary sinus lead132, and theright ventricular lead131, through the switch174 for collecting sensed data corresponding cardiac activity in each of the four chambers of the heart. Accordingly, the atrial (ATR SENSE) and ventricular (VTR SENSE) sensing circuits,182 and184, may include dedicated sense amplifiers, multiplexed amplifiers or shared amplifiers. The outputs of the atrial and ventricular sensing circuits,182 and184, are connected to thecontroller circuit160 which, in turn, receives the sensed data and is able to trigger or inhibit the atrial and ventricular pulse generators,170 and172, respectively, in a demand fashion in response to the absence or presence of cardiac activity in the appropriate chambers of the heart.
Cardiac signals are also applied to the inputs of an analog-to-digital (A/D)data acquisition system190. Thedata acquisition system190 is configured to acquire IEGM signals, convert the raw analog data into a digital IEGM signal, and store the digital IEGM signals inmemory194 for later processing and/or RF transmission to theEI201. Thedata acquisition system190 is coupled to the rightatrial lead130, thecoronary sinus lead132, and theright ventricular lead131 through the switch174 to sample cardiac signals across any combination of desired electrodes. Thedata acquisition system190 may also be coupled, through switch174, to one or more of the acoustic sensors. Thedata acquisition system190 acquires, performs A/D conversion, produces and saves the digital pressure data, and/or acoustic data.
Thecontroller circuit160 controls the acoustic sensor and/or a physiologic sensor to collect heart sounds during one or more cardiac cycles. The heart sounds include sounds representative of a degree of blood flow turbulence. The acoustic sensor and/or physiologic sensor collects the heart sounds that include S1, S2 and linking segments. Thecontroller circuit160 may change a value for at least one of the pacing parameters between the cardiac cycles. Thecontroller circuit160 implements one or more processes described herein to determine values for one or more pacing parameters that yield a desired level of hemodynamic performance.
Thecontroller circuit160 includes ananalysis module171 and asetting module173 that function in accordance with embodiments described herein. Theanalysis module171 analyzes a characteristic of interest from the heart sounds within at least a portion of the linking segment. Thesetting module173 sets a desired value for the pacing parameter based on the characteristic of interest from the heart sounds for at least the portion of the linking segment. The pacing parameter may represent at least one of an AV delay, a VV delay, a VA delay, intra-ventricular delays, electrode configurations and the like. Thecontroller circuit160 changes at least one of the AV delay, the VV delay, the VA delay, the intra-ventricular delays, electrode configurations and like in order to reduce systolic turbulence and regurgitation.
TheRF circuit110 may be configured to handle and/or manage the bi-directional communication link between theIMD101 and theEI201. TheRF circuit110 is controlled by thecontroller circuit160 and may support one or more wireless communication protocols while communicating with theEI201, such as Bluetooth low energy, Bluetooth, Medical Implant Communication Service (MICS), and/or the like. TheRF circuit110 may include a transmitter, receiver, and/or a transceiver. Optionally, theRF circuit110 may be electrically coupled to an antenna (not shown), such as the antenna described in U.S. patent application having Docket No. A15E1048, entitled, “IMPLANTABLE DEVICE HEADER WITH EMBEDDED SENSOR AND ANTENNA,” which is expressly incorporated herein by reference. Protocol firmware may be stored inmemory194, which is accessed by thecontroller circuit160. The protocol firmware provides the wireless protocol syntax for thecontroller circuit160 to assemble data packets, establishcommunication links104, and/or partition data received from theEI201.
Thecontroller circuit160 is coupled to thememory194 by a suitable data/address bus196, wherein the programmable operating parameters used by thecontroller circuit160 are stored and modified, as required, in order to customize the operation ofIMD101 to suit the needs of a particular patient. Thememory194 also stores data sets (raw data, summary data, histograms, etc.), such as the IEGM data, heart sound data, pressure data, Sv02 data and the like for a desired period of time (e.g., 1 hour, 24 hours, 1 month). Thememory194 may store instructions to direct thecontroller circuit160 to analyze the cardiac signals and heart sounds identify characteristics of interest and derive values for predetermined statistical parameters.
The pacing and other operating parameters of theIMD101 may be non-invasively programmed into thememory194 through theRF circuit110 in bi-directional wireless communication with theEI201. TheRF circuit110 is controlled by thecontroller circuit160 and receives data for transmission by acontrol signal111. TheRF circuit110 allows intra-cardiac electrograms, pressure data, acoustic data, Sv02 data, and status information relating to the operation of IMD101 (as contained in thecontroller circuit160 or memory194) to be sent to theEI201 through an establishedbi-directional communication link104. TheRF circuit110 also allows theEI201 to program new pacing parameters for thesetting module173 used by theIMD101.
To establish thecommunication link104 between theEI201 and theIMD101, thecontroller circuit160 may instruct theRF circuit110 to transmit an advertisement notice on an advertisement channel corresponding to the select communication initialization mode of the wireless protocol. The advertisement channel is a point to multipoint, unidirectional, channel to carry a repeating pattern of system information messages such as network identification, allowable RF channels to establish thecommunication link104, and/or the like that is included within the advertisement notice. The advertisement notice may be repeatedly transmitted after a set duration or an advertisement interval based on an advertising schedule stored in thememory194 until thecommunication link104 is established with theEI201.
TheIMD101 may also include aphysiologic sensor112, such as an accelerometer commonly referred to as a “rate-responsive” sensor because it is typically used to record the activity level of the patient or adjust pacing stimulation rate according to the exercise state of the patient. Optionally, thephysiological sensor112 may further be used to detect changes in cardiac output, changes in the physiological condition of the heart, or changes in activity (e.g., detecting sleep and wake states) and movement positions of the patient. While shown as being included withinIMD101, it is to be understood that thephysiologic sensor112 may also be external to theIMD101, yet still be implanted within or carried by the patient. A common type of rate responsive sensor is an activity sensor incorporating an accelerometer or a piezoelectric crystal, which is mounted within thehousing138 of theIMD101.
Other types of physiologic sensors are also known, for example, sensors that sense the oxygen content of blood, respiration rate and/or minute ventilation, pH of blood, ventricular gradient, etc. However, any sensor may be used which is capable of sensing a physiological parameter that corresponds to the exercise state of the patient and, in particular, is capable of detecting arousal from sleep or other movement.
TheIMD101 additionally includes abattery113, which provides operating power to all of the circuits shown. TheIMD101 is shown as havingimpedance measuring circuit115 which is enabled by thecontroller circuit160 via acontrol signal114. Herein, impedance is primarily detected for use in evaluating ventricular end diastolic volume (EDV) but is also used to track respiration cycles. Other uses for an impedance measuring circuit include, but are not limited to, lead impedance surveillance during the acute and chronic phases for proper lead positioning or dislodgement; detecting operable electrodes and automatically switching to an operable pair if dislodgement occurs; measuring respiration or minute ventilation; measuring thoracic impedance for determining shock thresholds; detecting when the device has been implanted; measuring stroke volume; and detecting the opening of heart valves, etc. Theimpedance measuring circuit115 is advantageously coupled to the switch174 so that impedance at any desired electrode may be obtained.
FIG. 3 illustrates a functional block diagram of theEI201 that is operated in accordance with the processes described herein and to interface with theIMD101 as described herein. TheEI201 may be a workstation, a portable computer, a tablet computer, a smart watch, an IMD programmer, a PDA, a cell phone and/or the like. TheEI201 may include aninternal bus301 that may connect/interface with a Central Processing Unit (“CPU”)302,ROM304,RAM306, ahard drive308, aspeaker310, aprinter312, a CD-ROM drive314, a floppy drive316, a parallel I/O circuit318, a serial L/O circuit320, thedisplay322, atouchscreen324, astandard keyboard326,custom keys328, and anRF subsystem330. Theinternal bus301 is an address/data bus that transfers information between the various components described herein. Thehard drive308 may store operational programs as well as data, such as stimulation waveform templates and detection thresholds.
TheCPU302 typically includes a microprocessor, a micro-controller, or equivalent control circuitry, designed specifically to control interfacing with theEI201 and with theIMD101. TheCPU302 may include RAM or ROM memory, logic and timing circuitry, state machine circuitry, and I/O circuitry to interface with theIMD101. The display322 (e.g., may be connected to the video display332). Thedisplay322 displays various information related to the processes described herein. Thetouchscreen324 may display graphic information relating to theIMD101 and include a graphical user interface. The graphical user interface may include graphical icons, scroll bars, buttons, and the like which may receive or detect user ortouch inputs334 for theEI201 when selections are made by the user. Optionally thetouchscreen324 may be integrated with thedisplay322. The keyboard326 (e.g., a typewriter keyboard336) allows the user to enter data to the displayed fields, as well as interface with theRF subsystem330. Furthermore,custom keys328 turn on/off338 (e.g., EVVI) theEI201. Theprinter312 prints copies ofreports340 for a physician to review or to be placed in a patient file, and thespeaker310 provides an audible warning (e.g., sounds and tones342) to the user. The parallel I/O circuit318 interfaces with aparallel port344. The serial I/O circuit320 interfaces with aserial port346. The floppy drive316 acceptsdiskettes348. Optionally, the serial I/O port may be coupled to a USB port or other interface capable of communicating with a USB device such as a memory stick. The CD-ROM drive314 acceptsCD ROMs350.
TheRF subsystem330 includes a central processing unit (CPU)352 in electrical communication with anRF circuit354, which may communicate with bothmemory356 and an analog outcircuit358. The analog outcircuit358 includes communication circuits to communicate with analog outputs364. TheEI201 may wirelessly communicate with theIMD101 and utilize protocols, such as Bluetooth, Bluetooth low energy, MICS, and/or the like. For example, thememory356,ROM304, and/orRAM306 may include Protocol firmware, which is accessed by theCPU352 and/or302. The protocol firmware provides the wireless protocol syntax for theCPU352 and/or302160 to assemble data packets, establishcommunication links104, and/or partition data received from theIMD101.
FIG. 4 illustrates a flowchart of amethod400 for establishing a bi-directional communication link between theEI201 and theIMD101. Themethod400 may be implemented as a software algorithm, package, or system that directs one or more hardware circuits or circuitry to perform the actions described herein. For example, the operations of themethod400 may represent actions to be performed by one or more circuits that include or are connected with processors, microprocessors, controllers, microcontrollers, Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other logic-based devices that operate using instructions stored on a tangible and non-transitory computer readable medium (e.g., a computer hard drive, ROM, RAM, EEPROM, flash drive, or the like), such as software, and/or that operate based on instructions that are hardwired into the logic of the.
FIG. 4 will be described in reference toFIGS. 5A-B.
Figure SA is a timing diagram500 of establishing the wirelessbi-directional communication link104 between theIMD101 and theEI201. The timing diagram500 includes two communication sessions, a first communication session501 and asecond communication session518. During thecommunication sessions501,518 theIMD101 and theEI201 may exchange data packets along the wirelessbi-directional communication link104. Each of thecommunication sessions501,518 are established by theIMD101 and theEI201 based on anadvertisement state508,514 and an establishingstate512,516 defined by the wireless protocol of the wirelessbi-directional communication link104.
During theadvertising state508 and514, theIMD101 may periodically transmit data packets corresponding to advertisement notices along one or more advertising channels. For example, the advertisement notice may be repeated, at a set interval corresponding to an advertisement interval. The advertisement notices may include frequency synchronization information utilized to form thecommunication link104, address information of theIMD101, address information of theEI201, pairing and/or bonding information, and/or the like to form the wirelessbi-directional communication link104. The information contained in the advertisement notice may be utilized by theEI201 to establish the wirelessbi-directional communication link104 during the establishingstate512 and516.
The establishingstate512 and516 may correspond to theEI201 receiving the advertisement notice and transmitting a request to theIMD101 to establish the wirelessbi-directional communication link104. During the establishingstate512 and516, theEI201 may monitor the one or more advertisement channels during a scanning interval for the advertisement notice. The scanning interval corresponds to a length of time theEI201 may listen to the one or more advertising channels to receive the advertisement notice. When theEI201 receives the advertisement notice, theEI201 may transmit a data packet representing a connection request along the advertisement channel of the received advertisement notice to theIMD101. The connection request may include instructions, such as a frequency of the data channel for the wirelessbi-directional communication link104. When theIMD101 receives and confirms the connection request, theIMD101 may monitor the data channel identified within the connection request for further instructions from theEI201, thereby establishing thebi-directional communication link104 starting thecommunication sessions501,518. Additionally or alternatively, theEI201 and theIMD101 may initiate a pairing and/or bonding procedure as described in in U.S. patent application Ser. No. 14/091,809, entitled, “SYSTEM AND METHODS FOR ESTABLISHING A COMMUNICATION SESSION BETWEEN AN IMPLANTABLE MEDICAL DEVICE AND AN EXTERNAL DEVICE,” which is expressly incorporated herein by reference.
During thecommunication sessions501 and518, theIMD101 may transmit sensed data of the patient. For example, theIMD101 may transmit cardiac information, patient physiological information, pulsing information, and/or the like acquired by theIMD101. TheEI201 may receive the sensed data from theIMD101. Additionally or alternatively, theEI201 may reconfigure theIMD101. For example, theEI201 may transmit new stimulation parameters, clear the sensed data store in thememory194, and/or the like. TheEI201 and/or theIMD101 may further terminate thecommunication sessions501 and518 closing the wirelessbi-directional communication link104 between theEI201 and theIMD101. When thelink104 is closed, theIMD101 may begin transmitting the advertising notices returning to theadvertising state512 and514.
In connection withFIG. 4, theIMD101 adjusts and/or updates theEI201 to an advertising schedule utilized by theIMD101 during the advertisement states508,514. Based on the advertising schedule, theEI201 may adjust and/or configure the scanning interval during the establishingstate512 and516 based on the advertising schedule. The advertising schedule may include information on one or more parameters of theIMD101 during theadvertisement state508,514.
Beginning at402 (FIG. 4), theEI201 may receive the advertising schedule from theIMD101. In reference toFIG. 5B, theIMD101 may include the advertising schedule within a data packet530aduring the first communication session501.
FIG. 5B illustrates a timing diagram of transmissions between theIMD101 and theEI201 during a segment510 of the timing diagram500 ofFIG. 5A. The segment510 illustrates signals and/or data transmitted between theIMD101 and theEI201 during a portion of the first andsecond communication session501 and518, theadvertisement state514, and the establishingstate516. For example, during thecommunication sessions501 and518 theIMD101 and theEI201 may exchange data as data packets530 (including530a) and540 (including540a-b), respectively. In various embodiments, thedata packets530 transmitted by theIMD101 may include cardiac information, patient physiological information, pulsing information, and/or the like acquired by theIMD101.
Additionally or alternatively, the advertising schedule may be included within one or more of thedata packets530, such as the data packet530a. The advertising schedule within the data packet530amay include information on when subsequent advertising notices are to be transmitted by theIMD101. For example, the advertising schedule may include anadvertisement delay507 that corresponds to a length of time for the transmission of a first advertising notice505asubsequent to a termination (e.g., at502) of the first communication session501. Theadvertisement delay507 may be a number of clock ticks (e.g., based on an internal system clock of the IMD101), a timestamp, and/or the like. Optionally, the advertising schedule may include anadvertisement interval509 corresponding to a length of time between transmission of consecutive advertisement notices (e.g.,505band505c). Additionally or alternatively, the advertising schedule may include a frequency of transmissions of the advertising notices505, and/or the like. It may be noted that theadvertisement interval509 of the advertising schedule conflicts with the wireless protocol of the wirelessbi-directional communication link104. For example, theadvertisement interval509 utilized by theIMD101 during theadvertisement state514 may contradict and/or fall outside the specified length of theadvertisement interval509 provided in the wireless protocol for the wirelessbi-directional communication link104.
For example, theEI201 and theIMD101 may utilize the Bluetooth Low Energy (“BLE”) protocol. The BLE protocol is defined within “Bluetooth Specification Version 4.1,” published Dec. 3, 2013 (incorporated herein by reference). The BLE protocol defines an advertisement interval to have a length less than or equal to ten milliseconds. In various embodiments, the advertising schedule followed by theIMD101 defines theadvertisement interval509 that is greater than ten milliseconds (e.g., more than two minutes). By having anadvertisement interval509 greater than ten milliseconds, theadvertisement interval509 is not within the defined length of the advertising schedule as provided by the BLE protocol and conflicts with the BLE protocol.
TheIMD101 may transmit the advertising schedule within the data packet530ain response to an advertising schedule request and/or termination request from theEI201. For example, a termination request for the first communication session501 may be included in the data packet540afrom theEI201. TheIMD101 may receive the data packet540avia theRF circuit111. Thecontroller circuit160 may verify the termination request by comparing particular frames of the data packet540a(e.g., a header of the data packet, the payload of the data packet, and/or the like). When thecontroller circuit160 verifies the termination request of the data packet540a, thecontroller circuit160 instructs theRF circuit111 to transmit the data packet530athat includes the advertising schedule to theEI201. Optionally, the data packet530amay include a confirmation that the termination request has been received by theIMD101.
At404 (FIG. 4), theEI201 may store the advertising schedule. For example, in reference toFIG. 5B, theEI201 may receive the data packet530avia theRF subsystem330. TheCPU352 or302 may partition the advertising schedule from the data packet530abased on the protocol syntax and store the advertising schedule in thememory356,ROM304,RAM306, and/or thehard drive308.
At406 (FIG. 4), theEI201 and theIMD101 may end the communication session. For example, in reference toFIG. 5B, when thecontroller circuit160 verifies the termination request of the data packet540a, thecontroller circuit160 may terminate or close thebi-directional communication link104 referenced as502. In another example, theET201 may terminate or close the bi-directional communication link when the data packet530acontaining the advertising schedule is received.
After thebi-directional communication link104 is terminated (referenced as502 inFIGS. 5A-B) theIMD101 may continually broadcast the one or more advertisement notices505 (including505a-c) over one or more advertisement channels based on the advertising schedule and theadvertisement interval509. For example, the timing diagram510 illustrates a series of advertisement notices505 transmitted by theIMD101 along one or more advertisement channels. The advertisement notices505 represent a data packet that may contain frequency synchronization information utilized to form thebi-directional communication link104, address information of theIMD101, address information of theEI201, and/or the like as defined by the wireless protocol. Additionally or alternatively, theadvertisement notice505 may include pairing and/or bondable information (e.g., passkey seed information). Theadvertisement notice505 is repeated based on theadvertisement interval509, until the wirelessbi-directional communication link104 is established. Theadvertisement interval509 represents a length of time between advertisement notices505 transmitted by theIMD101. Theadvertisement interval509 may be predetermined and stored in thememory194.
At408 (FIG. 4), theCPU302 may determine when arequest504 for a new communication session is received. Therequest504 may correspond to a received instruction by theEI201 and/or theRF subsystem330 to establish a wirelessbi-directional communication link104 with theIMD101. Therequest504 may be received based on a predetermined schedule stored in theROM304,RAM306, and/orhard drive308. For example, the predetermined schedule may correspond to a plurality of connection times on when to acquire information (e.g., cardiac information, patient physiological information, pulsing information, and/or the like) from theIMD101. During one of the connection times, theCPU302 may determine arequest504 for a new communication is received, and to instruct theRF subsystem330 to establish a wirelessbi-directional communication link104 with theIMD101. Additionally or alternatively, therequest504 may be received in response to a user input from thetouchscreen324 and/orstandard keyboard336. For example, the user operating theEI201 may select a graphical icon of a graphical user interface shown on thedisplay322 that represents a connection request. Based on the received selection of the graphical icon, theCPU302 may determine that therequest504 to form a wirelessbi-directional communication link104 with theIMD101 is received.
At410, theCPU302 may determine ascanning interval503 based on the advertising schedule. During thescanning interval503, theEI201 monitors the one or more advertisement channels to detect one or more of the advertisement notices505. For example, the CPU302 (FIG. 3) of theEI201 instructs theRF subsystem330 to monitor one or more advertisement channels during thescanning interval503. A length of thescanning interval503 may be a predetermined length store in thememory356, theROM304, theRAM306, and/orhard drive308. Optionally, thescanning interval503 may be configured by the user, such that, thescanning interval503 may be increased or decreased based on a user input received by thetouchscreen324 orstandard keyboard326. TheCPU302 may determine when thescanning interval503 is to occur relative to therequest504 based on the advertising schedule. For example, theCPU302 may configure the timing on when thescanning interval503 occurs to be synchronous with and/or occurs during (e.g., concurrent with) the transmission of a subsequent advertisement notice505cwith respect to therequest504. TheCPU302 may configure when thescanning interval503 occurs to increase the probability of thescanning interval503 occurring during at least one of the advertisement notices505 transmitted by theIMD101 relative to scanning intervals that are aligned with the requirements wireless protocol. A technical effect of thescanning interval503 configured by theCPU302 may reduce a number of neededscanning intervals503 of theEI201 in order to form abi-directional communication link104 with theIMD101. As described in connectionFIG. 6, theCPU302 may determine when the advertisement notice505coccurs based on the advertising schedule received within the data packet530a.
FIG. 6 illustrates a flowchart of amethod600 to calculate a time of thescanning interval503 based on the advertising schedule, according to an embodiment of the present disclosure. Themethod600 may be implemented as a software algorithm, package, or system that directs one or more hardware circuits or circuitry to perform the actions described herein. For example, the operations of themethod400 may represent actions to be performed by one or more circuits that include or are connected with processors, microprocessors, controllers, microcontrollers, Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other logic-based devices that operate using instructions stored on a tangible and non-transitory computer readable medium (e.g., a computer hard drive, ROM, RAM, EEPROM, flash drive, or the like), such as software, and/or that operate based on instructions that are hardwired into the logic of the.
Beginning at602, theCPU302 may determine when the first advertisement notice505ais transmitted by theIMD101. For example, in connection withFIGS. 4 and 5B, at402, theCPU302 may receive the advertising schedule from theIMD101 based on the data packet530a. The advertising schedule includes theadvertisement delay507 between the data packet530ato the first advertisement notice505a. For example, theadvertisement delay507 may be a number of clock ticks corresponding to an amount of time in seconds, such as 120 seconds. Additionally or alternatively, theCPU302 may retrieve the advertising schedule stored in thememory356, theROM304, theRAM306, and/or hard drive308 (e.g., at404 ofFIG. 4). Based on the advertising schedule, theEI201 may calculate when the first advertising notice505awill be transmitted by theIMD101 subsequent to the termination of the communication session501. For example, theCPU302 may add theadvertisement delay507 to a timestamp of the data packet530a. The timestamp may correspond to when theEI201, such as theRF subsystem330, receives the data packet530a. Additionally or alternatively, the timestamp may correspond to when the data packet530awas transmitted by theIMD101. For example, theEI201 may identify the timestamp based on a header of the data packet530a. TheEI201 may store the calculated time of the first advertising notice505ain thememory356, theROM304, theRAM306, and/or thehard drive308.
At604, theCPU302 may calculate an elapsedtime513 between the first advertisement notice505aand the communication request (e.g., the request504). For example, therequest504 is received at a receive timestamp. TheCPU302 may determine the elapsedtime513 between the first advertisement notice505aand therequest504 by subtracting the calculated time determined at602 from the receive timestamp.
At606, theCPU302 may calculate an elapsedtime515 from a preceding advertisement notice505 (e.g., the advertising notice505b) relative to the communication request (e.g., the request504). For example, theCPU302 may perform a modulo operation to identify a remainder after division of the elapsedtime513 by theadvertisement interval509. The remainder representing the elapsedtime515.
At608, theCPU302 may determine thescanning interval503 by subtracting the elapsedtime515 from theadvertisement interval509. For example, by subtracting the elapsedtime515 from theadvertisement interval509 theCPU302 determines a time delay517 from therequest504 to when the subsequent advertisement notice505cis likely to occur. Based on the time delay517, theCPU302 may determine when thescanning interval503 occurs. For example, theCPU302 may instruct theRF subsystem330 to monitor the one or more advertisement channels after the time delay517 during a time period corresponding to thescanning interval503.
Additionally or alternatively, theCPU302 may reduce the time delay517 by a predetermined tolerance. The predetermined tolerance may be stored in theROM304,RAM306, and/orhard drive308. The predetermined tolerance may be configured to adjust thescanning interval503 to occur prior to the calculated time of the advertisement notice505cby theCPU302. For example, based on the predetermined tolerance theCPU302 may configure thescanning interval503 to precede the advertisement notice505cto increase a likelihood the advertisement notice505ctransmitted by theIMD101 occurs during and/or subsequent to a start of thescanning interval503.
Additionally or alternatively, theabove method600 may form Equation 1. The variable G represents when thescanning interval503 occurs, and the variable D represents theadvertisement interval509. The variable C represents the receive time stamp of when therequest504 is received by theCPU302. The variable B represents the elapsedtime515.
G=D−((C−B)modD) Equation 1
Returning toFIG. 4, at412, theCPU302 may determine if thescanning interval503 is reached. For example, when therequest504 is received theCPU302 may delay thescanning interval503 until the time delay517 (e.g., calculated at608) after therequest504 is reached. In another example, theCPU302 may delay thescanning interval503 until the time delay517 with the predetermined tolerance is reached.
At416, theCPU302 may instruct theRF subsystem330 to monitor one or more of the advertisement channels based on the advertising schedule corresponding to thescanning interval503.
At418, theCPU302 may determine if the advertisement notice505cis received. For example, theEI201 receives the advertisement notice505c, in the form of a data packet transmitted from theIMD101, theCPU302 analyzes or compares the data packet with the protocol syntax stored in thememory356, theROM304, theRAM306, or thehard drive308. The protocol syntax may include the structure of the advertisement notice505 (e.g., data packet specifications, appropriate number of bits, frequency, or the like) utilized by the wireless protocol. Optionally, the advertisement notice505cmay include a unique code designating the packet as an advertisement notice. By comparing the protocol syntax with the data packet, theCPU302 determines whether the received data packet is the advertisement notice505cusing the wireless protocol of theEI201. If the received data packet is determined not to be an advertisement notice, theEI201 may determine the advertisement notice505cwas not received.
If the advertisement notice505cwas not received, then at420, theCPU302 may instruct thedisplay322 to display a notification. For example, the notification may correspond to a connection error indicative that therequest504 for the wirelessbi-directional communication link104 failed. Additionally or alternatively, theCPU302 may automatically calculate a subsequent scanning interval based on theadvertising interval509. For example, theCPU302 may instruct theRF subsystem330 to monitor one or more of the advertisement channels corresponding to the subsequent scanning interval after theadvertising interval509. Optionally, theCPU302 may adjust a length of the subsequent scanning interval. For example, the subsequent scanning interval may have a longer length relative to thescanning interval503. Additionally or alternatively, theCPU302 may adjust the predetermined tolerance to determine the scanning interval
At422, theEI201 and theIMD101 may establish the wirelessbi-directional communication link104. When theCPU302 determines that the data packet received by theRF subsystem330 is the advertisement notice505c(e.g., having the proper syntax), theCPU302 outputs a connection request, such as within a payload of the data packet540bto be transmitted by theRF subsystem330 along the advertisement channel. TheCPU302 constructs the data packet540brepresenting the connection request by adding packet frames and/or a payload corresponding to the one or more communication link parameters such as the address of theIMD101 and/orEI201, error detection codes such as CRC, the communication interval (e.g., length of time betweendata packets530,540), a data channel map, and/or the like. Additionally or alternatively, the payload may include connection instructions (e.g., frequency of the data channel for the wireless bi-directional communication link104) for theIMD101. When the data packet340bhas been formed, theCPU302 outputs the data packet to theRF subsystem330 to be transmitted along the advertisement channel corresponding to the advertisement channel of the advertisement notice505ctransmitted from theIMD101.
The data channel map may correspond to a subset of data channels of the RF channels defined by the wireless protocol. The data channels of the data channel map correspond to the one or more frequencies that can be used by theEI201 and theIMD101 for the wirelessbi-directional communication link104. The data channels selected for the data channel map may be based on a previous bi-directional communication link104 (e.g., the first communication session501) between theEI201 and theIMD101, data channels that are used by theEI201 for alternative wireless bi-directional communication links with other devices (e.g., based on an advertising schedule), and/or the like.
TheRF circuit110 of theIMD101 receives the data packet540bcorresponding to the connection request. TheRF circuit110 may demodulate the RF signal and output the data packet540bto thecontroller circuit160 via theinterconnect111. Thecontroller circuit160 may store the data packet in thememory194 for analysis. Thecontroller circuit160 determines whether the data packet540bis in response to the advertisement notice505cby comparing the address information of the data packet540bwith the address information transmitted by theIMD101 within the advertisement notice505c. If the address information matches, thecontroller circuit160 partitions the payload from the data packet540band carries out the instruction of the connection request from the payload by comparing the instructions to a stored instruction set store in thememory194 for the wireless protocol. Optionally, thecontroller circuit160 may compare the address information of theEI201 within the data packet540bwith a permissible links table stored in thememory194 to determine whether the connection request should be ignored by theIMD101 or partition the payload of the data packet540b.
When thecontroller circuit160 identifies the connection request, thecontroller circuit160 may instruct theRF circuit110 to monitor the select data channel identified in the one or more communication link parameters for further instructions from theEI201, thereby establishing thebi-directional communication link104 at506.
Additional examples of forming a communication link between an IMD and an EI (e.g., external device) is disclosed in U.S. patent application Ser. No. 14/091,809, entitled, “SYSTEM AND METHODS FOR ESTABLISHING A COMMUNICATION SESSION BETWEEN AN IMPLANTABLE MEDICAL DEVICE AND AN EXTERNAL INSTRUMENT,” which is expressly incorporated herein by reference.
FIG. 7 illustrates a block diagram of exemplary internal components of anTMD700, in accordance with an embodiment. For example, theIMD700 may be a neurostimulator adapted to stimulate spinal cord tissue, peripheral nerve tissue, deep brain tissue, cortical tissue, cardiac tissue, digestive tissue, pelvic floor tissue, or any other suitable nerve tissue of interest within a patient's body.
TheIMD700 may include an implantable pulse generator (IPG)750 that is adapted to generate electrical pulses applied to the tissue of a patient. Additionally or alternatively, theIPG750 may be an external neuro pulse generator. TheIPG750 typically comprises a metallic housing that encloses acontroller751, pulse generating circuitry752, a chargingcoil753, abattery754,RF circuit755, battery charging circuitry756, switching circuitry757, memory758, and the like.
The controller751 (also referred to herein as a processor module or unit) typically includes a microprocessor, or equivalent control circuitry, designed specifically for controlling the components of theIPG750 and may further include RAM or ROM memory, logic and timing circuitry, state machine circuitry, and I/O circuitry. Typically, thecontroller751 includes the ability to process or monitor input signals (data) as controlled by program code stored in memory. The details of the design and operation of thecontroller751 are not critical to the invention. Rather, anysuitable controller751 may be used that carries out the functions described herein.
TheIPG750 may comprise a separate or an attached extension component770. If the extension component770 is a separate component, the extension component770 may connect with a “header” portion of theIPG750 as is known in the art. If the extension component770 is integrated with theIPG750, internal electrical connections may be made through respective conductive components. Within theIPG750, electrical pulses are generated by the pulse generating circuitry752 and are provided to the switching circuitry757. The switching circuitry757 connects to outputs of theIPG750. Electrical connectors (e.g., “Bal-Seal” connectors) within theconnector portion771 of the extension component770 or within the IPG header may be employed to conduct various stimulation pulses. The terminals of one or more leads710 are inserted withinconnector portion771 or within the IPG header for electrical connection with respective connectors. Thereby, the pulses originating from theIPG750 are provided to theleads710. The pulses are then conducted through the conductors of thelead710 and applied to tissue of a patient viastimulation electrodes711 that may be coupled to blocking capacitors. Any suitable known or later developed design may be employed forconnector portion771.
Thestimulation electrodes711 may be positioned along a horizontal axis702 of thelead710, and are angularly positioned about the horizontal axis702 so thestimulation electrodes711 do not overlap. Thestimulation electrodes711 may be in the shape of a ring such that eachstimulation electrode711 continuously covers the circumference of the exterior surface of thelead710. Each of thestimulation electrodes711 are separated bynon-conducting rings712, which electrically isolate eachstimulation electrode711 from anadjacent stimulation electrode711. The non-conducting rings712 may include one or more insulative materials and/or biocompatible materials to allow thelead710 to be implantable within the patient. Non-limiting examples of such materials include polyimide, polyetheretherketone (PEEK), polyethylene terephthalate (PET) film (also known as polyester or Mylar), polytetrafluoroethylene (PTFE) (e.g., Teflon), or parylene coating, polyether bloc amides, polyurethane. Thestimulation electrodes711 may be configured to emit the pulses in an outward radial direction proximate to or within a stimulation target. Additionally or alternatively, thestimulation electrodes711 may be in the shape of a split or non-continuous ring such that the pulse may be directed in an outward radial direction adjacent to thestimulation electrodes711. Examples of a fabrication process of thestimulation electrodes711 is disclosed in U.S. patent application Ser. No. 12/895,096, entitled, “METHOD OF FABRICATING STIMULATION LEAD FOR APPLYING ELECTRICAL STIMULATION TO TISSUE OF A PATIENT,” which is expressly incorporated herein by reference.
It should be noted thestimulation electrodes711 may be in various other formations, for example, in a planar formation on a paddle structure as disclosed in U.S. Provisional Application No. 61/791,288, entitled, “PADDLE LEADS FOR NEUROSTIMULATION AND METHOD OF DELIVERING THE SAME,” which is expressly incorporated herein by reference.
Thelead710 may comprise alead body772 of insulative material about a plurality of conductors within the material that extend from a proximal end oflead710, proximate to theIPG750, to its distal end. The conductors electrically couple a plurality of thestimulation electrodes711 to a plurality of terminals (not shown) of thelead710. The terminals are adapted to receive electrical pulses and thestimulation electrodes711 are adapted to apply the pulses to the stimulation target of the patient. Also, sensing of physiological signals may occur through thestimulation electrodes711, the conductors, and the terminals. It should be noted that although thelead710 is depicted with fourstimulation electrodes711, thelead710 may include any suitable number of stimulation electrodes711 (e.g., less than four, more than four) as well as terminals, and internal conductors. Additionally or alternatively, various sensors (e.g., a position detector, a radiopaque fiducial) may be located near the distal end of thelead710 and electrically coupled to terminals through conductors within thelead body772.
For implementation of the components within theIPG750, a processor and associated charge control circuitry for an IPG is described in U.S. Pat. No. 7,571,007, entitled “SYSTEMS AND METHODS FOR USE IN PULSE GENERATION,” which is expressly incorporated herein by reference. Circuitry for recharging a rechargeable battery (e.g., battery charging circuitry756) of anIPG750 using inductive coupling and external charging circuits are described in U.S. Pat. No. 7,212,110, entitled “IMPLANTABLE DEVICE AND SYSTEM FOR WIRELESS COMMUNICATION,” which is expressly incorporated herein by reference.
An example and discussion of “constant current” pulse generating circuitry (e.g., pulse generating circuitry752) is provided in U.S. Patent Publication No. 2006/0170486 entitled “PULSE GENERATOR HAVING AN EFFICIENT FRACTIONAL VOLTAGE CONVERTER AND METHOD OF USE,” which is expressly incorporated herein by reference. One or multiple sets of such circuitry may be provided within theIPG750. Different pulses ondifferent stimulation electrodes711 may be generated using a single set of the pulse generating circuitry752 using consecutively generated pulses according to a “multi-stimset program” as is known in the art. Complex pulse parameters may be employed such as those described in U.S. Pat. No. 7,228,179, entitled “Method and apparatus for providing complex tissue stimulation patterns,” and International Patent Publication Number WO 2001/093953 A1, entitled “NEUROMODULATION THERAPY SYSTEM,” which are expressly incorporated herein by reference. Alternatively, multiple sets of such circuitry may be employed to provide pulse patterns (e.g., tonic stimulation waveform, burst stimulation waveform) that include generated and delivered stimulation pulses through various stimulation electrodes of one or more leads711 as is also known in the art. Various sets of parameters may define the pulse characteristics and pulse timing for the pulses applied to thevarious stimulation electrodes711 as is known in the art. Although constant current pulse generating circuitry is contemplated for some embodiments, any other suitable type of pulse generating circuitry may be employed such as constant voltage pulse generating circuitry.
The stimulation parameters (e.g., amplitude, frequency, type of stimulation waveform) and other operating parameters of theIMD700 may be non-invasively programmed into the memory758 through theRF circuit755 in bi-directionalwireless communication link104. For example, theexternal device201 may permit the user to move electrical stimulation along and/or across one or more of the lead(s)710 usingdifferent stimulation electrode711 combinations by communicating to theIMD700, for example, as described in U.S. Patent Application Publication No. 2009/0326608, entitled “METHOD OF ELECTRICALLY STIMULATING TISSUE OF A PATIENT BY SHIFTING A LOCUS OF STIMULATION AND SYSTEM EMPLOYING THE SAME,” which is expressly incorporated herein by reference. Thecontroller751 controls theRF circuit755 and receives data/transmissions from theRF circuit755. TheRF circuit755 further allows status information relating to the operation of IMD700 (as contained in thecontroller751 or memory758) to be sent to via thebi-directional communication link104.
Thecontroller751 may support a particular wireless communication protocol while communicating with theexternal device201, such as Bluetooth low energy, Bluetooth, ZigBee, Medical Implant Communication Service (“MICS”), or the like. Protocol firmware may be stored in memory758, which is accessed by thecontroller751. The protocol firmware provides the wireless protocol syntax for thecontroller751 to assemble data packets, establishcommunication links104, and partition data received from thebi-directional communication link104.
The memory758 may also contain a pre-defined algorithm that generates a passkey. The passkey may be used to initiate a bonding procedure between theLMD700 and theexternal device201 to establish a secured bi-directional communication session over thebi-directional communication link104. The passkey may be generated based on a dynamic seed and/or a static identification received by theRF circuit755 through the bi-directional communication link104 from theexternal device201 and inputted into the pre-defined algorithm. Optionally, the dynamic seed may be a random number generated by thecontroller751, based on the local system clock of theIMD700, or the like that is transmitted by theRF circuit755 to the external device. Additionally or alternatively, the static identification may be stored on the memory758 representing a product serial identification number of theIMD700, which is a unique number assigned to theIMD700 by a manufacturer of theIMD700. Optionally, the static identification may be a pre-determined number stored on the memory758 set by a user.
Thecontroller751, themicrocontroller160, andCPUs302 and352 may include any processor-based or microprocessor-based system including systems using microcontrollers, reduced instruction set computers (RISC), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), logic circuits, and any other circuit or processor capable of executing the functions described herein. Additionally or alternatively, thecontroller751, themicrocontroller160, andCPUs302 and352 represent circuit modules that may be implemented as hardware with associated instructions (for example, software stored on a tangible and non-transitory computer readable storage medium, such as a computer hard drive, ROM, RAM, or the like) that perform the operations described herein. The above examples are exemplary only, and are thus not intended to limit in any way the definition and/or meaning of the term “controller.” Thecontroller751, themicrocontroller160, andCPUs302 and352 may execute a set of instructions that are stored in one or more storage elements, in order to process data. The storage elements may also store data or other information as desired or needed. The storage element may be in the form of an information source or a physical memory element within thecontroller751, themicrocontroller160, andCPUs302 and352. The set of instructions may include various commands that instruct thecontroller751, themicrocontroller160, andCPUs302 and352 to perform specific operations such as the methods and processes of the various embodiments of the subject matter described herein. The set of instructions may be in the form of a software program. The software may be in various forms such as system software or application software. Further, the software may be in the form of a collection of separate programs or modules, a program module within a larger program or a portion of a program module. The software also may include modular programming in the form of object-oriented programming. The processing of input data by the processing machine may be in response to user commands, or in response to results of previous processing, or in response to a request made by another processing machine.
It is to be understood that the subject matter described herein is not limited in its application to the details of construction and the arrangement of components set forth in the description herein or illustrated in the drawings hereof. The subject matter described herein is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
It is to be understood that the above description is intended to be illustrative, and not restrictive. For example, the above-described embodiments (and/or aspects thereof) may be used in combination with each other. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. While the dimensions, types of materials and coatings described herein are intended to define the parameters of the invention, they are by no means limiting and are exemplary embodiments. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Moreover, in the following claims, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects. Further, the limitations of the following claims are not written in means—plus-function format and are not intended to be interpreted based on 35 U.S.C. §112(f), unless and until such claim limitations expressly use the phrase “means for” followed by a statement of function void of further structure.