A medical apparatus is provided with a programmable medical device disposed at a first room location and a remote monitor and/or controller disposed at a second room location. The programmable medical device is used to administer a medical treatment to a patient, and the remote monitor/controller may...http://www.google.fr/patents/US5807336?utm_source=gb-gplus-shareBrevet US5807336 - Apparatus for monitoring and/or controlling a medical device

Apparatus for monitoring and/or controlling a medical deviceUS 5807336 A

Résumé

A medical apparatus is provided with a programmable medical device disposed at a first room location and a remote monitor and/or controller disposed at a second room location. The programmable medical device is used to administer a medical treatment to a patient, and the remote monitor/controller may be used to monitor the operation of the medical device, control the operation of the medical device, and/or to transfer data from the medical device to the remote monitor/controller. The apparatus may allow voice communication between the remote monitor/controller and the patient who is receiving treatment via the medical device while the medical device is being monitored and/or controlled from the remote location. The remote monitor/controller may also include means for determining the type of medical device to which it is connected.

Images(12)

Revendications(19)

What is claimed is:

1. A medical apparatus, comprising:

an infusion pump for administering a liquid medicant to a patient, said infusion pump being disposed at a first room location and comprising:

a liquid injection device adapted to be connected to the patient;

a conduit connected to said liquid injection device;

a pumping mechanism for pumping said liquid medicant through said conduit and into said patient via said liquid injection device and for generating a pump signal indicative of the pump speed and for generating a pump interrupt when said pump signal is generated;

a controller for controlling said pumping mechanism; and

memory means for storing data regarding said liquid medicant administered to said patient;

a remote monitor for monitoring said liquid medicant administered to said patient, said remote monitor being disposed at a second room location remote from said first room location; and

means for transferring said data from said infusion pump to said remote monitor effective for transferring said data real-time while said infusion pump is administering said liquid medicant to said patient and for generating a transfer interrupt when said data is to be transferred;

wherein said controller responds to said interrupts in accordance with predetermined priorities and wherein said pump priority is assigned the highest priority.

2. An apparatus as defined in claim 1 wherein said means for transferring said data from said infusion pump to said remote monitor comprises means for transmitting said data in segmented, noncontinuous data portions.

3. An apparatus as defined in claim 1 wherein said means for transferring said data from said infusion pump to said remote monitor comprises:

means for repeatedly transmitting portions of said data from said infusion pump to said remote monitor; and

means for generating an interrupt when one of said data portions has been transmitted to said remote monitor, said interrupt causing said transmitting means to transmit another of said data portions from said infusion pump to said remote monitor.

4. An apparatus as defined in claim 1 wherein said means for transferring said data from said infusion pump to said remote monitor comprises:

means for loading a portion of said data into a transmit buffer coupled to said remote monitor via a communication link;

means for generating an interrupt when said data portion has been transmitted from said transmit buffer to said remote monitor via said communication link, said interrupt causing said loading means to transmit another of said data portions from said infusion pump to said remote monitor.

5. A medical apparatus, comprising:

a medical device for administering a medical treatment to a patient, said medical device being disposed at a first room location and comprising:

means for administering said medical treatment to said patient and for generating a signal indicative of the rate of administering of said medical treatment and for generating an administrating interrupt when said administrating signal is generated;

memory means for storing data regarding said medical treatment administered to said patient; and

a controller for controlling said administering means;

a remote monitor for monitoring said medical treatment administered to said patient, said remote monitor being disposed at a second room location remote from said first room location; and

means for transferring said data from said medical device to said remote monitor effective for transferring said data real-time while said medical device is administering said medical treatment to said patient and for generating a transfer interrupt when said data is to be transferred;

wherein said controller responds to said interrupts in accordance with predetermined priorities and wherein said administering priority is assigned the highest priority.

6. An apparatus as defined in claim 5 wherein said means for transferring said data from said medical device to said remote monitor comprises means for transmitting said data in segmented, noncontinuous data portions.

7. An apparatus as defined in claim 5 wherein said means for transferring said data from said medical device to said remote monitor comprises:

means for repeatedly transmitting portions of said data from said medical device to said remote monitor; and

means for generating an interrupt when one of said data portions has been transmitted to said remote monitor, said interrupt causing said transmitting means to transmit another of said data portions from said medical device to said remote monitor.

8. An apparatus as defined in claim 5 wherein said means for transferring said data from said medical device to said remote monitor comprises:

means for loading a portion of said data into a transmit buffer coupled to said remote monitor via a communication link;

means for generating an interrupt when said data portion has been transmitted from said transmit buffer to said remote monitor via said communication link, said interrupt causing said loading means to transmit another of said data portions from said medical device to said remote monitor.

9. An apparatus as defined in claim 5 wherein said medical device comprises an infusion pump and wherein said means for administering said medical treatment to said patient comprises:

a liquid injection device adapted to be connected to the patient;

a conduit connected to said liquid injection device; and

a pumping mechanism for pumping a liquid drug through said conduit and into said patient via said liquid injection devices.

10. A medical apparatus, comprising:

a medical device for administering a medical treatment to a patient, said medical device being disposed at a first room location and comprising:

means for administering said medical treatment to said patient and for generating a signal indicative of the rate of administering said medical treatment and for generating an administering interrupt when said administering signal is generated;

memory means for storing data regarding said medical treatment administered to said patient; and

a controller for controlling said administering means;

a remote monitor for monitoring said medical treatment administered to said patient, said remote monitor being disposed at a second room location remote from said first room location;

a communication link operatively coupled between said medical device and said remote monitor;

means for transferring said data from said medical device to said remote monitor via said communication link; and

means for allowing voice communication between said medical device and said remote monitor via said communication link effective for allowing said voice communication real-time while said data is being transferred from said medical device to said remote monitor and for generating a voice interrupt when said voice communication is initiated;

wherein said controller responds to said interrupts in accordance with predetermined priorities and wherein said administering priority is assigned the highest priority.

11. An apparatus as defined in claim 10 wherein said means for allowing voice communication comprises:

a first voice/data modem operatively coupled to said medical device; and

a second voice/data modem operatively coupled to said remote monitor, said first and second voice/data modems being coupled to said communication link.

12. An apparatus as defined in claim 10 wherein said communication link comprises a telephone line.

14. An apparatus as defined in claim 10 additionally comprising means for controlling said medical treatment being administered to the patient from said second room location.

15. A medical apparatus, comprising:

a medical device for administering a medical treatment to a patient, said medical device being disposed at a first room location and comprising:

means for administering said medical treatment to said patient;

an input device operatively coupled to said administering means for allowing a user to input control commands to control said administering means, said input device having a plurality of entry keys disposed in a spatial configuration; and

memory means for storing data regarding said medical treatment administered to said patient;

a remote monitor for monitoring and controlling said medical treatment administered to said patient, said remote monitor being disposed at a second room location remote from said first room location, said remote controller comprising:

a display device;

means operatively coupled to said display device for generating a visual display of a plurality of virtual entry keys, said virtual entry keys having a spatial configuration substantially the same as said entry keys of said input device of said programmable medical device; and

means for allowing a user at said second room location to activate said virtual keys to allow the user to control the operation of said programmable medical device from said second room location; and

means for transferring said data from said medical device to said remote monitor while said medical device is administering said medical treatment to said patient.

16. An apparatus as defined in claim 15 wherein said means for transferring said data from said medical device to said remote monitor comprises means for transmitting said data in segmented, noncontinuous data portions.

17. An apparatus as defined in claim 15 wherein said means for transferring said data from said medical device to said remote monitor comprises:

means for repeatedly transmitting portions of said data from said medical device to said remote monitor; and

means for generating an interrupt when one of said data portions has been transmitted to said remote monitor, said interrupt causing said transmitting means to transmit another of said data portions from said medical device to said remote monitor.

18. An apparatus as defined in claim 15 wherein said means for transferring said data from said medical device to said remote monitor comprises:

means for loading a portion of said data into a transmit buffer coupled to said remote monitor via a communication link;

means for generating an interrupt when said data portion has been transmitted from said transmit buffer to said remote monitor via said communication link, said interrupt causing said loading means to transmit another of said data portions from said medical device to said remote monitor.

19. An apparatus as defined in claim 15 wherein said medical device comprises an infusion pump and wherein said means for administering said medical treatment to said patient comprises:

a liquid injection device adapted to be connected to the patient;

a conduit connected to said liquid injection device;

a pumping mechanism for pumping a liquid drug through said conduit and into said patient via said liquid injection device; and

a controller for controlling said pumping mechanism.

Description

BACKGROUND OF THE INVENTION

The present invention is directed to an apparatus for monitoring and/or controlling a medical device, such as an infusion pump, from a remote location.

An infusion pump is used to automatically administer liquid medicant to a patient. The liquid medicant is supplied from a source of medicant and pumped into the patient via a catheter or other injection device. The manner in which the liquid is infused is controlled by the infusion pump, which may have various modes of infusion, such as a continuous mode in which the liquid medicant is continuously infused at a constant rate, or a ramp mode in which the rate of infusion gradually increases, then remains constant, and then gradually decreases.

Typically, the monitoring of an infusion pump is performed by reviewing a visual display means incorporated in the infusion pump, and the control of the infusion pump is performed by activating an input device, such as a keypad, incorporated with the infusion pump. Consequently, the monitoring and/or control of an infusion pump is performed at the same location at which the infusion pump is disposed.

SUMMARY OF THE INVENTION

The invention is generally directed to a medical apparatus having a programmable medical device disposed at a first room location and a remote monitor and/or controller disposed at a second room location.

In one aspect, the invention is directed to a medical apparatus having a medical device for administering a medical treatment to a patient, the medical device being disposed at a first room location and including means for administering the medical treatment to the patient and memory means for storing data regarding the medical treatment administered to the patient. The medical apparatus also includes a remote monitor for monitoring the medical treatment administered to the patient, the remote monitor being disposed at a second room location remote from the first room location, and means for transferring the data from the medical device to the remote monitor while the medical device is administering the medical treatment to the patient.

The data may be transmitted to the remote monitor in segmented, noncontinuous data portions, and the means for transferring the data to the remote monitor may include means for repeatedly transmitting portions of the data from the medical device to the remote monitor and means for generating an interrupt when one of the data portions has been transmitted to the remote monitor, the interrupt causing the transmitting means to transmit another of the data portions from the medical device to the remote monitor.

In a second aspect, the invention is directed to a medical apparatus having a medical device for administering a medical treatment to a patient, the medical device being disposed at a first room location and including means for administering the medical treatment to the patient and memory means for storing data regarding the medical treatment administered to the patient. The medical device also includes a remote monitor for monitoring the medical treatment administered to the patient, the remote monitor being disposed at a second room location remote from the first room location, a communication link operatively coupled between the medical device and the remote monitor, means for transferring the data from the medical device to the remote monitor via the communication link, and means for allowing voice communication between the medical device and the remote monitor via the communication link while the data is being transferred from the medical device to the remote monitor.

In a third aspect, the invention is directed to an apparatus having remote means for communicating with one of a plurality of medical devices each of which is designed to administer a medical treatment to a patient, the one medical device being disposed at a first room location and the remote means being disposed at a second room location remote from the first room location. The remote means includes means for automatically determining the type of the one programmable medical device and means for receiving data relating to the medical treatment of the patient after the type of the one programmable medical device has been determined. The apparatus also includes data communication means coupled to the remote means for transferring data between the remote means and the one programmable medical device.

The one programmable medical device may have a visual display device and the means for automatically determining the type of the one programmable medical device may include means for transmitting a display request to the one programmable medical device to request that the one programmable medical device transmit display data including a plurality of characters shown on the visual display device of the one programmable medical device, means for receiving the display data, and means for determining the type of the one programmable medical device based upon the display data.

The display data may include a number of characters and the determining means may include means for determining the type of the one programmable medical device based upon the number of characters in the display data. The means for automatically determining the type of the one programmable medical device may also include means of a first type for automatically determining the type of the one programmable medical device and means of a second type for automatically determining the type of the one programmable medical device.

These and other features and advantages of the present invention will be apparent to those of ordinary skill in the art in view of the detailed description of the preferred embodiment, which is made with reference to the drawings, a brief description of which is provided below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an apparatus for administering medical treatment to a patient and monitoring the condition of the patient;

FIG. 2 is a block diagram of the electronic components of the remote monitor/controller shown schematically in FIG. 1;

FIG. 3 is a front view of one embodiment of the infusion pump shown schematically in FIG. 1;

FIG. 4 is a block diagram of the electronic components of the infusion pump of FIG. 3;

FIG. 5 is a flowchart of the overall operation of the infusion pump;

FIG. 6 illustrates a number of data-recording steps performed during the operation of the infusion pump;

FIG. 7 is a representation of a portion of the memory of the infusion pump;

FIG. 8 is a flowchart of a store data routine which can be used to store data relating to the operation of the infusion pump and data relating to the condition of a patient;

FIG. 9 is a flowchart of a routine which may be used to identify the type of infusion pump to which the remote monitor/controller is coupled;

FIG. 10 is a flowchart of a mode select routine of the remote monitor/controller;

FIG. 12 is a flowchart of a command pump routine that is performed by the remote monitor/controller;

FIG. 13 is a flowchart of a receive routine that is performed by the infusion pump;

FIG. 14 is a flowchart of a transmit routine that is performed by the infusion pump; and

FIG. 15 is an illustration of a graphical user menu that may be displayed by the remote monitor/controller.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

FIG. 1 illustrates one embodiment of an apparatus 10 for administering medical treatment to a patient. Referring to FIG. 1, the apparatus 10 includes a programmable medical treatment means in the form of an infusion pump 12, which is connected to a liquid medicant injection device in the form of a catheter 14 via a liquid conduit schematically shown as 16.

The apparatus 10 includes a remote monitor/controller 20 which is disposed at a room location remote from the room location at which the infusion pump 12 is located. The remote monitor/controller 20 could be disposed in a different room of the same building in which the pump 12 is disposed, or in a different building than the one in which the pump 12 is disposed. The remote monitor/controller 20 is connected to a conventional voice/data modem 22 via a data link 24, and the modem 22 is also connected to a telephone 26 via a voice link 28. The infusion pump 12 is connected to a conventional voice/data modem 30 via a data link 32, and the modem 30 is connected to a telephone 34 via a voice link 36. The two modems 22, 30 are interconnected to bidirectional voice and data communication via a communication link 38, which could be a telephone line, for example.

