Insulin pump programming software for selectively modifying configuration data

Insulin pump programming software is disclosed that permits selectively modifying insulin pump configuration files. The software facilitates retrieving a source file consisting of a configuration file or portion thereof from a source location. The source file may include general configuration data and insulin delivery data. Once retrieved, the source file may be edited, then the entire source file or a portion thereof may be saved to a target configuration file at one or more target locations. Only the portion of the target configuration file corresponding to the saved source file or portion thereof is replaced by the source file.

FIELD OF THE INVENTION

The present teachings generally relate to programming insulin pumps and more specifically to pump programming software that permits selective reading and writing of all or portions of data included in insulin pump configuration files.

BACKGROUND

An insulin pump is a fluid infusion device for delivering insulin to people who suffer from diabetes. The pump, which is worn by the user and eliminates the need for multiple daily insulin injections, closely imitates a normally functioning pancreas by releasing hundreds of small doses of insulin each day into the body through an infusion set to regulate blood glucose levels. The rate of delivery of these small doses (i.e., the basal rate) varies from user to user. Indeed, even for a particular user, the basal rate varies throughout the day, and depends upon a variety of factors such as the user's internal clock, metabolism, physical health, and level of stress and exercise.

A basal rate profile consists of one or more basal rates defined to cover the 24 hours of the day (e.g., 24 hourly basal rates). Many users use different basal rate profiles for different circumstances. For example, one basal rate profile may be used for weekdays, another profile (i.e., with different hourly basal rates) for weekends, and another profile for vacation days. These different basal rate profiles are designed to accommodate the expected differences in the user's background insulin needs resulting from variations in the user's sleep patterns, levels of exercise and stress, health condition, menstrual cycle status, etc. during such periods. Pumps also deliver (either automatically or when activated by the user) bolus doses of insulin (in addition to the basal rate) before meals or snacks to compensate for caloric intake.

As the amount and rate of insulin delivery (both basal and bolus) must be tailored to the individual needs of the user, modern pumps are programmable. Some pumps are capable of communicating with a separate computing device, and are compatible with programming software applications that may be executed on the computing device. The programming software permits an operator, such as the user or a health care provider, to customize the settings of the various parameters that affect the pump's operation. These parameters are included in a configuration file that is executed by the pump, and include hourly basal rates, maximum hourly basal rates, bolus dose settings, communication settings, battery settings, and many others. For example, using programming software, a user may upload a configuration file from the user's pump, modify the settings for certain parameters to change the operation of the pump, and save the modified configuration file to the pump. Alternatively, a health care provider responsible for programming the pumps of multiple patients may select an initial generalized configuration file stored in a source location such as a pump or memory location of a computing device as a starting point for programming the patients' pumps. Many of the parameter settings of the initial configuration file (e.g., battery type, language, etc.) may be suitable for all of the pumps to be programmed. Other settings (e.g., hourly basal rates, bolus dose settings, etc.) may be unique to each patient's pump. After the health care provider selects the initial configuration file, he or she may change only the settings needed to customize the pump's operation for the current patient, then save the customized configuration file to the patient's pump without having to define a setting for every pump parameter.

As suggested by the foregoing, insulin pumps perform relatively complex functions, which directly affect the health of the user. For at least these reasons, programming software is generally designed to simplify, to the extent possible, the processes for programming pump functions while simultaneously incorporating safety measures to prevent operators from inadvertently programming a pump with parameter settings that may harm the user or adversely affect the operation of the pump.

As mentioned above, pump programming software can be viewed as communicating with one of two memory locations—pump memories and memory locations on computing devices. Information can be read from either location or written to either location. In general, the most comprehensive set of information either read from or written to memory by pump programming software is the configuration file described above. The above-mentioned parameter settings can be grouped into general configuration data and insulin delivery data. General configuration data includes the settings for parameters such as language choice, volume, backlight duration, and other parameters that do not directly affect the timing and amount of insulin delivery. Insulin delivery data includes the settings for parameters such as hourly basal rate, maximum hourly basal rate, total daily basal dose, temporary basal rate increment and duration, maximum bolus dose, bolus dose increment, and other parameters relating directly to insulin delivery. One common sub-set of insulin delivery data is the basal rate profile referred to above. Each profile includes one or more basal rates defined to cover the 24 hours of the day (e.g., 24 hourly basal rates), a maximum hourly basal rate value that functions as the upper limit on the degree to which the hourly basal rates may be adjusted by an operator, and a daily basal insulin total value that reflects the sum of the basal insulin delivered by the profile. As indicated above, users typically use a plurality of different basal rate profiles depending upon their anticipated condition/activities for the day (i.e., weekday, weekend, vacation, illness, etc.). Accordingly, a typical configuration file includes a set of basal rate profiles for selection by the user.

