Abstract:
An insulin pump is configurable by a configurator. The pump has parameter blocks, each with a respective parameter and an associated restriction setting, and the configurator has an authorization level. Configuring the pump includes receiving, by the configurator, a request to access a parameter on the pump. The method also includes identifying, by the configurator, the parameter block that includes the parameter. Moreover, the method includes retrieving, by the configurator from the pump, the parameter and the associated restriction setting, and comparing, by the configurator, the authorization level of the configurator to the restriction setting. Also, the method includes determining, by the configurator, whether the configurator is authorized to write to the parameter block based on the comparison. Additionally, the method includes writing, by the configurator, to the parameter block on the insulin pump in response to a determination that the configurator is authorized to write to the parameter block.

Description:
FIELD 
       [0001]    The present disclosure relates to an insulin pump and, more particularly, relates to a method for configuring an insulin pump using a configuring device. 
       BACKGROUND 
       [0002]    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&#39;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. 
         [0003]    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&#39;s metabolism, physical health, stress levels, amount of exercise, etc.). 
         [0004]    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,” or other type). These dosages can be adjusted according to the patient&#39;s particular physiology, eating habits, etc. 
         [0005]    In some cases, the insulin pump can include a display and buttons or other input devices for inputting commands and other entries for configuring the pump. Also, in some cases, a separate device can be used to configure the pump. For instance, the patient&#39;s doctor can use a personal computer to configure the pump to include basal dosage profiles, maximum bolus dosage limits, etc. that are tailored for the particular patient. Moreover, in some embodiments, a blood glucose meter or other device can be used to select between predetermined temporary basal dosage rates that are saved on the pump. 
       SUMMARY 
       [0006]    This section provides a general summary of the disclosure, and is not a comprehensive disclosure of its full scope or all of its features. 
         [0007]    In order to ensure that the pump is properly configured, a computer-implemented method of configuring an insulin pump using a pump configuring device is disclosed. The insulin pump has a plurality of parameter blocks, and each of the plurality of parameter blocks has a respective parameter and an associated restriction setting (i.e., access tag). The pump configuring device has a predetermined authorization level. The method includes receiving, by the pump configuring device, a request to access one of the parameters on the insulin pump. The method also includes identifying, by the pump configuring device, the one of the plurality of parameter blocks that includes the one of the parameters. Moreover, the method includes retrieving, by the pump configuring device from the insulin pump, the one of the parameters and the restriction setting associated with the one of the parameters. Furthermore, the method includes comparing, by the pump configuring device, the authorization level of the pump configuring device to the restriction setting associated with the one of the parameters. Also, the method includes determining, by the pump configuring device, whether the pump configuring device is authorized to write to the one of the plurality of parameter blocks based on the comparison of the authorization level and the restriction setting. Additionally, the method includes writing, by the pump configuring device, to the one of the plurality of parameter blocks on the insulin pump in response to a determination that the pump configuring device is authorized to write to the one of the parameter blocks. 
         [0008]    In some embodiments, the method further includes displaying, by the pump configuring device, the parameter on a display of the pump configuring device. Displaying the parameter can include displaying the parameter as a changeable parameter in response to the determination that the pump configuring device is authorized to write to one of the parameter blocks. Moreover, the method can include receiving, by the pump configuring device, a request to change the parameter to a new value, wherein writing to the one of the plurality of parameter blocks includes writing the new value of the one of the parameters to the one of the plurality of parameter blocks. The method can additionally include prompting a user of the pump configuring device for confirmation of the request to change the one of the parameters to the new value. Also, displaying the parameter can include displaying the parameter to indicate that the parameter is unchangeable in response to a determination that the pump configuring device is unauthorized to write to the one of the parameter blocks. Still further, identifying the one of the plurality of parameter blocks that includes the one of the parameter can include requesting, by the pump configuring device from the insulin pump, a location of the one of the plurality of parameter blocks on the insulin pump and receiving, from the insulin pump to the pump configuring device, the location of the one of the plurality of parameter blocks on the insulin pump. Furthermore, the pump configuring device can be one of a first pump configuring device and a second pump configuring device, wherein the first pump configuring device has a first authorization level and the second pump configuring device has a second authorization level, and wherein the second authorization level authorizes writing to more of the plurality of parameter blocks than the first authorization level. Additionally, the first pump configuring device can be a blood glucose meter and the second pump configuring device can be a personal computer that runs pump configuring software. Moreover, the pump configuring device can be usable by a first user and can be separately useable by a second user, wherein the predetermined authorization level of the pump configuring device remains the same for the first user and the second user. Furthermore, the plurality of parameter blocks can include a plurality of active parameter blocks and a plurality of backup parameter blocks, wherein each of the active parameter blocks has a corresponding backup parameter block, wherein writing to the one of the plurality of parameter blocks includes writing a new parameter to the one of the backup parameter blocks and subsequently writing the new parameter to the active parameter block corresponding to the one of the backup parameter blocks. The method can further include determining the new parameter on the one of the backup parameter blocks is valid before writing the new parameter to the active parameter block, and restoring an old parameter to the one of the backup parameter blocks as a result of determining that the new parameter is invalid. Additionally, writing to the one of the plurality of parameter blocks can include writing to at least two parameter blocks in succession. 
         [0009]    In addition, a pump configuring device is disclosed that is operable to configure an insulin pump having a plurality of parameter blocks. Each of the plurality of parameter blocks has a respective parameter and an associated restriction setting. The insulin pump configuring device includes an input device that is operable to receive a request to access one of the parameters on the insulin pump. The device also includes a memory device with a predetermined authorization level of the pump configuring device saved thereon. The device further includes a communication device that is operable to communicate with the insulin pump to retrieve the one of the parameters and the restriction setting associated with the one of the parameters. Additionally, the device includes a processor that is operable to compare the authorization level of the pump configuring device to the restriction setting associated with the one of the parameters, determine whether the pump configuring device is authorized to write to the one of the plurality of parameter blocks based on the comparison of the authorization level and the restriction setting, and write to the one of the plurality of parameter blocks on the insulin pump in response to a determination that the pump configuring device is authorized to write to the one of the parameter blocks. 
         [0010]    Furthermore, a diabetes treatment system is disclosed that includes an insulin pump having a plurality of parameter blocks. Each of the plurality of parameter blocks has a respective parameter and an associated restriction setting. The system also includes an insulin pump configuring device that includes an input device that is operable to receive a request to access one of the parameters on the insulin pump. The configuring device also includes a memory device with a predetermined authorization level of the pump configuring device saved thereon. Also, the configuring device includes a communication device that is operable to communicate with the insulin pump to retrieve the one of the parameters and the restriction setting associated with the one of the parameters. Moreover, the configuring device includes a processor that is operable to compare the authorization level of the pump configuring device to the restriction setting associated with the one of the parameters, determine whether the pump configuring device is authorized to write to the one of the plurality of parameter blocks based on the comparison of the authorization level and the restriction setting, and write to the one of the plurality of parameter blocks on the insulin pump in response to a determination that the pump configuring device is authorized to write to the one of the parameter blocks. 
         [0011]    Moreover, a computer-implemented method of configuring an insulin pump using a pump configuring device is disclosed. The insulin pump has a plurality of parameter blocks, and each of the plurality of parameter blocks have a respective old parameter and an associated restriction setting. The plurality of parameter blocks are also divided into a plurality of active parameter blocks and a plurality of backup parameter blocks. Each of the active parameter blocks are substantially copied by a corresponding backup parameter block. The pump configuring device also has a predetermined authorization level. The method includes receiving, by the pump configuring device, a request to change one of the old parameters on the insulin pump to a new parameter. The method also includes identifying, by the pump configuring device, the one of the plurality of active parameter blocks and the one of the plurality of backup parameter blocks that includes the one of the old parameters. Moreover, the method includes retrieving, by the pump configuring device from the insulin pump, the one of the old parameters and the restriction setting associated with the one of the old parameters. Furthermore, the method includes comparing, by the pump configuring device, the authorization level of the pump configuring device to the restriction setting associated with the one of the old parameters. Also, the method includes determining, by the pump configuring device, whether the pump configuring device is authorized to write to the one of the plurality of backup parameter blocks based on the comparison of the authorization level and the restriction setting. The method additionally includes overwriting, by the pump configuring device, the one of the old parameters with the new parameter on the one of the plurality of backup parameter blocks in response to a determination that the pump configuring device is authorized to write to the one of the backup parameter blocks. Moreover, the method includes determining, by the insulin pump, whether the new parameter is valid after overwriting the one of the old parameters with the new parameter. Furthermore, the method includes overwriting, by the insulin pump, the one of the old parameters with the new parameter on the one of the one of the active parameter blocks that is a substantial copy of the one of the plurality of backup parameter blocks in response to a determination that the new parameter is valid and overwriting, by the insulin pump, the new parameter with the one of the old parameters on the one of the plurality of backup parameter blocks in response to a determination that the new parameter is invalid. 
         [0012]    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. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]    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. 
           [0014]      FIGS. 1A and 1B  are schematic illustrations of a system for treating diabetes according to exemplary embodiments of the present disclosure; 
           [0015]      FIG. 2  is perspective view of an insulin pump and an infusion set of the system of  FIGS. 1A and 1B ; 
           [0016]      FIG. 3  is a front view of a blood glucose meter of the system of  FIGS. 1A and 1B ; 
           [0017]      FIG. 4  is a chart illustrating relationships between restriction settings for different parameters on the pump and authorization levels for accessing and changing the parameters by a pump configuring device; 
           [0018]      FIG. 5  is a flow chart illustrating a method of configuring an insulin pump using the system of  FIGS. 1A and 1B ; and 
           [0019]      FIGS. 6A and 6B  are flow charts illustrating additional embodiments of a method of configuring an insulin pump using the system of  FIGS. 1A and 1B . 
       
    
    
       [0020]    Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings. 
       DETAILED DESCRIPTION 
       [0021]    Example embodiments will now be described more fully with reference to the accompanying drawings. 
         [0022]    Referring initially to  FIGS. 1A and 1B , a system  10  for treating diabetes is illustrated schematically. As shown, the system  10  can generally include an insulin pump  12  and an infusion set  14  ( FIG. 1A ), which are operable for delivering controlled dosages of insulin to a patient  11  as will be discussed. Exemplary embodiments of the insulin pump  12  and infusion set  14  are illustrated in  FIG. 2 . The system  10  can also include one or more pump configuring devices  15   a ,  15   b ,  15   c  ( FIG. 1B ), which are individually operable to configure the pump  12  (i.e., by changing parameters that govern the operation of the pump  12 ). 
         [0023]    The pump  12  can be configured in a number of ways. Some configurations are patient-specific (e.g., maximum bolus dosage limits, basal dosage profiles, temporary basal rates, etc.) such that the pump  12  operates according to the specific diet, lifestyle, physiology, etc. of the particular patient  11 . Other configurations are appropriate for many users (e.g., languages displayed on the graphic user interface of the pump  12 , etc.). 
         [0024]    As will be discussed below, the system  10  is designed such that certain pump configuring devices  15   a ,  15   b ,  15   c  are authorized to reconfigure the pump  12  (i.e., by adding, deleting, or changing certain parameters stored on the pump  12 ) while other devices  15   a ,  15   b ,  15   c  are unauthorized to do so. As a result, the pump  12  can be configured in a controlled and efficient manner. 
       The System 
       [0025]    Referring to  FIGS. 1A and 2 , the insulin pump  12  can incorporate various features of a known, wearable, and portable insulin pump  12 . Thus, the insulin pump  12  can include a housing  13  that supports at least one refillable reservoir  20  (i.e., insulin cartridge) containing insulin. (The reservoir  20  is shown partially removed from the housing  13  in  FIG. 2 .) The reservoir  20  can selectively deliver insulin to the infusion set  14  as will be described in greater detail below. 
         [0026]    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  ( FIG. 1A ). The memory device  24  can store application programs and data and can be constructed of any suitable combination of volatile and/or nonvolatile memory. 
         [0027]    Some or all of the data stored on the memory device  24  can be organized into distinct parameter blocks  21   a ,  21   b ,  21   c ,  21   d  (i.e., configuration blocks). Each of the individual parameter blocks  21   a - 21   d  include a respective parameter Ma,  51   b ,  51   c ,  51   d  (i.e., variable). The parameters  51   a - 51   d  are labeled “Parameter W,” “Parameter X,” “Parameter Y,” and “Parameter Z,” respectively, in  FIG. 1A . The parameters  51   a ,  51   b ,  51   c ,  51   d  can be of any type, such as a maximum bolus insulin dosage, a basal insulin dosage profile, a temporary basal insulin dosage rate, settings for the languages displayed by the pump  12 , or other types of parameters. Each of the parameter blocks  21   a - 21   d  can also include an associated restriction setting  53   a ,  53   b ,  53   c ,  53   d  (i.e., access tag). The restriction settings  53   a - 53   d  are labeled “Restriction A,” “Restriction B,” “Restriction C,” and “Restriction D,” respectively, in  FIG. 1A . As will be discussed, the different restriction settings  53   a - 53   d  can be used for regulating whether the pump  12  and/or any of the pump configuring devices  15   a ,  15   b ,  15   c  is allowed to add, delete, or otherwise change the respective parameters  51   a - 51   d  in the respective parameter block  21   a - 21   d.    
         [0028]    It will be appreciated that the pump  12  can include any number of parameter blocks  21   a - 21   d . Also, each block  21   a - 21   d  can include any number of respective parameters  51   a - 51   d.    
         [0029]    Moreover, as shown in  FIG. 1A , the memory device  24  can further include backup parameter blocks  21   a ′,  21   b ′,  21   c ′,  21   d ′. The backup parameter blocks  21   a ′,  21   b ′,  21   c ′,  21   d ′ can substantially copy respective ones of the parameter blocks  21   a ,  21   b ,  21   c ,  21   d . As such, the backup parameter blocks  21   a ′,  21   b ′,  21   c ′,  21   d ′ each contain the same respective parameters  51   a - 51   d  and restriction settings  53   a - 53   d  contained in the corresponding parameter block  21   a ,  21   b ,  21   c ,  21   d . As will be discussed, the parameter blocks  21   a - 21   d  (i.e., the “active parameter blocks”) can be relied upon for governing operations of the pump  12  while the backup parameter blocks  21   a ′- 21   d ′ can serve as a backup copy. As will be discussed, however, when the pump  12  is being configured (i.e., changes are made to the parameters  51   a - 51   d ), the changes can be written to the backup parameter blocks  21   a ′- 21   d ′ instead of the “active” parameter blocks  21   a - 21   d . Then, assuming that the configuration is valid, the updated contents of the backup parameter blocks  21   a ′- 21   d ′ can be copied to the “active” parameter blocks  21   a - 21   d.    
         [0030]    The memory device  24  of the pump  12  can further store a pump authorization level  23  (labeled “Auth. 1” in  FIG. 1A ) thereon. As will be discussed, the pump authorization level  23  can be used for determining whether the pump  12  is authorized to change or otherwise configure the parameters  51   a - 51   d  contained in the parameter blocks  21   a - 21   d.    
         [0031]    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. 
         [0032]    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  FIG. 2 , the input devices  31  can include one or more buttons that the patient  11  can depress for inputting such commands; however, the input device  31  could include a touch-sensitive surface, a sliding switch, or other input device. The pump  12  can further include one or more output devices  33  that can output one or more messages (e.g., messages relating to dosages, etc.). In the embodiments of  FIG. 2 , the output device  33  includes a display screen  35  for outputting the messages visually; however, the output device  33  could include a speaker for outputting the messages aurally. Moreover, in some embodiments, the output device  33  can include a tactile, vibrating motor for outputting the messages in a tactile manner. 
         [0033]    The pump  12  can further include a communications device  29 . The communication device  29  can establish communications between the pump  12  and the pump configuring devices  15   a - 15   c  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 configuring devices  15   a - 15   c.    
         [0034]    Furthermore, the infusion set  14  can be of a known type. As shown in  FIG. 2 , 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&#39;s bloodstream via the infusion set  14 . 
         [0035]    Embodiments of the pump configuring devices  15   a ,  15   b ,  15   c  will now be discussed in detail with reference to  FIG. 1B . In the embodiments illustrated, the pump configuring device  15   a  is embodied by a handheld or otherwise portable blood glucose meter  19 , which is operable to detect a glucose level in the user&#39;s blood. (Exemplary embodiments of the blood glucose meter  19  are illustrated in  FIG. 3 .) Also, in the embodiments illustrated in  FIG. 1B , the other pump configuring devices  15   b ,  15   c  are embodied by a first personal computers  17   a  and a second personal computer  17   b , respectively. Both of the computers  17   a ,  17   b  are operable to run software for configuring the pump  12  (i.e., pump configuring software). The personal computers  17   a ,  17   b  can each be embodied by a desktop computer, laptop computer, personal data assistant (PDA), tablet-type computing device, or other comparable type. 
         [0036]    It will be appreciated that the system  10  can include any number of pump configuring devices  15   a ,  15   b ,  15   c . It will also be appreciated that the devices  15   a ,  15   b ,  15   c  can be embodied by any type of computerized device that is able to communicate with the pump  12  for configuring the pump  12 . 
         [0037]    Referring now to  FIGS. 1B and 3 , embodiments of the blood glucose meter  19  will be discussed in detail. The blood glucose meter  19  can include a housing  37  that houses the components of the meter  19 . As shown in  FIG. 1B , the meter  19  can include a processor  40 , which can include programmed logic and/or other elements for controlling the meter  19  and for sending commands to the pump  12 . 
         [0038]    The meter  19  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. The memory device  42  can also include a respective meter authorization level  43  (indicated as “Auth. 2” in  FIG. 1B ). The meter authorization level  43  can be used for determining whether the meter  19  is authorized to change or otherwise configure certain ones of the parameters  51   a - 51   d  on the pump  12  as will be discussed in detail below. The authorization level  43  can be different from the authorization level  23  of the pump  12  ( FIG. 1A ) such that the meter  19  can be authorized to configure different parameter blocks  21   a - 21   d  than the pump  12 . 
         [0039]    Moreover, the meter  19  can include a battery  41  or other power source that supplies power to the components of the meter  19 . Also, the meter  19  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 meter  19  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  FIG. 3 , the meter  19  includes the display  48 , and the display  48  includes one or more touch-sensitive areas, such that the display  48  can function as both an input device  44  and an output device  46 . Also, as shown in  FIG. 3 , the display  48  can display various information, such as the current date and time, graphical information about insulin dosages, etc. Furthermore, the display  48  can display user selectable options for allowing the patient  11  to enter bolus information (labeled “Bolus” in  FIG. 3 ), carbohydrate information (labeled “Carbs” in  FIG. 3 ), or other information related to meals, exercise, periods of stress, physiological events such as menstruation, etc. (labeled “Events” in  FIG. 3 ). 
         [0040]    Also, 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 , and the meter  19  can receive the strip  38  and detect the amount of glucose in the blood thereon. This information can be useful for calculating an appropriate bolus dosage or for other purposes. Also, this information can be stored in the memory device  42  in a suitable database for future analysis. 
         [0041]    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 recommended bolus and carbohydrate advice history records. 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.). 
         [0042]    The meter  19  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 meter  19  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 meter  19  and the insulin pump  12 . 
         [0043]    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 meter  19  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. Moreover, the meter  19  can be used to read the parameters  51   a - 51   d  on the pump  12  and, if the meter  19  is authorized to do so, the meter  19  can be used to write to at least some of the parameter blocks  21   a - 21   d  for adding, deleting, and/or changing the respective parameter(s)  51   a - 51   d.    
         [0044]    Furthermore, as shown in  FIG. 1B , the personal computers  17   a ,  17   b  can each include components that are typically included on a personal computer. For instance, the personal computers  17   a ,  17   b  can each include respective processors  52   a ,  52   b  that are operable for processing data, outputting control commands, etc. Also, the computers  17   a ,  17   b  can include one or more input devices Ma,  54   b  (e.g., keyboard, computer mouse, touch-sensitive surface, etc.). Furthermore, the computers  17   a ,  17   b  can include one or more output devices  56   a ,  56   b . The output devices  56   a ,  56   b  can be embodied by respective displays  58   a ,  58   b , and/or the output devices  56   a ,  56   b  can be embodied otherwise (e.g., by speakers, etc.). Moreover, the computers  17   a ,  17   b  can include a respective communication device  60   a ,  60   b , such as a wireless transceiver (e.g., a BLUETOOTH™ transceiver, etc.) or a connector for connecting a wire. Thus, the communication devices  60   a ,  60   b  can selectively communicate with the communication device  29  of the insulin pump  12  wirelessly and/or via a hardwire connection. As will be discussed, each communication device  60   a ,  60   b  can provide two-way communication between the insulin pump  12  and the respective computer  17   a ,  17   b.    
         [0045]    Still further, the personal computers  17   a ,  17   b  can each include a memory device  62   a ,  62   b , which can store application programs and data and can be constructed of any suitable combination of volatile and/or nonvolatile memory. The memory devices  62   a ,  62   b  can also include a respective computer authorization level  64   a ,  64   b  (indicated as “Auth. 3” and “Auth. 4” in  FIG. 1B ). The computer authorization levels  64   a ,  64   b  can be used for determining whether the computer  17   a ,  17   b  is authorized to change or otherwise configure certain parameters  51   a - 51   d  on the pump  12 . The authorization levels  64   a ,  64   b  can be different from each other such that each computer  17   a ,  17   b  can be authorized to configure different parameter blocks  21   a - 21   d . Also, one or both authorization levels  64   a ,  64   b  can be different from the authorization level  43  of the meter  19  such that the computers  17   a ,  17   b  can be authorized to configure different parameter blocks  21   a - 21   d  than the meter  19  as will be discussed in greater detail below. 
         [0046]    Referring now to  FIG. 4 , a chart is shown that demonstrates whether the pump  12 , the meter  19 , the first computer  17   a , and the second computer  17   b  are authorized to read and/or write to the parameter blocks  21   a - 21   d . The information and rules set forth in  FIG. 4  can be stored on the pump  12 , the meter  19 , the first computer  17   a , and/or the second computer  17   b . As shown in  FIG. 4 , the pump  12  is authorized to write to the parameters in the parameter block  21   a . Also, the meter  19  (with its comparatively higher authority of “Auth. 2”) is authorized to write to both parameter blocks  21   a  and  21   b . Moreover, the first computer  17   a  (with its still-higher authority of “Auth. 3”) is authorized to write to parameter blocks  21   a ,  21   b , and  21   c . Finally, the second computer  17   b  (with the highest authority) is authorized to write to each of the parameter blocks  21   a - 21   d.    
         [0047]    It will be appreciated, then, that the parameters  51   a - 51   d  within the parameter blocks  21   a - 21   d  can be protected such that only predetermined devices can make changes thereto. For instance, some parameters  51   a - 51   d  may have low restriction settings (e.g., those pertaining to fonts displayed on the display  35 , etc.) such that the pump  12 , meter  19 , and computers  17   a ,  17   b  can each individually make changes thereto. Other parameters  51   a - 51   d  can have high restriction settings (e.g., those pertaining to bolus or basal insulin dosages) such that only some of the pump configuring devices  15   a - 15   c  can make changes thereto. 
         [0048]    Additionally, in the embodiments illustrated in  FIG. 4 , each of the pump  12 , the meter  19 , and the computers  17   a - 17   b  is authorized to access (i.e., read) the parameters  51   a - 51   d  from the parameter blocks  21   a - 21   d  regardless of the respective authorization level  23 ,  43 ,  64   a ,  64   b . This can allow the devices to communicate efficiently with each other and to ensure proper operations of the system  10 . However, in other embodiments, some parameter blocks  21   a - 21   d  can be set to be inaccessible (i.e., unreadable) by any of the pump  12 , the meter  19 , and/or the computers  17   a ,  17   b.    
         [0049]    Furthermore, the system  10  could be arranged considering that the pump  12  is used by the patient  11 , but that the meter  19  and/or the computers  17   a ,  17   b  are controlled and used by persons other than the patient  11 . For instance, the patient  11  can be a child that uses the pump  12 , whereas the parent(s) of the child can control and use the meter  19 , the patient&#39;s doctor can control and use the first computer  17   a , and the manufacturer of the pump  12  can control and use the second computer  17   b . Thus, the authorization levels  23 ,  43 ,  64   a ,  64   b  of the pump  12 , meter  19 , and computers  17   a ,  17   b  can be preset with these user/device pairings in mind. For instance, since the child patient  11  wears and operates the pump  12 , and the child may not have sufficient knowledge about proper insulin dosages, etc., the pump  12  can have a relatively low authority level  23  such that the pump  12  is only able to make changes to minor parameters  51   a - 51   d  (e.g., selections between predetermined temporary basal rates, fonts displayed on the display  35 , etc.). In contrast, since the parent may have more knowledge about insulin dosages, etc., the meter  19  can have a higher authority level such that the meter  19  is able to make changes to more parameters  51   a - 51   d  (e.g., those changes that are allowed with the pump  12  as well as selections between normal basal rate profiles, etc.). Moreover, since the doctor can have substantial knowledge about the patient&#39;s particular medical condition, the first personal computer  17   a  can have an even higher authority level  64   a  such that the computer  17   a  is able to make changes to even more parameters  51   a - 51   d  (e.g., those changes that are allowed by the pump  12  and meter  19  as well as defining basal rate profiles, temporary basal rates, maximum bolus dosages, etc.). Finally, the manufacturer will likely need to make overall system changes to the pump  12 , the second computer  17   b  can have the highest authority level  64   b  such that substantially all of the parameters  51   a - 51   d  can be changed therewith. It will also be appreciated that the authority level  23 ,  43 ,  64   a ,  64   b  of each device can remain the same regardless of the user. 
       Configuring the Pump Using Pump Configuring Device 
       [0050]    Referring now to  FIG. 5  exemplary embodiments of a method  69  of configuring the pump  12  will be discussed. For purposes of discussion, the method  69  is illustrated such that the user is attempting to configure the pump  12  using the meter  19 . However, the method  69  of  FIG. 5  could also apply to scenarios in which the user is attempting to configure the pump  12  using either of the computers  17   a ,  17   b . If the pump  12  is being used for configuring itself, some aspects of the method  69  can apply as will be discussed below; however, the method  69  applies to situations where the separate pump configuring devices  15   a ,  15   b ,  15   c  are being used to configure the pump  12 . 
         [0051]    The method  69  begins in block  70 , wherein the user can navigate through menus and/or other graphical output on the display  48  using the input device  44 . Then, the user can select an option to read and/or modify the configuration of the pump  12 . Stated differently, the meter  19  can receive a request to access one or more parameters  51   a - 51   d  on the pump  12 . Block  70  can include a selection to read/modify one parameter  51   a - 51   d , more than one parameters  51   a - 51   d , or each of the parameters  51   a - 51   d  on the pump  12 . 
         [0052]    Then, in block  71 , the meter  19  can attempt to identify the parameter block  21   a - 21   d  on the pump  12  that includes the parameter(s)  51   a - 51   d  specified in block  70 . More specifically, the meter  19  can communicate with the pump  12  (via the communication devices  50 ,  29 ) and query the pump  12  for the stored location of the parameter block(s)  21   a - 21   d  containing the parameter(s)  51   a - 51   d  specified in block  70 . Block  72  can include a reply from the pump  12  to the meter  19  identifying the location of the specified parameter block(s)  21   a - 21   d , and the reply can also include the contents of the block(s)  21   a - 21   d  (i.e., the respective parameter(s)  51   a - 51   d  and restriction setting(s)  53   a - 53   d ). 
         [0053]    Next, in block  73  the processor  40  of the meter  19  can determine whether the reply of block  72  is complete. If not (block  73  answered negatively), then the display  48  or any other output device  46  can output an error message in block  74 . However, if the reply is completely received (block  73  answered affirmatively), then block  75  can follow. 
         [0054]    In block  75 , the processor  40  can compare the authorization level  43  of the meter  19  to the restriction setting(s)  53   a - 53   d  of the parameter block(s)  21   a - 21   d  specified in block  70 . For instance, the processor  40  can refer to the rules set forth in the chart of  FIG. 4  to determine whether the meter  19  is authorized to write to (i.e., configure) the parameter block(s)  21   a - 21   d  specified in block  70 . 
         [0055]    If the processor  40  determines that the meter  19  is unauthorized to write to the parameter block(s)  21   a - 21   d  (block  75  answered negatively), then block  80  can follow. In block  80 , the display  48  can display the parameter(s)  51   a - 51   d  specified in block  70  in a way that indicates that the parameter(s)  51   a - 51   d  is/are unchangeable. For instance, the display  48  can “grey out” the parameter(s)  51   a - 51   d  (i.e., the parameter(s)  51   a - 51   d  can have a different color or otherwise appear different on the display  48  to indicate that the parameter(s)  51   a - 51   d  are not modifiable). However, if the meter  19  is authorized to write to the parameter block(s)  21   a - 21   d  (block  75  answered affirmatively), then in block  76 , the display  48  can display the respective parameter(s)  51   a - 51   d . The display  48  can further prompt the user to input changes to the parameter(s)  51   a - 51   d  using the input device  44  of the meter  19 . 
         [0056]    Next, in block  77 , the user can input changes to the parameter(s)  51   a - 51   d  using the input device  44 . Stated differently, in block  77 , the meter  19  receives a request to change the parameter(s)  51   a - 51   d . In some embodiments, the meter  19  can request confirmation from the user of these changes. 
         [0057]    Subsequently, in block  78 , the meter  19  can send the changes input in block  77  to the pump  12 . Finally, in block  79 , the processor  22  of the pump  12  can output control commands for writing to the parameter block(s)  21   a - 21   d  and changing the parameter(s)  51   a - 51   d  therein. 
         [0058]    In some embodiments, before overwriting occurs in block  79 , the processor  22  of the pump  12  can check that the meter  19  has authority to write to the parameter block(s)  21   a - 21   d  to change the parameter(s)  51   a - 51   d  therein. Specifically, meter  19  can send its authority level  43  to the pump  12 , and the processor  22  can compare the authority level  43  of the meter  19  to the respective restriction setting(s)  53   a - 53   d  by referring to the rules of  FIG. 4 , etc. Assuming that the meter  19  has high enough authority, the pump  12  can overwrite the parameter block(s)  21   a - 21   d  in block  78 . 
         [0059]    Accordingly, the method  69  can ensure that the pump  12  is properly configured. Specifically, the devices  15   a ,  15   b ,  15   c  are able to change certain parameters  51   a - 51   d  depending on its preset authority. Therefore, the parameters  51   a - 51   d  can be protected against inadvertent changes. 
         [0060]    In situations where the pump  12  is used to configure itself, the authority level  23  of the pump  12  can be compared to the restriction setting  53   a - 53   d  for the parameters  51   a - 51   d  that are specified for change (e.g., similar to block  75 ). In the rules and information set forth in  FIG. 4 , the pump  12  has low authority and is allowed to read and write only to parameter block  21   a . However, the pump  12  can read each of the parameter blocks  21   a - 21   d.    
         [0061]    Referring now to  FIGS. 6A and 6B , additional embodiments of a method  81  of configuring the pump  12  using one of the pump configuring devices  15   a - 15   c  are illustrated. For purposes of discussion, it will be assumed that the second computer  17   b  is the configuring device; however, the method  81  can equally apply where the meter  19  or first computer  17   a  is being used for configuring the pump  12 . 
         [0062]    The method  81  can begin in block  82 , wherein the user selects an option to read and/or modify the configuration of the pump  12 . This can be a request to read and/or modify specific parameters  51   a - 51   d , or a request to read and/or modify substantially all of the parameters  51   a - 51   d.    
         [0063]    Then, in block  84 , the computer  17   b  can communicate with the pump  12  (using the communications devices  29 ,  60   b ) and request configuration information from the pump  12 . The pump  12  can reply with configuration information in block  86 . The configuration information can be the location of the parameter(s)  51   a - 51   d  specified in block  82  in the pump&#39;s memory device  24 , the values for the parameters  51   a - 51   d , the associated restriction settings  53   a - 53   d , etc. This configuration information can be temporarily saved in the memory device  62   b  of the computer  17   b.    
         [0064]    Subsequently, in block  88 , the display  58   b  can visually output at least some of the configuration information sent in block  86 . In some embodiments of block  88 , the display  58   b  can display the current parameters  51   a - 51   d  specified in block  82 . Also, the processor  52   b  can compare the authorization level  64   b  of the computer  17   b  to each of the restriction settings  53   a - 53   d  sent in block  86  in order to determine whether those parameters  51   a - 51   d  are changeable (i.e., configurable) or unchangeable (i.e., unconfigurable) as described above. To demonstrate that parameters  51   a - 51   d  are unchangeable, the display  58   b  can “grey out” the displayed parameter  51   a - 51   d.    
         [0065]    Next, in block  90 , the computer  17   b  can send a “close communication” command to the pump  12  via the communication devices  29 ,  60   b . Next, in block  92 , the pump  12  can close communications with the computer  17   b.    
         [0066]    Then, in decision block  94 , the user can decide whether to make any changes to the changeable parameters  51   a - 51   d . If the user decides not to make any changes to the parameters  51   a - 51   d  (decision block  94  answered negatively), then the method  81  can terminate. However, if the user wishes to make changes (decision block  94  answered affirmatively), then in block  96 , the user can enter the desired changes using the input device  54   b . Block  98  can follow. 
         [0067]    In block  98 , the computer  17   b  can again establish communications with the pump  12 , and the computer  17   b  can again request configuration information from the pump  12  similar to block  84 . For instance, the computer  17   b  can request one or more of the parameters  51   a - 51   d  saved in the parameter blocks  21   a - 21   d . The pump  12  can reply with the requested information in block  100 . 
         [0068]    Then, in block  102 , the processor  52   b  can compare the parameters  51   a - 51   d  and other configuration information received from the pump  12  to the parameters  51   a - 51   d  that were altered in block  96 . Differences between the sets of parameters  51   a - 51   d  can be displayed on the display  58   b . Then, in block  104 , the computer  17   b  can prompt the user for confirmation of the changes. If the user decides to abort changing the configuration of the pump  12  (decision block  104  answered negatively), the method  81  can terminate. However, if the user confirms the change (decision block  104  answered affirmatively), then block  106  can follow. 
         [0069]    In block  106 , the processor  52   b  of the computer  17   b  can perform a validation of the new configuration (i.e., the processor  52   b  can perform a test to determine whether the pump  12  will be fully operable with the parameters  51   a - 51   d  changed in block  104 ). This occurs prior to actually writing the new configuration to the pump  12 . Therefore, proper operations of the pump  12  can be ensured. 
         [0070]    Assuming that the new configuration is valid, block  108  can follow. In block  108 , the user can be once again prompted (e.g., on the display  58   b ) to affirm writing of the new configuration onto the pump  12 . As shown in block  108 , the user can affirm by selecting the “write configuration on pump” or other similar selection using the input device  54   b . As a result, the computer  17   b  can once again establish communications with the pump  12  to begin writing the new configuration thereto. 
         [0071]    Then, in block  110 , the computer  17   b  can send commands to the processor  22  of the pump  12  to write the new configuration, and in block  112 , the pump  12  can write the new configuration. In the embodiments illustrated, the pump  12  can overwrite the new configuration to the backup parameter blocks  21   a ′- 21   d ′, instead of the “active” parameter blocks  21   a - 21   d . That way, the pump  12  can continue to operate during this reconfiguration with the “active” parameter blocks  21   a - 21   d  governing the operations of the pump  12  (i.e., before the new parameters  51   a - 51   d  take effect). In additional embodiments, the pump  12  can write new parameter blocks that correspond to the “active” parameter blocks  21   a - 21   d  instead of overwriting existing parameter blocks. 
         [0072]    Also, in some embodiments of blocks  110  and  112 , the pump  12  can overwrite the backup parameter blocks  21   a ′- 21   d ′ one-by-one (i.e., in succession). In other embodiments, the pump  12  can overwrite multiple parameter blocks  21   a ′- 21   d ′ substantially simultaneously. Also, the display  58   b  can simultaneously inform the user of the progress of overwriting. 
         [0073]    Next, in block  114  ( FIG. 6B ), the processor  52   b  can determine whether the reconfiguration process of blocks  110  and  112  has been successfully completed. If unsuccessful (e.g., due to the process timing out, etc.), then block  116  can follow. In block  116 , the computer  17   b  can send an “abort” command to the pump  12 . As a result, the pump  12  can abort the overwriting process in block  124 . 
         [0074]    However, if the reconfiguration process of blocks  110  and  112  has been successfully completed, then block  118  can follow. In block  118 , the computer  17   b  can send the pump  12  a command to close the reconfiguration session. As a result, the pump  12  can close the session in block  120 . Next, the processor  22  of the pump  122  can perform a validation of the new configuration. 
         [0075]    As shown, decision block  126  can follow block  122 . In decision block  126 , the processor  22  determines whether the new configuration is complete and otherwise valid for running the pump  12 . If the new configuration is valid (block  126  answered affirmatively), then block  128  can follow. In block  128 , the processor  22  can overwrite the “old” configuration contained in the “active” parameter blocks  21   a - 21   d  with the “new” configuration contained in the “backup” parameter blocks  21   a ′- 21   d′.    
         [0076]    However, if the new configuration is incomplete or otherwise invalid (decision block  126  answered negatively), then block  130  can follow. In block  130 , the “backup” parameter blocks  21   a ′- 21   d ′ containing the “new” configuration can be restored back to the “old” configuration by overwriting the “backup” parameter blocks  21   a ′- 21   d ′ with the information contained in the “active” parameter blocks  21   a - 21   d.    
         [0077]    Thereafter, in block  132 , the pump  12  can send a current status of the pump  12  to the computer  17   b . Then, in block  134 , the processor  134  can report the status of the pump  12 . If the pump  12  has been successfully reconfigured (block  134  answered affirmatively), then the display  58   b  can display a “configuration accepted” or other similar statement to the user. However, if the reconfiguration was unsuccessful (block  134  answered negatively), then the display  58   b  can display a “new configuration not written” or other similar statement to the user. 
         [0078]    In additional embodiments, if the reconfiguration includes reconfiguring the language displayed on the display  58   b  (e.g., a change from the English language to Arabic), then the method  81  can include additional features. For instance, in blocks  86  and  100 , the pump  12  can communicate to the computer  17   b  the language currently being used, all of the languages that are available for use on the pump  12 , etc. Also, the validation performed in block  122  can include validating the new language as well a validation of the language resources on the pump  12 . 
         [0079]    Accordingly, the system  10  and methods  69 ,  81  described herein can allow the pump  12  to be configured by one or more independent configuring devices  15   a - 15   c  (here, the meter  19 , the first computer  17   a , and the second computer  17   b ). The parameters  51   a - 51   d  can be protected from unauthorized reconfigurations by ensuring that the configuring device  15   a - 15   c  have sufficient authorization to do so. As such, pump  12  can operate as intended. 
         [0080]    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. 
         [0081]    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. 
         [0082]    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. 
         [0083]    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. 
         [0084]    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. 
         [0085]    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. 
         [0086]    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.