FIG. 2 is a block diagram of the electronics of the remote monitor/controller 20 shown schematically in FIG. 1. Referring to FIG. 2, the remote monitor/controller 20 includes a microprocessor (MP) 60, a read-only memory (ROM) 62, a random-access memory (RAM) 64, and an input/output (I/O) circuit 66, all of which are interconnected by an address/data bus 68. The microprocessor 60 has a transmit buffer (XMIT) 70 for transmitting data bytes and a receive buffer (REC) 72 for receiving data bytes. The remote monitor/controller 20 has a keyboard 74 connected to the I/O circuit 66 via a line 76, a display device 78, such as a CRT, connected to the I/O circuit 66 via a line 80, and an input device, such as an electronic mouse 82, connected to the I/O circuit 66 via a line 84. The remote monitor/controller 20 can also include one or more disk drives, such as a hard disk drive or a floppy disk drive.

FIG. 3 is a front view of one embodiment of the infusion pump 12 shown schematically in FIG. 1. Referring to FIG. 3, the pump 12 has an input device in the form of a keypad 90 via which a user may input data and commands and a display 92 for displaying textual messages to the user.

A block diagram of the electronics of the infusion pump 12 is shown in FIG. 4. Referring to FIG. 4, the pump 12 includes a controller 100, an electrically programmable read-only memory (EPROM) 102 having a built-in I/O interface 102a, a nonvolatile RAM 104, a real-time clock 106 and the display 92, all of which are interconnected by a communications bus 108. The display 92 has a backlight 110 which is selectively activated by an enable signal generated on a line 112 interconnecting the controller 100 and the backlight 110. Both the RAM 104 and the real-time clock 106 are connected to a battery 114 which supplies power to them only in the absence of system power. The controller 100 has a transmit buffer 116 and a receive buffer 118 connected to the communications bus 108.

The controller 100 controls the medicant infusion rate by periodically transmitting a control signal to an amplifier circuit 120 via a line 122 to drive a pump motor 124 which drives a pumping mechanism 126, such as a rotary pump wheel (not shown) adapted to make contact with a portion of the liquid conduit 16 (FIG. 1) connected to the catheter 14.

The controller 100 receives periodic inputs from a shaft encoder (SE) sensor 130, which is disposed on the shaft of the motor 124. The SE sensor 130 may be a two-phase motion sensing encoder which provides two signal outputs to the controller 100. The rotational speed of the motor 124 and its direction of rotation are determined by the controller 100 based upon the rate and phase relationship between the two signal outputs.

The SE encoder 130 periodically transmits the signals to the controller 100 via a line 132. Each time the signals are transmitted, an interrupt is generated, and the controller 100 compares the actual position of the motor shaft with its desired position, and transmits a new control signal, such as a pulse-width modulated signal, to the amplifier 120 via the line 122 to ensure that the actual speed of the motor 124 corresponds to the motor speed required for the desired medicant infusion rate. The interrupts caused by the SE sensor 130 are assigned to the highest priority so that they are responded to immediately, before any other actions are taken by the controller 100.

The operation of the infusion pump 12 is controlled by a computer program stored in the EPROM 104 and executed by the controller 100. A flowchart 200 of the overall operation is illustrated in FIG. 5. Referring to FIG. 5, when the pump 12 is turned on, at step 202 the pump is initialized and a test of the pump operation is performed. The pump 12 may be turned off temporarily during an infusion, in which case the pump 12 may continue the infusion when it is turned back on, as described below. At step 204, if there is any remaining volume of liquid to be infused by the pump or any additional time remaining for an infusion, which would be the case where the pump was temporarily turned off during an infusion, the program branches to step 206, where the user is asked, via a message displayed on the display 92, whether the previous infusion should be resumed. If the user answers yes (via the keypad 90), the program branches to a ready-to-run step 210. If the previous infusion is not to be resumed, the program branches to step 212.

The infusion pump 12 has a lockout mode in which the user may be prevented from programming the infusion parameters, such as the volume to be infused or the rate of infusion. For example, the pump 12 could be programmed by a medical assistant to deliver a particular infusion having a particular flow profile, flow rate and volume to be infused. After programming that infusion, the medical assistant could place the pump in lockout mode, which would prevent the patient from changing any of the infusion parameters. At step 212, if the pump 12 has been previously placed in lockout mode, the program branches directly to the ready-to-run step 210, bypassing all programming steps.