In at least one sense, the more surgical or selective the communications with a pump or file the better. In other words, it is desirable to read or write the least comprehensive set of information needed to implement the desired change in pump operation. If changes are to be made to both the general configuration data and the insulin delivery data, it may be desirable to communicate the entire configuration file. If changes are to be made to a configuration file that affect all of the profiles in a set of basal rate profiles, but do not affect the general configuration data, then it may be desirable to communicate only the set of basal rate profiles. Finally, if changes are to be made to a configuration file that only affect a single profile of the set of basal rate profiles, then it may be desirable to communicate only the affected basal rate profile. Moreover, in the course of making changes to pump configuration files, it is desirable to require the operator to carefully consider whether the changes selected are exactly what the operator intended, especially changes that may adversely affect the health of the user.

SUMMARY

The present approach to pump programming software permits the operator to select a configuration file, a set of basal rate profiles, or a single basal rate profile to be made active as a source file for subsequent programming. The active file may be retrieved from either a pump or a memory location on a computing device. The software permits editing of the source file and saving it to a target location. If the source file is a configuration file, the software facilitates saving any of the following to the target location: the entire configuration file, the set of profiles in the configuration file, or a single profile of the set of profiles. If the source file is a set of profiles, the software facilitates saving either the set of profiles or a single profile of the set of profiles to the target location. The target location may be a pump memory, a memory location on a computing device, or both. This approach may reduce the time required for data transfer during pump programming, the probability for interruptions during the data transfer, and the likelihood of programming a pump with invalid or unintended data.

Additionally, when programming changes to a pump configuration file that are critical to the safe operation of the pump, the software requires two levels of confirmation before completing the programming process.

In an exemplary embodiment of the present disclosure, there is provided a method for selectively modifying insulin pump configuration files. The method includes the step of retrieving a source configuration file from a source location. The source configuration file includes general configuration data and at least one basal rate profile. The method further includes the step of selecting a target configuration file including general configuration data and at least one basal rate profile. Finally, the method includes the step of saving the at least one basal rate profile retrieved from the source configuration file to the target configuration file without modifying the general configuration data of the target configuration file. In a variation thereof, the method also includes the step of editing the at least one basal rate profile retrieved from the source configuration file. In another variation, the source location is a memory location of an insulin pump and the target configuration file is stored on an insulin pump. In a further variation, the saving step includes the step of replacing at least one basal rate profile included in the target configuration file with the at least one basal rate profile retrieved from the source configuration file. In an extension of the previous variation, the saving step further includes the step of reviewing on a display a comparison of the at least one basal rate profile retrieved from the source configuration file to the at least one basal rate profile included in the target configuration file. In a still further extension, the saving step includes the step of inputting at least two confirmation inputs when a critical parameter relating to the at least one basal rate profile included in the target configuration file is to be increased.

In another exemplary embodiment of the present disclosure, there is disclosed a system for programming an insulin pump. The system includes a computing device, a communication link between the computing device and the insulin pump, and software for execution by the computing device. The software is configured to facilitate retrieval of a source configuration file from a source location. The source configuration file includes general configuration data and a set of individual basal rate profiles. The software has a first mode wherein the source configuration file is written to a target configuration file having general configuration data and a set of individual basal rate profiles, a second mode wherein the set of profiles of the source configuration file is written to the target configuration file without writing the general configuration data of the source configuration file, and a third mode wherein one of the profiles of the set of profiles of the source configuration file is written to target configuration file without writing the general configuration data and the other of the profiles of the set of profiles of the source configuration file. In a variation thereof, the software is further configured to retrieve the set of profiles from the source configuration file without retrieving the general configuration data. In another variation, the software is further configured to retrieve one of the profiles of the set of profiles from the source configuration file without retrieving the general configuration data and the other of the profiles of the set of profiles. In another variation, the source location is a memory location of the computing device and the target configuration file is stored on the insulin pump. In yet another variation of the disclosed system, the target configuration file includes a first configuration file stored on the insulin pump and a second configuration file stored in a memory location of the computing device.

In yet another exemplary embodiment of the present disclosure, a method is disclosed of programming an insulin pump that operates in accordance with general configuration data and basal rate profile data contained in a configuration file stored in a memory of the pump. The method includes the step of executing software on a computing device to obtain new basal rate profile data from a source location. The method further includes the step of providing input to the computing device corresponding to a command to the software to replace at least a portion of the profile data with the new profile data without modifying the general configuration data contained in the configuration file. Finally, the method includes the step of reviewing on a display of the computing device differences between the profile data and the new profile data. In a variation of the disclosed method, the profile data includes a plurality of different basal rate profiles. In another variation, the new profile data consists of a single basal rate profile. In yet another variation, the source location is a memory location of the computing device. In still another variation, the source location is a memory location on a second pump.

In another exemplary embodiment of the present disclosure, there is disclosed a computer readable medium tangibly embodying a program of instructions executable by a computing device to perform method steps for managing configuration files including general configuration data and basal rate profile data. The method steps include the step of providing an operator a first option for retrieving basal rate profile data from a first source configuration file stored on an insulin pump without retrieving general configuration data from the first source configuration file. The method steps further include the step of providing the operator a second option for retrieving basal rate profile data from a second source configuration file stored on a computing device without retrieving general configuration data from the first source configuration file. The method steps further include the step of providing the operator a third option for saving retrieved basal rate profile data to a first target configuration file stored on an insulin pump without modifying the general configuration data in the first target configuration file. Finally, the method steps further include the step of providing the operator a fourth option for saving retrieved basal rate profile data to a second target configuration file stored on a computing device without modifying the general configuration data in the second target configuration file. In a variation thereof, the method steps further include the step of providing the operator a fifth option for initiating a workflow for saving retrieved basal rate profile data to the first and the second target configuration files without modifying the general configuration data of either the first or the second target configuration files by activating a single button. In another variation, the method steps further include the step of causing, upon selection of the third option, a display of differences between the retrieved basal rate profile data and basal rate profile data in the first target configuration file. In an extension of this variation, the causing step further includes the step of prompting the operator to provide a first input to confirm an intention to replace the basal rate profile data in the first target configuration file with the retrieved basal rate profile data. In a further extension, the prompting step further includes the step of requiring the operator to provide a second input to re-confirm the intention to replace the basal rate profile data in the first target configuration file with the retrieved basal rate profile data when a bolus delivery parameter of the retrieved basal rate profile data is greater than a corresponding bolus delivery parameter of the basal rate profile data in first target configuration file. In another extension, the prompting step further includes the step of requiring the operator to provide a second input to re-confirm the intention to replace the basal rate profile data in the first target configuration file with the retrieved basal rate profile data when a daily basal insulin total parameter of the retrieved basal rate profile data is greater than a corresponding daily basal insulin total parameter of the basal rate profile data in first target configuration file. In a still further extension, the second input includes keyboard entry of the daily basal insulin total parameter of the retrieved basal rate profile data into a data field. In another variation, the first and the second option each include the option of retrieving one of an basal rate profile set and a single basal rate profile.

In still another exemplary embodiment of the present disclosure, there is disclosed a system for programming an insulin pump. The system includes means for retrieving a source configuration file from a source location, wherein the source configuration file includes general configuration data and a set of individual basal rate profiles. The system also includes means for saving the source configuration file to a target configuration file having general configuration data and a set of individual basal rate profiles. The system further includes means for saving the set of profiles of the source configuration file to the target configuration file without writing the general configuration data of the source configuration file. Finally, the system also includes means for saving one of the profiles of the set of profiles of the source configuration file to the target configuration file without writing the general configuration data and the other of the profiles of the set of profiles of the source configuration file.

Corresponding reference characters indicate corresponding parts throughout the several views.

DETAILED DESCRIPTION

It should be understood that although the concepts below are described as relating to insulin pump configuration software, such as the ACCU-CHEK® Insulin Pump Configuration Software provided by Roche Diagnostics Corporation, the concepts may also relate to diabetes management software systems for tracking and analyzing health data, such as, for example, the ACCU-CHEK® 360° product provided by Roche Diagnostics Corporation. Moreover, the concepts described herein may also have applicability to apparatuses, methods, systems, and software in fields that are unrelated to healthcare. Furthermore, it should be understood that references in this patent application to devices, pumps, meters, monitors, or related items are intended to encompass any currently existing or later developed apparatus that includes some or all of the features attributed to the referred to apparatus, including but not limited to the ACCU-CHEK® Active, ACCU-CHEK® Aviva, ACCU-CHEK® Compact, ACCU-CHEK® Compact Plus, ACCU-CHEK® Integra, ACCU-CHEK® Go, ACCU-CHEK® Performa, ACCU-CHEK® Spirit, ACCU-CHEK® D-Tron Plus, and ACCU-CHEK® Voicemate Plus, all provided by Roche Diagnostics Corporation or divisions thereof.

Turning now to the figures,FIG. 1depicts an exemplary embodiment of a system10, some or all of the components of which may be used in conjunction with the teachings of the present disclosure. System10generally includes a computing device12, shown here in the form of a computer having display device14, in this case a computer video screen or monitor having screen18, a keyboard16, a processor13, and memory15, which may contain the software17of the present disclosure and data19as is further described herein. While described and depicted herein with specific reference to a computer, certain concepts of the present disclosure may be utilized in conjunction with any computing device capable of operating pump programming software. Computing device12also has a pointing device or mouse20connected to it by cable22(or wirelessly). While mouse20and keyboard16are shown, system10may include any input device such as a touchpad, joystick, touch screen, trackball, etc.

Computing device12may include a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device12and includes both volatile and non-volatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store computer-readable instructions, software, data structures, program modules and other data and which can be accessed by computing device12. Computer-readable media may be accessed directly or through a network such as the Internet.

System10is configured to provide information to, and receive information from, infusion pump24. Again, while an infusion pump, and more particularly an insulin pump, is described herein, it should be understood that the teachings of the present disclosure may also apply to devices such as “smart” insulin pens or other such devices known or hereafter developed. InFIG. 1, computing device12is shown coupled to communication media or dongle26, in this case a modulated signal transceiver, accessible to computing device12by means of cable28, and configured to transmit and receive modulated signal30to establish logical communication with pump24. In another exemplary embodiment, computing device12and pump24may include ports configured to establish a physical connection. By way of example, and not limitation, dongle26may include wired media such as a wired network or direct wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. More specifically, dongle26as depicted includes an infrared port for communication with a similar infrared port of pump24.

Referring now toFIG. 2, pump24includes a display32for displaying information to an operator or user, a menu button34for navigating though the various functions provided by pump24, a check button36for selecting options, an up key38and down key40for scrolling through options and controlling certain insulin delivery functions, a cartridge receptacle42for storing an insulin cartridge44, a battery46(shown partially inserted), a battery cap48(shown unsecured to pump24), an adapter50for physically coupling cartridge44to an infusion set52, and a communication port53for sending information to, or receiving information from, computing device12through dongle26.

FIG. 3provides a block diagram representation of internal components of pump24. As shown, pump24includes a processor54coupled to a display interface56, which is coupled to display32. Processor54is also coupled to a keypad interface58which is coupled to keys34,36,38,40, and a pump actuator interface62which is coupled to an actuator64suitable for delivering insulin doses (medical infusion pumps other than insulin pumps will deliver doses of other medicament). Processor54is further coupled to a memory device66that stores application programs and data, including the configuration files described herein. Memory device66is constructed of any combination of volatile and/or nonvolatile memory suitable for a particular embodiment. Processor54is also coupled to an alert mechanism68, that, in various embodiments is a buzzer, a vibrator, a light emitting diode, or the like, suitable for providing audible, tactile, or visual alerts to an insulin pump user. Finally, processor54is coupled to a timer60, which is capable of maintaining a current time, including time of day and day of the week.

FIG. 4depicts the home screen100displayed upon activation of software17. Home screen100generally includes a toolbar102, a navigation menu104, and an active window106. Toolbar102includes a read pump icon108, an open file icon110, a date/time icon112, a print icon114, a load all profiles from file icon116, and a save all profiles to a file icon118. Navigation menu104includes a save settings button120, a basal rates and bolus button122, an insulin pump options button126, and a settings report button130. The content of active window106changes depending upon the operation being performed by software17. Here, active window106includes a start up dialog box132.

Start up dialog box132includes a message area134, a read pump area136with a configuration file button136A, a profile set button136B, and a single profile button136C, an open area138with a configuration file button138A, a profile set button138B, and a single profile button138C, a set date/time button140, and an exit button142. For the purpose of this description, the operator will be described as obtaining an insulin pump configuration file141from memory15(i.e., where it is stored as data19) of computing device12using open configuration file button138A. It should be understood that the options for retrieving a configuration file, a profile set or a single profile provided by buttons138A,138B, and138C, respectively, are also accessible by activating open file icon110on toolbar102.

As is further described herein, the processes for saving information to pump24or to memory15on computing device12differs. The process for obtaining or retrieving such information from either pump24or memory15on computing device12, however, is not meaningfully different for the purpose of the present disclosure. Accordingly, it is sufficient to note that the functions of read pump configuration file button136A, read pump profile set button136B, and read pump single profile button136C (all of which are also accessible by activating read pump icon108on toolbar102) are not expressly described herein except to say that they are similar to the functions of buttons138A,138B, and138C. The operator begins the process of opening configuration file141stored in memory15by activating open configuration file button138A.

As is shown inFIG. 5, when the operator activates open configuration file button138A, start up dialog box132in active window106is replaced by open settings file dialog box144. Open settings dialog box144includes a title bar146which describes the operation being performed, a message area148which provides instructions to the operator for performing the operation, a file selection window150, an OK button152and a cancel button154. File selection window150includes a file location area156for defining a folder location of files using a conventional tree structure, a file information area158that provides information about the files in the folder selected using file location area156, a file name area160that includes the name of a file selected from file information area158, and a file type area162for limiting, in a conventional manner, the types of files in the currently selected folder to be displayed in the file information area158. Here, the operator highlights the source file named Source File.360CONF and activates OK button152to retrieve configuration file141.

After configuration file141is retrieved from memory15of computing device12, the operator is provided information in active window106regarding the basal rate profiles included in configuration file141as depicted inFIG. 6. In the depicted context, active window106includes a title bar164that identifies the active file (or if the active file is uploaded from pump24, the pump name and serial number), at least one thumbnail image166A-C that functions as a graphic preview of the data associated with a basal rate profile included in configuration file141, at least one profile indicator168A-C indicating the number of the corresponding basal rate profile represented by the associated thumbnail image166A-C, at least one options button170, and an active icon172and/or an activate button174. In one embodiment of the present disclosure, configuration file141includes a basal rate profile set143consisting of five individual basal rate profiles. Accordingly, as depicted in the figure, a thumbnail image166A-C, profile indicator168A-C, options button170, and an active icon172and/or an activate button174is displayed for each profile in profile set143. In the description that follows, only the first three of the five possible basal rate profiles are used. The operator may view basal rate profile information not shown in active window106by using scroll bar176.

