Certain examples provide systems, apparatus, and methods for adaptive, dynamic medical device connectivity. In an example, a medical device interface system includes a device interface connecting a medical device to a client system and enabling exchange of data between the medical device and the client system, the device interface includes a plug and play detector detecting a connection of the medical device to the device interface and a serial agent gathering information from the medical device via a connection between the medical device and the device interface and selecting an appropriate device driver to operate and interact with the medical device connected to the device interface regardless of a presence or absence of an existing plug and play capability of the medical device.
|
1. An interface system comprising:
a device interface configured to:
connect a device to a client system; and
enable exchange of data between the device and the client system, the client system including a message and data exchange service to communicate with the device via the device interface;
wherein the device interface comprises:
a plug-and-play detector to detect a connection of the device to the device interface; and
a serial agent, including:
a processor configured to gather information from the device via a connection between the device and the device interface and to select an appropriate device driver to operate and interact with the device connected to the device interface;
a core comprising:
a common service layer;
a network server configured to communicate with the client system over a data communication interface;
an interface extensible markup language (iXML) engine configured to parse inbound iXML messages and to build outbound iXML messages; and
a driver engine to manage a plurality of device drivers and to form a pool of threads for device driver execution;
wherein the serial agent is configured to:
operate with the plug-and-play detector to execute a plug-and-play program sequence with the device when the device is a plug-and-play device; and
transform the device into a plug-and-play device via a non plug-and-play program sequence when the device is a non plug-and-play device; and
wherein, in transforming the device into a plug-and-play device via the non plug-and-play program sequence, the serial agent is further configured to:
query a cache manager to determine whether a device driver exists for the connected device in a cache; and
if a device driver is not found in the cache, then:
parse driver information to determine an appropriate device driver for subscription; and
subscribe to the appropriate device driver.
11. A machine-implemented method for interfacing between a device and a clinical information system, the method comprising:
detecting, using a device interface having a serial agent, a presence of a device on a network including a clinical information system, the serial agent including:
a core, the core comprising:
a common service layer;
a network server to communicate with the clinical information system over a data communication interface;
an interface extensible markup language (iXML) engine to parse inbound iXML messages and to build outbound iXML messages; and
a driver engine to manage a plurality of device drivers and to form a pool of threads for device driver execution;
gathering information from the device connected to the device interface;
searching a device driver repository at the device interface for an object and one or more associated device drivers to represent the device;
registering the device with the clinical information system using the object; and
interacting with the device using the one or more associated device drivers to communicate between the device and the clinical information system, wherein interacting comprises:
executing a plug-and-play program sequence with the device when the device is a plug-and-play device; and
transforming the device into a plug-and-play device via a non-plug-and-play program sequence when the device is a non-plug-and-play device, the clinical information system including a message and data exchange service to communicate with the device via the device interface; and
wherein transforming the device into a plug-and-play device via the non-plug-and-play program sequence comprises:
querying a cache manager to determine whether a device driver exists for the connected device in a cache; and
if a device driver is not found in the cache, then:
determining an appropriate device driver for subscription; and
selecting the appropriate device driver.
19. An article of manufacture comprising:
a non-transitory computer readable storage medium; and
executable program instructions embodied in the non-transitory computer readable storage medium that, when executed by a programmable system, cause the programmable system to implement a device interface system comprising:
a device interface routine connecting a device to a client system and enabling exchange of data between the device and the client system, the client system including a message and data exchange service to communicate with the device via the device interface, the device interface routine comprising:
a plug-and-play detector detecting a connection of the device to the device interface; and
a serial agent gathering information from the device via a connection between the device and the device interface and selecting an appropriate device driver to operate and interact with the device connected to the device interface regardless of a presence or absence of an existing plug-and-play capability of the device, the serial agent operating with the plug-and-play detector to execute a plug-and-play program sequence with the device when the device is a plug-and-play device, and to transform the device into a plug-and-play device via a non-plug-and-play program sequence when the device is a non-plug-and-play device, the serial agent including:
a core comprising:
a common service layer;
a network server to communicate with the clinical information system over a data communication interface;
an interface extensible markup language (iXML) engine to parse inbound iXML messages and to build outbound iXML messages; and
a driver engine to manage a plurality of device drivers and to form a pool of threads for device driver execution; and
wherein, in transforming the device into a plug-and-play device via the non-plug-and-play program sequence when the device is a non-plug-and-play device, the serial agent is further configured to:
query a cache manager of a cache to determine whether a device driver exists for the connected device in the cache; and
if the device driver is not found in the cache, then:
determine the appropriate device driver for subscription; and
select the appropriate device driver.
2. The interface system of
3. The interface system of
4. The interface system of
5. The interface system of
6. The interface system of
wherein the driver engine comprises:
a driver manager to transmit a device update to a universal serial bus (USB) detector;
a driver storage; and
a connection detector.
7. The interface system of
8. The interface system of
9. The interface system of
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
20. The article of manufacture of
|
The present application is a continuation of and claims priority to U.S. patent application Ser. No. 12/484,868 filed Jun. 15, 2009, the disclosure of which is incorporated herein.
[Not Applicable]
[Not Applicable]
The present invention generally relates to medical device connectivity. In particular, the present invention relates to systems, apparatus, and methods for adaptive, dynamic medical device interface connectivity.
Clinical environments often involve a variety of medical devices. In a clinical setting such as an intensive care unit (ICU), devices are brought to the bedside when needed and manually set up and configured by clinicians who may have to frequently connect and disconnect the device during normal operation. Thus, clinicians frequently fail to properly configure or set-up such devices.
Certain examples provide systems, apparatus, and methods for adaptive, dynamic medical device connectivity.
In an example, a medical device interface system includes a device interface connecting a medical device to a client system and enabling exchange of data between the medical device and the client system, the device interface includes a plug and play detector detecting a connection of the medical device to the device interface and a serial agent gathering information from the medical device via a connection between the medical device and the device interface and selecting an appropriate device driver to operate and interact with the medical device connected to the device interface regardless of a presence or absence of an existing plug and play capability of the medical device.
In an example, a machine-implemented method for interfacing between a medical device and a clinical information system. The method includes detecting, using a device interface having a serial agent, a presence of a medical device on a network including a clinical information system. The method additionally includes gathering information from the medical device connected to the device interface. The method further includes creating an object representing the medical device, the object including identification and device driver information regarding the medical device. In addition, the method includes searching a device driver repository at the device interface for an object and one or more associated device drivers to represent the medical device. The method includes registering the medical device with the system using the object. The method also includes interacting with the medical device using the one or more associated device drivers to communicate between the medical device and the clinical information system.
In an example, an article of manufacture includes a computer readable storage medium and executable program instructions embodied in the computer readable storage medium that when executed by a programmable system cause the system to perform functions that implement a gaming system arranged to implement a probabilistic game. The functions include a device interface routine connecting a medical device to a client system and enabling exchange of data between the medical device and the client system. The device interface routine includes a plug and play detector detecting a connection of the medical device to the device interface and a serial agent gathering information from the medical device via a connection between the medical device and the device interface and selecting an appropriate device driver to operate and interact with the medical device connected to the device interface regardless of a presence or absence of an existing plug and play capability of the medical device.
The foregoing summary, as well as the following detailed description of certain embodiments of the present invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, certain embodiments are shown in the drawings. It should be understood, however, that the present invention is not limited to the arrangements and instrumentality shown in the attached drawings.
Although the following discloses example methods, systems, articles of manufacture, and apparatus including, among other components, software executed on hardware, it should be noted that such methods and apparatus are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware and software components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware, or in any combination of hardware, software, and/or firmware. Accordingly, while the following describes example methods, systems, articles of manufacture, and apparatus, the examples provided are not the only way to implement such methods, systems, articles of manufacture, and apparatus.
When any of the appended claims are read to cover a purely software and/or firmware implementation, at least one of the elements is hereby expressly defined to include a tangible medium such as a memory, DVD, CD, etc. storing the software and/or firmware.
For clinical information systems, medical devices can be used to meet clinical care needs. In a clinical setting such as an intensive care unit (ICU), medical devices are brought to a patient bedside when needed and set up by clinicians who do not put an emphasis or focus on configuration or set up to start/stop a particular device due to frequent connection and disconnection of medical devices.
In an example, a serial agent is capable of executing a plurality of device drivers on a personal computer and/or other computing system or device. A client system that connects to the serial agent can retrieve medical device data in a common format from a medical device with a corresponding device driver. For example, the serial agent converts different device specific formats into one XML-based format.
In operation, for example, a client connected to a serial agent service sends a starting and a stopping command for a specific medical device. The serial agent transforming the device specific communication protocol into a common format then gives the command information to the client system. The serial agent can run any kind of device driver that conforms to the defined interface. Medical devices supported by the serial agent utilize a communication protocol such as an RS-232 port-based communication protocol, a TCP/IP communication protocol, etc. For example, a variety of medical devices such as analyzers, monitors, pumps, ventilators, etc., can be connected to a client system via the serial agent.
Example medical devices, provided in a non-restrictive list for purposes of illustration only, include one or more of a 3M™ CDI 300/400 Blood Gas Analyzer, Abbott Q Vue™/Q2™ CCO Monitor, ALARIS™ Asena, ALARIS™ IVAC P6000/TIVA/P7000, ALARIS™ IVAC TIVA-TCI, Baxter Sat-2™, Baxter VIGILANCE™, BBraun INFUSOMAT™, BBraun INFUSOMAT FM™, BBraun PERFUSOR COMPACT S™, BBraun Perfusor FT™, B-D Modular pump, Bird 8400ST/STi™ Ventilator, Braun DIANET™, Datex-Ohmeda AVANCE™, Datex-Ohmeda CENTIVA™, Datex-Ohmeda DELTATRAC™, Datex-Ohmeda ELVIRA™, Datex-Ohmeda ERICA™, Datex-Ohmeda INOVENT™, Datex-Ohmeda OSCAR™, Datex-Ohmeda SATLITE™, Datex-Ohmeda TONOCAP™, DONI DRV™, Dräger Babylog 8000/8000 SC™, Dräeger EVITA XL™ ventilator, Dräger EVITA™, Dräger EVITA 2™, Dräger EVITA 2 DURA™, Dräger EVITA 4™, Dräger JULIAN™, Dräger SAVINA™, F. Stephan Stephanie, Fresenius-Vial Base A™, GE Datex-Ohmeda S/5™ Patient Monitor, GE Unity AWARE™ Gateway HL7, Hamilton Galileo GOLD™, Hamilton Galileo Ventilator, Ivac 560 (CIM)™, Ivac P-Series, Kone 565, MCM 504/404™ Volumetric Infusion Pump, Newport E150 (Breeze)™ Ventilator, Newport E200 (Wave)™ Ventilator, Philips Information Center HL7, Philips IntelliVue MP40/50/60/70/90™, Pulsion PICCO MONITOR™, Puritan-Bennett 7200™, Puritan-Bennett 7200 VENTILATOR™ (Liter version), Puritan-Bennett 840 VENTILATOR™, Puritan-Bennett 7200 VENTILATOR™ (ml version), Puritan-Bennett 840 VENTILATOR™, Siemens SC9000™, Siemens SERVO 300™, Siemens SERVO 900™, Siemens SERVOI™, Siemens SIRECUST™, SLE 2000™ High Frequency Ventilator, Solar 8000i™, Solar 8000M™, Solar 9500™, TBird AVS III™, TERUMO™ infusion pump, TERUMO™ syringe pump, TOP-3300™ Infusion Pump, etc.
Using a serial converter, such as a universal serial bus (USB) serial converter to uniquely identify the device for serial agent clinical information system platform software. The serial agent platform transforms medical device data in a plug and play manner to enable use of the medical device by the clinical information system and/or transfer of information between the medical device and the clinical information system, for example. Plug and play functionality provides improved bedside medical care usage of connected medical device(s). With an adaptively connected medical device, a hospital clinician does not need to pay attention to manually configure a connected medical device but can instead simply plug-in a device when it is needed. Furthermore, a clinician can disconnect a device without paying additional attention to software configuration for the device and/or for the clinical information system. In an example, the same serial agent device driver can be used for a plurality of “plug-and-play” enabled devices as well as non plug-and-play devices, such as connectable medical devices using the RS-232 data communication protocol, without additional modification of existing device drivers and/or additional hardware support (such as a concentrator box traditionally used to ensure connectivity). For example, using a pre-configured USB RS-232 converter to uniquely identifying a medical device (e.g., referred to as a device identifier), the medical device can be initiated and used with common device driver that is used for both plug and play and non plug and play devices. Medical devices without plug and play support can be transformed into plug and play devices within the serial agent system, for example.
As shown, for example, in
Using the device interface 120, discovery of a connected device 140 (e.g., hardware, firmware and/or software) is facilitated without manual device configuration or user intervention (e.g., plug and play connectivity). Plug and play connectivity can be facilitated using universal serial bus (USB), FIREWIRE™, and/or other hot plug/hot swap connection, for example. Thus, device connectivity can be developed in the device interface 120 to enable dynamic, adaptive connectivity with the interface 120 using a converter such as a Future Technology Devices International (FTDI) USB serial converter, for example. Information can be gathered from and/or transmitted to a medical device 140 via an interface 120, such as an interface including a USB connector/converter, to allow the device 140 to communicate with one or more clinical systems 110, such as a hospital information system (HIS), radiology information system (RIS), clinical information system (CIS), cardiovascular information system (CVIS), picture archiving and communication systems (PACS), library information system (LIS), electronic medical record (EMR), electronic health record (EHR), personal health record (PHR), and/or imaging system, for example. Using the interface 120 and driver library 130, the system 100 detects the medical device 140, such as a USB-enabled medical device, being connected or disconnected from the clinical system 110. Using the interface 120 and driver library 130, the system 100 supports a plug and play communication mode, such as a USB communication mode, to gather data from the medical device 140.
Each layer performs its own set of related tasks. For example, the Network Server 214 communicates with a client system, such as the clinical system 110, over a data communication interface, such as a TCP/IP interface, using data messages, such as iXML (interface eXtensible Markup Language) messages which structures the data used by the device interface. The iXML Engine 216 parses inbound messages and builds outbound iXML messages, for example. The Driver Engine 218 manages the device drivers 220 and forms a pool of threads for device driver execution. The device drivers 220 communicate with the one or more connected medical devices and translate data from medical device(s) into device interface internal format. Adapter(s) 230 provide a communication channel (e.g. serial or TCP/IP) to the medical device.
In an example, a client system 110 can develop one or more device drivers using an interface 120 protocol adaptor. The driver(s) can be added to the driver library 130 and used to configure driver information for the interface 120.
As shown, for example, in the data flow 300 of
As shown in
The session manager 435 creates a new session and queries a cache manager 445 to determine whether a driver for the connected medical device exists 410. If the driver is in the cache 412, then that information is used to subscribe for data 416 with the driver engine 218 via the data upstream module 455. If the driver is not found in the cache, then driver information is parsed 414 to determine an appropriate driver for subscription at the driver engine 218. After a driver is identified and selected, an acknowledgement 418 is sent from the cache manager 445 to the session manager 435 to generate a new session 420. The new session 422 is provided to the data downstream module 405.
After receiving the new session information 422, the data downstream module 405 generates a start message 424 for the driver engine 218. The driver engine 218 responds with an acknowledgement 426 to the data downstream 405. A reply 428 is generated okaying the start for an iXML generator 425. The iXML generator 425 generates a reply iXML message 430, which is provided by the data downstream 405 as a reply 432 to the network server 214.
In
In response to the USB device information 516, a create session message 518 is generated from the data stream 505. The session manager 515 receives the create session message 518 and generates a start session message 520 for the driver manager 545. The session manager 515 can create a session identifier for internal use and reference. The driver manager 545 responds with an acknowledgement 522. The session manager 515 similarly responds with an acknowledgement 524 to the data stream 505.
The driver manager 545 generates a new driver message 526 and transmits a message 528 to the data stream 505. In response, the data stream 505 sends a request to generate an XML message 530 to an XML generator 525. The XML generator 525 generates a new message 532 and acknowledges the generation of the new message 534 to the data stream 505.
Using the data sequence 500 of
In an example, the device interface 120, 200 includes a USB serial converter having a memory, such as an EEPROM and/or other data storage such as the memory discussed above. The USB converter EEPROM is configured to adapt a medical device 140 for use by a clinical system 110. Configuration information for the USB converter to accommodate one or more medical devices 110 via the device interface 120 can include a unique device identifier for each device instance, a device vendor identifier, a product identifier, a device name, a driver file name, etc. If the device identifier from the EEPROM is in conflict with other device(s) connected in the system, the device interface sends an iXML message to the client to specify that a second device having the same device identifier as a first device and the device interface is not able to communicate with the second device, for example.
In an example, a configuration tool can be provided for the USB converter. The configuration tool parses basic USB information and device information specific to the interface 120, 200. USB basic information can include vendor identifier, product identifier, serial number, enable USB serial number, etc. Interface specific information can include device identifier, device name, and device file (e.g., dynamic link library (DLL)) name, etc. The configuration tool can erase interface specific device information, for example. The configuration tool can be used to upload interface device specific information to the USB EEPROM based on user input, for example. For a USB device connected to the device interface, the USB serial number is enabled. The configuration tool can provide a way to enable the USB serial number.
A USB device object is created to detect USB converter connection and/or disconnection. To create the device object, device information such as vendor identifier, product identifier, device serial number, and virtual communication port number is retrieved from an operating system registry. An application programming interface can be used to obtain device identifier, device, and device driver file name from the serial converter. Using USB converter serial number, the virtual communication port and device name can be associated.
As illustrated, for example, in
In an example, USB and/or other connection detection can be handled using a plurality of (e.g., four) states in a state machine. Example states include invalid, new connection, no change, and removed connection. For example, when a USB device is connected but a virtual communication port is not found or device information read from an EEPROM has failed, the device interface notifies the client by sending out an XML message when the USB connection is in the invalid state. When a USB converter is connected to the system, the device interface initiates a new session in the new connection state. In the no change state, the USB connection is maintained and the device session is working. The device driver is continuing to execute and collect data from the connected medical device in this state. When a USB converter is unplugged or otherwise disconnected, a USB session is removed in the removed connection state, for example.
At 712, a list of connected device(s) is checked to determine whether the end of the list has been reached. If not, the process loops back to review the registry at 702. If so, the process passes to the USB detector 705 to determine whether, at 714, the USB device exists in a USB device list for the system. If so, at 716, then nothing further is done. If not, then, at 718, device interface state is examined to determine whether the state is set to invalid. If the state is not invalid, then, at 720, the EEPROM is read. If the EEPROM is successfully read, then, at 722, the USB device is added to the USB device list. The state is set to new connection and the EEPROM read for the UESB device information is noted. If the EEPROM was not successful read, then, at 724, the USB device is added to the USB device list and the state is set to new connection. However, the USB device information read EEPROM value is set to false and, after XMS, state is set to invalid. At 726, if the state is invalid at 720, the USB device information is added to the list and interface state is set to invalid.
At 728, if the process has not reached the end of the device registration list, the process loops back to reviewing the list at 714. If the process has reached the end of the registration list, then at 730, USB connectors are checked to determine whether a connector has been removed. If not, then, at 732, nothing is done. If so, then, at 734, USB device information for that device is set to a state of removed connection. At 736, if USB device information read EEPROM has been set to false, then the EEPROM is read at 740. If not, then nothing is done at 738.
At 806, the USB manager 805 determines if the interface is in a new connection state. If yes, then the read EEPROM okay value is compared to true. If the EEPROM was read okay, then, at 820, existence of a device session is determined. If no device session exists, then, at 824, a start driver is notified to start a device driver for the connected device. If a device session exists, then, at 822, the device connection state is set to “no change.” At 808, if the connection state is no change, then, at 826, nothing is done. At 810, if the state is set to invalid, then, at 828, an error notification is generated.
In operation, the start device module 912 of the client system 910 sends a message 940, such as an iXML message, from the client system 910 to the serial agent kernel 922 of the serial agent 920. In response to the message 940, the kernel 922 initiates an appropriate device driver 926 to communicate with the medical device 930. The device 930 responds to the device driver 926 and to the serial agent kernel 922. The serial agent kernel 922 in turn provides device data 945 to the client system 910.
The plug and play detector 924 of the serial agent kernel 922 can interact with a medical device 935 to obtain information from the device identifier 932 for the medical device 935. Using the device identification information, the plug and play detector 924 can select an appropriate device driver 928 for the device 935. The device 935 communicates with the device driver 935 and the serial agent kernel 922.
As illustrated, for example in
Thus, a variety of plug and play and non-plug and play devices can be adapted to function with a client clinical system using a device interface/converter to help facilitate ease of device usage for medical care. A USB serial converter, for example, can be used to uniquely identify the device for a serial agent clinical information system platform via hardware, software, and/or firmware. The serial agent platform is then enabled to transform device data in a plug and play manner.
In
The processor 1312 of
The system memory 1324 may include any desired type of volatile and/or non-volatile memory such as, for example, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, read-only memory (ROM), etc. The mass storage memory 1425 may include any desired type of mass storage device including hard disk drives, optical drives, tape storage devices, etc.
The I/O controller 1322 performs functions that enable the processor 1312 to communicate with peripheral input/output (“I/O”) devices 1326 and 1328 and a network interface 1330 via an I/O bus 1332. The I/O devices 1326 and 1328 may be any desired type of I/O device such as, for example, a keyboard, a video display or monitor, a mouse, etc. The network interface 1330 may be, for example, an Ethernet device, an asynchronous transfer mode (“ATM”) device, an 802.11 device, a DSL modem, a cable modem, a cellular modem, etc. that enables the processor system 1310 to communicate with another processor system.
While the memory controller 1320 and the I/O controller 1322 are depicted in
Certain embodiments contemplate methods, systems and computer program products on any machine-readable media to implement functionality described above. Certain embodiments may be implemented using an existing computer processor, or by a special purpose computer processor incorporated for this or another purpose or by a hardwired and/or firmware system, for example.
Some or all of the system, apparatus, and/or article of manufacture components described above, or parts thereof, can be implemented using instructions, code, and/or other software and/or firmware, etc. stored on a machine accessible or readable medium and executable by, for example, a processor system (e.g., the example processor system 1410 of
One or more of the components of the systems and/or steps of the methods described above may be implemented alone or in combination in hardware, firmware, and/or as a set of instructions in software, for example. Certain embodiments may be provided as a set of instructions residing on a computer-readable medium, such as a memory, hard disk, DVD, or CD, for execution on a general purpose computer or other processing device. Certain embodiments of the present invention may omit one or more of the method steps and/or perform the steps in a different order than the order listed. For example, some steps may not be performed in certain embodiments of the present invention. As a further example, certain steps may be performed in a different temporal order, including simultaneously, than listed above.
Certain embodiments include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media may be any available media that may be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such computer-readable media may comprise RAM, ROM, PROM, EPROM, EEPROM, Flash, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. Combinations of the above are also included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.
Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of program code for executing steps of certain methods and systems disclosed herein. The particular sequence of such executable instructions or associated data structures represent examples of corresponding acts for implementing the functions described in such steps.
Embodiments of the present invention may be practiced in a networked environment using logical connections to one or more remote computers having processors. Logical connections may include a local area network (LAN) and a wide area network (WAN) that are presented here by way of example and not limitation. Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets and the Internet and may use a wide variety of different communication protocols. Those skilled in the art will appreciate that such network computing environments will typically encompass many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
An exemplary system for implementing the overall system or portions of embodiments of the invention might include a general purpose computing device in the form of a computer, including a processing unit, a system memory, and a system bus that couples various system components including the system memory to the processing unit. The system memory may include read only memory (ROM) and random access memory (RAM). The computer may also include a magnetic hard disk drive for reading from and writing to a magnetic hard disk, a magnetic disk drive for reading from or writing to a removable magnetic disk, and an optical disk drive for reading from or writing to a removable optical disk such as a CD ROM or other optical media. The drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer.
While the invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. 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. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims.
Gao-Saari, Lan, Raatikainen, Marko, Vanhanen, Ilkka, Lindroos, Jyrki, Parnanen, Juha
Patent | Priority | Assignee | Title |
10621304, | Mar 07 2017 | Ricoh Company, LTD | Medical device control in telehealth systems |
11961610, | Mar 24 2020 | Baxter International Inc.; BAXTER HEALTHCARE SA | Digital communication module for transmission of data from a medical device |
Patent | Priority | Assignee | Title |
6643652, | Jan 14 2000 | SABA SOFTWARE, INC | Method and apparatus for managing data exchange among systems in a network |
7444346, | May 27 2005 | SBC KNOWLEDGE VENTURES, L P | System and method for simple object access protocol access to interface definition language based services |
7551078, | May 08 2006 | INTERMOUNTAIN INTELLECTUAL ASSET MANAGEMENT, LLC | Device alert system and method |
7552057, | Mar 02 2001 | Method and apparatus for using process exceptions to provide instant notifications for distributed processes | |
7698405, | Jan 07 2005 | Lantronix, Inc. | MILARRS systems and methods |
7779183, | Aug 27 2005 | Roche Diabetes Care, Inc | Communication adapter for ambulant medical or therapeutic devices |
20040088374, | |||
20050108057, | |||
20070009161, | |||
20070213598, | |||
20080004904, | |||
20080034415, | |||
20080146265, | |||
20090036750, | |||
20090058635, | |||
20090063193, | |||
20090125332, | |||
20090240526, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 12 2009 | GAO-SAARI, LAN | General Electric Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 028427 | /0001 | |
Jun 12 2009 | VANHANEN, ILKKA | General Electric Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 028427 | /0001 | |
Jun 12 2009 | LINDROOS, JYRKI | General Electric Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 028427 | /0001 | |
Jun 22 2009 | RAATIKAINEN, MARKO | General Electric Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 028427 | /0001 | |
Jun 24 2009 | PARNANEN, JUHA | General Electric Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 028427 | /0001 | |
Jun 22 2012 | General Electric Company | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Mar 17 2020 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 20 2024 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Oct 18 2019 | 4 years fee payment window open |
Apr 18 2020 | 6 months grace period start (w surcharge) |
Oct 18 2020 | patent expiry (for year 4) |
Oct 18 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 18 2023 | 8 years fee payment window open |
Apr 18 2024 | 6 months grace period start (w surcharge) |
Oct 18 2024 | patent expiry (for year 8) |
Oct 18 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 18 2027 | 12 years fee payment window open |
Apr 18 2028 | 6 months grace period start (w surcharge) |
Oct 18 2028 | patent expiry (for year 12) |
Oct 18 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |