As medical device technologies continue to evolve, active implanted medical devices have gained increasing popularity in the medical field. For example, one type of implanted medical device includes neurostimulator devices, which are battery-powered or battery-less devices designed to deliver electrical stimulation to a patient. Through proper electrical stimulation, the neurostimulator devices can provide pain relief for patients or restore bodily functions.
Implanted medical devices (for example, a pulse generator) can be controlled using an electronic programming device such as a clinician programmer or a patient programmer. These programmers can be used by medical personnel or the patient to define the particular electrical stimulation therapy to be delivered to a target area of the patient's body, to alter one or more parameters of the electrical stimulation therapy, or otherwise to conduct communications with a patient.
Despite many advances made in the field of neurostimulation, one drawback is that the existing clinician programmers have not been able to provide a sufficiently versatile simulation of the pulse generator. Currently, a user who wishes to test the capabilities of a clinician programmer would have to establish a connection between the clinician programmer and an actual pulse generator. After the connection has been established, the user may use the clinician programmer to communicate with the pulse generator and verify that the communications produced the correct results. However, establishing an actual connection between a clinician programmer and a pulse generator is not always practical, for example in situations where a salesperson for the clinician programmer merely wants to demonstrate the features of the clinician programmer to a target audience. In addition, even if an actual connection between the clinician programmer and the pulse generator could be made, it is still time-consuming to do so, and it would be more convenient to simulate such connection. Unfortunately, existing clinician programmers lack the capability to provide a satisfactory simulation of an actual pulse generator.
Therefore, although existing clinician programmers have been generally adequate for their intended purposes, they have not been entirely satisfactory in every aspect.
One aspect of the present disclosure involves an electronic apparatus for simulating a pulse generator. The electronic device includes: a touchscreen display configured to receive an input from a user and display an output; a memory storage component configured to store programming code; and a computer processor configured to execute the programming code to perform the following tasks: providing a graphical user interface via the touchscreen display of the portable electronic device; launching a pulse generator simulator on the portable electronic device in response to a request from the user, wherein the pulse generator simulator provides a virtual pulse generator that duplicates a plurality of functionalities and features of an actual pulse generator; programming the virtual pulse generator based on user input received via the graphical user interface; and displaying one or more statuses of the virtual pulse generator via the graphical user interface.
Another aspect of the present disclosure involves a medical system. The medical system includes: a pulse generator configured to generate electrical pulses for stimulating target nerve tissues of a patient; and a portable electronic device configured to simulate the pulse generator, wherein the portable electronic device includes a non-transitory, tangible machine-readable storage medium storing executable instructions that when executed electronically by one or more processors, perform the following steps: providing a graphical user interface via a touch-sensitive screen of the portable electronic device, the graphical user interface being configured to facilitate interactive user engagements with the portable electronic device; launching a pulse generator simulator on the portable electronic device in response to a request from the user, wherein the pulse generator simulator provides a virtual pulse generator that duplicates a plurality of functionalities and features of the pulse generator; programming the virtual pulse generator based on user input received via the graphical user interface; and displaying one or more statuses of the virtual pulse generator via the graphical user interface.
Yet another aspect of the present disclosure involves a method of simulating a pulse generator on a portable electronic device. The method includes: providing a graphical user interface via a touch-sensitive screen of the portable electronic device, the graphical user interface being configured to facilitate interactive user engagements with the portable electronic device; launching a pulse generator simulator on the portable electronic device in response to a request from the user, wherein the pulse generator simulator provides a virtual pulse generator that duplicates a plurality of functionalities and features of an actual pulse generator; programming the virtual pulse generator based on user input received via the graphical user interface; and displaying one or more statuses of the virtual pulse generator via the graphical user interface.
Yet one more aspect of the present disclosure involves and electronic apparatus for simulating a pulse generator. The electronic apparatus includes: user interface means for communicating with a user; memory storage means for storing executable programming instructions; and computer processor means for executing the programming instructions to perform the following steps: launching a pulse generator simulator in response to a request from the user, wherein the pulse generator simulator provides a virtual pulse generator that duplicates a plurality of functionalities and features of an actual pulse generator that is programmable to deliver electrical stimulation therapy for a patient; programming the virtual pulse generator based on user input received via the user interface means; and displaying one or more statuses of the virtual pulse generator via the user interface means.
Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures. It is emphasized that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion. In the figures, elements having the same designation have the same or similar functions.
It is to be understood that the following disclosure provides many different embodiments, or examples, for implementing different features of the invention. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. Various features may be arbitrarily drawn in different scales for simplicity and clarity.
The use of active implanted medical devices has become increasingly prevalent over time. Some of these implanted medical devices include neurostimulator devices that are capable of providing pain relief by delivering electrical stimulation to a patient. In that regards, electronic programmers have been used to configure or program these neurostimulators (or other types of suitable active implanted medical devices) so that they can be operated in a certain manner. These electronic programmers include clinician programmers and patient programmers, each of which may be a handheld device. For example, a clinician programmer allows a medical professional (e.g., a doctor or a nurse) to define the particular electrical stimulation therapy to be delivered to a target area of the patient's body, while a patient programmer allows a patient to alter one or more parameters of the electrical stimulation therapy.
In recent years, these electronic programmers have achieved significant improvements, for example, improvements in size, power consumption, lifetime, and ease of use. Despite these advances, the capabilities of electronic programmers have not been fully exploited, for example, in terms of providing a versatile simulation or emulation of a pulse generator (an example type of neurostimulator). In general, simulation or emulation refers to the use of computers to imitate or represent another device and the capabilities of that device. Currently, the electronic programmers lack the capability to fully simulate or emulate a pulse generator. Therefore, in order to test the functionalities or demonstrate the features of the electronic programmer, a connection between the electronic programmer and an actual pulse generator would have to be established. After the connection has been established, the user may use the electronic programmer to communicate with the pulse generator and verify that the communications produced the correct results.
However, establishing an actual connection between an electronic programmer and a pulse generator is not always practical. There are situations where a salesperson for the electronic programmer merely wants to demonstrate the features (e.g., features involving the programming of the pulse generator) of the electronic programmer to a target audience. In addition, even if a connection between the electronic programmer and an actual pulse generator could be made, it is still time-consuming to do so, and it would be more convenient to simulate such connection.
Therefore, the current lack of testing and demonstration capabilities has the following shortcomings:
To address the issues discussed above, the present disclosure offers a method and system of providing a versatile simulation or emulation of a pulse generator on an electronic device. In various embodiments, the electronic device may be a clinician programmer, a patient programmer, a tablet computer, or a computer, as discussed below in more detail.
Although an IPG is used here as an example, it is understood that the various aspects of the present disclosure apply to an external pulse generator (EPG) as well. An EPG is intended to be worn externally to the patient's body. The EPG connects to one end (referred to as a connection end) of one or more percutaneous, or skin-penetrating, leads. The other end (referred to as a stimulating end) of the percutaneous lead is implanted within the body and incorporates multiple electrode surfaces analogous in function and use to those of an implanted lead.
The external charger 40 of the medical device system 20 provides electrical power to the IPG 70. The electrical power may be delivered through a charging coil 90. In some embodiments, the charging coil can also be an internal component of the external charger 40. The IPG 70 may also incorporate power-storage components such as a battery or capacitor so that it may be powered independently of the external charger 40 for a period of time, for example from a day to a month, depending on the power requirements of the therapeutic electrical stimulation delivered by the IPG.
The patient programmer 50 and the clinician programmer 60 may be portable handheld devices that can be used to configure the IPG 70 so that the IPG 70 can operate in a certain way. The patient programmer 50 is used by the patient in whom the IPG 70 is implanted. The patient may adjust the parameters of the stimulation, such as by selecting a program, changing its amplitude, frequency, and other parameters, and by turning stimulation on and off. The clinician programmer 60 is used by a medical personnel to configure the other system components and to adjust stimulation parameters that the patient is not permitted to control, such as by setting up stimulation programs among which the patient may choose, selecting the active set of electrode surfaces in a given program, and by setting upper and lower limits for the patient's adjustments of amplitude, frequency, and other parameters.
In the embodiments discussed below, the clinician programmer 60 is used as an example of the electronic programmer. However, it is understood that the electronic programmer may also be the patient programmer 50 or other touch screen programming devices (such as smart-phones or tablet computers) in other embodiments.
Referring to
The other option is using the clinician programmer in a simulator mode, which is referred to as a demo mode in the illustrated embodiment but may also be referred to as a test mode or another suitable name in alternative embodiments. The simulator mode (interchangeably referred to as demo mode hereinafter) may be activated by the user clicking on a button 115 (the “Demo” virtual button displayed in
In some embodiments, the button 115 (the engagement of which gives the user access to the demo mode) may not be displayed until after the user has entered a correct combination of username and password. In other embodiments, the button 115 may be displayed but may not be selectable (e.g., it may be grayed out) until after the correct combination of username and password has been entered. In yet other embodiments, the button 115 may be displayed and may be selectable before the user enters the username and password. In any case, the separation of the button 115 from the button 110 (the engagement of which gives the user normal access to the clinician programmer) helps the user distinguish these options and prevents accidental or inadvertent user selections.
Referring now to
Though the “discovery” of the virtual pulse generator occurs in the patient selection stage/process of stimulation programming in the embodiment shown, it is understood that the virtual pulse generator may be discovered in a different stage/process of stimulation programming as well. For example, as shown in
Referring now to
Referring to
When the clinician programmer communicates with the virtual pulse generator, the communication is performed using the same MICS (Medical Implant Communication Service) drivers that it uses to send commands to a physical pulse generator. With the virtual pulse generator in use, however, the clinician programmer does not turn on the MICS radio and does not send commands via MICS. In other words, rather than sending commands to a physical pulse generator through the MICS radio, commands are sent to the pulse generator simulator through the MICS driver instead.
In some embodiments, the pulse generator may save all the programming data (including stimulation programs and/or stimulation parameters) associated with one or more programming sessions of the virtual pulse generator. Such programming data can then be saved, either locally onto a memory storage component of the clinician programmer, or remotely to an electronic database or a cloud network. At a later point in time, when the clinician programmer establishes a connection with a real pulse generator (for example one that is simulated herein by the virtual pulse generator), the clinician programmer may be configured to automatically program that real pulse generator with the saved programming data associated with the virtual pulse generator. By doing so, the user may be spared from having to carry out programming twice for “the same” pulse generator.
Conversely, suppose the clinician programmer had been previously connected to a real actual pulse generator, and the user had already carried out programming for that actual pulse generator, the user may also save the programming data associated with the actual pulse generator. Again, the programming data may be saved locally on a memory storage component of the clinician programmer or remotely to an electronic database or a cloud network. At a later point in time, when the clinician programmer launches the pulse generator simulator (for example one that is designed to simulate the actual pulse generator), the clinician programmer may be configured to automatically program that virtual pulse generator with the saved programming data associated with the actual pulse generator. As is in the case discussed above, the user is spared from having to carry out programming twice for “the same” pulse generator.
The pulse generator simulator also lets the user retrieve a variety of types of information from the virtual pulse generator or otherwise interact with it in a virtual manner. For example, as shown in
The pulse generator simulator also lets the user review one or more statuses of the virtual pulse generator. For example, as shown in
Based on the above discussions, it can be seen that a virtual machine on a clinician programmer can fully simulate the features and functionalities of a real actual pulse generator. When users access a portion of the clinician programmer application that normally requires a hardware connection to the actual pulse generator, either the actual pulse generator or the pulse generator simulator can be used. The pulse generator simulator allows users to exercise and/or test the functionality of the clinician programmer (e.g., ability to communicate with an actual pulse generator) without physically generating pulses. If interactions between the pulse generator simulator and the clinician programmer do not have the desired effect, the clinician programmer is unlikely to interact in the desired fashion with the physical pulse generator either. Among other things, this allows the developers of the clinician programmer application to debug and/or improve the application. In addition, the pulse generator simulator also allows the demonstration of results of pulses programmed by the user in the clinician programmer application. Thus, the pulse generator simulator (implemented on a clinician programmer) of the present disclosure allows for easy, intuitive, and accurate testing of the clinician programmer with respect to its predicted interaction with a pulse generator. The pulse generator simulator also allows for quick and hassle-free demonstrations of the clinician programmer's capability to communicate with a pulse generator without actually needing the actual pulse generator.
It is understood that the method 300 may include additional steps that may be performed before, during, or after the steps 305-350, but these additional steps are not illustrated herein for reasons of simplicity.
If the answer from the decision step 402 is to use a pulse generator simulator, then the method 400 proceeds to a step 450, in which the user chooses the function(s) of the clinician programmer application that require the use of a pulse generator. The method 400 continues with a step 455, in which the clinician programmer application sends message to MICS drivers. The method 400 continues with a step 460, in which the MICS drivers send command(s) to the pulse generator simulator. The method 400 continues with a step 465, in which the pulse generator simulator receives and processes the command. The method 400 continues with a step 470, in which the pulse generator simulator sends the response command. The method 400 continues with a step 475, in which the MICS drivers receive the command. The method 400 continues with a step 480, in which the MICS drivers send the command to clinician programmer application. The method 400 continues with a step 485, in which the clinician programmer updates the clinician programmer application.
It is understood that the method 400 may include additional steps that may be performed before, during, or after the steps 402-485, but these additional steps are not illustrated herein for reasons of simplicity.
The method 500 includes a step 515 of programming an actual pulse generator based on user input received via the graphical user interface.
The method 500 includes a step 520 of saving programming data associated with the programming of the actual pulse generator.
The method 500 includes a step 525 of launching a pulse generator simulator on the portable electronic device in response to a request from the user. The pulse generator simulator provides a virtual pulse generator that duplicates a plurality of functionalities and features of an actual pulse generator, for example the pulse generator of step 520.
The method 500 includes a step 530 of programming the virtual pulse generator based on user input received via the graphical user interface in some embodiments or based on the saved programming data from step 520 in other embodiments. In embodiments where the saved programming data is used to program the virtual pulse generator, the virtual pulse generator may be automatically programmed without the user having to manually enter the programming data.
The method 500 includes a step 535 of saving programming data associated with the programming of the virtual pulse generator.
The method 500 includes a step 540 of automatically programming an actual pulse generator according to the saved programming data associated with the programming of the virtual pulse generator in step 535. The actual pulse generator being automatically programmed may or may not be the actual pulse generator in step 515.
The method 500 includes a step 545 of displaying one or more statuses of the virtual pulse generator via the graphical user interface. In some embodiments, the one or more statuses include at least one of: a connection status, a battery status, and a stimulation status.
In some embodiments, the steps 525, 530, and 545 are performed without establishing a connection with any actual pulse generators.
It is understood that the method 500 may include additional steps that may be performed before, during, or after the steps 510-545. For example, the method 500 may include the following steps before the pulse generator simulator is launched in step 525: a step of receiving a request from the user to gain access to the portable electronic device; a step of receiving a username and a password from the user; a step of authenticating the user based on the username and password received from the user; a step of displaying an availability of the pulse generator simulator once the user has been authenticated; and a step of thereafter receiving the request from the user to launch the pulse generator simulator. Additional steps may also be performed but are not illustrated herein for reasons of simplicity.
The CP includes a printed circuit board (“PCB”) that is populated with a plurality of electrical and electronic components that provide power, operational control, and protection to the CP. With reference to
The CP includes memory, which can be internal to the processor 600 (e.g., memory 605), external to the processor 600 (e.g., memory 610), or a combination of both. Exemplary memory include a read-only memory (“ROM”), a random access memory (“RAM”), an electrically erasable programmable read-only memory (“EEPROM”), a flash memory, a hard disk, or another suitable magnetic, optical, physical, or electronic memory device. The processor 600 executes software that is capable of being stored in the RAM (e.g., during execution), the ROM (e.g., on a generally permanent basis), or another non-transitory computer readable medium such as another memory or a disc. The CP also includes input/output (“I/O”) systems that include routines for transferring information between components within the processor 600 and other components of the CP or external to the CP.
Software included in the implementation of the CP is stored in the memory 605 of the processor 600, RAM 610, ROM 615, or external to the CP. The software includes, for example, firmware, one or more applications, program data, one or more program modules, and other executable instructions. The processor 600 is configured to retrieve from memory and execute, among other things, instructions related to the control processes and methods described below for the CP.
One memory shown in
The CP includes multiple bi-directional radio communication capabilities. Specific wireless portions included with the CP are a Medical Implant Communication Service (MICS) bi-directional radio communication portion 620, a Wi-Fi bi-directional radio communication portion 625, and a Bluetooth bi-directional radio communication portion 630. The MICS portion 620 includes a MICS communication interface, an antenna switch, and a related antenna, all of which allows wireless communication using the MICS specification. The Wi-Fi portion 625 and Bluetooth portion 630 include a Wi-Fi communication interface, a Bluetooth communication interface, an antenna switch, and a related antenna all of which allows wireless communication following the Wi-Fi Alliance standard and Bluetooth Special Interest Group standard. Of course, other wireless local area network (WLAN) standards and wireless personal area networks (WPAN) standards can be used with the CP.
The CP includes three hard buttons: a “home” button 635 for returning the CP to a home screen for the device, a “quick off” button 640 for quickly deactivating stimulation IPG, and a “reset” button 645 for rebooting the CP. The CP also includes an “ON/OFF” switch 650, which is part of the power generation and management block (discussed below).
The CP includes multiple communication portions for wired communication. Exemplary circuitry and ports for receiving a wired connector include a portion and related port for supporting universal serial bus (USB) connectivity 655, including a Type A port and a Micro-B port; a portion and related port for supporting Joint Test Action Group (JTAG) connectivity 660, and a portion and related port for supporting universal asynchronous receiver/transmitter (UART) connectivity 665. Of course, other wired communication standards and connectivity can be used with or in place of the types shown in
Another device connectable to the CP, and therefore supported by the CP, is an external display. The connection to the external display can be made via a micro High-Definition Multimedia Interface (HDMI) 670, which provides a compact audio/video interface for transmitting uncompressed digital data to the external display. The use of the HDMI connection 670 allows the CP to transmit video (and audio) communication to an external display. This may be beneficial in situations where others (e.g., the surgeon) may want to view the information being viewed by the healthcare professional. The surgeon typically has no visual access to the CP in the operating room unless an external screen is provided. The HDMI connection 670 allows the surgeon to view information from the CP, thereby allowing greater communication between the clinician and the surgeon. For a specific example, the HDMI connection 670 can broadcast a high definition television signal that allows the surgeon to view the same information that is shown on the LCD (discussed below) of the CP.
The CP includes a touch screen I/O device 675 for providing a user interface with the clinician. The touch screen display 675 can be a liquid crystal display (LCD) having a resistive, capacitive, or similar touch-screen technology. It is envisioned that multitouch capabilities can be used with the touch screen display 675 depending on the type of technology used.
The CP includes a camera 680 allowing the device to take pictures or video. The resulting image files can be used to document a procedure or an aspect of the procedure. Other devices can be coupled to the CP to provide further information, such as scanners or RFID detection. Similarly, the CP includes an audio portion 685 having an audio codec circuit, audio power amplifier, and related speaker for providing audio communication to the user, such as the clinician or the surgeon.
The CP further includes a power generation and management block 690. The power block 690 has a power source (e.g., a lithium-ion battery) and a power supply for providing multiple power voltages to the processor, LCD touch screen, and peripherals.
In one embodiment, the CP is a handheld computing tablet with touch screen capabilities. The tablet is a portable personal computer with a touch screen, which is typically the primary input device. However, an external keyboard or mouse can be attached to the CP. The tablet allows for mobile functionality not associated with even typical laptop personal computers. The hardware may include a Graphical Processing Unit (GPU) in order to speed up the user experience. An Ethernet port (not shown in
The IPG provides stimuli to electrodes of an implanted medical electrical lead (not illustrated herein). As shown in
The IPG also includes a power supply portion 740. The power supply portion includes a rechargeable battery 745, fuse 750, power ASIC 755, recharge coil 760, rectifier 763 and data modulation circuit 765. The rechargeable battery 745 provides a power source for the power supply portion 740. The recharge coil 760 receives a wireless signal from the PPC. The wireless signal includes an energy that is converted and conditioned to a power signal by the rectifier 763. The power signal is provided to the rechargeable battery 745 via the power ASIC 755. The power ASIC 755 manages the power for the IPG. The power ASIC 755 provides one or more voltages to the other electrical and electronic circuits of the IPG. The data modulation circuit 765 controls the charging process.
The IPG also includes a magnetic sensor 780. The magnetic sensor 780 provides a “hard” switch upon sensing a magnet for a defined period. The signal from the magnetic sensor 780 can provide an override for the IPG if a fault is occurring with the IPG and is not responding to other controllers.
The IPG is shown in
The IPG includes memory, which can be internal to the control device (such as memory 790), external to the control device (such as serial memory 795), or a combination of both. Exemplary memory include a read-only memory (“ROM”), a random access memory (“RAM”), an electrically erasable programmable read-only memory (“EEPROM”), a flash memory, a hard disk, or another suitable magnetic, optical, physical, or electronic memory device. The programmable portion 785 executes software that is capable of being stored in the RAM (e.g., during execution), the ROM (e.g., on a generally permanent basis), or another non-transitory computer readable medium such as another memory or a disc.
Software included in the implementation of the IPG is stored in the memory 790. The software includes, for example, firmware, one or more applications, program data, one or more program modules, and other executable instructions. The programmable portion 785 is configured to retrieve from memory and execute, among other things, instructions related to the control processes and methods described below for the IPG. For example, the programmable portion 285 is configured to execute instructions retrieved from the memory 790 for sweeping the electrodes in response to a signal from the CP.
Referring now to
The medical infrastructure 800 also includes a plurality of electronic programmers 820. For sake of illustration, one of these electronic programmers 820A is illustrated in more detail and discussed in detail below. Nevertheless, it is understood that each of the electronic programmers 820 may be implemented similar to the electronic programmer 820A.
In some embodiments, the electronic programmer 820A may be a clinician programmer, for example the clinician programmer discussed above with reference to
The electronic programmer 820A contains a communications component 830 that is configured to conduct electronic communications with external devices. For example, the communications device 830 may include a transceiver. The transceiver contains various electronic circuitry components configured to conduct telecommunications with one or more external devices. The electronic circuitry components allow the transceiver to conduct telecommunications in one or more of the wired or wireless telecommunications protocols, including communications protocols such as IEEE 802.11 (Wi-Fi), IEEE 802.15 (Bluetooth), GSM, CDMA, LTE, WIMAX, DLNA, HDMI, Medical Implant Communication Service (MICS), etc. In some embodiments, the transceiver includes antennas, filters, switches, various kinds of amplifiers such as low-noise amplifiers or power amplifiers, digital-to-analog (DAC) converters, analog-to-digital (ADC) converters, mixers, multiplexers and demultiplexers, oscillators, and/or phase-locked loops (PLLs). Some of these electronic circuitry components may be integrated into a single discrete device or an integrated circuit (IC) chip.
The electronic programmer 820A contains a touchscreen component 840. The touchscreen component 840 may display a touch-sensitive graphical user interface that is responsive to gesture-based user interactions. The touch-sensitive graphical user interface may detect a touch or a movement of a user's finger(s) on the touchscreen and interpret these user actions accordingly to perform appropriate tasks. The graphical user interface may also utilize a virtual keyboard to receive user input. In some embodiments, the touch-sensitive screen may be a capacitive touchscreen. In other embodiments, the touch-sensitive screen may be a resistive touchscreen.
It is understood that the electronic programmer 820A may optionally include additional user input/output components that work in conjunction with the touchscreen component 840 to carry out communications with a user. For example, these additional user input/output components may include physical and/or virtual buttons (such as power and volume buttons) on or off the touch-sensitive screen, physical and/or virtual keyboards, mouse, track balls, speakers, microphones, light-sensors, light-emitting diodes (LEDs), communications ports (such as USB or HDMI ports), joy-sticks, etc.
The electronic programmer 820A contains an imaging component 850. The imaging component 850 is configured to capture an image of a target device via a scan. For example, the imaging component 850 may be a camera in some embodiments. The camera may be integrated into the electronic programmer 820A. The camera can be used to take a picture of a medical device, or scan a visual code of the medical device, for example its barcode or Quick Response (QR) code.
The electronic programmer contains a memory storage component 860. The memory storage component 860 may include system memory, (e.g., RAM), static storage 608 (e.g., ROM), or a disk drive (e.g., magnetic or optical), or any other suitable types of computer readable storage media. For example, some common types of computer readable media may include floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer is adapted to read. The computer readable medium may include, but is not limited to, non-volatile media and volatile media. The computer readable medium is tangible, concrete, and non-transitory. Logic (for example in the form of computer software code or computer instructions) may be encoded in such computer readable medium. In some embodiments, the memory storage component 860 (or a portion thereof) may be configured as a local database capable of storing electronic records of medical devices and/or their associated patients.
The electronic programmer contains a processor component 870. The processor component 870 may include a central processing unit (CPU), a graphics processing unit (GPU) a micro-controller, a digital signal processor (DSP), or another suitable electronic processor capable of handling and executing instructions. In various embodiments, the processor component 870 may be implemented using various digital circuit blocks (including logic gates such as AND, OR, NAND, NOR, XOR gates, etc.) along with certain software code. In some embodiments, the processor component 870 may execute one or more sequences computer instructions contained in the memory storage component 860 to perform certain tasks.
It is understood that hard-wired circuitry may be used in place of (or in combination with) software instructions to implement various aspects of the present disclosure. Where applicable, various embodiments provided by the present disclosure may be implemented using hardware, software, or combinations of hardware and software. Also, where applicable, the various hardware components and/or software components set forth herein may be combined into composite components comprising software, hardware, and/or both without departing from the spirit of the present disclosure. Where applicable, the various hardware components and/or software components set forth herein may be separated into sub-components comprising software, hardware, or both without departing from the scope of the present disclosure. In addition, where applicable, it is contemplated that software components may be implemented as hardware components and vice-versa.
It is also understood that the electronic programmer 820A is not necessarily limited to the components 830-870 discussed above, but it may further include additional components that are used to carry out the programming tasks. These additional components are not discussed herein for reasons of simplicity. It is also understood that the medical infrastructure 800 may include a plurality of electronic programmers similar to the electronic programmer 820A discussed herein, but they are not illustrated in
The medical infrastructure 800 also includes an institutional computer system 890. The institutional computer system 890 is coupled to the electronic programmer 820A. In some embodiments, the institutional computer system 890 is a computer system of a healthcare institution, for example a hospital. The institutional computer system 890 may include one or more computer servers and/or client terminals that may each include the necessary computer hardware and software for conducting electronic communications and performing programmed tasks. In various embodiments, the institutional computer system 890 may include communications devices (e.g., transceivers), user input/output devices, memory storage devices, and computer processor devices that may share similar properties with the various components 830-870 of the electronic programmer 820A discussed above. For example, the institutional computer system 890 may include computer servers that are capable of electronically communicating with the electronic programmer 820A through the MICS protocol or another suitable networking protocol.
The medical infrastructure 800 includes a database 900. In various embodiments, the database 900 is a remote database—that is, located remotely to the institutional computer system 890 and/or the electronic programmer 820A. The database 900 is electronically or communicatively (for example through the Internet) coupled to the institutional computer system 890 and/or the electronic programmer. In some embodiments, the database 900, the institutional computer system 890, and the electronic programmer 820A are parts of a cloud-based architecture. In that regard, the database 900 may include cloud-based resources such as mass storage computer servers with adequate memory resources to handle requests from a variety of clients. The institutional computer system 890 and the electronic programmer 820A (or their respective users) may both be considered clients of the database 900. In certain embodiments, the functionality between the cloud-based resources and its clients may be divided up in any appropriate manner. For example, the electronic programmer 820A may perform basic input/output interactions with a user, but a majority of the processing and caching may be performed by the cloud-based resources in the database 900. However, other divisions of responsibility are also possible in various embodiments.
According to the various aspects of the present disclosure, electronic data may be uploaded from the electronic programmer 820A to the database 900. The data in the database 900 may thereafter be downloaded by any of the other electronic programmers 820B-820N communicatively coupled to it, assuming the user of these programmers has the right login permissions.
The database 900 may also include a manufacturer's database in some embodiments. It may be configured to manage an electronic medical device inventory, monitor manufacturing of medical devices, control shipping of medical devices, and communicate with existing or potential buyers (such as a healthcare institution). For example, communication with the buyer may include buying and usage history of medical devices and creation of purchase orders. A message can be automatically generated when a client (for example a hospital) is projected to run out of equipment, based on the medical device usage trend analysis done by the database. According to various aspects of the present disclosure, the database 900 is able to provide these functionalities at least in part via communication with the electronic programmer 820A and in response to the data sent by the electronic programmer 820A. These functionalities of the database 900 and its communications with the electronic programmer 820A will be discussed in greater detail later.
The medical infrastructure 800 further includes a manufacturer computer system 910. The manufacturer computer system 910 is also electronically or communicatively (for example through the Internet) coupled to the database 900. Hence, the manufacturer computer system 910 may also be considered a part of the cloud architecture. The computer system 910 is a computer system of medical device manufacturer, for example a manufacturer of the medical devices 810 and/or the electronic programmer 820A.
In various embodiments, the manufacturer computer system 910 may include one or more computer servers and/or client terminals that each includes the necessary computer hardware and software for conducting electronic communications and performing programmed tasks. In various embodiments, the manufacturer computer system 910 may include communications devices (e.g., transceivers), user input/output devices, memory storage devices, and computer processor devices that may share similar properties with the various components 830-870 of the electronic programmer 820A discussed above. Since both the manufacturer computer system 910 and the electronic programmer 820A are coupled to the database 900, the manufacturer computer system 910 and the electronic programmer 820A can conduct electronic communication with each other.
Neural tissue (not illustrated for the sake of simplicity) branch off from the spinal cord through spaces between the vertebrae. The neural tissue can be individually and selectively stimulated in accordance with various aspects of the present disclosure. For example, referring to
The electrodes 1120 deliver current drawn from the current sources in the IPG device 1100, therefore generating an electric field near the neural tissue. The electric field stimulates the neural tissue to accomplish its intended functions. For example, the neural stimulation may alleviate pain in an embodiment. In other embodiments, a stimulator may be placed in different locations throughout the body and may be programmed to address a variety of problems, including for example but without limitation; prevention or reduction of epileptic seizures, weight control or regulation of heart beats.
It is understood that the IPG device 1100, the lead 1110, and the electrodes 1120 may be implanted completely inside the body, may be positioned completely outside the body or may have only one or more components implanted within the body while other components remain outside the body. When they are implanted inside the body, the implant location may be adjusted (e.g., anywhere along the spine 1000) to deliver the intended therapeutic effects of spinal cord electrical stimulation in a desired region of the spine. Furthermore, it is understood that the IPG device 1100 may be controlled by a patient programmer or a clinician programmer 1200, the implementation of which may be similar to the clinician programmer shown in
The foregoing has outlined features of several embodiments so that those skilled in the art may better understand the detailed description that follows. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they may make various changes, substitutions and alterations herein without departing from the spirit and scope of the present disclosure.
The present application is a continuation application of U.S. patent application Ser. No. 14/015,107, filed Aug. 30, 2013, entitled “Method and System of Simulating a Pulse Generator on a Clinician Programmer” which claims benefit application of provisional U.S. Patent Application No. 61/695,437, filed on Aug. 31, 2012, entitled “Method and System of Stimulating a Pulse Generator on a Clinician Programmer,” the disclosure of which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4432360 | Mumford et al. | Feb 1984 | A |
5286202 | De Gyarfas et al. | Feb 1994 | A |
5304206 | Baker, Jr. et al. | Apr 1994 | A |
5312446 | Holschbach et al. | May 1994 | A |
5370672 | Fowler et al. | Dec 1994 | A |
5383914 | O'Phelan | Jan 1995 | A |
5421830 | Epstein et al. | Jun 1995 | A |
5628776 | Paul et al. | May 1997 | A |
5692907 | Glassel | Dec 1997 | A |
5713937 | Nappholz et al. | Feb 1998 | A |
5722999 | Snell | Mar 1998 | A |
5724996 | Piunti | Mar 1998 | A |
5819740 | Muhlenberg | Oct 1998 | A |
5879374 | Powers et al. | Mar 1999 | A |
5905500 | Kamen et al. | May 1999 | A |
5938690 | Law et al. | Aug 1999 | A |
6016447 | Juran et al. | Jan 2000 | A |
6016448 | Busacker et al. | Jan 2000 | A |
6052624 | Mann | Apr 2000 | A |
6083156 | Lisiecki | Jul 2000 | A |
6148233 | Owen et al. | Nov 2000 | A |
6154675 | Juran et al. | Nov 2000 | A |
6216036 | Jenkins et al. | Apr 2001 | B1 |
6246414 | Kawasaki | Jun 2001 | B1 |
6249705 | Snell | Jun 2001 | B1 |
6278890 | Chassaing et al. | Aug 2001 | B1 |
6307554 | Arai et al. | Oct 2001 | B1 |
6308102 | Sieracki et al. | Oct 2001 | B1 |
6345200 | Mouchawar et al. | Feb 2002 | B1 |
6386882 | Linberg | May 2002 | B1 |
6442432 | Lee | Aug 2002 | B2 |
6525727 | Junkins et al. | Feb 2003 | B1 |
6564104 | Nelson et al. | May 2003 | B2 |
6587104 | Hoppe | Jul 2003 | B1 |
6611267 | Migdal et al. | Aug 2003 | B2 |
6622048 | Mann et al. | Sep 2003 | B1 |
6669631 | Norris et al. | Dec 2003 | B2 |
6786405 | Weidenhoefer | Sep 2004 | B2 |
6852080 | Bardy | Feb 2005 | B2 |
6882982 | McMenimen et al. | Apr 2005 | B2 |
6895280 | Meadows et al. | May 2005 | B2 |
6920360 | Lee et al. | Jul 2005 | B2 |
6931155 | Gioia | Aug 2005 | B1 |
6961448 | Nichols et al. | Nov 2005 | B2 |
6961617 | Snell | Nov 2005 | B1 |
7003349 | Andersson et al. | Feb 2006 | B1 |
7034823 | Dunnet | Apr 2006 | B2 |
7058453 | Nelson et al. | Jun 2006 | B2 |
7060030 | Von Arx et al. | Jun 2006 | B2 |
7065409 | Mazar | Jun 2006 | B2 |
7066910 | Bauhahn et al. | Jun 2006 | B2 |
7076303 | Linberg | Jul 2006 | B2 |
7087015 | Comrie et al. | Aug 2006 | B1 |
7092761 | Cappa et al. | Aug 2006 | B1 |
7107102 | Daignault et al. | Sep 2006 | B2 |
7142923 | North et al. | Nov 2006 | B2 |
7181286 | Sieracki et al. | Feb 2007 | B2 |
7181505 | Haller et al. | Feb 2007 | B2 |
7184837 | Goetz | Feb 2007 | B2 |
7239926 | Goetz | Jul 2007 | B2 |
7266412 | Stypulkowski | Jul 2007 | B2 |
7299085 | Bergelson et al. | Nov 2007 | B2 |
7359751 | Erickson et al. | Apr 2008 | B1 |
7373204 | Gelfand et al. | May 2008 | B2 |
7440806 | Whitehurst et al. | Oct 2008 | B1 |
7452336 | Thompson | Nov 2008 | B2 |
7463927 | Chaouat | Dec 2008 | B1 |
7474223 | Nycz et al. | Jan 2009 | B2 |
7481759 | Whitehurst et al. | Jan 2009 | B2 |
7489970 | Lee et al. | Feb 2009 | B2 |
7496403 | Cao et al. | Feb 2009 | B2 |
7499048 | Sieracki et al. | Mar 2009 | B2 |
7505815 | Lee et al. | Mar 2009 | B2 |
7551960 | Forsberg et al. | Jun 2009 | B2 |
7602384 | Rosenberg et al. | Oct 2009 | B2 |
7617002 | Goetz | Nov 2009 | B2 |
7627372 | Vaisnys et al. | Dec 2009 | B2 |
7640059 | Forsberg et al. | Dec 2009 | B2 |
7657317 | Thacker et al. | Feb 2010 | B2 |
7685005 | Riff et al. | Mar 2010 | B2 |
7711603 | Vanker et al. | May 2010 | B2 |
7720549 | Schroeppel et al. | May 2010 | B2 |
7747330 | Nolan et al. | Jun 2010 | B2 |
7778710 | Propato | Aug 2010 | B2 |
7801596 | Fischell et al. | Sep 2010 | B2 |
7801611 | Persen et al. | Sep 2010 | B2 |
7805199 | KenKnight et al. | Sep 2010 | B2 |
7774067 | Keacher et al. | Oct 2010 | B2 |
7822483 | Stone et al. | Oct 2010 | B2 |
7853323 | Goetz | Dec 2010 | B2 |
7885712 | Goetz et al. | Feb 2011 | B2 |
7890180 | Quiles et al. | Feb 2011 | B2 |
7928995 | Daignault | Apr 2011 | B2 |
7934508 | Behrn | May 2011 | B2 |
7940933 | Corndorf | May 2011 | B2 |
7953492 | Corndorf | May 2011 | B2 |
7953612 | Palmese et al. | May 2011 | B1 |
7957808 | Dawant et al. | Jun 2011 | B2 |
7978062 | LaLonde et al. | Jul 2011 | B2 |
7991482 | Bradley | Aug 2011 | B2 |
8014863 | Zhang et al. | Sep 2011 | B2 |
8021298 | Barid et al. | Sep 2011 | B2 |
8027726 | Ternes | Sep 2011 | B2 |
8046241 | Dodson | Oct 2011 | B1 |
8060216 | Greenberg et al. | Nov 2011 | B2 |
8068915 | Lee et al. | Nov 2011 | B2 |
8068918 | Vallapureddy et al. | Nov 2011 | B2 |
8078440 | Otto et al. | Dec 2011 | B2 |
8082162 | Flood | Dec 2011 | B2 |
8121702 | King | Feb 2012 | B2 |
8135566 | Marshall et al. | Mar 2012 | B2 |
8140160 | Pless et al. | Mar 2012 | B2 |
8140167 | Donders et al. | Mar 2012 | B2 |
8160328 | Goetz et al. | Apr 2012 | B2 |
8160704 | Freeberg | Apr 2012 | B2 |
8165385 | Reeves et al. | Apr 2012 | B2 |
8187015 | Boyd et al. | May 2012 | B2 |
8200324 | Shen et al. | Jun 2012 | B2 |
8200340 | Skelton et al. | Jun 2012 | B2 |
8219206 | Skelton et al. | Jul 2012 | B2 |
8233991 | Woods et al. | Jul 2012 | B2 |
8246680 | Betz et al. | Aug 2012 | B2 |
8249713 | Fang et al. | Aug 2012 | B2 |
8255060 | Goetz et al. | Aug 2012 | B2 |
8323218 | Davis et al. | Dec 2012 | B2 |
8326433 | Blum et al. | Dec 2012 | B2 |
8340775 | Cullen et al. | Dec 2012 | B1 |
8382666 | Mao et al. | Feb 2013 | B1 |
8386032 | Bachinski et al. | Feb 2013 | B2 |
8401666 | Skelton et al. | Mar 2013 | B2 |
8428727 | Bolea et al. | Apr 2013 | B2 |
20010037220 | Merry et al. | Nov 2001 | A1 |
20030036783 | Bauhahn | Feb 2003 | A1 |
20030076301 | Tsuk et al. | Apr 2003 | A1 |
20030107572 | Smith et al. | Jun 2003 | A1 |
20030139652 | Kang et al. | Jul 2003 | A1 |
20030171911 | Fairweather | Jul 2003 | A1 |
20030177031 | Malek | Sep 2003 | A1 |
20040088374 | Webb et al. | May 2004 | A1 |
20040122477 | Whitehurst et al. | Jun 2004 | A1 |
20040210273 | Wang | Oct 2004 | A1 |
20040210274 | Bauhahn | Oct 2004 | A1 |
20050107331 | Hill et al. | May 2005 | A1 |
20050149356 | Cyr et al. | Jul 2005 | A1 |
20050168460 | Razdan et al. | Aug 2005 | A1 |
20050277872 | Colby et al. | Dec 2005 | A1 |
20060089888 | Roger | Apr 2006 | A1 |
20060100832 | Bowman | May 2006 | A1 |
20060241720 | Woods et al. | Oct 2006 | A1 |
20060242159 | Bishop et al. | Oct 2006 | A1 |
20060282168 | Sherman et al. | Dec 2006 | A1 |
20070078497 | Vandanacker | Apr 2007 | A1 |
20070093998 | El-Baroudi et al. | Apr 2007 | A1 |
20070179349 | Hoyme et al. | Aug 2007 | A1 |
20070203537 | Goetz et al. | Aug 2007 | A1 |
20070203538 | Stone et al. | Aug 2007 | A1 |
20070203543 | Stone et al. | Aug 2007 | A1 |
20070213790 | Nolan et al. | Sep 2007 | A1 |
20080004675 | King et al. | Jan 2008 | A1 |
20080033303 | Wariar et al. | Feb 2008 | A1 |
20080046036 | King et al. | Feb 2008 | A1 |
20080140161 | Goetz et al. | Jun 2008 | A1 |
20080177362 | Phillips et al. | Jul 2008 | A1 |
20080218517 | Holmdahl | Sep 2008 | A1 |
20080262565 | Bentwich | Oct 2008 | A1 |
20090018617 | Skelton et al. | Jan 2009 | A1 |
20090018619 | Skelton et al. | Jan 2009 | A1 |
20090024178 | Hennig | Jan 2009 | A1 |
20090048871 | Skomra | Feb 2009 | A1 |
20090136094 | Driver et al. | Feb 2009 | A1 |
20090089034 | Penney et al. | Apr 2009 | A1 |
20090099624 | Kokones et al. | Apr 2009 | A1 |
20090132009 | Torgenson et al. | May 2009 | A1 |
20090196471 | Goetz et al. | Aug 2009 | A1 |
20090228070 | Goetz | Sep 2009 | A1 |
20090234873 | Li et al. | Sep 2009 | A1 |
20090264967 | Giftakis et al. | Oct 2009 | A1 |
20090281596 | King et al. | Nov 2009 | A1 |
20100004033 | Choe et al. | Jan 2010 | A1 |
20100010566 | Thacker et al. | Jan 2010 | A1 |
20100010574 | Skelton et al. | Jan 2010 | A1 |
20100010580 | Skelton et al. | Jan 2010 | A1 |
20100058462 | Chow | Mar 2010 | A1 |
20100076534 | Mock | Mar 2010 | A1 |
20100090004 | Sands et al. | Apr 2010 | A1 |
20100106475 | Smith et al. | Apr 2010 | A1 |
20100123547 | Stevenson et al. | May 2010 | A1 |
20100152534 | Kim et al. | Jun 2010 | A1 |
20100161345 | Cain et al. | Jun 2010 | A1 |
20100198103 | Meadows et al. | Aug 2010 | A1 |
20100198304 | Wang | Aug 2010 | A1 |
20100222845 | Goetz | Sep 2010 | A1 |
20100223020 | Goetz | Sep 2010 | A1 |
20100265072 | Goetz et al. | Oct 2010 | A1 |
20100268304 | Matos | Oct 2010 | A1 |
20100280578 | Skelton et al. | Nov 2010 | A1 |
20110004059 | Arneson et al. | Jan 2011 | A1 |
20110015514 | Skalli et al. | Jan 2011 | A1 |
20110015693 | Williamson | Jan 2011 | A1 |
20110038498 | Edgar | Jan 2011 | A1 |
20110023343 | Turner et al. | Feb 2011 | A1 |
20110040546 | Gerber et al. | Feb 2011 | A1 |
20110040547 | Gerber et al. | Feb 2011 | A1 |
20110046697 | Gerber et al. | Feb 2011 | A1 |
20110054560 | Rosenberg et al. | Mar 2011 | A1 |
20110054870 | Dariush et al. | Mar 2011 | A1 |
20110077459 | Rofougaran | Mar 2011 | A1 |
20110077616 | Bennet et al. | Mar 2011 | A1 |
20110093030 | Goetz et al. | Apr 2011 | A1 |
20110093047 | Davis et al. | Apr 2011 | A1 |
20110093051 | Davis et al. | Apr 2011 | A1 |
20110153341 | Diaz-Cortes | Jun 2011 | A1 |
20110170739 | Gillam et al. | Jul 2011 | A1 |
20110172564 | Drew | Jul 2011 | A1 |
20110172737 | Davis et al. | Jul 2011 | A1 |
20110172744 | Davis et al. | Jul 2011 | A1 |
20110185178 | Gotthardt | Jul 2011 | A1 |
20110191275 | Lujan et al. | Aug 2011 | A1 |
20110224523 | Burdiman | Sep 2011 | A1 |
20110246219 | Smith et al. | Oct 2011 | A1 |
20110264165 | Molnar et al. | Oct 2011 | A1 |
20110270358 | Davis et al. | Nov 2011 | A1 |
20110282414 | Kothandaraman et al. | Nov 2011 | A1 |
20110305376 | Neff | Dec 2011 | A1 |
20110307284 | Thompson et al. | Dec 2011 | A1 |
20110313268 | Kokones et al. | Dec 2011 | A1 |
20110313487 | Kokones et al. | Dec 2011 | A1 |
20120041518 | Kim et al. | Feb 2012 | A1 |
20120046715 | Moffitt et al. | Feb 2012 | A1 |
20120071947 | Gupta et al. | Mar 2012 | A1 |
20120083857 | Bradley et al. | Apr 2012 | A1 |
20120084689 | Ledet et al. | Apr 2012 | A1 |
20120089008 | Strehl et al. | Apr 2012 | A1 |
20120109230 | Kothandaraman et al. | May 2012 | A1 |
20120192874 | Bolea et al. | Aug 2012 | A1 |
20120239116 | Lee et al. | Sep 2012 | A1 |
20120256857 | Mak | Oct 2012 | A1 |
20120265269 | Lui et al. | Oct 2012 | A1 |
20120277828 | O'Conner et al. | Nov 2012 | A1 |
20120290041 | Kim et al. | Nov 2012 | A1 |
20120290272 | Bryan | Nov 2012 | A1 |
20120290976 | Lahm et al. | Nov 2012 | A1 |
20120296392 | Lee et al. | Nov 2012 | A1 |
20120296396 | Moffitt et al. | Nov 2012 | A1 |
20120296397 | Vansickle | Nov 2012 | A1 |
20120303087 | Moffitt et al. | Nov 2012 | A1 |
20120310300 | Kaula et al. | Dec 2012 | A1 |
20130023950 | Gauthier | Jan 2013 | A1 |
20130060299 | Polefko et al. | Mar 2013 | A1 |
20130060300 | Polefko et al. | Mar 2013 | A1 |
20130060301 | Polefko et al. | Mar 2013 | A1 |
20130060302 | Polefko et al. | Mar 2013 | A1 |
20130079848 | Campbell et al. | Mar 2013 | A1 |
Number | Date | Country |
---|---|---|
1192972 | Apr 2002 | EP |
2277586 | Jan 2011 | EP |
WO 9959106 | Nov 1999 | WO |
WO 2002009808 | Feb 2002 | WO |
WO 02084637 | Oct 2002 | WO |
WO 2009113102 | Sep 2009 | WO |
WO 2011028261 | Mar 2011 | WO |
WO 2011063248 | May 2011 | WO |
WO 2011104028 | Sep 2011 | WO |
WO 2011123669 | Oct 2011 | WO |
WO 2012018851 | Feb 2012 | WO |
WO 2012021862 | Feb 2012 | WO |
WO 2012135949 | Oct 2012 | WO |
WO 2013023085 | Feb 2013 | WO |
Entry |
---|
Zaruba et al., “Simplified Bluetooth Device Discovery—Analysis and Simulation”, 2004, IEEE, Proceedings of the 37th Hawaii International Conference on System Sciences. |
Synalink Features, SynaMed Web Page, http://synamed.com/synalinkFeatures.html., Copyright 2010, 2 pgs. |
Boston Scientific Corporation, “Boston Scientific Precision Spectra System Programming Manual”, Copyright 2010, 580 pgs. |
Number | Date | Country | |
---|---|---|---|
20170076025 A1 | Mar 2017 | US |
Number | Date | Country | |
---|---|---|---|
61695437 | Aug 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14015107 | Aug 2013 | US |
Child | 15358295 | US |