By default, the first depicted profile is designated as active by software17. As such, active icon172is shown in association with thumbnail image166A instead of activate button174. The operator may select other available profiles to be made active by selecting the activate button174associated with the desired profile. As is also shown inFIG. 6, when a configuration file is opened or uploaded and active window106is populated with basal rate profile information, basal rate and bolus button122is automatically activated, causing the display of dropdown menu178in navigation menu104. Dropdown menu178is also displayed upon opening or uploading a profile set or individual profile. Dropdown menu178includes a basal rate profile button180(which is depicted as active), a temporary basal rate button182, and a bolus button184. Finally, active window106further includes a status bar186which indicates the status of the currently active configuration file141. Here, the status is unchanged.

The basal rate profiles associated with thumbnail images166A-C may be modified in the manner described in co-pending patent applications entitled “USER INTERFACE FOR MANIPULATING GROUPS OF DATA REPRESENTATIONS OF A GRAPHICAL DISPLAY,”Ser. No. 12/205,582 and “INSULIN PUMP CONFIGURATION PROGRAMMING INVALID SETTINGS NOTIFICATION AND CORRECTION,”Ser. No. 12/205,587 the entire contents of which are hereby expressly incorporated herein by reference. Also, it should be understood that although portions of this description refer to hourly basal rate profiles, basal rate profiles may include basal rates that cover more or less than a one hour time period. Indeed, the time periods covered by basal rates in a profile need not be equal. The concepts of the present disclosure are not limited by the duration of an individual basal rate, and the references to hourly basal rates are only exemplary.

As indicated above, configuration files include information other than basal rate profiles. For example, by activating bolus button184, the operator has access to various bolus dose settings as shown inFIG. 7, all of which are known to persons skilled in the art. For purposes of the present description, it should be noted that the standard increment for “Quick” Standard Bolus 165 is set to 0.5. This is the amount of bolus insulin to be included in a bolus injection to compensate for carbohydrate consumption each time the user depresses up key38. This bolus increment is an important pump parameter because inappropriately large bolus injections may cause the user to lose consciousness, which can be life threatening under a variety of circumstances (such as driving).

FIG. 8depicts the various parameter settings accessible by activating insulin pump options button126, which causes the display of dropdown menu167, including operations button169, cartridges and battery button171, user menus button173, and customized labels button175. Activation of any of buttons169,171,173, and175provide parameter settings options in active window106.FIG. 8depicts the parameter options displayed upon activation of operations button169. For purposes of the present description, it should be noted that the language option177is set to English.

At this point in the illustrative example, an entire configuration file141(i.e., Source File.360CONF) has been loaded by software17as the active file. To illustrate the principles of the present disclosure, assume that an operator (such as a health care provider) has loaded configuration file141for the purpose of programming four separate insulin pumps.FIG. 9is a conceptual drawing illustrating the programming operations described in the remainder of this description. Configuration file141is depicted as the active file, obtained from a source file in the manner described above. Configuration file141includes, among other things, settings for language and bolus increment, as well as profile set143, including individual basal rate profiles A-C (corresponding to thumbnail images166A-C ofFIG. 6). The language is English and the bolus increment is 0.5. Configuration file141will first be described as replacing configuration file145currently residing on pump1, which includes a language parameter setting of Spanish, a bolus increment setting of 0.2, and a profile set147including three individual profiles D-F with hourly basal rates that differ from the hourly basal rates of profiles A-C of configuration file141. Next, profile set143of configuration file141will be described as replacing profile set149of configuration file151currently residing on pump2. Then, individual profile2of configuration file141will be described as replacing profile2of profile set153of configuration file155currently loaded on pump3. Finally, to illustrate one kind of oversight the operator may make when replacing an entire configuration file instead of just a profile set or a single profile, configuration file141will be described as replacing configuration file157(instead of just profile set159) currently residing on pump4.

Referring back toFIG. 8, when the operator activates save settings button120as the first step in replacing configuration file145currently residing on pump1with active configuration file141, the operator is presented with the screen ofFIG. 10which includes pop-up save settings dialog box188. Dialog box188includes a title bar190, a message area192, a save to pump area194with a configuration file button194A, a profile set button194B, and a single profile button194C, a save to file area196including a configuration file button196A, a profile set button196B, and a single profile button196C, a save to both area198including a configuration file button198A, a profile set button198B, and a single profile button198C, and a cancel button200. To replace configuration file145with active configuration file141, the operator activates save to pump configuration file button194A. Although not depicted in the figures, it should be understood that any of the save to pump functions described herein may be readily adapted to guide the operator through steps for saving information to multiple insulin pumps in a single workflow.

When button194A is activated,FIG. 11is displayed, including communication status dialog box202. Dialog box202includes title bar204, message area206, status window208, back button210, next button212, and cancel button214. Title bar204indicates that a save to pump operation is being performed. Message area206provides instructions to the operator for performing the operation, and status window208provides graphical and/or textual information about the operation. As shown in the figure, the operator is provided instructions in message area206for preparing pump1for communications with computing device12. A variety of different communication technologies may be employed to facilitate this communication. In this example, the operator is instructed to place pump1in communication mode and align pump1with dongle26for IR communications with computing device12. When pump1is prepared for communications, the operator activates next button212.

