AUTOMATED DELIVERY OF MEDICAL DEVICE SUPPORT SOFTWARE
20170230483 · 2017-08-10
Inventors
Cpc classification
H04L67/34
ELECTRICITY
A61M60/289
HUMAN NECESSITIES
H04L67/02
ELECTRICITY
A61M60/104
HUMAN NECESSITIES
A61N1/3993
HUMAN NECESSITIES
H04L67/12
ELECTRICITY
A61M60/00
HUMAN NECESSITIES
International classification
Abstract
Embodiments of the present invention include a portable medical device with an integrated web server. The portable medical device is configured to establish a communication session with a user device. The integrated web server is configured to load software onto the user computing device for exchanging data with the portable medical device.
Claims
1-23. (canceled)
24. A medical device communications system, comprising: a communication network; a plurality of portable medical devices comprising at least one of a defibrillator, an automatic external defibrillator (AED), a non-invasive cardiac support pump, and a wearable cardioverter defibrillator, wherein at least one of the plurality of portable medical devices has memory and a server, the memory storing code for a software application, and the at least one of the plurality of portable medical devices is configured to transmit the software application over the communication network to establish a server-client communications connection; and at least one user device configured to: establish a connection with the server of the at least one of the plurality of portable medical devices via the communication network, receive the transmitted software application from the server of the at least one of the plurality of medical devices via the communication network, execute the software application so as to establish the server-client communications connection to permit data exchange between the at least one of the plurality of portable medical devices and the at least one user device, receive medical data from the at least one of the plurality of portable medical devices via the server-client communications connection, and display a representation of the medical data received via the server-client communications connection.
25. The medical device communications system of claim 24, wherein each of the plurality of portable medical devices has memory storing code for a respective software application to establish a server-client communications connection with the at least one user device.
26. The medical device communications system of claim 24, wherein the at least one of the plurality of portable medical devices is configured to auto-discover the at least one user device via an auto-discovery protocol.
27. The medical device communications system of claim 26, wherein the at least one of the plurality of portable medical devices is configured to automatically establish the server-client communications connection with the at least one user device.
28. The medical device communications system of claim 24, wherein the software application executed on the at least one user device permits the data exchange between the plurality of portable medical devices and the at least one user device via the server-client communications connection.
29. The medical device communications system of claim 24, wherein the at least one user device is associated with a user device type of a plurality of user device types, and wherein the software application is platform independent and is capable of being executed by each user device type of the plurality of user device types.
30. The medical device communications system of claim 24, wherein the at least one of the plurality of portable medical devices is configured to prompt automatic reboot of the at least one user device upon receipt of the software application on the at least one user device.
31. The medical device communications system of claim 24, wherein the at least one of the plurality of portable medical devices is configured to prompt automatic display on the at least one user device a prompt asking for confirmation of implementation of the software application.
32. The medical device communications system of claim 24, wherein the at least one of the plurality of portable medical devices is configured to take control of one or more functions of the at least one user device.
33. A medical device communications system, comprising: a communication network; one or more servers; a plurality of portable medical devices comprising at least one of a defibrillator, an automatic external defibrillator (AED), a non-invasive cardiac support pump, and a wearable cardioverter defibrillator, wherein each of the plurality of portable medical devices is configured to transmit medical data over the communication network, and wherein each of the plurality of medical devices comprises at least one of the one or more servers; and at least one user device configured to: establish a server-client communications connection with the at least one of the one or more servers of at least one of the plurality of portable medical devices via the communication network, receive a software application via the communication network, execute the software application so as to establish a communications connection to permit data exchange between the plurality of portable medical devices and the at least one user device, receive medical data from the plurality of portable medical devices via the communications connection, and display a representation of the medical data received via the server-client communications connection.
34. The medical device communications system of claim 33, wherein at least one of the plurality of portable medical devices has memory storing code for a respective software application to establish a server-client communications connection with the at least one user device.
35. The medical device communications system of claim 33, wherein at least one of the plurality of portable medical devices is configured to auto-discover the at least one user device via an auto-discovery protocol.
36. The medical device communications system of claim 35, wherein the at least one of the plurality of portable medical devices is configured to automatically establish the server-client communications connection with the at least one user device.
37. The medical device communications system of claim 33, wherein the software application executed on the at least one user device permits the data exchange between the plurality of portable medical devices and the at least one user device via the communications connection.
38. The medical device communications system of claim 33, wherein the at least one user device is associated with a user device type of a plurality of user device types, and wherein the software application is platform independent and is capable of being executed by each user device type of the plurality of user device types.
39. The medical device communications system of claim 33, wherein at least one of the plurality of portable medical devices is configured to prompt automatic reboot of the at least one user device upon receipt of the software application on the at least one user device.
40. The medical device communications system of claim 33, wherein at least one of the plurality of portable medical devices is configured to prompt automatic display on the at least one user device a prompt asking for confirmation of implementation of the software application.
41. The medical device communications system of claim 33, wherein at least one of the plurality of portable medical devices is configured to take control of one or more functions of the at least one user device.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020]
[0021]
[0022]
[0023]
[0024]
[0025] While the invention is amenable to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are described in detail below. The intention, however, is not to limit the invention to the particular embodiments described. On the contrary, the invention is intended to cover all modifications, equivalents, and alternatives falling within the scope of the invention as defined by the appended claims.
DETAILED DESCRIPTION
[0026]
[0027] Embodiments of the present invention provide an ability to better manage device-specific or operating system-specific software applications by embedding a web application server 10 into the device 2 hardware. For device software code that is designed to work cross-platform, the web server 10 is configured to automatically serve a version of the software to the user's computer 4 which matches the version of the device 2 installed onto the user's computer, according to embodiments of the present invention. In other words, in order to interoperate with client computing devices 4 that are cross platform, the web server 10 is configured to automatically serve the appropriate supporting application software to the target client computing device 4 that supports the functional capabilities of the medical device 2, according to embodiments of the present invention. The software application will automatically get upgraded (or downgraded) as necessary based upon what is done to the baseline software of the device 2, and multiple versions of the application will get transparently used as necessary (by client machine 4) for users using multiple versions of the same device 2, according to embodiments of the present invention
[0028] As used herein, the phrase “communicably coupled” is used in its broadest sense to refer to any coupling whereby information may be passed. Thus, for example, communicably coupled includes electrically coupled by, for example, a wire; optically coupled by, for example, an optical cable; and/or wirelessly coupled by, for example, a radio frequency or other transmission media. “Communicably coupled” also includes, for example, indirect coupling, such as through a network or a series of devices and/or communication protocols, or direct coupling. For example, “communicably coupled” may include coupled wirelessly via Wi-Fi and/or BlueTooth®. The device 2 and device 4 may also be coupled via an ad hoc, self-configuring, self-healing network, according to embodiments of the present invention.
[0029] Embodiments of the present invention include a device 2 with a web server 10 embedded therein, in addition to the conventional code for running the device 2. The web server 10 may be configured to target the web browser 20 of the device 4 as a sort of platform within a platform, which permits the manufacturer of device 2 to design for a much larger hardware and operating system cross section. The manufacturer of device 2 may also benefit as third parties upgrade the performance of their products, according to embodiments of the present invention. According to some embodiments of the present invention, the software for device 2 and web server 10 may launch larger and more powerful applications for management within external device's 4 caching space by external devices 4 themselves, which may provide transparent version control for the device 2 manufacturer and a more seamless customer experience across devices 2.
[0030] According to some embodiments of the present invention, the applications served by device 2 and server 10 are treated as blocks of data by the devices 2 themselves. Although such applications reside within device 2 in order to be served by them, the device 2 does not execute the application code, and instead all code execution occurs on the client-side machines 4, according to embodiments of the present invention. As such, the device 2 and server 10 may act simply as a delivery agent for the software, according to embodiments of the present invention.
[0031] Embodiments of the present invention employ standard auto-discovery systems like Bonjour, Zeroconf, mDNS, Avahi, and the like to set up ad hoc connections between device 2 and client computer 4 without requiring any additional hardware or supporting network. Device 2 has computing power to run a web server 10, auto-advertising protocols, and to serve any required combination of JavaScript, HTML, CSS, RDF, JSON, SVG, XML, RSS, and the like kinds of files, according to embodiments of the present invention. As illustrated in
[0032] Although
[0033] According to some embodiments of the present invention, as described above, the device 4 discovers and connects with the device 2 automatically, and the web server automatically loads the device-specific application software onto device 4. Device 4 may then automatically reboot, and/or the next time device 4 is rebooted, may prompt the user on device startup to confirm the installation of the software provided by web server 10, according to embodiments of the present invention. If such program installation failed, then the device 4 may be configured to send an error report or fault report back to the device 2 manufacturer, either via device 2 or via another internet connection, according to embodiments of the present invention. The web server 10 could also be used to enable other peripheral devices, for example configuring a Bluetooth® keyboard to work to enter data into device 2. As another example, instead of installing a microphone in device 2, the server 10 could simply load software onto a Bluetooth® audio device to configure it to provide audio information to device 2. For example, such an audio device may be a headset which is configured to provide audio input and/or output. For example, if device 2 is a defibrillator or a cardiopulmonary resuscitation (CPR) assisting device, audio or voice prompts for CPR could be provided from device 2 into such a headset, according to embodiments of the present invention.
[0034]
[0035] Processor(s) 202 can be any known processor, such as, but not limited to, an Intel® Itanium® or Itanium 2® processor(s), or AMD® Opteron® or Athlon MP® processor(s), or Motorola ® lines of processors, or any known microprocessor or processor for a mobile device, such as, but not limited to, ARM, Intel Pentium Mobile, Intel Core i5 Mobile, AMD A6 Series, AMD Phenom II Quad Core Mobile, or like devices. Communication port(s) 203 can be any of an RS-232 port for use with a modem based dialup connection, a copper or fiber 10/100/1000 Ethernet port, or a Bluetooth® or WiFi interface, for example. Communication port(s) 203 may be chosen depending on a network such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system 200 connects. Main memory 204 can be Random Access Memory (RAM), or any other dynamic storage device(s) commonly known to one of ordinary skill in the art. Read only memory 206 can be any static storage device(s) such as Programmable Read Only Memory (PROM) chips for storing static information such as instructions for processor 202, for example.
[0036] Mass storage 207 can be used to store information and instructions. For example, flash memory or other storage media may be used, including removable or dedicated memory in a mobile or portable device, according to embodiments of the present invention. As another example, hard disks such as the Adaptec® family of SCSI drives, an optical disc, an array of disks such as RAID (e.g. the Adaptec family of RAID drives), or any other mass storage devices may be used. Bus 201 communicably couples processor(s) 202 with the other memory, storage and communication blocks. Bus 201 can be a PCI /PCI-X or SCSI based system bus depending on the storage devices used, for example. Removable storage media 205 can be any kind of external hard-drives, floppy drives, flash drives, zip drives, compact disc—read only memory (CD-ROM), compact disc—re-writable (CD-RW), or digital video disk—read only memory (DVD-ROM), for example. The components described above are meant to exemplify some types of possibilities. In no way should the aforementioned examples limit the scope of the invention, as they are only exemplary embodiments of computer system 400 and related components.
[0037] As illustrated in
[0038] As shown in
[0039] According to some embodiments of the present invention, the web server need not be restricted to typical embedded languages like C or C++. Modern interpreted and just-in-time compiled languages like Python and JavaScript can also be used for server implementation. Event-driven approaches found in these languages (like Twisted for Python and promises for JavaScript) offer many advantages that make them potentially better design choices than the more traditional offerings, according to embodiments of the present invention. JavaScript in particular makes it possible to directly share code between server and client, according to embodiments of the present invention.
[0040] Various modifications and additions can be made to the exemplary embodiments discussed without departing from the scope of the present invention. For example, while the embodiments described above refer to particular features, the scope of this invention also includes embodiments having different combinations of features and embodiments that do not include all of the described features. Accordingly, the scope of the present invention is intended to embrace all such alternatives, modifications, and variations as fall within the scope of the claims, together with all equivalents thereof.