At step 212, if the pump is not in lockout mode, the program branches to step 214, at which point the program prompts the user, via the display 92, to input whether the patient should be allowed to program the pump during the subsequent infusion. If the pump is not to be programmable, the program branches to step 216 where a lockout sequence is performed by requesting the user to input which infusion modes should be locked out. If the pump is to be programmable by the patient, the program bypasses step 216.

The infusion pump 12 has five basic modes of infusion: 1) a continuous mode in which the pump delivers a single volume at a single rate; 2) an auto-ramp mode in which the pump delivers liquid at a rate that gradually increases to a threshold rate, stays constant at the threshold rate, and then gradually decreases; 3) an intermittent mode in which the pump delivers discrete liquid volumes spaced over relatively long periods of time, such as a liquid volume every three hours; 4) a custom mode in which the pump can be programmed to deliver a unique infusion rate during each of 25 different time periods; and 5) a pain-controlled analgesic (PCA) mode during which the pump will periodically infuse boluses of analgesic in response to periodic requests by the patient.

At step 218, the pump 12 generates on the display 92 the prompt "Continuous?" to the user. If the user desires to use the pump in its continuous mode, the user answers "yes" via the keypad 90, and the program branches to step 220 at which the continuous mode is programmed by the user by entering a number of infusion parameters, such as the desired infusion rate, the volume to be infused, etc. At step 218, if the user does not want to use the continuous mode, the user answers "No," and the program branches to step 222. Steps 222-236 are generally the same as steps 218 and 220, except that the user may be prompted for different infusion parameters, depending on which of the five possible infusion modes is selected.

After the completion of one of the steps 220, 224, 228, 232, or 236, the program branches to the ready-to-run step 210. When the user presses the "Run" key, the pump 12 enters the run mode 260 and infuses the patient with a liquid medicant in accordance with the infusion mode selected at one of steps 218, 222, 226, 230, 234 and the infusion parameters entered at one of steps 220, 224, 228, 232, 236. The pump 12 remains in the run mode 260 until the "Hold" key is pressed, as determined at step 262. Upon the occurrence of an alarm condition, an alarm is reported at step 264. At step 262, if the hold key is pressed, the infusion is stopped at step 266, and the pump 12 waits for the run key to be pressed at step 268 or the on/off switch to be turned off at step 270.

Summarizing the operation described above, if the pump is to be utilized in lockout mode, a medical assistant turns the pump on, programs the desired infusion mode at one of steps 220, 224, 228, 232, 236, and then turns the pump off. The programmed infusion parameters will be retained in the memory 104. The medical assistant would then turn the pump back on, press the "No" key in response to the "Programmable?" prompt at step 214, enter the lockout information at step 216, and then turn the pump off again. When the patient subsequently turned on the pump to perform the infusion, the program would proceed from step 212 directly to the ready-to-run step 210, which would prevent the patient from altering the infusion parameters.

If the lockout mode was not utilized, the medical assistant or the patient could turn the pump on, program the desired infusion mode, and then press the "Run" key to start the infusion without ever turning the pump off.

During programming and operation, the infusion pump 12 automatically records in the non-volatile memory 104 all significant infusion data to generate a complete historical data record which can be later retrieved from the memory 104 and used for various purposes, including clinical purposes to aid in determining how effective a particular infusion therapy was and treatment purposes to confirm that the prescribed infusion was actually delivered.

FIG. 6 illustrates various steps at which infusion data is recorded that are performed during the overall pump operation shown generally in FIG. 5. The infusion data recorded in the memory 104 is set forth in Table 1 below. A number of events which trigger the storage of data are listed in the left-hand column of Table 1, and the infusion data that is recorded upon the occurrence of each event is listed in the right-hand column of Table 1. The time at which the infusion data is recorded, which is determined by the real-time clock 106, is also stored along with the infusion data.

Referring to Table 1 and FIG. 6, when the power to the infusion pump 12 is turned on, the date and time of the power turn-on is recorded. When the pump is completely programmed pursuant to one of steps 220, 224, 228, 232, 236 (FIG. 5) as determined at step 302, the programmed infusion parameters are stored at step 304, along with the time of such storage. The particular parameters that are stored depend upon which infusion mode was programmed. Several examples of infusion parameters that are stored for each of a number of infusion modes are illustrated in Table 2 set forth below.

When the pump enters the run mode 260 (FIG. 5) as determined at step 306, the time at which the run mode was begun, along with the parameters pursuant to which the infusion is performed, are stored at step 308.

At step 310, if the hold key is pressed, then the time at which the hold key was pressed along with the total volume infused at the time the hold key was pressed are stored at step 312. The pump also stores any infusion rate changes, such as changes caused by switching from a continuous rate to a keep-vein-open (KVO) rate, or in the intermittent mode, changing from a KVO rate to a higher infusion rate, the presence of which are detected at step 314. The new rate and the time at which the new rate started are stored at step 316.