Before downloading configuration file141to pump1, software17displays confirmation instructions in communications status dialog box202as depicted inFIG. 11. As shown, message area206instructs the operator to review the changes that are about to be made to the pump being programmed, and to check the confirm changes box216to approve the changes. Status window208includes a configuration file tree structure218, a current pump information column220, and a new information column222. Configuration file tree structure218includes a plurality of different parameter titles224accompanied by expander icons226that, when activated, cause the display of parameter names228associated with the parameter title224. Current pump information column220includes data fields230corresponding to each displayed parameter name228. Data fields230include the status or value of the named parameter as they exist in the pump about to be programmed (here, pump1). New information column222similarly includes data fields230′ that reflect the data in the active configuration file141about to replace the existing configuration file145of pump1. As also shown inFIG. 12, parameters that will change upon programming pump1are highlighted. The operator can scroll through the information presented in status window208using scrollbar232.

Although not apparent fromFIG. 12, software17is configured to automatically position the information in status window208such that the most critical information changes may be viewed without having to use scrollbar232. When more information changes are present than can be simultaneously displayed in the viewable area of status window208, software17is configured to prioritize the changes and automatically position the information such that the most critical information (i.e., changes to parameters most likely to affect the safe operation of pump24or the health of the user) is shown in the viewable area of status window208. Here, the change in bolus increment is shown as the most critical parameter change. Window208also shows the change in language from Spanish to English. As indicated above with reference toFIG. 9, profile set147currently present on pump1is also being replaced by profile set143of configuration file141. The operator must use scrollbar232to view these basal rate profile changes.

As shown inFIG. 13, when the operator uses scrollbar232to scroll upwardly, the operator may review changes about to be made to profile set147. In this view, new information column222includes a thumbnail image234′ that corresponds to thumbnail image166A ofFIG. 6(i.e., profile1of profile set143). Current pump information column220includes a thumbnail image234that graphically depicts the data associated with basal rate profile1of profile set147on pump1.

After the operator reviews the changes about to be made to configuration file145by comparing the information in the highlighted data fields230,230′, the operator must check the confirm changes box216and activate next button212. As shown inFIG. 14, this causes software17to generate critical change confirmation box238which functions as a second verification level before making a change to a pump parameter that may have a serious adverse affect on the user's health. Here, the subject of critical change confirmation box238is an increase in the bolus increment. Under delivery of insulin may result in hyperglycemia (high blood glucose levels), which may increase the risk of infection and, if persistent for long periods, may cause damage to the retinas and kidneys, and nerve damage. Over delivery of insulin, on the other hand, may lead immediately to hypoglycemia, which can result in seizures, unconsciousness, and other highly undesirable manifestations of low blood glucose levels.

As shown, critical change confirmation box238includes a title bar240, a message area242that instructs the user to re-enter the new data for the parameter about to be changed, a data window243showing the parameter name228, the current pump data230, and the new data230′, and including a data field246for re-entry of the new data. Box238also includes a confirm button248and a cancel button250. Instead of requiring the operator to simply check a confirm changes box, which the operator may do without carefully reviewing the parameters being changed, critical change confirmation box238requires the operator to type the new data value exactly as it is shown in data field230′ and activate confirm button248to approve the change. In this example, the operator types 0.5 into data field246.

In one embodiment of the present disclosure, activation of cancel button250returns the operator to the save settings dialog box188ofFIG. 10. In an alternate embodiment, only the parameter that is the subject of the current critical change confirmation box238is not written to pump24, but the programming workflow described herein continues.

After the operator activates confirm button248inFIG. 14, a new critical change confirmation box238is displayed as shown inFIG. 15. InFIG. 15, data window243includes information, including thumbnail images234,234′ reflecting the change about to be made to the daily basal insulin total associated with profile1of profile set147. Like an increase in bolus increment, an increase in daily basal insulin total may have a serious adverse affect if accidentally programmed into pump1. Accordingly, the operator is required to re-enter the new data (i.e., 19.9 units) exactly into data field246, then activate confirm button248to proceed. After entering the new data value and activating confirm button248, the operator is presented with another critical change confirmation box238as shown inFIG. 16. The critical change confirmation box238ofFIG. 16includes information similar to that shown inFIG. 15, but reflects the changes about to be made to the daily basal insulin total associated with profile2of profile set147. Again, the operator is required to re-enter the new data (i.e., 17.5 units) exactly into data field246, then activate confirm button248to proceed. After entering the new data value and activating confirm button248, the operator is presented with yet another critical change confirmation box238as shown inFIG. 17. Once again, to change the daily basal insulin total associated with profile3of profile set147, the operator must re-enter the new data (i.e., 13.8 units) exactly into data field246, then activate confirm button248to proceed. Additional critical change confirmation boxes238would be presented to the operator if insulin increases for profiles4and5were to be programmed into profile set147.

Finally, after re-entering the new data (i.e., 13.8 units) into data field246ofFIG. 17and activating confirm button248, communication status dialog box202ofFIG. 18is displayed to indicate that configuration file141is being programmed into the memory of pump1. When the programming is complete, communication status dialog box202ofFIG. 19is displayed to indicate successful programming. When the operator activates the finish button252of dialog box202, active window106ofFIG. 20is displayed.FIG. 20is similar toFIG. 6, except that the information displayed reflects the newly programmed configuration file present on pump1(the now current active file). Accordingly, the serial number for pump1is displayed in title bar164. Otherwise, the two figures are identical as the information (e.g., thumbnail images166A-C) of the newly programmed configuration file is identical to that of previously active file141.

