The present disclosure relates to a pump controlling device and, more particularly, relates to a pump controlling device that obtains parameter values from an insulin pump for executing functions.
Diabetes mellitus, often referred to as diabetes, is a chronic condition in which a person has elevated blood glucose levels that result from defects in the body's ability to produce and/or use insulin. Diabetes can be treated by injecting predetermined dosages of insulin to the patient to control the level of glucose in the bloodstream. For instance, some diabetes patients rely on an insulin pump to deliver the predetermined dosages to the patient.
The insulin pump can closely imitate a normally functioning pancreas by releasing multiple small doses of insulin each day into the body through an infusion set to regulate blood glucose levels. The dosage delivery rate of these small doses (i.e., the basal rate) can vary from user to user. Also, even for a particular user, the basal rate can change throughout the day, and the basal rate can depend upon various factors (e.g., the user's metabolism, physical health, stress levels, amount of exercise, etc.).
Insulin pumps can also deliver (either automatically or selectively) bolus doses of insulin. These bolus doses can be delivered before meals or snacks to compensate for the caloric intake. Also, bolus dosages can be delivered to correct high blood glucose levels. Moreover, the pump can be configured to deliver multiple types of bolus dosages (e.g., a “standard bolus,” an “extended bolus,” a “combination bolus/multiwave bolus,” and a “super bolus”). These dosages can be adjusted according to the patient's particular physiology, eating habits, etc.
Many insulin pumps are programmable so that the basal and bolus dosages can be tailored to the particular user. Some pumps are also capable of communicating with a separate computing device and are compatible with software applications that may be executed on the computing device.
This section provides a general summary of the disclosure, and is not a comprehensive disclosure of its full scope or all of its features.
A method of operating an insulin treatment system is disclosed. The insulin treatment system includes an insulin pump and a pump controlling device. The pump controlling device communicates with the insulin pump for obtaining parameter values for executing functions. The method includes receiving, by the pump controlling device, a request to execute a function that is included on the pump controlling device. The function is governed by a rule having a parameter, and the function is related to delivery of insulin by the insulin pump. Also, the method includes establishing communication between the pump controlling device and the insulin pump. Moreover, the method includes requesting, by the pump controlling device, a value for the parameter from the insulin pump and receiving, by the pump controlling device, the value for the parameter from the insulin pump. Furthermore, the method includes executing, by the pump controlling device, the function using the received value for the parameter.
In additional embodiments, the rule limits insulin delivery up to a maximum dosage, and the value for the parameter is the maximum insulin dosage amount. Also, in some embodiments, the rule limits bolus insulin delivery up to a maximum bolus dosage, and the value for the parameter is the maximum bolus dosage amount.
Moreover, in some embodiments, the rule limits insulin delivery time to a maximum duration, and the value for the parameter is the maximum duration. Additionally, in some embodiments, the rule limits bolus delivery time to a maximum bolus duration, and the value for the parameter is the maximum bolus duration.
Furthermore, in some embodiments, the rule limits a lag time before commencement of insulin delivery, and the value for the parameter is the maximum lag time. Additionally, in some embodiments, the rule limits a bolus lag time before commencement of bolus insulin delivery, and the value for the parameter is the maximum bolus lag time.
Still further, in some embodiments, the function and the rule are commonly included on the pump and the pump controlling device, and the value for the parameter is available to the pump controlling device only through requesting the value from the insulin pump and receiving the value from the insulin pump.
Moreover, the method can further include receiving, by the pump controlling device, a request to change the value for the parameter to a new value, establishing communication between the pump and the pump controlling device, transmitting the new value from the pump controlling device to the pump, and saving, by the insulin pump, the new value received from the pump controlling device.
Also, in some embodiments, the method can further include receiving a request that violates the rule, determining, by the pump controlling device that the request violates the rule, and further comprising outputting a message, by the pump controlling device, indicating that the request violates the rule. Outputting the message can include visually displaying the message on a display.
Also, a pump controlling device for remotely controlling an insulin pump is disclosed. The device includes a communication device that is operable to establish two way communication with the insulin pump. The device also includes a processor that is operable to receive a request to execute a function that is included on the pump controlling device. The function is governed by a rule having a parameter, and the function is related to delivery of insulin by the insulin pump. The processor is further operable to request, via the communication device, a value for the parameter from the insulin pump. The processor is also operable to receive the value for the parameter from the insulin pump, and the processor is operable to execute the function using the received value for the parameter.
Still further, a method of operating an insulin treatment system that includes an insulin pump and a pump controlling device is disclosed. The pump controlling device communicates with the insulin pump for obtaining parameter values for executing functions. The method includes receiving, by the pump controlling device, a request to execute a function related to delivery of a bolus insulin dosage function. The function is included on the pump and the pump controlling device, and the function is governed by a rule. The rule limits bolus insulin delivery up to a maximum bolus dosage. A value for the maximum bolus dosage is included on the pump. The method also includes establishing communication between the pump controlling device and the insulin pump. The method further includes requesting, by the pump controlling device, the value for the maximum bolus dosage from the insulin pump. Moreover, the method includes receiving, by the insulin pump, the request for the value for the maximum bolus dosage from the pump controlling device. Also, the method includes sending, by the insulin pump, the value for the maximum bolus dosage to the pump controlling device. Furthermore, the method includes receiving, by the pump controlling device, the value for the maximum bolus dosage from the insulin pump. Additionally, the method includes executing, by the pump controlling device, the function using the received value for the maximum bolus dosage.
Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.
Example embodiments will now be described more fully with reference to the accompanying drawings.
Referring initially to
Referring to
The pump 12 can also include a processor 22 (i.e., controller) that includes programmed logic and/or other elements for controlling the start and stoppage of insulin delivery from the reservoir 20, the flow rate of the insulin, etc. The pump 12 can additionally include one or more memory devices 24 (
Moreover, the memory device 24 can store a RULES database 27, which stores one or more rules that govern respective functions of the pump 12. The memory device 24 can also store a PARAMETERS database 30, which stores one or more parameters (i.e., values for variables) contained in corresponding rules within the database 27. For instance, one programmed function of the pump 12 can be a START BOLUS DELIVERY function. Thus, the RULES database 27 can include a rule that limits the maximum bolus dosage allowed in executing this function (e.g., Maximum Bolus Dosage=X). The “X” within that rule is a parameter (i.e., variable) with an unassigned value. However, the database 30 can include the value for X (i.e., the value for the parameter). Thus, as will be discussed, to execute the START BOLUS DELIVERY function, the processor 22 can obtain the maximum bolus dosage rule from the database 27, and the processor 22 can also obtain the value for the maximum bolus dosage from the database 30. These and other functions, rules, and parameters, will be discussed in greater detail below.
It will be appreciated that the RULES database 27 can be common to different pumps 22 used by different patients 11. However, the PARAMETERS database 30 can be tailored according to the particular patient 11 using the pump 12 such that the pump 12 performs according to the specific needs of the patient 11.
As shown in
Also, the pump 12 can include a clock 26, which keeps track of the current date and time. By monitoring the clock 26, the processor 22 can track when dosages are delivered. The memory device 24 can thus save the dosage amount, the dosage type, the dosage date and time, and other data related to insulin dosages delivered by the pump 12 for future reference.
Moreover, the pump 12 can include a power source, such as a battery 28, for providing power to the components of the pump 12. The battery 28 can include a main battery that supplies power for normal operations of the pump 12, and the battery 28 can include a backup battery that supplies power for only essential operations of the pump 12 when the main battery fails. It will be appreciated that the pump 12 can include additional or alternative power sources (e.g., one or more capacitors, etc.) without departing from the scope of the present disclosure.
Additionally, the pump 12 can include one or more input devices 31 that can be used by the patient 11 for inputting commands directly to the pump 12. As shown in
The pump 12 can further include a communications device 29. The communication device 29 can establish communications between the pump 12 and the pump controlling device 18 as will be discussed in detail below. The communications device 29 can include a wireless transceiver (e.g., BLUETOOTH™ transceiver, etc.), and/or the communications device 29 can include a connector for connecting a wire between the pump 12 and the pump controlling device 18.
Furthermore, the infusion set 14 can be of a known type. Thus, the infusion set 14 can include a cannula 34 that is inserted subcutaneously into the patient 11 (i.e., the user, the person with diabetes, etc.). The infusion set 14 can also include a tube 36 that fluidly connects the cannula 34 to the reservoir 20 of the pump 12. As such, insulin can be delivered from the reservoir 20 and into the patient's bloodstream via the infusion set 14.
Referring now to
The device 18 can also include a memory device 42, which can store application programs and data and can be constructed of any suitable combination of volatile and/or nonvolatile memory. As shown in
Moreover, the device 18 can include a battery 41 or other power source that supplies power to the components of the device 18. Also, the device 18 can include one or more input devices 44 with which the patient 11 can input commands. The input devices 44 can include buttons, switches, a touch sensitive surface, or any other suitable device. The device 18 can further include one or more output devices 46 that output information relating to operations of the system 10. The output devices 46 can be of any suitable type, such as a display 48 that outputs information visually, a speaker that outputs audible information, a vibrating motor that outputs tactile information, etc. In the embodiments of
Also, as mentioned above, the pump controlling device 18 can include a blood glucose (bG) meter 19. The meter 19 can be of a known type for detecting the current (i.e., actual) blood glucose level of the patient 11. More specifically, the patient 11 can apply blood to a test strip 38 (
The blood glucose readings can also be associated or otherwise stored with other information in the memory device 42. For instance, the memory device 42 can store the blood glucose readings with other health related information of the particular patient 11. More specifically, the memory device 42 can store bolus recommendation history records as well as the inputs for the recommendations, such as carbohydrate intake and blood glucose level. The memory device 42 can further store health, carbohydrate, and blood-glucose-related variables (e.g., insulin sensitivities of the patient 11 for particular time segments of particular days of the week, etc.).
The device 18 can further include a communication device 50, such as a wireless transceiver (e.g., a BLUETOOTH™ transceiver, etc.) or a connector for connecting a wire. Thus, the communication device 50 of the pump controlling device 18 can selectively communicate with the communication device 29 of the insulin pump 12 wirelessly and/or via a hardwire connection. As will be discussed, the communication devices 50, 29 can provide two-way communication between the pump controlling device 18 and the insulin pump 12.
Thus, the processor 40 can run software stored in the memory device 42. Also, various input commands can be provided from the patient 11 via the input device 44 (e.g., the touch-sensitive surface of the display 48) for performing various functions. For instance, the processor 40 can calculate a recommended meal bolus, a recommended correction bolus, a recommended total bolus, and/or a suggested carbohydrate amount in this manner. Also, the processor 40 can cause the communication device 50 to transmit various control commands to the pump 12. The pump controlling device 18 can send a variety of control commands, such as a START BOLUS DELIVERY, STOP PUMP, and other commands. The insulin amount, dosage time, insulin flow rate, etc. can also be specified in this command.
Referring now to
As shown, the method 52 can begin in block 54, wherein the device 18 receives a request from the patient 11 to perform a function. The patient 11 can input a request using the input device 44 of the pump control device 18. Block 54 can include any suitable request. For instance, the patient 11 can use the device 18 to request delivery of a bolus dosage at a specified level (e.g., request delivery of 0.1 insulin units).
Then, in block 56, the pump control device 18 can establish communication with the pump 12. For instance, the communication device 50 of the device 18 can establish communication with the communication device 29 of the pump 12 to thereby pair the device 18 and the pump 12.
Next, in block 58, the pump control device 18 can obtain the rules that govern the function requested in block 54. In the example mentioned above (where the patient 11 requests delivery of 0.1 insulin units for a bolus dosage), block 58 can include the pump control device 18 obtaining rules that govern bolus dosages (e.g., a rule governing a maximum bolus dosage). The rules can be obtained from the database 43 that is local to the device 18, or the rules can be obtained from the database 27 included on the pump 12.
Subsequently, in block 60, the device 18 can request parameter values for the rules obtained in block 58. In the bolus dosage example mentioned above, block 60 can include the device 18 requesting a value for the maximum bolus dosage. This request can be sent to the pump 12 via communications between the communication devices 50, 29.
Then, in decision block 61, it can be determined whether the parameter values are available in the database 30 of the pump 12. If the parameter values are available (decision block 61 answered affirmatively), the pump 12 can send the parameter values to the device 18 and, in block 62, the pump control device 18 can receive the parameter values from the pump 12. However, if the parameter values are unavailable (e.g., because they have not been assigned yet, etc.) (decision block 61 answered negatively), the display 48 of the device 18 can prompt the patient 11 to enter the necessary parameter values in block 63. Once entered, the device 18 can transmit the parameter values to the pump 12 for storage in the database 30.
Then, after block 62 or block 63, the method 52 can continue in decision block 65, wherein it is determined whether any of the rules (obtained in block 58) have been violated by the request of block 54. The processor 40 of the device 18 can make this determination locally, or the device 18 can communicate with the pump 12 to make this determination. Continuing with the example discussed above, the processor 40 can find violation (block 65 answered affirmatively) if the requested 0.1 insulin units exceeds the maximum bolus dosage limit received in block 62 or set in block 63. On the other hand, the processor 40 can determine that there is no violation by the requested 0.1 insulin units if the maximum bolus dosage limit is equal to or less than 0.1 insulin units.
If there has been a violation (decision block 65 answered affirmatively), then in block 67, the output device 46 of the device 18 can output an alarm to notify the patient 11 of the violation. This alarm can be a visual message displayed on the display 48, an audible alarm, a tactile alarm, or any other type of alarm. However, if no rule has been violated (decision block 65 answered negatively), then in block 64, the pump control device 18 can execute the function requested in block 54.
Referring now to
The method 66 can begin in block 68, wherein the patient 11 selects a bolus menu on the display 48 of the pump controlling device 18. The pump controlling device 18 can begin the process of displaying the available types of bolus dosages that can be delivered by the pump 12 back to the patient 11. However, the pump controlling device 18, in block 70, can first request the bolus parameter values from the pump 12. In some embodiments, the pump controlling device 18 can request values for the maximum bolus amount limit (i.e., the maximum bolus dosage allowed), the duration of the bolus dosage (i.e., the length of time for delivery of the bolus dosage), the lag time for the bolus dosage (i.e., the amount of time before commencing delivery of the bolus dosage), or other parameter values.
Then, in block 72, the pump 12 can reply to the request of block 70. Specifically, the pump 12 can obtain the requested parameter values stored in the database 30 and send back those parameter values via the communication device 29.
Next, in block 74, the pump controlling device 18 can request from the pump 12 bolus constants that are also included in the rules governing the desired function. In some embodiments, the pump controlling device 18 can request constants, such as a bolus amount resolution, a bolus amount range threshold, or other constants. Then, in block 76, the pump 12 can obtain the requested constants from the memory device 24 and send back the obtained constants.
Additionally, in block 78, the pump controlling device 18 can request from the pump 12 a list of all of the bolus dosage types that can be currently run. The pump 12, in turn, can provide such a list of runnable bolus dosage types back to the device 18 in block 80. In some embodiments, the processor 22 of the pump 12 can calculate or otherwise determine the bolus types that are runnable based on preprogrammed rules.
Then, in block 82, the display 48 of the device 18 can display the list of bolus types that are available. This list can include standard bolus types and customized bolus types. Next, in block 84, the patient 11 can select the desired bolus type from the list displayed in block 82. In other embodiments of block 82, the display 48 can display all of the bolus types, but those that are currently unrunnable can be distinguished from those that are currently runnable. For instance, the bolus types that are currently unrunnable can be displayed using respective unselectable icons (e.g., “greyed out” icons) while the runnable bolus types can be displayed as selectable icons.
Next, in block 88, the pump controlling device 18 can prompt the patient 11 to enter desired bolus dosage values. These values can relate to the number of bolus insulin units necessary for lowering the patient's current high blood glucose level, the duration of the bolus dosage, the lag time for the bolus dosage, or other values. Once prompted, the patient 11, in block 90, can enter the bolus values requested in block 88 using the input device 44. The pump control device 18, in block 92, can request confirmation of the bolus values entered in block 90, and in block 94, the patient 11 can provide confirmation.
Subsequently, in blocks 95, 96, and 97, the pump controlling device 18 can re-check with the pump 12 that the bolus type selected in block 84 is still runnable. Specifically, in block 95, the pump controlling device 18 can request from the pump 12 a list of all of the bolus dosage types that can be currently run (similar to block 78). Then, in block 96, the pump 12 can provide the list of currently runnable bolus dosage types (similar to block 80). In block 97, the pump controlling device 18 can determine whether the bolus type selected in block 84 is currently runnable (as dictated by the pump 12 in block 96). If the selected bolus type is not runnable (decision block 97 answered negatively), then the method 66 can end as shown in
In block 98, the pump controlling device 18 can determine whether any rules are violated by the bolus values entered in block 90. This determination can be similar to block 65 of
If there is a violation (block 98 answered affirmatively), then the method 66 can end as shown in
On the other hand, if there is no violation (block 98 answered negatively), then block 99 can follow. In block 99, the pump controlling device 18 can send a control command to the pump 12 to initiate delivery of the selected bolus dosage. As a result, the pump 12 can begin delivery of the selected bolus dosage as shown in block 100.
Accordingly, the system 10 and its methods 52, 66 of use can ensure that the pump control device 18 and the pump 12 communicate effectively and accurately. For instance, because the parameter values are stored only in the database 30 of the pump 12, and the pump control device 18 must request and obtain parameter values therefrom, there are unlikely to be conflicting parameter values. Stated differently, even though both the pump control device 18 and the pump 12 can be “aware” of the rules included on the respective databases 43, 27, the parameter values are only stored in the database 30 of the pump 12; therefore, the system 10 can operate more effectively and accurately.
The techniques described herein may be implemented by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions that are stored on a non-transitory tangible computer readable medium. The computer programs may also include stored data. Non-limiting examples of the non-transitory tangible computer readable medium are nonvolatile memory, magnetic storage, and optical storage.
Some portions of the above description present the techniques described herein in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times to refer to these arrangements of operations as modules or by functional names, without loss of generality.
Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Certain aspects of the described techniques include process steps and instructions described herein in the form of an algorithm. It should be noted that the described process steps and instructions could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.
The present disclosure also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on a computer readable medium that can be accessed by the computer. Such a computer program may be stored in a tangible computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
The algorithms and operations presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatuses to perform the required method steps. The required structure for a variety of these systems will be apparent to those of skill in the art, along with equivalent variations. In addition, the present disclosure is not described with reference to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present disclosure as described herein.
The present disclosure is well suited to a wide variety of computer network systems over numerous topologies. Within this field, the configuration and management of large networks comprise storage devices and computers that are communicatively coupled to dissimilar computers and storage devices over a network, such as the Internet.