At step 318, if any alarms are generated, the alarm type, the time at which the alarm occurred, and the total volume infused at the time of the alarm are recorded at step 320. If the infusion is completed as determined at step 322, the program branches to step 324 where the time at which the infusion was completed is stored along with the total volume infused. At step 326, if there is a malfunction, the malfunction type, the time at which the malfunction occurred, and the total volume infused at the time of the malfunction are recorded at step 328.

At step 330, if the infusion is resumed (when the pump is turned back on after having been turned off during an infusion), the time at which the infusion is resumed along with the infusion parameters are stored at step 332. Upon the completion of the programming of a lockout sequence as determined at step 334 (i.e. after step 216 of FIG. 5), the time at which the programming of the lockout was completed is stored along with the infusion modes that were locked out. At step 338, upon the detection of a bolus request, the time at which the bolus was requested is stored at step 340, along with an indication whether the bolus was actually given and the amount of the bolus.

FIG. 7 illustrates the data organization of a portion of the RAM 104 in which infusion data (the data stored during the steps of FIG. 6) is stored. Referring to FIG. 7, the infusion data is stored in a number of memory locations 372. Data may be written to the memory locations 372 utilizing a pointer 376 which specifies the memory location at which data should be next stored.

FIG. 8 is a flowchart of a routine 380 for storing data in the memory locations 372. Referring to FIG. 8, at step 382 the pointer 376 is set to the address of the next memory location 372 in which data is to be stored. At step 384, if the pointer 376 is at the last memory location in which data may be stored, the routine branches to step 386 where the pointer is set to the address of the first memory location in which data may be stored. As a consequence of steps 384, 386, the contents of the memory locations 372 are periodically overwritten with new data; however, the number of memory locations 372 is sufficiently large so that several months of data, for example, is stored before being overwritten. At steps 388 and 390 the data is stored in the memory location 372 specified by the pointer 376 (the data includes a time stamp generated from the real-time clock 106 and event data specifying the particular infusion event).

FIGS. 9, 10, and 12 are flowcharts of various routines that are performed by the remote monitor/controller 20. As described in more detail below, the remote monitor/controller 20 may be used to monitor the operation of the infusion pump 12, to control the operation of the infusion pump 12, and/or to transfer infusion data and patient data from the infusion pump 12 so that such data can be reviewed by a health care professional at a location remote from the patient.

The remote monitor/controller 20 is designed to interface with different types of infusion pumps. In order to determine which type of infusion pump the remote monitor/controller 20 is operatively coupled, a pump identification routine 400 performed after the communication link between the remote monitor/controller 20 and the infusion pump 12 is established. Referring to FIG. 9, at step 402 the remote monitor/controller 20 transmits a pump identification (ID) request to the infusion pump 12 via the communication link 38. In response to the pump ID request, the pump 12 transmits a multi-character ID code back to the remote monitor/controller 20. The ID code may include, for example, one or more characters identifying the pump model and/or one or more characters identifying the software version of the pump. At step 404, the remote monitor/controller 20 reads the characters sent from the pump 12 until all characters are received as determined at step 406 or until a predetermined time period, e.g. five seconds, elapses. The time period may be determined by a timer (not shown). The remote monitor/controller 20 may determine that all characters have been received by, for example, identifying one or more termination characters, such as a carriage-return character <CR> followed by a line-feed character <LF>.

Step 408 determines whether a correct response was received from the pump 12, which may be determined checking the characters received from the pump 12 against a list of possible ID codes. If a correct response was received, the routine branches to step 410 where the pump type is determined, for example, by comparing the received pump ID code with at least one possible ID code which identifies a particular type of infusion pump, or by comparing the received pump ID code with a number of possible ID codes, each of which identifies a particular type of infusion pump. As used herein, the "type" of infusion pump may relate to the model of the pump or the software version of the pump.

If a correct response was not received as determined by step 408, at step 412 the routine determines whether the predetermined time period measured by the timer has expired prior to receiving a termination character. If so, the routine branches to step 414 where an error message is generated due to the pump's failure to respond to the pump ID request.

At step 412, if some type of response (not a correct response) was received before the timer expired, the routine branches to step 416. Steps 416-426 comprise a second way of determining the type of infusion pump 12 connected to the remote monitor/controller 20, which is based on the number of characters in the display 92 of the pump 12. For example, a first type of infusion pump may have a display capable of displaying 12 characters, whereas a second type of infusion pump may have a display capable of displaying 32 characters. Steps 416-426 determine the type of infusion pump based on the number of characters in the display.

At step 416, the remote monitor/controller 20 transmits a pump display request to the infusion pump 12 to request the pump 12 to transmit the content of its display 92. At step 418, the remote monitor/controller 20 reads the display characters transmitted from the pump 12. At step 420, if a predetermined period of time has elapsed or if a terminating character is received, the routine branches to step 422. At step 422, if the predetermined time period measured by the timer elapsed prior to the receipt of a terminating character, the routine branches to step 424 where an appropriate error message is generated. At step 426, the type of pump is determined based on the number of display characters that were received.