As described above, to replace configuration file145of pump1with configuration file141, the operator is required to check confirm box216and activate next button212(FIG. 12), and re-enter data into data fields246(followed by activating confirm button248) for four critical data changes (i.e., bolus increment (FIG. 14), daily basal insulin total for profile1(FIG. 15), daily basal insulin total for profile2(FIG. 16), and daily basal insulin total for profile3(FIG. 17)).

In the next example programming session, the operator is described as replacing profile set149of pump2(seeFIG. 9) with profile set143of configuration file141. As shown inFIG. 9, pump2is currently programmed to use Spanish and provide a bolus increment of 0.2. These parameters are to remain unchanged by the programming. One method for accomplishing a change to only profile set149is to activate configuration file141in the manner described above, and change the setting for the standard increment for “Quick” Standard Bolus165(FIG. 7) from 0.5 to 0.2 and the setting for the language option177(FIG. 8) from English to Spanish. After these changes (and any other differences in general configuration data) are complete, the operator may save the modified version of configuration file141to pump2using save to pump configuration file button194A (FIG. 10) as described above. This approach, of course, requires the operator to determine the differences in general configuration data between configuration file141and configuration file151, which may be a time consuming, error-prone task. Alternatively, the operator may activate configuration file141in the manner described above, and activate save to pump profile set button194B ofFIG. 10. As software17will not attempt to program information on pump2other than profile set149when button194B is activated, the operator need not determine what other differences (if any) exist between active configuration file141and configuration file151currently present on pump2. After the operator activates button194B ofFIG. 10, and next button212of communication status dialog box202(FIG. 11), communication status dialog box202is displayed in active window106as shown inFIG. 21.

The screen depicted inFIG. 21is similar to the screen depicted inFIGS. 12 and 13. As shown, message area206instructs the operator to review the changes that are about to be made to the pump being programmed, and to check the confirm changes box216to approve the changes. Configuration file tree structure218, current pump information column220, and new information column222are automatically scrolled as described above to display (with highlighting) changes to be made to profile1. The operator can scroll through the information presented in status window208using scrollbar232to review changes to be made to profiles2and3.

After the operator reviews the changes, checks confirm changes box216, and activates next button212, critical change confirmation box238is displayed as shown inFIG. 22. It should be noted that the confirmation step for changing the bolus increment did not occur in this example as the bolus increment of configuration file141is not being written to configuration file151. Critical change confirmation box238is similar to that described above with reference toFIG. 15. It depicts changes about to be made to profile1of profile set149. After the operator re-enters the new daily basal insulin total (i.e., 19.9 units) in data field246and activates confirm button248, the operator is presented with screens corresponding toFIGS. 16though20which guide the operator through critical data changes to profiles2and3and completion of the programming operation for pump2.

An alternative approach to programming pump2with profile set143according to the teachings of the present disclosure is to simply retrieve profile143from the source file “Source File.360CONF” using open profile set button138B or open file icon110ofFIG. 4. Using open file dialog box144ofFIG. 5, the operator may simply activate profile set143for programming pump2. In this manner, the operator can avoid programming pump2with incorrect general configuration data by accidentally activating save to pump configuration file button194A (FIG. 10) instead of save to pump profile set button194B. When only a profile set is made active by software17(as opposed to an entire configuration file), configuration file buttons194A,196A, and198A of save settings dialog box188are disabled. Once profile set143is made active and the operator activates save to pump profile set button194B, the programming sequence is identical to that described above with reference toFIGS. 21 and 22.

In the next example programming session, the operator is described as replacing individual profile2of profile set153(hereinafter referred to as individual profile254—seeFIG. 9) on pump3with individual profile2of profile set143. As shown inFIG. 9, pump3is currently programmed to use Spanish and provide a bolus increment of 0.2. Individual profiles1and3are depicted as having generalized values of J and L, respectively, which are different from the corresponding generalized values for profiles1and3of profile set143. All of these currently programmed parameters are to remain unchanged by the programming. One method for accomplishing a change to only individual profile254is to activate configuration file141in the manner described above, and change the settings for bolus increment, language, profile1and profile3to match the settings currently present on pump3. After these changes are complete, the operator may save the modified version of configuration file141to pump3using save to pump configuration file button194A (FIG. 10) as described above. This approach, of course, requires the operator to determine the differences between configuration file141and configuration file155and make the necessary changes, which may be a time consuming, error-prone task.

Alternatively, the operator may activate configuration file141in the manner described above, and activate save to pump individual profile button194C ofFIG. 10. As software17will not attempt to program information on pump3other than individual profile254when button194C is activated, the operator need not determine what other differences (if any) exist between active configuration file141and configuration file155currently present on pump3. After the operator activates button194C ofFIG. 10, and next button212of communication status dialog box202(FIG. 11), communication status dialog box202is displayed in active window106as shown inFIG. 23.

