1. Technical Field
Embodiments of this invention relate generally to a method and apparatus for assisting patients and doctors in managing insulin delivery to diabetes. Specifically, the invention relates to a virtual patient software system that provides a patient and/or a medical professional to monitor blood glucose levels in response to the modification of different aspects of insulin delivery, food intake, and an exercise program.
2. Discussion of the Related Art
A blood glucose metabolism is controlled by a myriad of processes, and is optimized to achieve normoglycemia even for wide swings in predominant effect inputs, food, and physical exercise. Illness is characterized by the inability to control over one or more biological processes. Disease management is one solution for people suffering from incurable afflictions. In other words, careful monitoring of parameters of interest, couple with corrective actions such as insulin injections (multiple daily injections or continuous subcutaneous insulin infusion through an insulin pump) result in effective disease management.
For example, diabetes patients have little or no endogenous blood glucose (BG) control capability and may must inject insulin or infuse insulin to compensate for swings outside the acceptable serum glucose range. Diabetes mellitus is a significant disease and its incidence rate has been increasing during the last twenty to thirty years. Studies have indicated that tight control of blood glucose levels results in a dramatic reduction of complications. Tight control of blood glucose levels requires that patients with this condition intensively monitor blood sugar measurements, take insulin shots more frequently to address blood glucose irregularities, and/or infuse insulin via an insulin pump on a regular basis to maintain an acceptable blood glucose level.
Improved technology has allowed patients to infuse insulin or inject insulin at home as well as monitor glucose levels at home. Monitoring of blood glucose levels includes the utilization of home-use blood glucose meter systems, where a user pricks a finger to draw blood, places the blood on a fingerstrip, which is used in conduction with the blood glucose meter toe measure the blood glucose level. These type of measurements provide a user with blood glucose readings at specified moments in time, but do not provide an accurate indication of continuous blood glucose levels. Illustratively, on a graph that displayed blood glucose levels over time, if fingerstrip measurements are utilized, the graph would only display datapoints corresponding to the user's readings and would not show swings of the blood glucose level in between the times the finger sticks were taken. This results in a patient or even a medical professional not being able to completely accurately predict the shape of the blood glucose level curve in between datapoints.
Patients can also utilize a sub-cutaneous glucose sensor that is inserted in part of a patient's skin (such as around the hips or right above the hip area or near the stomach area), which measures blood glucose levels within a patient. The glucose sensor is able to monitor blood glucose levels on a periodic basis. Under certain operating conditions, the glucose sensor is able to monitor blood glucose levels on a continuous basis. This results in a more accurate picture of the patient's blood glucose level because more readings are taking place.
While these tools provide a good understanding of a patient's blood glucose level during specific periods of times (over certain times), there is no teaching or educational tool that quickly (in real-time) provides a patient or a medical professional (i.e., doctor, nurse practitioner, or patient) with simulated information regarding the effects of certain intakes or treatments on a patient's blood glucose level. In addition, there is no tool that quickly or in real-time provides a patient with personalized information regarding the effects of certain intakes or treatments on the actual patient's blood glucose levels. An AIDA Interactive Diabetes Advisor software allows a user of the system, over the intranet, to enter in the user's predicted meals, exercise schedule, and anticipated intake of insulin (via boluses, shots, and or insulin pumps) for a specified time period (such as 24 hours). The AIDA software predicts the blood glucose level based on the input supplied by the user. This software may be extremely helpful for patients who have a very regimented schedule that can always be followed, but would not produce accurate results in real-time environments. The AIDA software is not designed for real-time or almost real-time interaction.
Accordingly, a need exists to provide both diabetes patients and medical professionals with an interactive visual teaching tool that illustrates the effects of certain intakes and events on blood glucose levels and presents this information in an easy-to-read and understandable user format.
FIGS. 17(a)-17(h) illustrate a sample use of the virtual patient software in a patient mode according to an embodiment of the present invention; and
FIGS. 18(a)-18(e) illustrate a sample use of the virtual patient software in a doctor mode according to an embodiment of the present invention.
In an embodiment of the invention, the virtual patient software make be utilized in an educational fashion utilizing models of virtual patients. A patient or a doctor may utilize the virtual patient software in the educational fashion. In an embodiment of the invention, the virtual patient software may morph into more of an actual patient management tool because the patient model will have been developed specifically for the patient and a patient's insulin pump or insulin sensor may provide readings and information to the virtual patient software.
The present invention described below with reference to flowchart illustrations of methods, apparatus, and computer program products. It will be understood that each block of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by computer program instructions (as can any menu screens described in the Figures). These computer program instructions may be loaded onto a computer or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create instructions for implementing the functions specified in the flowchart block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks, and/or menus presented herein.
The computing device 100 hosting the Virtual Patient software 105 may be, but is not limited to, a desktop computer, a laptop computer, a server, a network computer, a personal digital assistant (PDA), a portable telephone including computer functions, an insulin pump including a display, a glucose sensor including a display, a glucose meter including a display, and/or a combination insulin pump/glucose sensor. The computing device 100 may also be a server located on the Internet that is accessible via a browser installed on a laptop computer, desktop computer, a network computer, or a PDA.
In an embodiment of the invention, the virtual patient software 105 may be installed on a computing device 100 where the computing device 100 includes the Microsoft.NET™ framework. In other embodiments of the invention, the virtual patient software 105 may be written in the Java programming language and installed on a Java-enabled machine.
When the Virtual Patient software 105 is initialized on the computing device 100, the user interface control module 120 displays an input screen allowing a user to select a mode of operation. Illustratively, modes of operation may include a patient simulation mode or a medical professional (e.g., doctor or nurse practitioner) simulation mode. In alternative embodiments of the invention, the modes of operation may include a patient interaction mode or a medical professional interaction mode. In an embodiment of the invention, the user interface control module 120 may access or store different web pages or active server pages for the different modes of operation. For example, the user interface control module 120 may include a number of web pages, active server pages, or screen shots for the patient simulation mode or may be able to access the web pages, active server pages, or screen shots. The user interface control module 120 may also include information to address how the web pages, active server pages, or screen shots interact with each other.
In an embodiment of the invention, if the doctor's mode is selected, e.g., the medical professional mode, the user interface and control module 120 may access a stored scenarios library 130 to extract the scenarios applicable to the selected patient model. Under certain operating conditions, the information supplied from the stored scenarios library 130 is transferred to the user interface control module 120. Under other operating conditions, the user interface control module 110 may access the stored scenarios library 130 in response to the entering of inputs, events, or activities. If the patient mode of the virtual patient software 105 is selected, the user interface control module 120 may also utilize the stored scenarios library 130 to provide the virtual patient software with the data for the different scenarios that are available to be selected by the user, as discussed below.
After the mode is selected, the user interface control module 120 presents a plurality of patient metabolic models (which may be referred to as patient models). The patient models is utilized to either simulate a patient's reaction to different events and activities or to provide an actual reaction to different events and activities. The patient parameter library 115 stores different parameters for different patient models. For example, if six patients are able to be selected, then six sets of patient parameters may be stored in the patient parameter library 115. Having a plurality of sets of patient parameters stored in the patient parameter library 115 provides a user with the ability to select from a number of metabolic models, e.g., such as a model corresponding to a young child, a woman with gestational diabetes, or a middle-age man with adult-onset diabetes.
In embodiments of the invention, the patient parameters may be for actual patients or for virtual patients, e.g., patients with certain characteristics. Many metabolic models for use in diabetes treatment have been developed and are known in art. In an embodiment of the invention, a new metabolic model, as described below, may utilize patient parameters from the patient parameter library, and the new metabolic model may provide the mathematical algorithms to the simulation engine in order to have the mathematical algorithms run by the simulation engine 150.
The Medtronic MiniMed model is based on a minimal set of assumptions. An assumed or measured insulin profile, in response to single bolus of insulin, is taken as an impulse response I(t). From this response, plasma insulin concentration (Ip(t)), for arbitrary insulin delivery, such at might occur with an insulin pump, is described by the convolution of the impulse response (I(t)) and the arbitrary insulin delivery (ID(t)) profile:
In the preferred embodiment, I(t) is described by a biexponential curve characterized by two time delays (1/α1 and 1/α2 in units of minutes) and a scaling factor “A” (units of insulin concentration; typically μU/ml or pmol/L):
I(t)=A·[e−α
For ease of implementation, equations 1 and 2 can be expressed as a series of differential equations:
where the variable Ir(t) reflects insulin in a remote compartment.
Insulin effects a change in glucose concentration by increasing peripheral glucose uptake and decreasing endogenous glucose production. Glucose uptake is assumed to be proportional to glucose concentration; endogenous glucose production is assumed inversely proportional to glucose concentration. In both instances the effect of insulin is to increase the proportional rate. The overall effect does not occur simultaneously with changes in plasma insulin concentration. In the preferred embodiment, the delay time for the two effects is assumed to be the same, and the time complete time profile (X(t)) is described by a first order differential equation:
In this form, Ip(t) is the plasma insulin concentration (Equation 2), IB is the basal insulin concentration required to maintain glucose concentration at a desired basal level (GB), 1/p2 defines the time constant for insulin action (minutes), and p3/p2 defines the subject's insulin sensitivity (typical units min−1 per μU/ml).
Glucose concentration increases in response to exogenous glucose appearance (meals); however, following a meal, glucose appearance into the plasma space does not occur instantly. The time course can be very complex with multiple factors affecting the rate of appearance (e.g. percent fat content). Several models have been proposed to describe this curve (e.g., AIDA). The preferred embodiment used in the Medtronic MiniMed is to describe the total number of carbohydrates (CHO) during a meal as appearing as an impulse (δ(t)), with subsequent rate of appearance into a remote space (RaR), and then appearance into the plasma space with rate RaP(t):
In this formulation, p4 characterizes the rate of carbohydrate appearance into a remote compartment, and p5 characterizes the rate of transfer from the remote compartment into plasma (p4 can equal p5).
Each of the individual effects and processes (equations 3 through 5) contribute to changes in glucose concentration (G(t)). The final, or preferred embodiment describing these changes is:
In this embodiment (equation 6), glucose concentration (G(t); typical units of mg/dl) increases in response to the rate of glucose appearance into plasma (Rap(t); typical units equal mg/min) with the effect size dependent on the glucose distribution volume (V, units of dl; typical estimate equal 65% of extracellular space). Insulin decreases glucose concentration in proportion to the prevailing glucose concentration. Parameter p1 reflects the effect of glucose per se to increase glucose disposal and decrease endogenous glucose production; p1GB reflects the endogenous glucose appearance (mg/min per dl) normalized to the glucose distribution volume measured under a steady state plasma insulin concentration (IB; typically measured under basal or steady-state fasting conditions).
Enhanced versions of the model include the ability to make all parameters (p1-p5, α1,α2, A) time dependant, add separate descriptions of multiple glucose compartments, introduce nonlinearities into any or all processes, and interrelate various meal (p4,p5) and metabolic (p1-p3) parameters.
After an interactive mode (patient or doctor) has been selected and the patient model has been selected, the user interface control module 120 may allow for inputs, activities, or events to be entered into the virtual patient software 105. For example, if the patient mode has been selected and the child (Kevin) metabolic model has been selected because of the patient's similar characteristics to Kevin's model, a user of the virtual patient software 105 may enter a number of bolus units that has been taken, carbohydrates that have been eaten, or whether or not a basal rate of insulin from an insulin pump has been adjusted. In addition, a user of the virtual patient software may also enter when and how long the patient has exercised, etc. In addition, a user of the virtual patient software 105 may identify that a sensor reading was taken or that a fingerstick was taken and a blood glucose meter provided a reading.
The user interface control module 120 receives the entered inputs, activities, or events. In an embodiment of the invention, the user interface control module 120 may transfer the entered inputs, activities, or events to the charting and display module 110 for presentation on a display of the computing device 100. In an embodiment of the invention, the charting and display module 110 may present a single graph on the display of the computing device 100. Under other operating conditions, the charting and display module 110 may present a plurality of graphs on the display of the computing device 100. For example, the charting and display module 110 may display information on how many carbohydrates were consumed, what insulin has been ingested, and how much the patient has exercised.
After an input, activity, or events is entered, the user interface control module 120 transfers the entered information to a simulation engine 150. Under certain operating conditions, the patient parameter library 115 supplies the patient's parameters (which were selected based on a user's selection of a patient model earlier) to the simulation engine 150. Under certain operating conditions, the patient parameter library 115 may transfer baseline data to the simulation engine 150. In this manner, the simulation engine 150 may have baseline data to be utilized to generate the simulated blood glucose level readings. The simulation engine 150 receives the entered input, activity or event and the patient's parameters. The simulation engine 150 generates a simulated or estimated blood glucose level for the selected patient based on the entered input, activity, or event and the patient's parameters. Under certain operating conditions, the simulated or estimated blood glucose level is generated for a plurality of timeframes. For example, if the virtual patient software is running in the patient mode and 60 minutes has elapsed (because a user has pressed the hour advance time toolbar), the simulation engine 150 may calculate the simulated blood glucose level or simulated blood glucose level readings for the 60 minutes. For example, if the virtual patient software 105 is running in the doctor or medical professional mode, the simulation engine 150 may calculated the simulated blood glucose readings or levels for the entire simulation. In other words, the simulation engine 150 calculates a plurality of blood glucose levels for the simulation timeframe. The plurality of blood glucose levels or reading may be referred to as blood glucose data. In an embodiment of the invention, the simulation engine 150 may calculate the simulated blood glucose levels for the remaining time of the simulation. The virtual patient software 105, as described above, is able to calculate new simulated blood glucose levels based on a single input or multiple inputs and display the new simulated blood glucose levels in a variety of formats.
Under these operating conditions, the simulation engine 150 calculates a number of readings because the effect of the input, activity, or event on the patient's blood glucose level occurs over a period of time. The simulation engine 150 takes into account at least one previous reading in the calculation of the patient's simulated blood glucose levels. In an embodiment of the invention, if this is the first input, event, or activity that the virtual patient has received, the number of readings generated by the simulation engine 150 may be added to or combined with pre-existing readings or default readings for a selected timeframe. These readings may be referred to as combined blood glucose readings. If a previously generated number of blood glucose level readings have already been generated by the simulation engine 150, the previously generated number of blood glucose level readings may be added to the number of readings generated by the simulation engine 150 to create a number of combined blood glucose readings for the patient. The combined blood glucose readings may be referred to as combined blood glucose data.
The simulation engine 150 may transfer the blood glucose data to the charting and display module 110. In other words, the simulation engine 150 may transfer the plurality of combined blood glucose readings to the charting and display module 110. Illustratively, if the virtual patient software 150 is in the patient mode, the simulation engine 150 may only transfer simulated blood glucose readings for a timeframe to which the simulation has advanced. In other words, if the simulation has advanced two hours, the simulation engine may only transfer two hours of readings to the charting and display module 110. For example, if the virtual patient software is in the medical professional or doctor mode, the simulation engine 150 may transfer simulated blood glucose data for the timeframe of the entire simulation. The charting and display module 110 receives the blood glucose data (or plurality of blood glucose readings).
Depending on the mode of operation selected by the user, e.g., patient mode or doctor mode, the charting and display module 100 may display different potions or sections of the blood glucose data of the patient on a display of the computing device 100. Illustratively, if the virtual patient software 105 is in patient mode, the charting and display module 110 may only display the combined blood glucose readings for a timeframe that has been chosen by the user. For example, if an adjustment to the basal rate has been entered, in the user interface and control module 120, and transferred to the simulation engine, the simulation engine 150 generates a number of blood glucose readings based on the entered basal rate. Illustratively, if the simulation has moved sixty minutes, the simulation engine 150 generates a plurality of blood glucose readings for the sixty minutes. If the virtual patient software 105 is operating in patient mode, the charting and display module 110 may only display the combined blood glucose readings up until the period of time that the user has simulated. If the virtual patient software is in medical professional (or doctor) mode, the charting and display module 110 may display the plurality of blood glucose readings for a timeframe of the simulation. In the medical professional mode, for example, the charting and display module 110 may originally be displaying three days of blood glucose levels and this may be modified when the charting and display module 110 receives the new blood glucose data from the simulation engine.
In an embodiment of the invention, the simulation engine 150 may transfer only the number of generated blood glucose readings for the patient to the charting and display module 110 because in this embodiment of the invention, the previously generated blood glucose readings or the default/pre-existing blood glucose readings had been stored in the charting and display module 110. Thus, only the generated blood glucose data is transferred to the charting and display module. In the patient mode of the virtual patient software, the generated blood glucose data is integrated with the stored blood glucose readings in the charting and display module 110 and the charting and display module 110 displays the combined readings only up until the timeframe to which the user has advanced the simulation. In the doctor mode of the virtual patient software, the generated blood glucose data is integrated with the stored blood glucose readings and the charting and display module displays the combined blood glucose data for the timeframe of the simulation (e.g., three days). In the doctor's mode of the virtual patient software, the charting and display module 110 is displaying the effect of the input (e.g., basal rate adjustment or bolus intake) on the blood glucose level during the timeframe of the simulation.
In the embodiment of the invention illustrated in
A user of the virtual patient software 105 may utilize the user interface control module 110 to change or modify inputs, events, or activities. Originally, the user may have to physically input meals eaten by the patient recently. The user may review the graphs displayed by the charting and display module 110 and decide to modify one of the inputs, events, or activities, for example, carbohydrates consumed or insulin delivered to the patient. Illustratively, the user may wish to create a scenario where he or she adjusts the basal rate. After the adjustment has been made, the virtual patient software 105 simulates the patient's response in terms of blood glucose level. The adjusted input, event, or activity is transferred to the simulation engine 150 from the user interface control module 120. The simulation engine 150 receives the adjusted input, event, or activity and calculates the patient's estimated blood glucose level response to the adjusted input, event, or activity. The simulation engine 150 utilizes the parameters or constants extracted by the patient parameter fit module 160 to assist in generating the patient's estimated or simulated blood glucose level response. The blood glucose level response may be referred to as blood glucose data and may also be referred to as a number, a set, or a plurality of blood glucose readings for a period of time. The blood glucose data or the number of blood glucose readings may be transferred from the simulation engine 150 to the charting and display module 110. As discussed above, the blood glucose data may be the blood glucose data generated by the simulation engine 150. The generated blood glucose data received from the simulation engine 150 is then displayed on a display of the computing device 100 by the charting and display module 110 of the virtual patient software. In the patient mode of the virtual patient software 105, the generated blood glucose data is displayed only for the timeframe that has been entered into the virtual patient software 105. Illustratively, if the user has only run the virtual patient simulation up to 12:00 noon, only the generated blood glucose data up until 12:00 noon is displayed by the charting and display module 110. In an embodiment of the invention, the simulation engine 150 may only calculate blood glucose readings up until the 12:00 noon timeframe and this only the blood glucose readings up until the 12:00 noon timeframe may be transferred. In the medical professional or doctor mode of the virtual patient software 105, the generated blood glucose level is displayed by the charting and display module 110 for the simulation timeframe, e.g, two or three days.
Returning to the flowchart of
Returning to
Returning to
The graph display section 714 of the manipulate and view screen 700 may display a plurality of informational graphs.
The graph display section 714 may provide a graph 835 that displays carbohydrates consumed by the patient at the different times of the day. For example, as illustrated in
The graph display section 714 may provides a graph 840 that displays the patient's glucose level over a time period such as a two day time period. In an embodiment of the invention, the model has a pre-established timepoints in case no information is input into the patient interaction screen. For example, if Megan is chosen as the patient model and a time is selected (for example, 7:00 am), an initial reading of 119 may be read out from Megan's patient model. If the take fingerstick selector toolbar or module is selected, then a fingerstick reading appears on the graph 840. In this embodiment of the invention, a patient will not be inputting his or her own fingersticks. Instead, the patient model of the Virtual Patient software provides the fingerstick readings. The graph 840 appears as time progresses during the two day time period. In other words, for example, when a patient wakes up and sets the time to 7:00 am, the graphs 825, 835, and 840 will be drawn according to parameters supplied by the patient model. After the initial entry of time, a user may enter inputs such as eating of a meal at 7:30 am, taking a standard bolus at 7:30 am and exercising around 4:00 pm. The graph 840 is shaped by the combination of the data supplied by the patient model adjusted for the intake of insulin and carbohydrates. In other words, the inputs are entered, they are input into the patient model (simulation engine), and the patient model (simulation engine), utilizing its known characteristics and readings (patient parameters), determines a glucose reading incorporating the effect of the inputs on the glucose reading. As previously disclosed, if a cursor is placed over one of the readings (where a number is displayed), a mini pop-up window appears that displays what type of reading occurs and what the value of the reading is. Under other operating conditions, a mini pop-up window 870 appears the time of the simulation. The present time mini pop-up window 870 displays the current glucose reading, the time of the glucose reading, and an indicator of the trend of the glucose reading. For example, as illustrated in
In an embodiment of the invention, if the glucose sensor is activated by selecting the glucose sensor toolbar, then the patient model supplies glucose readings as if they were input from a glucose sensor. In other words, in this embodiment of the invention, a patient's actual glucose sensor is not hooked up to the Virtual Patient software and is not providing readings to the Virtual Patient software.
Returning to the flowchart of
In no event has been selected, the virtual patient software 105 determines whether an input has been received and also what type of input has been received 470. If no input has been received, the virtual patient software returns to the input of step 450 to wait for either an input or an event. If the user has input a modification in the basal rate, the basal rate input is received, the selected patient model generates results based on the basal rate input change, and this information is displayed 480 on graph(s) in the graph display section 714. Illustratively, if a basal rate is changed, graph 825 in
If a new bolus has been input to the virtual patient software, the new bolus is received, the patient model (simulation engine 150) receives the new bolus and generates results on blood glucose levels based on the new bolus input, and the bolus input information and the results generated by the patient model are displayed 484 on the graph display section 714 of the patient manipulate and view screen. Illustratively, if a new bolus is input to the virtual patient software, graph 825 is modified to show the time the bolus was taken and the size of the bolus. In addition, graph 840 displaying the blood glucose level of the selected patient is modified to show the effects of the taking of the bolus over a period of time.
If an exercise input has been input to the virtual patient software, the new exercise input has been received, the patient model (simulation engine 150) receives the new exercise input and generates results on blood glucose levels based on the new exercise input, and the exercise input information and the results generated by the patient model are displayed 488 on the graph display section of the patient manipulate and view screen. Illustratively, if an exercise input is received by the virtual patient software, graph 825 is modified to show the time, the duration, and the level of the patient's exercise. In addition, graph 840 is modified to show the effects of the patient exercising over a period of time.
If a meal input has been input to the virtual patient software, the meal input is received, the patient model receives the new meal input and generates results on blood glucose levels based on the meal input, and the exercise input information and the results generated by the patient model are displayed 492 on the graph display section of the patient manipulate and view screen. In addition, the virtual patient software 105 provides for the generation of the appropriate bolus that a patient needs to take in order to counteract the effects of the number of carbohydrates eaten during a meal. Illustratively, if an exercise input is received by the virtual patient software, graph 835 is modified to show the meal, how many carbohydrates were estimated to be present in the meal, and how easily the carbohydrates are digested. In addition, graph 840 is modified to show the effects on the blood glucose level of the patient over a period of time, after the patient has ingested the entered meal.
The bolus wizard window 320 allows a user of the virtual patient software to determine the bolus units to be input or paired based on the carbohydrates a patient has consumed during a meal timeframe. A user of the virtual patient software may enter the number of carbohydrates into the bolus wizard window 320 (i.e., the number of grams), press the calculate selector button or calculate toolbar, and the bolus amount that the virtual patient software determines counteracts the carbohydrates consumed is presented. Under certain operating conditions, the selected patient model takes into consideration that a user often underestimates and overestimates the number of grams of carbohydrates that a patient consumes.
The display sensor checkbox 1110 allows for a user of the Virtual Patient system to display continuous or periodic sensor reading on the graph display section 1130 of the doctor manipulate and view screen. If the display sensor checkbox 1110 is not selected, then only datapoints corresponding to the fingerstick readings are displayed in the graph display section 1130. The image profile 1125 presents a picture of the patient corresponding to the selected patient model. A modify input or pump settings sub-menu 1115 allows the selection of different basal rates, the setting of a different carb/insulin ratio, and the inputting of specific boluses and the bolus timing. The actual adjustment toolbar 1120 allows for the setting of the different basal rates during different time ranges of the days, the setting of a different carb/insulin ratio during different time ranges of days, and the inputting of different bolus and when the boluses are going to be taken by the patient. The graph display section 1130 displays a plurality of graphs depending on the display orientation menu selection of the doctor manipulate and view menu 1130.
Returning to
Returning to the flowchart of
From the doctor interaction manipulate and view screen, a insulin/carbohydrate ratio may also be adjusted. The carbohydrate/insulin ratio may be adjusted for different time periods. Because the insulin/carbohydrate ratio in real patients can differ throughout the day, this function allows pump users to account for this as they program their insulin pump.
The virtual patient software 105 also includes different viewing modes (longitudinal, modal and/or around meal display modes). FIGS. 13(a), 13(b), and 13(c) display longitudinal, modal, and around meal display modes selectively. A user may select the display mode by pressing one of the selection or options in the display orientation menu 1105.
After any of the inputs have been adjusted (basal rate, bolus shape and timing, and carb/insulin ratio), or after the display orientation has been selected or adjusted, the process or the virtual patient software returns to the output of step 560. In other words, after the viewing mode is changed, for example, a user of the virtual patient software can return to adjust the basal rate. Similarly, the user can adjust the bolus shape and timing. This is illustrated in
After the medical professional has made all the necessary adjustments that are desired to be made to the selected patient model, the medical professional may desire to run 598 a lab report for the selected patient model. In other words, the medical professional would like to see a report that details how the modifications that were made to the patient's therapy performed in terms of overall statistics.
The lunch submenu 1440 and the dinner submenu 1450 include similar displays to the breakfast submenu 1430 except these menus display blood glucose levels, carbohydrates consumed, and bolus input units around the lunch timeframe and the dinner timeframe, respectively.
The virtual patient software determines 1602 what the ‘best fit’ is for the selected patient whose readings and personal data have been received. This means that the software adapts the parameters of the underlying metabolic model to best approximate the glucose readings of a real patient. Under these operating conditions, the patient model (patient parameter fit module 160) may be determining whether the patient's glucose sensor readings correspond or are similar to what the patient model (patient parameter fit module 160) expected for the patient during the measured time period.
If no metabolic model can ‘fit’ the patients glucose data, the virtual patient software 105 is not able to simulate the glucose metabolism of this particular patient. In an alternative embodiment of the present invention, a patient model may receive the glucose sensor readings directly, outside of the virtual patient software 105, and after the patient model is created external to the virtual patient software 105, the newly created patient model may be imported into the virtual patient software with patient parameters being placed in the patient parameter fit module and any mathematical algorithms or logic being provided to the simulation engine 150.
The mode of utilization for the virtual patient software may be selected 1608. In an embodiment of the invention, the modes may be an instructive mode (educational mode) versus a monitoring mode. Generally speaking, in the instructive mode, a patient or medical professional may view results of selected therapies on the selected patient's model. In this mode, the results are not actually what would appear on the patient's glucose sensor. Instead, it is an estimation or prediction of what may occur if a specific therapy or event occurs (e.g., changing a basal rate or eating a meal).
If the instructive mode has been selected and the virtual patient software has received the sensor readings from a blood glucose sensor, the virtual patient software may display 1610 a pre-determined period of time and the corresponding sensor readings. In an embodiment of the invention, the virtual patient software 105 may display the last three days of sensor readings along with any other events or inputs that the patient may have entered (i.e., meals ingested, boluses took, insulin shots took). Under certain operating conditions, the virtual patient software 105 may also be receiving information from the insulin pump, (e.g., regarding information such as a basal rate). In some embodiments of the invention, because blood glucose sensor readings from the blood glucose sensor may be the only information supplied to the virtual patient software, the graph display section 714 of the manipulate and view menu may only display a blood glucose level graph (e.g., graph 840) and not the other two graphs (because no data has been into the patient model regarding either the carbohydrates consumed or the insulin delivered to the patient).
Under certain operating conditions, a user may decide to change or modify 1612 the viewing orientation or viewing mode for the virtual patient software. Illustratively, a longitudinal mode may be selected by default, but the user may change this viewing mode to an around meal mode or a modal mode (where one 24 hour timeframe is graphed or displayed and each of the selected days are displayed one on top of the other).
Events may be entered into the virtual patient software or inputs such as basal rates, meals, or bolus units taken may be entered 1614 into the virtual patient software 105. If events are input, the virtual patient software 105 responds to these events. If the event is the entering of a time, such as utilizing the time input toolbar on the manipulate and view screen, the virtual patient software 105 may modify the information shown on the graph display section 714 to only incorporate a newly selected timeframe data from the last selected timeframe data. For example, if a new time is selected (e.g., 3:00 pm) and the previously selected time was 12:00 noon, the virtual patient software may only display information for the 3 hours between 12:00 noon and 3:00 pm. Illustratively, this is utilized in the patient mode.
Under certain operating conditions, because this is instructive mode, the time toolbar may be disabled because the instructive mode is established as a teaching tool, and may not be utilized for real-time monitoring.
In an embodiment of the invention, the event to be input may be a “take fingerstick” event where the user/patient is actually taking a fingerstick reading. Because a blood glucose sensor is also being utilized to measure the blood glucose level in a patient, the fingerstick event may be utilized to calibrate the blood glucose sensor. In other words, the virtual patient software 105 may ask a user for a fingerstick reading, receive the fingerstick reading, and compare the fingerstick reading to the blood glucose reading sensor. Based upon this comparison, the virtual patient software may instruct the blood glucose sensor to perform a calibration of 03 mg/dl in order to match the fingerstick reading. In an embodiment of the invention, the virtual patient software may display a message on the screen of the computing device to instruct the user to make the calibration. In an alternative embodiment of the invention, the virtual patient software 105 may transmit the calibration message or command directly to the blood glucose sensor 1510.
The virtual patient software 105 may also receive inputs that the patient believes would be necessary to improve the patient's therapy. In the instructive mode, these inputs are in essence test inputs to see the reaction of the patient model to the test input. For example, a basal rate proposed change may be entered into the virtual patient software 105 by a user. The virtual patient software 105 receives the adjusted inputs and/or events and enters these inputs into the patient model, which in turn calculates new values for the measured parameters based on the inputs and/or events. This updated projected information is then displayed 1616 by the virtual patient software 105 in order for the patient to see the effect of the proposed input on the selected patient model. A patient can utilize the virtual patient software 105 in order to simulate a number of these proposed changes in order to determine the interaction of these inputs on his actual measured data. The ability to simulate a number of changes is illustrated by the return arrow to step 1616. These number of proposed changes in the inputs or events may constitute a trial therapy for or by the patient. The patient may save or print this trial therapy so that it may be utilized at a later time. Note that these proposed changes in inputs or proposed events do not effect the underlying readings in the patient model or the patient model itself because these are only test inputs (or a trial therapy) and are not actual inputs that have been put into the patient. In this mode, the focus is on teaching a patient or a medical professional how certain actions affect the patient model.
If the monitoring mode has been selected for the virtual patient software, a start input time is entered 1618 for the monitoring mode. This establishes a start time or a time of the day when the patient or medical professional is interacting with the virtual patient software. Illustratively, if the patient or medical professional is monitoring the patient starting at 7:00 am, a starting time of 7:00 am is entered and the patient model provides the readings for the selected patient. This information is supplied to the graph display section 71 of the virtual patient software 105. In an embodiment of the invention, the glucose sensor 1510 has supplied the blood glucose readings for the patient (before the entered timeframe) to the virtual patient software 1550. In an embodiment of the invention, the insulin pump 1530 supplied the basal rate of the patient (before the entered timeframe) to the virtual patient software 1550. Under certain operating conditions, the patient has previously supplied other inputs such as meals and/or boluses. The virtual patient software 1550 displays whatever information has been supplied (before the entered timeframe) on the graph display section 714 of the manipulate and view menu.
In an embodiment of the invention, a user of the virtual patient software (either patient or medical professional) may enter 1620 an event or an input. The user may enter an event like a fingerstick reading and the time it was taken. If the user is utilizing a blood glucose sensor, then the fingerstick reading may be used to calibrate the blood glucose sensor, as discussed above. If the input is a meal (i.e., entered in terms of carbohydrates) and an accompanying bolus, the user enters the carbohydrate grams and the units of bolus plus the time of the input, e.g., 9:30 am.
Based on the entering of the event or input and time, the virtual patient software 1550 displays the current results at the time of the entering of the event or input. The virtual patient software 1550 displays, in the graph display section, the readings up until the entered time for the measured parameters (blood glucose level, carbohydrates consumed, insulin delivery rate). Illustratively, if 60 grams of carbohydrates are consumed with an accompanying bolus of 14.0 units, the virtual patient software displays the food input on graph 835 (the carbohydrate graph) and displays the accompanying bolus of 14.0 units on the insulin delivery graph 825. The virtual patient software also updates the readings of the blood glucose graph 840 up until the entered time or selected time. In an embodiment of the invention, the virtual patient software may receive inputs from the blood glucose sensor and may display those inputs on the blood glucose graph. In an embodiment of the invention, the virtual patient software (if no inputs are provided from a blood glucose sensor) may interpolate a current fingerstick reading and utilize an understanding of the patient's metabolic characteristics to come up with blood glucose readings for the patient in order to estimate the patient's blood glucose reading between the previous time and the entered time. This estimate is displayed on the blood glucose level graph 840 of the graph display section.
As discussed above, the virtual patient software allows a user to enter multiple events and/or inputs. This is represented by the arrow going from step 1622 to step 1620. Under certain operating conditions, the user continues to utilize the virtual patient software 1550 to monitor how the patient's therapy controls the his or her diabetes. As long as the computing device is operational, the virtual patient software 1550 continues to run. In the monitoring mode (unlike the instructive mode), the virtual patient software 1550 may store all of the readings, events, and inputs. Because the patient is utilizing the virtual patient software in a real-life environment, it is important to maintain the data. Even in embodiments of the invention where the computing device is turned off, the virtual patient software will, when it is initialized, receive readings for the timeframe that the virtual patient software was turned off or was not activated. In embodiments of the invention, the virtual patient software will prompt the user to provide inputs of information that cannot be received from, for example, the blood glucose sensor and/or the insulin pump, for the time that the virtual patient software was not activated.
The virtual patient software also allows a lab report to be generated 1626 that describes the results of the patient's therapy. As described above, the lab report shows the current performance of the patient in regard to the selected patient model with the optimization (or adjustment) that the user, e.g., the medical professional, has made. This report may be more important in the educational or instructional mode.
FIGS. 17(a)-17(h) illustrate a sample use of the virtual patient software in a patient mode according to an embodiment of the present invention.
After a meal is eaten, a patient generally takes a bolus to counteract the carbohydrates consumed during the meal.
FIGS. 18(a)-18(e) illustrate a sample interaction of the doctor (or medical professional mode) according to an embodiment of the present invention.
While the description above refers to particular embodiments of the present invention, it will be understood that many modifications may be made without departing from the spirit thereof. The accompanying claims are intended to cover such modifications as would fall within the true scope and spirit of the present invention. The presently disclosed embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims, rather than the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.