The routine could also exit step 420 if a predetermined number of characters are received. In that case, where the remote monitor/controller 20 was designed to interface with two different types of infusion pumps, one having a display capability of 12 characters and another having a display capability of 32 characters, if the remote monitor/controller 20 received more than 12 display characters at step 420, it would immediately be able to determine that the pump type corresponded to a pump with a 32-character display capability.

The remote monitor/controller 20 allows four basic functions to be performed, including controlling the infusion pump 12, monitoring the operation of the pump 12, transferring infusion data from the pump 12 to the remote monitor/controller 20, and viewing the data. The user may perform one of those functions by selecting an operational mode displayed on the display device 78 (FIG. 2) of the remote monitor/controller 20 via the mouse 82. These modes include a command mode in which a health care professional at the remote monitor/controller 20 may transmit command signals to the infusion pump 12 to control its operation, a monitoring mode in which the infusion pump 12 will continually transmit the contents of its visual display 92 to the remote monitor/controller 20, a download data mode in which infusion data is transferred from the pump 12 to the remote monitor/controller 20, and a view data mode in which the infusion data may be viewed on the display 78 of the remote monitor/controller 20.

FIG. 10 illustrates a flowchart 450 of the basic operation of the remote monitor/controller 20. Referring to FIG. 10, at step 452, if the user selected the command mode described above, the routine branches to step 454 where a display of the keypad 90 of the infusion pump 12 is shown on the display device 78. The display shown at step 454 comprises a plurality of virtual entry keys having a spatial configuration substantially the same as the entry keys of the keypad 90 of the particular infusion pump type which is connected to the remote monitor/controller 20. An example of such a visual display is shown in FIG. 11A.

It should be noted that the virtual keypad shown in FIG. 11A is the same as the actual keypad 90 of the pump 12, which is shown in FIG. 3 (except that the on/off key of the pump 12 is replaced with a reset key in the virtual key display). Where a different type of pump having a different keypad is attached to the remote monitor/controller 20, that particular keypad is displayed on the display device 78. An example of a different virtual keypad is shown in FIG. 11B. Various virtual keypad configurations may be stored in the memory of the remote monitor/controller 20, each virtual keypad configuration having a pump type code associated therewith. Since the remote monitor/controller 20 initially determined the type of pump to which it was attached (via the routine of FIG. 9), it can retrieve from memory and display the corresponding virtual keypad for that type of pump.

After the virtual keypad is displayed, the health care professional may control the operation of the infusion pump 12 by selecting any of the virtual keys with the mouse 82. Other ways of selecting the keys could be utilized, such as a touch-sensitive screen or a display screen activated by radiation sensors. The infusion pump 12 responds to commands entered via its keypad 90 and to commands generated from the remote monitor/controller 20. At steps 456 and 458, any commands entered by the health care professional are transmitted to the infusion pump 12, and at steps 460 and 462, the display of the pump 12 is transferred to the remote monitor/controller 20 and displayed on the display device 78 of the remote monitor/controller 20. At step 464, if the user exits the command mode, the routine branches back to step 452.

At step 465, if the health care professional selected the monitor mode, the routine branches to step 466 where a visual display of the pump display 92 is shown on the display device 78. At step 467, the contents of the pump display 92 are transferred to the remote monitor/controller 20, and at step 468 those contents are displayed in the visual display generated at step 466. At step 469, if the user exits the monitor mode, the routine branches back to step 452; otherwise, the routine branches back to step 467 so that the contents of the pump display 92 are continuously shown on the display device 78 at step 468 (the display 92 of the infusion pump 12 changes in accordance with the pump operation so that the pump operation can be monitored by viewing the display 92). Step 467 may be accomplished, for example, by transmitting a pump display request to the pump 12 (via steps similar to steps 416-420 described above).

If the health care professional inputs a request to download data from the pump 12 to the remote monitor/controller 20 as determined at step 470, the routine branches to step 472 where the data transfer is accomplished, as described below in connection with FIGS. 13-14. If the user inputs a view data log request as determined at step 474, the routine branches to step 476 where data previously downloaded at step 472 can be viewed on the display device 78 of the remote monitor/controller 20. The user may exit the mode select routine 450 via step 478.

FIG. 12 illustrates one routine that could be used to implement the transmit command step 458 shown schematically in FIG. 10. Referring to FIG. 12, the pump command is transmitted from the remote monitor/controller 20 at step 480, and then the infusion pump 12 transmits to the remote monitor/controller 20 an echo of the command so that the remote monitor/controller 20 knows that command was received properly by the pump 21. The characters making up the echo are received at steps 482-484, and if the echo is not correct, an error message is displayed to the health care professional. At step 490, the remote monitor/controller 20 sends an acknowledgement of the echo to the pump 12.