The screen depicted inFIG. 23is similar to the screen depicted inFIGS. 12 and 13. Here, however, the only highlighted changes are those to be made to individual profile254. After the operator reviews the changes, checks confirm changes box216, and activates next button212, critical change confirmation box238is displayed as shown inFIG. 24, which is similar to the display depicted inFIG. 16. This is the only critical change confirmation box238presented to the operator in this programming example as only individual profile254is being programmed. After the operator re-enters the new daily basal insulin total (i.e., 17.5 units) in data field246and activates confirm button248, the operator is presented with screens corresponding toFIGS. 18though20which complete the programming operation for pump3.

An alternative approach to programming pump3with individual profile2of profile set143according to the teachings of the present disclosure is to simply retrieve individual profile2from the source file “Source File.360CONF” using open individual profile button138C or open file icon110ofFIG. 4. Using open file dialog box144ofFIG. 5, the operator may simply activate individual profile2for programming pump3. In this manner, the operator can avoid inadvertently attempting to program pump3with general configuration data or changes to other individual profiles by accidentally activating save to pump configuration file button194A or save to pump profile set button194B (FIG. 10) instead of save to pump individual profile button194C. When an individual profile is made active by software17(as opposed to an entire configuration file or a profile set), configuration file buttons194A,196A, and198A and profile set buttons194B,196B, and198B of save settings dialog box188are disabled. Once individual profile2of profile set143is made active and the operator activates save to pump individual profile button194C, the programming sequence is identical to that described above with reference toFIGS. 23 and 24.

In the next example programming session, the operator is described as replacing configuration file157of pump4(FIG. 9) with configuration file141. Assume in this example that the operator really only intends to replace profile set159with profile set143, but rather than using save to pump profile set button194B (FIG. 10), the operator activates save to pump configuration file button194A. As shown inFIG. 9, pump4is currently programmed to use Spanish and provide a bolus increment of 0.5. All of individual profiles1through3are depicted as being different from the corresponding individual profiles of profile set143.

After the operator retrieves configuration file141in the manner described above, the operator activates save to pump configuration file button194A (FIG. 10), instead of save to pump profile set button194B. Software17then communicates with pump4(FIG. 11) and displays communication status dialog box202as shown inFIG. 25. Again, the most important changes to be made are automatically positioned for viewing in status window208. Here, the changes to profile1are shown. If the operator used scrollbar232to scroll the content of status window208, the operator could determine that the language option is about to be changed by viewing the screen as depicted inFIG. 26. In that case, the operator may realize that a language change is not desired, activate cancel button214, and change the language option as described above before re-attempting to program pump4.

For purposes of this example, assume that the operator scrolls down to review the changes to be made to profiles2and3, and checks confirm changes box216without scrolling farther down to notice the language change. After activating next button212ofFIG. 25, the operator is presented with critical change confirmation boxes238similar to those depicted inFIGS. 15though17for confirmation of increases to be made to the profiles of profile set159. After that, the programming process as described with reference toFIGS. 18 through 20would be carried out, and the programming operation completed. Unfortunately, however, as this example illustrates, the operator inadvertently changed the language option of pump4from Spanish to English. As a result, the pump user, who may have visited the operator's office to have pump4programmed, may realize later in the day (after leaving the operator's office) that he or she is unable to operate pump4.

Had the operator simply activated save to pump profile set button196B, the above-described programming error would have been avoided. Of course, the operator could also have activated only profile set143(instead of entire configuration file141) using open profile set button138A (FIG. 4) and caused configuration file buttons194A,196A, and198A to be disabled, thereby preventing the above-described error. It should further be understood with respect to all of the above-described examples, the operator may have chosen to activate configuration files, profile sets, or individual profiles from the pumps to be programmed using buttons136A-C of read pump area136, rather than retrieving configuration file141(or some portion thereof) from memory15. Upon activating the pump information, the operator may make the desired modifications in the manner described above, and re-program the pump using buttons194A-C of save to pump area194(FIG. 10).

Finally, with reference toFIG. 10, it should be understood that in addition to saving information to a pump as described above, the teachings of the present disclosure permit saving an active information set (i.e., a configuration file, a profile set, or an individual profile) to either a file or to both a pump and a file in one operation. Upon activating any one of buttons196A-C of save to file area196, the operator is presented with a screen similar to that depicted inFIG. 5except that open file dialog box144is replaced with a similar save file dialog box (not shown). The operator can then select/define the location, name, and type of the file to be saved. Upon activating any one of buttons198A-C of save to both area198, the operator is first presented with the screen including a save file dialog box (not shown). After completing the file save, the operator is then guided through the various pump programming steps described above. In this manner, a backup file of the information being saved to a pump is made as part of the pump programming workflow, thereby reducing the steps required of the operator.

While an exemplary embodiment incorporating the principles of the present teachings has been disclosed hereinabove, the present teachings are not limited to the disclosed embodiments. Instead, this application is intended to cover any variations, uses, or adaptations of the disclosed general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this application pertains and which fall within the limits of the appended claims.