The transfer of data from the infusion pump 12 to the remote monitor/controller 20 shown schematically in step 468 of FIG. 10 is accomplished via a receive interrupt service routine 500 and a transmit interrupt service routine 550 that are performed by the infusion pump 12. Flowcharts of the routines 500, 550 are shown in FIGS. 13 and 14.

The receive routine 500 shown in FIG. 13 is invoked upon the generation of a receive interrupt by the pump controller 100. The receive interrupt indicates that a message has been received in the receive buffer 118 of the controller 100 from the remote monitor/controller 20. When a download data command is sent to the infusion pump 12 (as determined at step 466 of FIG. 10), a data dump flag is set to logic "1," indicating that a data transfer or dump from the pump 12 to the remote monitor/controller 20 is in progress. The data transfer is performed in a segmented fashion. Instead of sending all of the infusion data and patient data stored in the RAM 104 to the remote monitor/controller 20 in a single, continuous stream, the data is sent in segmented portions, each of which is separated in time from its adjacent portions by a period of time, e.g. 100 microseconds.

Referring to FIG. 13, when the routine begins at step 502, a character or message will have been just received in the receive buffer 118. At step 502, if the data dump flag is active, meaning that a data transfer is already in progress, then the routine branches to step 504, where the data dump flag is set to logic "0," effectively terminating the data dump operation, and an error message is transmitted to the remote monitor/controller 20 at step 506. This is done to prevent the data dump operation from interfering with any commands that are transmitted from the remote monitor/controller 20 to the infusion pump 12.

If the data dump flag was not active as determined at step 502, the routine branches to step 508 where the message just received in the receive buffer 118 is checked to determine whether it is a data dump command. If it is not, then the routine branches to step 510 where the pump 12 responds to the command.

If the message is a data dump command, the routine branches to step 512 where a transmit pointer 513 (see FIG. 7) is set to the oldest data in the RAM 104 that has not yet been transmitted to the remote monitor/controller 20. At step 514, the data dump flag is set to logic "1" since a new data transfer operation is beginning. At step 516, the data byte specified by the transmit pointer 513 is retrieved from the RAM 104, and at step 518 the position of the transmit pointer 513 is updated (e.g. incremented) to point to the address of the next data byte to be transmitted. At step 520, the data byte retrieved at step 516 is formatted in ASCII; at step 522 the transmit interrupt is enabled; and at step 524 the reformatted data byte is transmitted from the infusion pump transmit buffer 116 to the remote monitor/controller 20 over the data link 38.

When the first data byte is sent out from the transmit buffer 116, a transmit interrupt is generated by the controller 100 to indicate that the transmit buffer 116 is empty and that another data byte can be transmitted. Upon the generation of the transmit interrupt, the transmit routine 550 is performed. Referring to FIG. 14, at step 552 the status of the data dump flag is checked. If the flag is not active, meaning that a data dump operation is not in progress, the routine branches to step 554 where the routine responds to the other interrupt. If the data dump flag is active, then the routine branches to step 556, where it determines whether all of the segmented portions of the infusion data have been transmitted. This may be accomplished, for example, by determining if the transmit pointer 513 and the pointer 376 (FIG. 7) are pointing to the same memory location. If all the requested data has been sent, the routine branches to step 558, where the transmit interrupt is disabled, and then to step 560 where the data dump flag is reset to logic "0," effectively ending the data transfer operation.

If not all the data has been transferred as determined at step 556, the routine branches to step 562 where the data byte specified by the transmit pointer 513 is retrieved from the RAM 104. At step 564 the position of the transmit pointer is updated to point to the address of the next data byte to be transmitted. At step 566, the data byte retrieved at step 562 is formatted in ASCII, and at step 568 the reformatted data byte is transmitted from the infusion pump transmit buffer 116 to the remote monitor/controller 20 over the data link 38.

The transmit interrupts generated by the controller 100 to transfer the segmented data portions to the remote monitor/controller 20 are assigned a lower priority than the interrupts generated in response to input of the shaft encoder sensor 130, which is necessary to provide the desired infusion rate. Consequently, the transfer of the infusion data and patient data does not interfere with the ability of the pump 12 to provide the desired infusion rate, and the data transfer can occur while the pump is infusing the patient with the medicant.

FIG. 15 is an illustration of a graphical user menu that may be shown on the display device 78 of the remote monitor/controller 20. The health care professional may select particular data for transfer or viewing, via a number of different parameters such as beginning date, ending date, types of data, etc. The particular manner in which particular data may be selected for transfer or viewing is not considered important to the invention.

Modifications and alternative embodiments of the invention will be apparent to those skilled in the art in view of the foregoing description. This description is to be construed as illustrative only, and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. The details of the structure and method may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications which come within the scope of the appended claims is reserved.