Diabetes management systems, methods, and apparatus for user reminders, pattern recognition, and interfaces

文档序号:1631724 发布日期:2020-01-14 浏览:36次 中文

阅读说明:本技术 用于用户提醒、模式辨识和接口的糖尿病管理系统、方法及设备 (Diabetes management systems, methods, and apparatus for user reminders, pattern recognition, and interfaces ) 是由 詹尼弗·L·加斯 姚·雷蒙德·L 罗伯特·W·莫林 劳伦·N·博克 弗拉迪斯拉夫·米伦科维奇 于 2018-03-27 设计创作,主要内容包括:用于管理糖尿病的系统、方法和设备,包括便携糖尿病管理系统(DMS)装置。DMS装置包括处理器、数据存储装置、触摸屏显示器、以及无线通信设施。交互显示屏幕被配置为显示在触摸屏显示器上,列出有关DMS装置接收的血糖测量数据的多个不同的检测到的模式的可选子集。基于可在处理器上执行的多个算法来检测模式。基于检测到模式的频率来确定检测到的模式的子集,并对检测到的模式指定优先级。提供数种其他方面。(Systems, methods, and apparatus for managing diabetes include a portable Diabetes Management System (DMS) device. The DMS device includes a processor, a data storage device, a touch screen display, and a wireless communication facility. The interactive display screen is configured to be displayed on the touch screen display listing a selectable subset of a plurality of different detected patterns related to blood glucose measurement data received by the DMS device. The pattern is detected based on a plurality of algorithms executable on the processor. A subset of the detected patterns is determined based on a frequency of the detected patterns and priorities are assigned to the detected patterns. Several other aspects are provided.)

1. An apparatus for managing diabetes, the apparatus comprising:

a portable Diabetes Management System (DMS) device comprising a processor, a data storage device, a touch screen display, a wireless communication facility, a pattern recognition engine stored in the data storage device and executable in the processor, and a user interface structure stored in the data storage device and executable in the processor, the user interface structure comprising a plurality of user interface displays configured to be displayed on the touch screen display; wherein:

one of the plurality of user interface displays comprises a list of selectable subsets of a plurality of different patterns based on blood glucose measurement data received by the DMS device, the selectable subsets of patterns based on a frequency with which the different patterns are detected by the pattern-recognition engine.

2. The apparatus of claim 1, wherein the different modes comprise at least one of: critical low meter reading, critical high meter reading, low test frequency, medium test frequency, good test frequency, mostly simultaneous testing, high time of day, low time of day, best time of day, high fasting, low fasting, high before lunch, low before lunch, high before dinner, low after dinner, gradually high, gradually low, low on monday, and high on monday.

3. The apparatus of claim 1, wherein the pattern-recognition engine comprises a plurality of algorithms, each algorithm configured to recognize a respective one of the different patterns.

4. The apparatus of claim 1, wherein the pattern recognition engine is configured to recognize a pattern based on 14 to 21 days of the blood glucose measurement data received by the DMS device.

5. The apparatus of claim 1, wherein each user interface display is linked to, or reachable via, at least one other user interface display of the plurality of user interface displays, or presented as a result of a pattern detected by the pattern recognition engine.

6. The device of claim 1, wherein one of the plurality of user interface displays further comprises a screen for selecting a number of blood glucose tests to be performed per week.

7. The device of claim 6, wherein one of the plurality of user interface displays further comprises a reminder screen to perform a blood glucose test, the reminder screen displayed on the touch screen display in response to the pattern recognition engine detecting less than the selected number of blood glucose tests to be performed per week (selected via the screen for selecting the number of blood glucose tests to be performed per week).

8. The device of claim 1, wherein one of the plurality of user interface displays further comprises a pattern manager screen comprising an interaction list of detected patterns that are active, attached, and sequestered.

9. The device of claim 1, wherein one of the plurality of user interface displays further comprises a mode details screen comprising a summary area, a chart area, a status area, an explanation area, and a "further links" area.

10. A method for managing diabetes, the method comprising the steps of:

a receiving step of receiving, at the portable wireless device, a blood glucose measurement result from the blood glucose meter;

a storage step of storing the blood glucose measurement in a data storage device of the portable wireless device;

identifying, by a processor of the portable wireless device, one or more patterns based on the blood glucose measurements, the processor executing a pattern recognition engine stored in the data storage device; and

a prompting step of prompting a user via a user interface of the portable wireless device to take an action in response to the recognizing step recognizing one or more of the patterns.

11. The method of claim 10, wherein the pattern comprises at least one of: critical low meter reading, critical high meter reading, low test frequency, medium test frequency, good test frequency, mostly simultaneous testing, high time of day, low time of day, best time of day, high fasting, low fasting, high before lunch, low before lunch, high before dinner, low after dinner, gradually high, gradually low, low on monday, and high on monday.

12. The method of claim 10, wherein the identifying of one or more of the patterns is based on the receiving blood glucose measurements at the portable wireless device within 14 days to 21 days.

13. The method of claim 10, further comprising the steps of: storing user interface structures in the data storage device, the user interface structures executable in the processor.

14. The method of claim 10, wherein the prompting step of prompting the user to take an action comprises the steps of: prompting the user to set a pattern target regarding the one or more patterns identified.

15. The method of claim 10, wherein the prompting step to prompt the user to take an action comprises at least one of: prompting the user to test their blood glucose levels, take medical measures, record activity, and record carbohydrate intake.

16. The method of claim 10, wherein the prompting step of prompting the user to take an action via the user interface comprises the steps of: generating and presenting at least one of a recommendation, a reminder, and an alert to the user on a display of the portable wireless device.

17. The method of claim 16, further comprising the steps of: limiting the frequency at which the reminder is presented.

18. The method of claim 16, further comprising the steps of: prioritizing the presenting step of presenting the at least one of the recommendation, the reminder, and the alert on the display based on a predetermined priority stored in the data storage.

19. The method of claim 10, wherein the prompting step of prompting the user to take an action via the user interface comprises the steps of: presenting at least one of a recommendation, a reminder, and an alert on a display of the portable wireless device by a higher intensity or more frequently than others of the recommendation, the reminder, and the alert.

20. The method of claim 19, wherein the higher intensity comprises one of: larger text, brighter highlighted prompts, different colors and sounds.

Technical Field

Cross reference to related applications: this application claims priority to U.S. provisional application No. 62/478,023, filed on 28/3/2017, the contents of which are hereby relied upon and incorporated by reference.

The invention relates to diabetes management systems, methods and apparatus for user reminders, pattern recognition and interfaces.

Background

Diabetes is a serious life-long disease that is still incurable to date. In the united states alone, about 200 million people are diagnosed with diabetes annually, which is the seventh leading cause of death in the united states. In 2012, 8600 thousands of americans over the age of 20 had pre-diabetes; this is more than 7900 million people in 2010. In 1993, there were about eight million diagnosed cases of diabetes in the united states, the number of which has currently increased to about 2100 ten thousand diagnosed cases. In addition, there are at least 8 million undiagnosed cases.

The impact of diabetes on the healthcare system is surprising. In the united states, the costs of hospitalization, supply, unemployment, disability payment, and premature death due to diabetes have exceeded $ 2450 billion in a year 2012 alone. In addition, long-term complications associated with diabetes (particularly when not properly managed) can lead to serious financial and human-related consequences. It is estimated that serious complications associated with diabetes, including cardiovascular disease, kidney disease, nerve damage, blindness, circulatory problems (which can lead to amputation), stroke, heart disease, and pregnancy complications cost more than 1760 billion dollars per year. Some health maintenance organizations estimate that although only 3.1% of coverage patients have diabetes, diabetics account for more than 15% of their total medical costs.

Studies conducted by the national institutes of health have shown that people with diabetes enjoy significant health benefits if they closely monitor and control their Blood Glucose (BG) levels. Continuous management of diabetes, including diet, exercise, and active monitoring and control of blood glucose levels, can reduce the risk of serious complications, and possibly reduce some diabetes-related conditions by more than half.

This study further shows that active treatment of diabetes can reduce ocular disease by up to 76%, renal disease by up to 50%, and neurological disease by up to 60%. Furthermore, treatment regimens require tight control of blood glucose levels, which essentially results in an increased risk of more frequent hypoglycemic episodes. A very real problem facing many diabetics is the fear that they may be unable to get help externally in the event of a hypoglycemic coma or other diabetic emergency. Similarly, many parents and guardians of diabetic patients are also confronted with fear of developing diabetic emergencies in children or other family members. Because of the potential for diabetic emergencies, diabetics and guardians are hampered from living in an actively independent manner. Accordingly, there is a need for improved diabetes management systems and methods.

Disclosure of Invention

In a first aspect, an apparatus for managing diabetes is provided. The apparatus includes a portable Diabetes Management System (DMS) device. The DMS device includes a processor, a data storage device, a touch screen display, a wireless communication facility, a pattern-recognition engine stored in the data storage device and executable in the processor, and a user interface structure stored in the data storage device and executable in the processor. The user interface structure includes a plurality of user interface displays configured to be displayed on the touch screen display, one of the plurality of user interface displays including a list of selectable subsets of a plurality of different patterns based on blood glucose measurement data received by the DMS device, the selectable subsets of patterns based on a frequency with which the different patterns were detected by the pattern-recognition engine.

In a second aspect, a method for managing diabetes is provided. The method comprises the following steps: receiving, at the portable wireless device, a blood glucose measurement from a blood glucose meter; storing the blood glucose measurement in a data storage device of the portable wireless device; identifying, by a processor of the portable wireless device, one or more patterns based on the blood glucose measurements, wherein the processor executes a pattern recognition engine stored in a data storage device; and in response to recognizing the one or more patterns, prompting the user to take action via a user interface of the portable wireless device.

According to these and other aspects of the invention, several other aspects are provided. Other features and aspects of the present invention will become more fully apparent from the following description, the appended claims and the accompanying drawings.

Drawings

FIG. 1 is a schematic block diagram depicting an example system in accordance with an embodiment of the present invention.

FIG. 2 is a schematic block diagram depicting an example apparatus in accordance with a specific embodiment of the present invention.

FIG. 3 is a schematic diagram depicting an example Diabetes Management System (DMS) database in accordance with an embodiment of the present invention.

FIG. 4 is a screen shot of an exemplary interface for selecting a mode type in accordance with a specific embodiment of the present invention.

FIG. 5A is a screen shot of an exemplary interface for selecting a test frequency target in accordance with an embodiment of the present invention.

FIG. 5B is a screenshot of an exemplary interface for presenting and managing detected patterns, according to a specific embodiment of the present invention.

FIG. 6A is a screenshot of an example interface for presenting details of a detected "improve" mode, according to a specific embodiment of the present invention.

FIG. 6B is a screenshot of an example interface for presenting details of a detected "effort" mode, according to a specific embodiment of the present invention.

FIG. 7 is a block diagram illustrating an example architecture of a system software architecture according to an embodiment of the present invention.

FIG. 8 is a flow diagram depicting an example method for an Information and Motivational Behavior (IMB) module, according to an embodiment of the invention.

FIG. 9 is a block diagram depicting an example workflow in accordance with a specific embodiment of the present invention.

FIG. 10 is a block diagram illustrating details of an exemplary Information and Motivational Behavior (IMB) module portion of a system software architecture according to an embodiment of the present invention.

Fig. 11-31 are flowcharts depicting various example methods for detecting patterns in accordance with embodiments of the present invention.

Fig. 32-35 are flowcharts depicting various example methods of transitioning in a schema map flow in accordance with a specific embodiment of the present invention.

Detailed Description

For the purposes of promoting an understanding of the principles of embodiments of the invention, reference will now be made to the examples illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended, and any alterations and further modifications in the illustrated embodiments, and any further applications of the principles of the invention as illustrated therein as would normally occur to one skilled in the art to which the invention relates are contemplated herein.

Embodiments of the present invention provide systems, devices and methods for improving a Diabetes Management System (DMS). In order to control their disease, diabetic patients (each referred to as "PWD") typically test their blood glucose levels multiple times a day and track their carbohydrate intake, exercise, and insulin dosage. To record these pointers and ensure that they remain in the test scenario, the PWD may manually track the messages by a paper pen, by a computer, or on a smart device. However, identifying multiple patterns on blood glucose readings over time is useful for PWDs to better manage their health. Examples of such patterns include critical low meter reading, critical high meter reading, low frequency of testing, medium frequency of testing, good frequency of testing, mostly simultaneous testing, high time of day, low time of day, best time of day, high fasting, low fasting, high before lunch, low before lunch, high before breakfast, low before dinner, high after dinner, low after dinner, high gradually, low on monday, high on monday, and the like. The number of useful patterns and data involved in identifying these patterns is enormous, and it is impractical for a user to manually track all of the information required to identify the occurrence of a pattern, let alone detect the occurrence of an event in real time. Thus, embodiments of the present invention automate data collection and storage, as well as pattern recognition. Moreover, many patterns may occur and be detected in a relatively short length of time, which may present an excessive amount of notifications and reminders to the user. Embodiments of the present invention provide interface facilities and features to assist users in managing, filtering, and prioritizing notifications and reminders.

Embodiments of the present invention include software applications and systems adapted to provide an enhanced system for managing diabetes. Using a portable wireless device, such as, for example, a smartphone, to communicate with a blood glucose meter (BG meter, or BGM), embodiments of the invention include a software application, such as a DMS app, operable to receive blood glucose measurements and store the measurements in a DMS database to associate the measurements with user activities and patterns. Some embodiments of the present invention make the PWD more proactive in managing diabetes by allowing for the reception of reminders from the DMS App. Some PWDs may be less active in the management process because they are easily forgotten or not reminded. Providing a facility to receive reminders to test blood glucose, take medical measures, or perform other work related to diabetes management may help PWDs to participate more actively in their health management.

According to embodiments of the present invention, the user may set reminders within the DMS App that, when triggered, will instruct the user to test blood glucose levels, take medical measures, record activities, record carbohydrate intake, and/or any other diabetes related work. Alerts may be automatically triggered based on patterns identified by the DMS application in response to BGM data received by the DMS device of the user. In other words, in response to the DMS application identifying one or more patterns in the BGM data (e.g., group patterns that cooperatively indicate a particular condition state), the DMS application may generate and present suggestions, reminders, and/or alerts to the user. In some implementations, the presented reminders can be prioritized based on a user-defined priority and/or medical priority. Higher priority reminders may be presented before lower priority reminders, or higher priority reminders may be presented more strongly (e.g., in larger text, brighter highlighted prompts, different colors, sounds, etc.) and/or presented more frequently. In some embodiments, the frequency with which particular reminders are presented to a user may be constrained or limited. For example, if a user who has not recorded any motion for three days is presented with a reminder to record motion, then subsequent reminders triggered after three days for the same reason may be suppressed. In this way, redundant alerts are avoided from being applied to the user.

Turning now to fig. 1, an example of a DMS 100 is depicted. The DMS 100 includes a BGM102, the BGM102 adapted to be coupled to a DMS device 104 (e.g., a smartphone, tablet, smartwatch, etc. operable to execute a DMS App 110) and/or a computer 106 operable to execute a DMS program 112. The BGM102 and DMS device 104 are operated by a user (e.g., PWD) using the DMS 100 to help them improve management of diabetes. The DMS device 104 and computer 106 may be coupled to the BGM102 wirelessly (e.g., via a wireless signal protocol 108, such as bluetooth) or via a wired connection (e.g., via a Universal Serial Bus (USB) link).

In some embodiments, a Health Care Provider (HCP) or user may operate the computer 106 to receive BG reading data from the BGM102 or other data from the DMS device 104 via a network 114 (e.g., the internet). In some embodiments, the computer 106 may receive BG reading data directly from the BGM102 via wire, wirelessly, or with any other practicable means (e.g., exchanging memory cards). The computer 106 may be coupled to the network 114 via a wired link (e.g., via an ethernet network 116) or via any other practicable means. Similarly, the DMS device 104 may be coupled to the network 114 via a wireless signal protocol 108 (e.g., Wi-Fi) or via any other practicable means.

Turning now to fig. 2, details of the example DMS device 104 are depicted. It is noted that in some implementations, the DMS device 104 may be implemented on a computer 106, and the computer 106 may be a portable wireless device (e.g., a laptop computer, a tablet personal computer, etc.). The DMS device 104 may include a processor 202, the processor 202 coupled to a memory 204, the memory 204 for storing instructions executable on the processor 202. Memory 204 may also be used to cache data retrieved from data storage 214 or to cache data to be stored in data storage 214. The processor 202 may be coupled to a frequency 206 (e.g., a frequency generator module, an oscillator, etc.), the frequency 206 being used to generate date and time stamp data to be associated with the BGM and/or other data.

The processor 202 may be coupled to a display 208, and the display 208 may include any number of output devices (e.g., such as such displays, audio speakers, haptic devices, vibrators, Light Emitting Diodes (LEDs), printers, audio outputs, USB and LAN ports, etc.). The display 208 may be used to communicate with the user to present reminders as well-known output functions.

The processor 202 may be coupled to a wireless transceiver 210, and the wireless transceiver 210 may include cellular communication facilities and two-way radio signal communication facilities, such as Wi-Fi, bluetooth, and other communication modules. In other words, the wireless transceiver 210 may include any type of device and/or software capable of communicating over the network 114. For example, the wireless transceiver 210 may include a cellular communication type device, a Wi-Fi type device, and/or an infrared port, among others.

The processor 202 may be coupled to an input device 212, the input device 212 may include any number of input devices (e.g., such as a touch screen, soft "programmable buttons/keys, hardware buttons and switches, a keyboard, optical and magnetic readers/scanners, cameras, sensors, transducers, accelerometers, microphones, audio inputs, USB and LAN ports, etc.), for example. The input device 212 may be used to communicate with the user to set reminders or other parameters, as well as input functions as is well known.

The processor 202 may be coupled to a data storage device 214, such as a non-volatile memory, to allow persistent storage of data structures, data, and instructions that may be loaded into the memory 204 for use/execution by the processor 202. The data storage 214 may be implemented using one or more solid state drives, hard drives, memory cards, and the like. The data storage 214 includes data structures that may include a DMS App 216 (including an integrated pattern recognition engine 218 in some embodiments), a DMS database 220, and a DMS interface data structure 222.

The DMS App 216 implements the methods and procedures described herein. The DMS App 216 uses a pattern recognition engine 218 to implement actions (e.g., via recognizing patterns in the acquired BGM, via user input, and other data) that detect events that result in assistance or adverse events (e.g., good or bad glycemic control). An example of a pattern recognition system is disclosed in U.S. patent No. 8,758,245 issued to Ray et al, which is hereby incorporated for all purposes. An example of the DMS database 220 is described below with reference to fig. 3. The DMS interface data structure 222 may include a plurality of user interface displays that are related by a usage flow between the displays. In other words, each user interface display links to at least one other user interface display and/or may arrive via at least one other user interface display or be presented as a result of a pattern being detected (or some other related triggering event). Examples of user interface displays are depicted in fig. 4-6B and described below.

Turning now to FIG. 3, an example of a DMS database 220 is depicted in tabular form. Note that the particular example format depicted is merely illustrative of one possibility. Many alternative data sets and database types may be used. Any format or database type that may be practiced to implement the depicted data structures and relationships may be used. It is also noted that only a limited number of items are illustrated in the example, and that in an actual implementation, many more items (e.g., thousands of columns) may be present.

Each entry in the illustrated DMS database 220 may include a time field 302, a date field 304, a blood glucose level field 306, and a comment field 308. The time field 302 is adapted to store data representing a timestamp, which indicates the time at which the BG reading associated with the item occurred. The date field 304 is adapted to store data representing a date stamp indicating the date on which the BG reading associated with the item occurred.

The blood glucose level field 306 is adapted to store data representing the blood glucose level of the BG reading associated with the item. The comment field 308 is adapted to store data representing information provided by a user and associated with an item.

In some embodiments, the DMS database 220 may include a number of additional fields. For example, a medication dose field, a food intake field, a food carbohydrate field, a sports execution field, and the like may be included.

FIG. 4 is a screenshot of an example interface display 400 for selecting a mode type. The user is presented with a list of mode types that can be selected by pressing the indicated area on the interface display 400. Information is stored and the selected pattern type is used to determine which patterns to present to the user when detected by the DMS App later.

Fig. 5A is a screenshot of an example display interface 500A for selecting a test frequency target. The scrollable window 502 allows the user to pick the number of tests that the weekly DMS App will encourage the user to perform. For example, if it is detected that the frequency indicating the user tests is less than the selected test frequency, the user will be reminded to test more frequently.

FIG. 5B is a screenshot of an example schema manager display interface 500B for presenting and managing detected schemas according to an embodiment of the present invention. The mode manager display interface 500B includes areas for an interactive list, including detected modes of Active 504, appended 506 and sequestered 508. The classification of these detected patterns is discussed in more detail below.

Fig. 6A is a screenshot of an example display interface 600A for presenting details of a detected "improved" mode, and fig. 6B is a screenshot of an example display interface 600B for presenting details of a detected "work on" mode. These display interfaces 600A, 600B are examples of details that are presented when a user selects a selected mode from the mode manager display interface 500B of FIG. 5B. The display interfaces 600A, 600B include a summary area 602, a chart area 604, a status area 606, an explanation area 608, and a "future links" area 610.

In an alternative embodiment, the DMS application may be implemented as part of an integrated system architecture 700 as illustrated in FIG. 7. An Information and Motivational Behavior (IMB) manager 704, located within the middleware application programming interface 702, may implement the functionality described above. As illustrated by the flow diagram 800 of fig. 8, the IMB manager 704 may receive BG information manually through the user interface manager 802, or via the BGM communication manager 804 (e.g., wirelessly). IMB execution occurs with the generation of an IMB (e.g., reminder) message 806 and updates the stored IMB pattern 808. Based on the initial setup state (810), the IMB manager waits for setup to complete (812), or communicates an update notification to the IMB user interface display 814(816) of the user interface manager 802.

FIG. 9 is a block diagram depicting an IMB workflow 900. When connected to the BG meter 902, the BG meter 902 may provide BG readings to a communication manager 904 within the application (e.g., via a Bluetooth Low Energy (BLE) protocol). The BG record manager 906 module will identify BLE data (e.g., whether the input data identifies a BG reading, meal flag, or set data), pause and reform the data into a corresponding record (e.g., blood glucose/meal flag record, etc.), and communicate the record to the database manager 908 for storage in the database. The database manager 908 will store the blood glucose/meal flag/device setting data in a database (e.g., SQLite database) and will perform data reading operations based on the database. Once the new BG reading arrives, the IMB manager 704 executes the IMB module and the IMB data will be stored in the database by the IMB schema manager and the IMB notification will be communicated to the IMB user interface 802 for display. The user interface manager 802 is the gateway to the middleware 702, since all user interface jobs (e.g., data reads/writes) to the middleware 702 occur through this module. In some embodiments, IMB notifications can be conveyed by the JSON format through this module to the HTML level. This module takes data from a database, formats the data (e.g., JSON), and communicates the formatted data to a user interface. The manual BG record module 916 may also generate BG data records (e.g., from a blood glucose data storage application) similar to those recorded by a BG meter, but rather than determining BG readings from strip measurements for a BG meter, "generates" data records from an application. In the case of manual items, the manual BG record module 916 interacts directly with the database manager 908 through the user interface manager 802 (e.g., to store the manual items in the database).

FIG. 10 depicts more details of the structure and components of the IMB manager 704. In some embodiments, the IMB manager 704 includes an IMB module 1002 and a schema manager module 1004. The IMB manager 704 also interacts with a reminder trigger module 1006.

The IMB module 1002 includes three sub-modules: an IMB data setting/verification sub-module 1008; an IMB algorithm execution sub-module 1010; and an IMB cache submodule 1012. Once a new BG reading is received, the IMB data setup/validation sub-module 1008 is utilized whether the BG reading is from a BG meter or a manual project. The IMB module 1002 will enter a setup mode, validate the data, and decide whether to execute the IMB algorithm. The setting or verification is done via: first fetch target range values, then reset the IMB cache 1012, check the IMB execution eligibility status based on the current/last execution BG timestamp, and then check and update the mode "timeout" status for the detected IMB mode in the mode manager module 1004. The IMB algorithm execution sub-module 1010 is responsible for executing IMB algorithms; updating the IMB cache for UI notifications 1012; and updates/inserts the newly detected pattern into the pattern manager module 1004. The IMB cache submodule 1012 acts as a local buffer and maintains information about the IMB mode currently being detected. The information may include an IMB ID and whether the mode is a deferred mode.

The schema manager module 1004 includes three sub-modules: an IMB status update submodule 1014; UI update sub-module 1016; and an IMB reminder updates sub-module 1018. The IMB state is an important property of the IMB pattern. The mode manager module 1004 updates the IMB mode state. The IMB status update submodule 1014 may include a number of status information. For example, the information may include detected New mode information, mode classification updates (e.g., active/sealed), mode status updates (e.g., read/unread), and mode status updates (e.g., New/Started/Hold Int/work/Hold/cat/call/alert/time/done/set/cancel/modified/Invalid/attention/needed/Improvement/timeout (d-Out)). In some embodiments, a New (New) state may be assigned to the newly detected Pattern, prior to presenting the Pattern Interface (Pattern Interface) screen to the user; the Started state may be assigned to a mode if the user selects to proceed from the IMB process on the mode Detection (Pattern Detection) screen; keep Int (On-Hold Int) state can be assigned to a mode if the user turns off the mode interface screen; the in-work (Working) state may be assigned to a mode if the user chooses to proceed from the IMB flow on the Possible reasons (Possible Cable) screen; keep the Cau (On-Hold Cau) state may be assigned to a mode if the user turns off the possible cause screen; the Reminder set (Rem-Setup) state may be assigned to a mode if the user chooses to proceed from the IMB process on the Reminder required (Need Reminder) screen; the Dismissed _ Rem state may be assigned to mode if the user chooses not to start with an IMB flow on the reminder required screen; the completed (Finished) state may be assigned to a mode if the user completes and confirms setting reminders during the IMB flow for all other modes; a unset _ Setup state may be assigned to the mode if the user does not confirm the Reminder Setup (i.e., turns off the Reminder Setup screen); improved (Improved) state may be assigned to a pattern in the following two cases: (1) after positive feedback is obtained after follow-up; and (2) resolving the schema if the new or changed recording contribution; after obtaining negative feedback after follow-up, a tracking (Followed) state may be assigned to the mode; the need to improve (records Improvement) state may be assigned to Critical (Critical) mode if before mode Improvement or before mode timeout; an Overcorrected (Overcorrected) state may be assigned to a Critical High (Critical High) or Critical Low (Critical Low) mode if found after retesting BG records; and a timeout (Timed-Out) state may represent each mode having a predetermined time period, wherein the timeout state will be specified. Once the mode times out, the mode moves to the sequestration zone (see description below). The active mode may time out if not improved in the exclusive period of the mode.

The UI update sub-module 1016 is responsible for presenting IMB patterns detected in the UI. If an alert has been generated during the IMB mode flow, the IMB alert update sub-module 1018 performs an update to the alert ID for the corresponding IMB mode and an update to the IMB alert trigger state. The reminder trigger module 1006 represents a UI 1020 or native 1022 (e.g., Android or IOS) notification center that initiates generation of a reminder, triggers the reminder, and updates the status of the reminder.

The IMB module 1002 may be configured to recognize and manage any number of patterns. The following twenty-one modes are described in detail below: critical high meter reading, critical low meter reading, low test frequency, medium test frequency, good test frequency, mostly simultaneous testing, high time of day, low time of day, best time of day, high fasting, low fasting, high before lunch, low before lunch, high before dinner, low after dinner, gradually high, gradually low, low on monday, and high on monday.

The IMB module 1002 informs the user of detected patterns from the user's history of BGM data (e.g., records from the DMS database 220) and provides a mechanism for better management of diabetes. In some embodiments, the IMB mode detection will generally look at a BGM data history for 14 days. Note, however, that some modes consider a history of up to 21 days, while some modes use only a single BG reading. If the user enters an annotation on any applicable IMB interface screen, this annotation will be stored in the DMS database and the associated BG readings can be viewed in an Edit View/Notes (Edit View/Notes) tab.

DMS App 216 initiates execution of the IMB algorithm (e.g., triggering an IMB mode) via IMB algorithm execution sub-module 1010, either when DMS App 216 acquires one or more new BG records, or when an existing (e.g., previously acquired) BG record is modified. Each IMB algorithm accepts similar inputs including a group BG record, each input having a BG read value (referred to herein as BGRecordValue) and a BG read timestamp (referred to herein as BGRecordTimeStamp). Further, each of the IMB algorithms accepts additional inputs, such as, for example, a threshold value and/or a target value. Each of the example IMB algorithms described herein is used to trigger a corresponding pattern based on BG readings and time.

Each algorithm has the same output type: a BOOLEAN (BOOLEAN) value of "0" if no associated pattern is detected and "1" if an associated pattern is detected. As previously described, the output of the IMB algorithm is one of the inputs to the schema manager module 1004. If a particular mode is detected, the mode manager module 1004 triggers notification of the new mode. Upon recognition of this notification, a series of UI messages (e.g., screen displays), called IMB Pattern Maps (IMB Pattern Maps), will be presented to the user in sequence according to the selection hierarchy made by the user on each screen. The IMB modes can be classified into critical IMB modes and non-critical IMB modes.

An example of an algorithm or method 1100 for recognizing a critical low pattern is illustrated as a flow chart in fig. 11. When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if the BG record value is below a value specified as CriticalLowThreshold. The method 1100 begins when a new BG record is acquired (or when a previously acquired record is modified) (1102). A most recent BG record is taken (1104), and it is determined whether the blood glucose value is less than the stored parameter CriticalLowThreshold (1106). If so, a critically low mode is triggered (i.e., detected) and the mode manager module 1004 is notified (1108) by the IMB algorithm execution sub-module 1010 and the method 1100 is complete (1110). If not, the method 1100 is directly complete (1110).

An example of an algorithm or method 1200 for recognizing a critical high pattern is illustrated as a flow chart in FIG. 12. When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if the BG record value is higher than the value specified as criticai highthreshold. The method 1200 begins (1202) when a new BG record is acquired (or when a previously acquired record is modified). A most recent BG record is taken (1204) and it is determined whether the blood glucose value is greater than the stored parameter CriticalHighThreshold (1206). If so, then the critically high mode is triggered (i.e., detected) and the mode manager module 1004 is notified (1208), and the method 1200 completes (1210). If not, then the method 1200 is directly complete (1210).

An example of an algorithm or method 1300 for identifying low frequency test patterns is illustrated as the flow chart in FIG. 13. The method 1300 begins when a new BG record is acquired (or when a previously acquired record is modified) (1302). When a new BG record is acquired (or a previously acquired record is modified), the DMS App will trigger this mode if it is detected that the user's test frequency is below a threshold value designated as TestFreqLow3DayThreshold (or TestFreqLow7DayThreshold if the user has set a test frequency target) based on the following algorithm. It is first determined whether the user has set a test frequency target 1304. If TestFreqGoalSet is 0, then a BG record history is taken for 3 days (e.g., 72 hours back from the current time) (1306), and a BG record history is taken for 7 days (e.g., 168 hours back from the current time) (1308). Next, the number of BG readings per Day (Count3Day) in the 3-Day history is calculated (1310), and the number of BG readings per Day (Count7Day) in the 7-Day history is calculated (1312). Next, it is determined whether Count3Day < ═ TestFreq3Day lowthreshold, or Count7Day < ═ TestFreq7Day lowthreshold (1314). If so, then mode is triggered 1316. If not, then the method 1300 completes directly without triggering 1324 the mode. If TestFreqGoalSet is 1, then a 7-day BG record history is taken (e.g., 168 hours back from the current time) (1318). The number of BG readings per Day (Count7Day) in the 7-Day history is calculated (1320). It is determined whether Count7Day < 50% of TestFreqGoal (1322). If so, then mode is triggered 1316 and method 1300 ends 1324. If not, then the method 1300 completes directly without triggering 1324 the mode.

An example of an algorithm or method 1400 for identifying patterns in a test frequency is illustrated as a flow chart in FIG. 14. The method 1400 begins 1402 when a new BG record is acquired (or when a previously acquired record is modified). When a new BG record is acquired (or a previously acquired record is modified), the DMS App will trigger this mode if the user's test frequency is detected to be within a target value range, based on the following algorithm, which is specified to be greater than TestFreqFair3DayMinThreshold (e.g., 6) and less than TestFreqFair3DayMaxThreshold (e.g., 12) (or greater than TestFreqFair7DayMinThreshold (e.g., 14) and less than TestFreqFair7DayMaxThreshold (e.g., 28), if the user has set a test frequency target). It is first determined if the user has set a test frequency target (1404). If TestFreqGoalSet is 0, then a BG record history is taken for 3 days (e.g., 72 hours back from the current time) (1406), and a BG record history is taken for 7 days (e.g., 168 hours back from the current time) (1408). Next, the number of BG readings per Day (Count3Day) in the 3-Day history is calculated 1410, and the number of BG readings per Day (Count7Day) in the 7-Day history is calculated 1412. Then it is determined whether (Count3Day > -TestFreqFair 3DayMinThreshold and Count3Day < TestFreqFair3DayMaxThreshold) or (Count7Day > -TestFreqFair 7 daymnthreshold and Count7Day < TestFreqFair7DayMaxThreshold) (1414). If so, then the mode is triggered 1416. If not, then the method 1400 completes directly without triggering a mode (1424). If TestFreqGoalSet is 1, then a 7-day BG record history is taken (e.g., 168 hours back from the current time) (1418). The number of BG readings per Day (Count7Day) in the 7Day history is calculated (1420). It is determined whether Count7Day < 50% of TestFreqGoal (1422). If so, then the mode is triggered 1416 and the method 1400 ends 1424. If not, then the method 1400 completes directly without triggering a mode (1424).

An example of an algorithm or method 1500 for identifying good patterns of test frequencies is illustrated as a flow chart in FIG. 15. The method 1500 begins (1502) when a new BG record is acquired (or when a previously acquired record is modified). When a new BG record is acquired (or a previously acquired record is modified), the DMS App will trigger this mode if it is detected that the user's test frequency is above a threshold value designated as TestFreqGood3DayThreshold (e.g., 12) (or TestFreqGood7DayThreshold (e.g., 28) if the user has set a test frequency target) based on the following algorithm. It is first determined whether a user has set a test frequency target (1504). If TestFreqGoalSet is 0, then a BG record history is taken for 3 days (e.g., 72 hours back from the current time) (1506), and a BG record history is taken for 7 days (e.g., 168 hours back from the current time) (1508). Next, the number of BG readings per Day (Count3Day) in the 3-Day history is calculated 1510, and the number of BG readings per Day (Count7Day) in the 7-Day history is calculated 1512. Next, it is determined whether Count3Day > -TestFreq 3DayGoodThreshold or Count7Day > -TestFreq 7DayGoodThreshold (1514). If so, then mode is triggered 1516. If not, the method 1500 completes directly without triggering the mode (1524). If TestFreqGoalSet is 1, then a 7-day BG record history (e.g., 168 hours back from the current time) is taken (1518). The number of BG readings per Day (Count7Day) in the 7Day history is calculated 1520. It is determined whether Count7Day > -TestFreqGoal (1522). If so, then mode is triggered 1516 and method 1500 ends 1524. If not, the method 1500 completes directly without triggering the mode (1524).

An example of an algorithm or method 1600 for identifying a most simultaneous test mode is illustrated as a flow chart in FIG. 16. The method 1600 begins (1602) when a new BG record is acquired (or when a previously acquired record is modified). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if it is detected that the timestamp of more than 50% of the readings (two weeks of data pushed back from the timestamp of the latest BG reading) is within a predetermined "divided-day" time block. BG readings were taken for the last two weeks (1604). The total number of readings (totalnumberbgreading) 14 days back from the timestamp of the latest BG reading is calculated 1606. Next, from the entire set of readings collected over the last 14 days, the number of readings per time block of the day (numberbgreadingsperdaydivider (i), i ═ 1,2,. 4) is calculated (1608). Then determining whether any of the following ratios is greater than or equal to 50%: (numberbgreadsperdaydevider (i), i ═ 1,2, 4)/totalnumberbgreads (1610). If so, then the mode is triggered 1612, the mode manager module 1004 is notified of the time of day block in which the mode was detected and the method 1600 is completed 1614. If not, then method 1600 completes directly without triggering mode (1614).

An example of an algorithm or method 1700 for recognizing a time of day high pattern is illustrated as a flow chart in FIG. 17. Method 1700 begins when a new BG record is acquired (or when a previously acquired record is modified) (1702). When a new BG record is acquired (or a previously acquired record is modified), the DMS App will trigger this mode if it is detected that there are more than 50% of the readings (data pushed back a week from the timestamp of the latest BG reading) within a "day-by" time block of a predetermined parameter called HighTimeTarget. BG readings were taken for the last week (1704). The total number of readings per day for 7 days back from the timestamp of the latest BG reading is calculated (numberbgreadingsperdaydivider (i), i ═ 1,2,. 4) (1706). Next, the number of readings per time block of days above HighTimeTarget (numberbgreadingsperdaydividehigh (i), i ═ 1,2,. 4) (1708). Then determining whether any of the following ratios is greater than or equal to 50%: numberbgreaddingjerdavidehigh (i)/(numberbgreaddingjerdavider (i), i ═ 1, 2., 4) (1710). If so, then the mode is triggered (1712), the mode manager module 1004 is notified of the time of day block in which the mode was detected, and the method 1700 is completed (1714). If not, method 1700 completes directly without triggering a mode (1714).

An example of an algorithm or method 1800 for recognizing a time of day low pattern is illustrated as a flow chart in FIG. 18. The method 1800 begins when a new BG record is acquired (or when a previously acquired record is modified) (1802). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if it is detected that there are more than 50% of the readings (data pushed back a week from the timestamp of the latest BG reading) within a "divided-day" time block of a predetermined parameter called LowTimeTarget. BG readings were taken for the last week (1804). The total number of readings per day for 7 days back from the timestamp of the latest BG reading is calculated (numberbgreadingsperdaydivider (i), i ═ 1,2,. 4) (1806). Next, the number of readings per time-of-day block (numberbgreadingsperdaydividerlow (i), i ═ 1,2,. 4) below LowTimeTarget (1808). Then determining whether any of the following ratios is greater than or equal to 50%: number bgreadingsperdaydividerlow (i)/(number bgreadingsperdaydivider (i), i ═ 1,2,., 4) (1810). If so, then the mode is triggered (1812), the mode manager module 1004 is notified of the time of day block in which the mode was detected, and the method 1800 is completed (1814). If not, the method 1800 completes directly without triggering a mode (1814).

An example of an algorithm or method 1900 for identifying the best mode at the time of day is illustrated as a flow chart in FIG. 19. The method 1900 begins when a new BG record is acquired (or when a previously acquired record is modified) (1902). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if it finds the block of days time (data within one week from the timestamp of the latest BG reading) with the highest number of in-range readings (e.g., the value between the predetermined parameters InRangeLowTarget and InRangeHighTarget). BG readings were taken for the last week (1904). From the entire set of readings collected over 7 days back from the most recent BG reading, the number of readings per minute day was calculated (numberbgreadingsperdaydrevider (i), i ═ 1,2,. 4) (1906). Next, for each minute, the number of readings (numberbgreadingsperdaydivderinrange (i) ═ 1,2,. 4) below or equal to the InRangeHighTarget value, but above or equal to the InRangeLowTarget value, is calculated (1908). The following ratios were then calculated: inrangepercent (i) ═ numberbgreadingsperdaydivderinrange (i)/numberbgreadingsperdaydivder (i) ═ 1, 2. The mode manager module 1004 is then notified 1912 of the highest proportion (inrangepercent agenmax) calculated above, the mode is triggered 1914, and the method 1900 completes 1916.

An example of an algorithm or method 2000 for recognizing a fast high mode is illustrated as a flow chart in fig. 20. The method 2000 begins when a new BG record is acquired (or when a previously acquired record is modified) (2002). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App (data within two weeks from the timestamp of the latest BG reading) will trigger this mode if it detects numcondthreshold or more consecutive BG readings with meal designation "fasting" that are above the predetermined parameter fastgtargethgh. BG readings were taken for the last two weeks (2004). The BG record index "Current" is initialized to zero (2006) and the count "NumCons" is initialized to zero (2008). A check is made to determine if the index has reached the latest BG record (2010). If so, then method 2000 completes directly without triggering mode (2024). If not, then the value of the current BG record is compared to FastingTargethigh (2012). If the value of the current BG record is less than FastingTargethigh, then the index is incremented 2014 and flow returns to reset the count "NumCons" to zero 2008. Otherwise, numcos is incremented (2016) and it is checked whether numcos is greater than or equal to numcondthreshold (2018). If not, the index is incremented (2020) and flow returns to check to determine if the index has reached the latest BG record (2010). Otherwise, a fasting high IMB mode is triggered (2022), and the method 2000 completes (2024). In other words, the first (most recent) BG reading with a value higher than fastngtargethigh is found from the 14-day history. The count counting the number of consecutive fasting high readings is incremented by 1. Check the previous BG reading. If the previous BG reading is below FastingTargethigh, then the count is reset (NumCons 0), the first next reading above FastingTargethigh is found (looking back), and the method 2000 begins at the beginning. If the previous BG reading is higher than FastngTargethigh, then the count is increased by 1(NumCons ═ NumCons +1) and the method 2000 proceeds in the same manner until the first reading below FastingHighTarget is found. Once found, the count value is checked. If NumCons > -NumConsThreshold, then the mode is triggered and the mode manager module 1004 is informed of the Time Range (Time Range) in which this mode was triggered. The method 2000 starts from the beginning until the latest BG record is reached.

An example of an algorithm or method 2000 for recognizing a fast high mode is illustrated as a flow chart in fig. 20. The method 2000 begins when a new BG record is acquired (or when a previously acquired record is modified) (2002). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App (data within two weeks from the timestamp of the latest BG reading) will trigger this mode if it detects numcondthreshold or more consecutive BG readings with meal designation "fasting" that are above the predetermined parameter fastgtargethgh. BG readings were taken for the last two weeks (2004). The BG record index "Current" is initialized to zero (2006) and the count "NumCons" is initialized to zero (2008). A check is made to determine if the index has reached the latest BG record (2010). If so, then method 2000 completes directly without triggering mode (2024). If not, then the value of the current BG record is compared to FastingTargethigh (2012). If the value of the current BG record is less than FastingTargethigh, then the index is incremented 2014 and flow returns to reset the count "NumCons" to zero 2008. Otherwise, numcos is incremented (2016) and it is checked whether numcos is greater than or equal to numcondthreshold (2018). If not, the index is incremented (2020) and flow returns to check to determine if the index has reached the latest BG record (2010). Otherwise, a fasting high IMB mode is triggered (2022), and the method 2000 completes (2024). In other words, the first (most recent) BG reading with a value higher than fastngtargethigh is found from the 14-day history. The count counting the number of consecutive fasting high readings is incremented by 1. Check the previous BG reading. If the previous BG reading is below FastingTargethigh, then the count is reset (NumCons 0), the first next reading above FastingTargethigh is found (looking back), and the method 2000 begins at the beginning. If the previous BG reading is higher than FastngTargethigh, then the count is increased by 1(NumCons ═ NumCons +1) and the method 2000 proceeds in the same manner until the first reading below FastingHighTarget is found. Once found, the count value is checked. If NumCons > -NumConsThreshold, then the mode is triggered and the mode manager module 1004 is informed of the Time Range (Time Range) in which this mode was triggered. The method 2000 starts from the beginning until the latest BG record is reached.

An example of an algorithm or method 2100 for recognizing a fasting low mode is illustrated as a flow chart in fig. 21. The method 2100 begins when a new BG record is acquired (or when a previously acquired record is modified) (2102). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App (data within two weeks from the timestamp of the latest BG reading) will trigger this mode if it detects numcondthreshold or more consecutive BG readings with meal designation "fasting" that are below the predetermined parameter fastgtargetlow. BG readings were taken for the last two weeks (2104). The BG record index "Current" is initialized to zero (2106) and the count "numcos" is initialized to zero (2108). A check is made to determine if the index has reached the latest BG record (2110). If so, method 2100 completes directly without triggering mode (2124). If not, then the value of the current BG record is compared to FastingTargetLow (2112). If the value of the current BG record is less than FastingTargetLow, the index is incremented (2114) and flow returns to reset the count "NumCons" to zero (2108). Otherwise, numcos is incremented (2116) and it is checked whether numcos is greater than or equal to numcondthreshold (2118). If not, the index is incremented (2120) and flow returns to check to determine if the index has reached the latest BG record (2110). Otherwise (i.e., numcos is greater than or equal to NumCons threshold), the fasting low-IMB mode is triggered (2122), and method 2100 is complete (2124). In other words, the first (most recent) BG reading with a value below fastngtargetlow is found from the 14-day history. The count counting the number of consecutive fasting low readings is incremented by 1. Check the previous BG reading. If the previous BG reading is above FastingLowTarget, then the count is reset (NumCons is 0), the first next reading below FastingTargetLow is found (look back), and the method 2100 begins at the beginning. If the previous BG reading is higher than FasitingLowTarget, then the count is increased by 1(NumCons ═ NumCons +1) and the method 2100 proceeds in the same manner until the first reading above FasitingLowTarget is found. Once found, the count value is checked. If NumCons > -NumConsThreshold, then the mode is triggered and the mode manager module 1004 is informed of the time range for which this mode is triggered. The method 2100 starts from scratch until the latest BG record is reached.

An example of an algorithm or method 2200 for recognizing a high before lunch pattern is illustrated as the flow chart in FIG. 22. Method 2200 begins when a new BG record is acquired (or when a previously acquired record is modified 2202). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if it detects numcondthreshold (e.g., 3) or more consecutive BG readings that occur within a lunch minute and that the meal is labeled "before meal", which is a data within two weeks from the timestamp of the most recent BG reading, above a predetermined parameter PreMealHighTarget. BG readings were taken for the last two weeks (2204). The BG record index "Current" is initialized to zero (2206) and the count "numcos" is initialized to zero (2208). A check is made to determine if the index reaches the latest BG record (2210). If so, the method 2200 completes directly without triggering a mode (2224). If not, the value of the current BG record is compared to PreMealHighTarget (2212). If the value of the current BG record is less than PreMealHighTarget, the index is incremented 2214 and flow returns to reset the count "NumCons" to zero 2208. Otherwise, numcos is incremented 2216 and it is checked whether numcos is greater than or equal to numcondthreshold 2218. If not, the index is incremented (2220) and flow returns to check to determine if the index has reached the latest BG record (2210). Otherwise (i.e., numcos is greater than or equal to NumCons threshold), a high IMB before lunch mode is triggered 2222 and method 2200 is complete 2224. In other words, the first (most recent) BG reading with a value higher than premeal hightarget is found from the 14-day history. The count counting the number of consecutive high readings before lunch is increased by 1. Check the previous BG reading. If the previous BG reading is below PreMealHighTarget, then the count is reset (NumCons ═ 0), the first next reading above PreMealHighTarget is found (look back), and method 2200 begins at the beginning. If the previous BG reading is above PreMealHighTarget, then the count is increased by 1 (NumCons. NumCons +1) and method 2200 proceeds in the same manner until the first reading below PreMealHighTarget is found. Once found, the count value is checked. If NumCons > -NumConsThreshold, then the mode is triggered and the mode manager module 1004 is informed of the time range for which this mode is triggered. Method 2200 starts at the beginning until the latest BG record is reached.

An example of an algorithm or method 2300 for recognizing a low before lunch pattern is illustrated as a flow chart in fig. 23. The method 2300 begins when a new BG record is acquired (or when a previously acquired record is modified) (2302). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if it detects numcondthreshold (data within two weeks from the timestamp of the latest BG reading) that is below the predetermined parameter premelallowtarget or more consecutive BG readings that occur within a lunch minute and that are marked "before meal" by a meal. BG readings were taken for the last two weeks (2304). The BG record index "Current" is initialized to zero (2306) and the count "NumCons" is initialized to zero (2308). A check is made to determine if the index has reached the latest BG record (2310). If so, method 2300 completes directly without triggering a mode (2324). If not, then the value of the current BG record is compared to PreMealLowTarget (2312). If the value of the current BG record is greater than PreMealLowTarget, the index is incremented (2314) and flow returns to reset the count "NumCons" to zero (2308). Otherwise, numcos is incremented (2316) and it is checked whether numcos is greater than or equal to numcondthreshold (2318). If not, the index is incremented (2320) and flow returns to check to determine if the index has reached the latest BG record (2310). Otherwise (i.e., numcos is greater than or equal to NumCons threshold), a pre-lunch low IMB mode is triggered (2322), and method 2300 is complete (2324). In other words, the first (most recent) BG reading with a value below premelallowtarget is found from the 14-day history. The count counting the number of low readings before consecutive lunch is increased by 1. Check the previous BG reading. If the previous BG reading is higher than PreMealLowTarget, then the count is reset (NumCons ═ 0), the first next reading below PreMealLowTarget is found (look back), and the method 2300 starts over. If the previous BG reading is below PreMealLowTarget, then the count is increased by 1 (NumCons. NumCons +1) and the method 2300 proceeds in the same manner until the first reading above PreMealLowTarget is found. Once found, the count value is checked. If NumCons > -NumConsThreshold, then the mode is triggered and the mode manager module 1004 is informed of the Time Range (Time Range) in which the mode was detected. The method 2300 starts from scratch until the latest BG record is reached.

An example of an algorithm or method 2400 for recognizing a high before dinner mode is illustrated as a flow chart in FIG. 24. Method 2400 begins when a new BG record is acquired (or when a previously acquired record is modified) (2402). DMSApp will trigger this mode if the DMS App (data within two weeks from the timestamp of the most recent BG reading) detects numcondthreshold (e.g., 3) or more consecutive BG readings that occur within a Dinner minute (Dinner Day diveder) and that the meal is marked as "before meal") that is above a predetermined parameter PreMealHighTarget when a new BG record is acquired (or when a previously acquired record is modified). BG readings were taken for the last two weeks (2404). The BG record index "Current" is initialized to zero (2406) and the count "numcos" is initialized to zero (2408). A check is made to determine if the index has reached the latest BG record (2410). If so, method 2400 completes directly without triggering mode (2424). If not, the value of the current BG record is compared to PreMealHighTarget (2412). If the value of the current BG record is less than PreMealHighTarget, the index is incremented (2414) and flow returns to reset the count "NumCons" to zero (2408). Otherwise, numcos is incremented (2416) and it is checked whether numcos is greater than or equal to numcondthreshold (2418). If not, the index is incremented (2420) and flow returns to check to determine if the index has reached the latest BG record (2410). Otherwise (i.e., numcos is greater than or equal to NumCons threshold), a high-before-dinner IMB mode is triggered (2422), and method 2400 is complete (2424). In other words, the first (most recent) BG reading with a value higher than premeal hightarget is found from the 14-day history. The count counting the number of high readings before consecutive dinner is increased by 1. Check the previous BG reading. If the previous BG reading is below PreMealHighTarget, then the count is reset (NumCons ═ 0), the first next reading above PreMealHighTarget is found (look back), and method 2400 begins at the beginning. If the previous BG reading is above PreMealHighTarget, then the count is increased by 1(NumCons ═ NumCons +1) and method 2400 proceeds in the same manner until the first reading below PreMealHighTarget is found. Once found, the count value is checked. If NumCons > -NumConsThreshold, then the mode is triggered and the mode manager module 1004 is notified of the time range in which the mode was detected. Method 2400 starts at the beginning until the latest BG record is reached.

An example of an algorithm or method 2500 for recognizing a low before dinner pattern is illustrated as a flow chart in FIG. 25. The method 2500 begins when a new BG record is acquired (or when a previously acquired record is modified) (2502). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if it detects (data within two weeks from the timestamp of the latest BG reading) a numcondthreshold below a predetermined parameter premealowtarget or more consecutive BG readings that occur within a dinner minute and that the meal is marked as "before meal". BG readings were taken for the last two weeks (2504). The BG record index "Current" is initialized to zero (2506) and the count "numcos" is initialized to zero (2508). A check is made to determine if the index has reached the latest BG record (2510). If so, then method 2500 completes directly without triggering 2524. If not, the value of the current BG record is compared to PreMealLowTarget (2512). If the value of the current BG record is greater than PreMealLowTarget, the index is incremented (2514) and flow returns to reset the count "NumCons" to zero (2508). Otherwise, numcos is incremented (2516) and it is checked whether numcos is greater than or equal to numcos threshold (2518). If not, the index is incremented (2520) and flow returns to check to determine if the index has reached the latest BG record (2510). Otherwise (i.e., numcos is greater than or equal to NumCons threshold), a low-IMB-before-dinner mode is triggered (2522), and the method 2500 is complete (2524). In other words, the first (most recent) BG reading with a value below premelallowtarget is found from the 14-day history. The count counting the number of low readings before consecutive dinner is increased by 1. Check the previous BG reading. If the previous BG reading is above PreMealLowTarget, then the count is reset (NumCons ═ 0), the first next reading below PreMealLowTarget is found (look back), and method 2500 starts at the beginning. If the previous BG reading is below PreMealLowTarget, then the count is increased by 1 (NumCons. NumCons +1) and method 2500 proceeds in the same manner until the first reading above PreMealLowTarget is found. Once found, the count value is checked. If numcos > -NumCons threshold, then the mode is triggered, informing the mode manager module 1004 of the time range in which the mode was detected. The method 2500 starts from scratch until the latest BG record is reached.

An example of an algorithm or method 2600 for recognizing a high after night meal pattern is illustrated as a flow chart in FIG. 26. Method 2600 begins when a new BG record is acquired (or when a previously acquired record is modified) (2602). DMSApp will trigger this mode if the DMS App (data within two weeks from the timestamp of the most recent BG reading) detects numcondthresholds (e.g., 3) above a predetermined parameter postmealhigtarget or more consecutive BG readings that occur within a Dinner minute (Dinner Day Divider) and that are marked as "before meal" when a new BG record is acquired (or when a previously acquired record is modified). BG readings were taken for the last two weeks (2604). The BG record index "Current" is initialized to zero (2606) and the count "numcos" is initialized to zero (2608). A check is made to determine if the index has reached the latest BG record (2610). If so, the method 2600 completes directly without triggering mode (2624). If not, the value of the current BG record is compared to PostMeal HighTarget (2612). If the value of the current BG record is less than PostMealHighTarget, the index is incremented (2614) and flow returns to reset the count "NumCons" to zero (2608). Otherwise, numcos is incremented (2616) and it is checked whether numcos is greater than or equal to numcondthreshold (2618). If not, the index is incremented (2620) and flow returns to check to determine if the index has reached the latest BG record (2610). Otherwise (i.e., numcos greater than or equal to numcondthreshold), a late post-meal high-IMB pattern is triggered (2622) and method 2600 is complete (2624). In other words, the first (most recent) BG reading with a value higher than PostMealHighTarget is found from the 14-day history. Counts counting the number of high readings after consecutive nights were incremented by 1. Check the previous BG reading. If the previous BG reading is below PostMealHighTarget, then the count is reset (NumCons ═ 0), the first next reading above PostMealHighTarget is found (look back), and method 2600 starts from the beginning. If the previous BG reading is above PostMealHighTarget, then the count is increased by 1(NumCons ═ NumCons +1) and method 2600 proceeds in the same manner until the first reading below PostMealHighTarget is found. Once found, the count value is checked. If numcos > -NumCons threshold, then the mode is triggered, informing the mode manager module 1004 of the time range in which the mode was detected. Method 2600 starts from scratch until the latest BG record is reached.

An example of an algorithm or method 2700 for recognizing a low pattern after dinner is illustrated as a flow chart in FIG. 27. Method 2700 begins when a new BG record is acquired (or when a previously acquired record is modified) (2702). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if it detects numcondthreshold (data within two weeks from the timestamp of the latest BG reading) that is below the predetermined parameter PostMealLowTarget or more consecutive BG readings that occur within a dinner minute and that are marked "before dinner" with a meal. BG readings were taken for the last two weeks (2704). The BG record index "Current" is initialized to zero (2706) and the count "numcos" is initialized to zero (2708). A check is made to determine if the index reaches the latest BG record (2710). If so, method 2700 completes directly without triggering 2724. If not, then the value of the current BG record is compared to PostMealLowTarget (2712). If the value of the current BG record is greater than PreMealLowTarget, the index is incremented (2714) and flow returns to reset the count "NumCons" to zero (2708). Otherwise, numcos is incremented (2716) and it is checked whether numcos is greater than or equal to numcondthreshold (2718). If not, the index is incremented (2720) and flow returns to check to determine if the index has reached the latest BG record (2710). Otherwise (i.e., numcos is greater than or equal to NumCons threshold), late postprandial low-IMB mode is triggered (2722), and method 2700 is complete (2724). In other words, the first (most recent) BG reading with a value below premelallowtarget is found from the 14-day history. Counts counting the number of low readings after consecutive nights were incremented by 1. Check the previous BG reading. If the previous BG reading is above PostMealLowTarget, then the count is reset (NumCons ═ 0), the first next reading below PostMealLowTarget is found (look back), and the method 2700 starts over. If the previous BG reading is below PreMealLowTarget, then the count is incremented by 1 (NumCons. NumCons +1) and method 2700 proceeds in the same manner until the first reading above PreMealLowTarget is found. Once found, the count value is checked. If numcos > -NumCons threshold, then the mode is triggered, informing the mode manager module 1004 of the time range in which the mode was detected. The method 2700 starts from the beginning until the latest BG record is reached.

An example of an algorithm or method 2800 for recognizing a progressively higher pattern is illustrated as the flow chart in FIG. 28. The method 2800 begins (2802) when a new BG record is acquired (or when a previously acquired record is modified). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if it detects NumConsThreshold (e.g., 3) or more consecutive BG readings that occur spaced apart from each other within MinTimeInterval (e.g., the minimum time interval between two consecutive blood glucose measurements to leave them irrelevant) above a predetermined parameter RunHighTarget, when the DMS App detects data within two weeks from the timestamp of the most recent BG reading. BG readings were taken for the last two weeks (2804). The BG record index "Current" is initialized to zero (2806) and the count "NumCons" is initialized to zero (2808). A check is made to determine if the index reaches the latest BG record (2810). If so, then method 2800 completes directly without triggering mode (2826). If not, then the value of the current BG record is compared to RunHighTarget (2812). If the value of the current BG record is greater than or equal to RunHighTarget, then the (current) increment will be indexed (2814). A check is then made to determine if the current BG record occurred within the MinTimeInterval of the previous BG record (2816). If not, flow returns to check if the index reaches the latest BG record (2810). Otherwise, the count "numcos" is incremented (2818) and flow returns to check if the index reaches the latest BG record (2810). If the current BG record value is less than RunHighTarget, then the index (current) is incremented (2820) and it is checked if NumCons is greater than or equal to NumConsThreshold (2822). If not, flow returns to reset numcos to zero (2808). Otherwise (i.e., numcos is greater than or equal to NumCons threshold), the progressively higher IMB mode is triggered (2824), and method 2800 is complete (2826). In other words, the first (most recent) BG reading with a value higher than RunHighTarget was found from the 14-day history. The count counting the number of consecutive high readings is incremented by 1. Check the previous BG reading. If the previous BG reading is below RunHighTarget, then the count is reset (NumCons ═ 0), the first next reading above RunHighTarget is found (look back), and the method 2800 starts from the beginning. If the previous BG reading is above RunHighTarget, and if the time between the current reading and the previous reading is less than MinTimeInterval, then the method 2800 proceeds in the same manner until the first reading below RunHighTarget is found. Once found, the count value is checked. If NumCons > -NumConsThreshold, then the mode is triggered and the mode manager module 1004 is informed of the time range for which this mode is triggered. Method 2800 starts from the beginning until the latest BG record is reached. If the previous BG reading is above RunHighTarget, and if the time between the current reading and the previous reading is greater than or equal to MinTimeInterval, the count is increased by 1 (numcos +1), and the method 2800 proceeds in the same manner until the first reading below RunHighTarget is found. Once found, the count value is checked. If NumCons > -NumConsThreshold, then the mode is triggered and the mode manager module 1004 is informed of the time range for which this mode is triggered. Method 2800 starts from the beginning until the latest BG record is reached.

An example of an algorithm or method 2900 for recognizing a progressively lower pattern is illustrated as the flow chart in FIG. 29. Method 2900 begins when a new BG record is acquired (or when a previously acquired record is modified) (2902). When a new BG record is acquired (or when a previously acquired record is modified), the DMS App will trigger this mode if it detects numcondtsthreshold (e.g., 3) or more consecutive BG readings that occur spaced apart from each other within MinTimeInterval (e.g., the minimum time interval between two consecutive blood glucose measurements to leave them irrelevant) below a predetermined parameter RunLowTarget, when the DMS App detects data within two weeks from the timestamp of the latest BG reading. BG readings were taken for the last two weeks (2904). The BG record index "Current" is initialized to zero (2906) and the count "numcos" is initialized to zero (2908). A check is made to determine if the index reaches the latest BG record (2910). If so, method 2900 completes directly without triggering mode (2926). If not, then the value of the current BG record is compared to RunLowTarget (2912). If the value of the current BG record is less than or equal to RunLowTarget, then the (current) increment will be indexed (2914). A check is then made to determine if the current BG record occurred within the MinTimeInterval of the previous BG record (2916). If not, flow returns to check if the index reaches the latest BG record (2910). Otherwise, the count "numcos" is incremented (2918) and flow returns to check if the index reaches the latest BG record (2910). If the current BG record value is greater than RunLowTarget, then the index (current) is incremented (2920) and it is checked if NumCons is greater than or equal to NumConsThreshold (2922). If not, flow returns to reset NumCons to zero (2908). Otherwise (i.e., numcos is greater than or equal to NumCons threshold), the progressively lower IMB mode is triggered (2924), and method 2900 is complete (2926). In other words, the first (most recent) BG reading with a value below RunLowTarget is found from the 14-day history. The count counting the number of consecutive low readings is incremented by 1. Check the previous BG reading. If the previous BG reading is higher than RunLowTarget, then the count is reset (NumCons ═ 0), the first next reading above RunLowTarget is found (looking back), and the method 2900 starts from the beginning. If the previous BG reading is below RunLowTarget, and if the time between the current reading and the previous reading is less than MinTimeInterval, then method 2900 proceeds in the same manner until the first reading above RunLowTarget is found. Once found, the count value is checked. If numcos > -NumCons threshold, then the mode is triggered, informing the mode manager module 1004 of the time range for which this mode is triggered. Method 2900 starts from scratch until the latest BG record is reached. If the previous BG reading is below RunLowTarget and if the time between the current reading and the previous reading is greater than or equal to MinTimeInterval, the count is increased by 1 (numcos +1) and the method 2900 proceeds in the same manner until the first reading above RunLowTarget is found. Once found, the count value is checked. If numcos > -NumCons threshold, then the mode is triggered, informing the mode manager module 1004 of the time range for which this mode is triggered. Method 2900 starts from scratch until the latest BG record is reached.

An example of an algorithm or method 3000 for recognizing a day-of-the-week high pattern is illustrated as a flow chart in fig. 30. Method 3000 begins (3002) when a new BG record is acquired (or when a previously acquired record is modified). When a new BG record is acquired (or a previously acquired record is modified), the DMS App will trigger this mode if it detects (in data extending back three weeks from the timestamp of the latest BG reading) that the average of BG records for numconds threshold for consecutive days of the week is higher than dayofweekhaghtarget (e.g., 110% of postprandial/untagged High). Note that for this mode, BG recorded history data for 15 days (three weeks in duration) to 21 days was used to allow this mode to be triggered. It is further noted that the daily average for each day of the present week, assuming the past 15 days, has been calculated and stored. As the new reading(s) arrive, a new daily mean is calculated (in the case where the new reading is extended over multiple days), or only the last one is updated (in the case where the new reading only affects the last day history), and it is checked whether there are three or more consecutive current-day-of-week average blood glucose values above the day of the day (e.g., "three or more consecutive fridays"). BG readings were taken for the last 15 days to three weeks (3004). The average blood glucose level (AVGday) is calculated 3006 for each current day of the week. The BG record index "Current" is initialized to zero (3008) and the count "NumCons" is initialized to zero (3010). A check is made to determine if the index reaches the latest BG record (3012). If so, then no mode is triggered 3014 and method 3000 ends 3028. If not, the average for the current day of the week is compared to the DayOfWeekHighTarget (3016). If the average for the current day of the week is less than the DayOfWeekHighTarget, then the count "current" is incremented (3018) and flow returns to reset the count "NumCons" to zero (3010). Otherwise, numcos is incremented (3020) and it is checked whether numcos is greater than or equal to numcondthreshold (3022). If not, then "current" is incremented (3024) and flow returns to check to determine if the index has reached the latest BG record (3012). Otherwise (numcos greater than or equal to NumCons threshold), the day-of-week high IMB pattern is triggered 3026 and method 3000 is complete 3028.

An example of an algorithm or method 3100 for recognizing a day-of-the-week low pattern is illustrated as a flow chart in fig. 31. Method 3100 begins when a new BG record is acquired (or when a previously acquired record is modified) (3102). When a new BG record is acquired (or a previously acquired record is modified), the DMS App will trigger this mode if it detects (in data extending back three weeks from the timestamp of the latest BG reading) that the average of BG records for NumConsThreshold consecutive days of the week is below DayOfWeekLowTarget (e.g., 80% of Overall Low Value). Note that for this mode, historical BG log data for 15 days (three weeks in duration) to 21 days was used to let this mode be triggered to notice, assuming that the daily average for the current week day for the past 15 days has been calculated and stored. As new reading(s) arrive, a new daily mean is calculated (in the case where the new reading is extended for multiple days), or only the last one is updated (in the case where the new reading only affects the last day history), and it is checked whether there are three or more consecutive current-day-of-week average blood glucose values below the DayOfWeekLowTarget (e.g., "three or more consecutive weeks"). BG readings were taken from the last 15 days to three weeks (3104). The average blood glucose level (AVGday) is calculated for each current day of the week (3106). The BG record index "Current" is initialized to zero (3108) and the count "NumCons" is initialized to zero (3110). A check is made to determine if the index reaches the latest BG record (3112). If so, then no mode is triggered (3114) and method 3100 ends (3128). If not, the average for the current day of the week is compared to the DayOfWeekLowTarget (3116). If the average value for the current day of the week is less than DayOfWeekLowTarget, then the count "current" is incremented (3118) and flow returns to reset the count "NumCons" to zero (3110). Otherwise, numcos is incremented (3120) and it is checked whether numcos is greater than or equal to numcos threshold (3122). If not, then "current" is incremented (3124) and flow returns to check to determine if the index has reached the latest BG record (3112). Otherwise (numcos greater than or equal to NumCons threshold), the day-of-week low IMB mode is triggered (3126) and method 3100 is complete (3128).

Within the IMB manager 704, a mode manager module 1004 is responsible for calling the aforementioned IMB algorithms (via IMB algorithm execution sub-module 1010), processing detected modes, generating and scheduling notifications for identified modes, scheduling execution of IMB mode maps (e.g., relevant user interface display and interaction menus), allowing the user to set mode targets, initiating and removing constraints and filters for mode notifications (e.g., Band/test frequency target/Quarantine (Band/Testing frequency goal/Quarantine)), continuing the process of managing modes by notification and reminder, providing informational, motivational, and behavioral messages, and recording the user's comments about the associated trigger mode, and BG records about the associated mode, if applicable.

The mode manager module 1004 communicates to the user that a mode has been newly detected by different means. The user may be presented with a notification of the detection of a particular mode, and subsequently a corresponding IMB mode map (depending on the user's decision). If more than one IMB pattern is detected, the DMS App may limit the notification to a single notification that includes multiple names of the detected patterns in a prioritized list for easy viewing of the patterns by the user. Further, the user may access the detected patterns via a pattern viewer that presents the patterns in an organized and prioritized manner. If the DMS App is active, the schema manager will take control of the screen of the smart device and present a "schema detection screen" -a notification of the detected schema in which the user is provided with the option to browse the schema map flow and is guided through the details and interpretation of the detected schema.

The mode manager operates based on the following parameters (defining each mode): band (Band), Type (Type), Rank (Rank), Quarantine (Embargo) period, latency (Incubation) period, and minimum time interval. The band parameters represent a hierarchy of "mode feedback" in which the user may choose not to be notified of all modes detectable by the mode manager. In other words, even if the mode manager detects a particular mode, this event will not be communicated to the user as a notification of the detection of a new mode if the band selected by the user does not include this particular mode (e.g., "out-of-band" mode) (as opposed to the case of "in-band" mode).

The following table provides example settings for organizing patterns into bands. The user may select which mode bands to receive notification.

Figure BDA0002216890690000281

Figure BDA0002216890690000291

The Type (Type) parameter represents the grouping of all patterns based on the event Type of the trigger pattern. This is relevant when multiple patterns are detected simultaneously. For example, persistent hyperglycemia is estimated in several different ways. This allows the DMS to avoid bombarding the user with seemingly redundant individual alarms for patterns of similar nature.

The level parameter represents a priority level for a particular mode. A rank parameter is assigned to each pattern in the group (type) and is unique to this particular pattern within the type (in some embodiments, no two patterns within the same type have the same rank). Only one mode of each type is automatically set to the "Active" state by the mode manager. This will be the mode with the highest priority. For example, a "gradually high" mode and a "high after dinner" mode may be triggered simultaneously. "progressively higher" may be a sign of a potential acute abnormality, while "high after dinner" may indicate a need for drug adjustment. Consideration of acute anomalies would be a higher priority pattern to alert the user.

The parameters also prevent the user from being overwhelmed by notifications during quarantine (barring). If the user is notified of a particular mode at the "now" point, the mode manager ensures that the user will not receive the same mode notification until the quarantine period expires. This means that the maximum block time that this particular mode will be allowed to trigger again, is the "now" point in time plus the isolation period. This feature also ensures that the user has time to react to improve or handle a particular mode before being alerted. The following table plots illustrate example isolation periods:

Figure BDA0002216890690000301

Figure BDA0002216890690000311

the latency period (MinReqBGhistory) parameter relates to the start of the DMS App. To ensure accuracy, the App delays responding to some triggered patterns until sufficient blood glucose data has been received to improve reliability for recognition and adjudication patterns. Thus, App uses a "benefit period" (MinReqBGhistory) in which triggered patterns belonging to some groups are ignored.

The minimum time interval (MinReqBGrecordTimeDiff) parameter, representing the minimum allowable difference between the timestamps of two consecutive BG records, to be included in the algorithmic calculations for detecting, dismissing or improving a particular IMB pattern. This feature prevents multiple readings taken around the same time from being counted as a pattern.

Patterns are characterized and presented in three different categories: active, Additional, and encapsulated. The active mode is a newly recognized mode (whether read or unread), which is currently processing data that is considered the highest priority information that should alert the user. The "active" mode is kept as small as possible at any time to prevent the user from being overwhelmed with information. The goal of the "active" mode is to drive the user through a particular mode map process (user interface) at which the user can achieve an "improved" or "tracked" state. Priority levels ("levels") and "types" are considered to determine the active mode. Further, the user may select any of the Additional (Additional) modes to promote to active if the user wants to participate in attempting to process more mode map flows. The number of active modes that may exist may be the same as the number of mode "types", e.g., critical modes (critical high and critical low) as one type, and three other mode types in addition to the critical mode. The active class fills before the additional classes start filling. The mode details page is accessed by selecting the mode. The unread mode will prompt the user through the mode map flow. Selecting the unread mode changes the mode state to "open" (Read). If a critical mode is detected, this mode will be raised to the top of the active list when triggered and held there until resolved-a non-critical mode in the same extreme range is taken, or the sequence is "complete". When the mode becomes active, a "timeout" timer for the "active" mode is started. In some embodiments, the DMS App prevents more than one pattern from the same type from being active at the same time, regardless of the total number of active patterns.

An "additional" mode is a recognized mode, read or unread, that is announced, does not collect data, and will not automatically change to an "improved" state. The additional classification mode is given more time than active (to give the user more time to act) before timing out and moves to the sequestration section of the mode viewer. Additional classification modes are determined by priority level ("level"), "type", and date of detection. There is no limit to the number of additional modes presented in the mode viewer. To view the additional mode, the user selects the additional mode and displays the mode details (in the upper half of the mode details page) along with the question: "do you want to know this mode better, try to improve it and move it to active mode? The answer is the mode map flow that will bring the user into this mode and move this mode to active. The answer "no" will keep the mode in the append and the question as available. To change the additional mode to active, the user may answer questions indicating that they want to struggle with the mode. By moving the additional mode to the active mode, the mode is added to the active section of the mode viewer screen.

The "sequestration" mode is assigned to this classification by the DMS App when they reach one of the following states: dismissed _ reminders, Completed (Finished), Dismissed _ Setup (Dismissed _ Setup), Improved (Improved), tracked (fallen), Improved-Rework (Improved-Rework), Improved-Completed (Improved-Completed), Improved-Modified (Improved-Modified), tracked-Rework (fallen-Rework), tracked-Completed (fallen-Completed), Good _ Int, Good _ Note, Good _ Add, or timeout (d-Out).

In some embodiments, the pattern manager may automatically transition the detected pattern to another classification, condition, and/or state in response to a new BG record, or after a predetermined amount of time has elapsed. For example, if the conditions shown below are met, the pattern manager may change the pattern classification belonging to the active classification to a sequestered classification and specify an improved state:

Figure BDA0002216890690000321

Figure BDA0002216890690000331

in some embodiments, if the active mode improves before the follow-up time (based on receiving a new BG record), the mode manager may present an "improved follow-up" screen and move the mode to a sequestration category with an "improved" state. In some embodiments, if the active mode improves before the follow-up time (based on receiving a new BG record), the mode manager may cancel (via the mode map flow) the regularly scheduled "follow-up" notifications and associated reminders (if they were set during the mode map flow).

In some embodiments, the pattern manager may change a pattern classification belonging to the "active" classification to the "sequestered" classification, and specify a "time out" state if, within a time period specified in the following table, none of these events have occurred:

mode is not improved; or

The user does not go through the entire mode map flow to set follow; or

The pattern is never read.

Figure BDA0002216890690000332

Figure BDA0002216890690000341

In some embodiments, the timeout period may count down from the Pattern registration time (Pattern registration moment). If the active mode times out (based on time), the mode manager may move the mode and timeout states to the sequestration class without notifying the user.

In some implementations, transitions within the schema map flow can occur. For example, during a pattern map flow, the pattern manager may specify classifications, conditions, and/or states for transitions within the pattern map flow after a trigger according to algorithm or method 3200, as illustrated in the flow chart of fig. 32, and specify classifications, conditions, and/or states for transitions within the pattern map flow (active classification not on state) upon access from the pattern manager according to algorithm or method 3300, as illustrated in the flow chart of fig. 33, for the following patterns:

hollow height

Empty stomach low

Height before lunch

Low before lunch

High before dinner

Before dinner, the lower part

High after a night meal

Low after a night meal

High recently

Recently low

When the day of the week is low

When the height is higher on the weekday

As illustrated in fig. 32, in response to a trigger mode at processing module 3201, method 3200 may proceed to detection screen decision module 3202, where the result may generate a mode transition 3203 or 3204. From mode transition 3204, method 3200 may proceed to interpretation screen decision module 3205, where the result may generate mode transition 3206 or 3207. From mode transition 3207, method 3200 may proceed to possible cause decision module 3208, where the result may generate mode transition 3209 or 3210. From mode transition 3210, method 3200 may proceed to alert? Decision module 3211, where the result may result in a mode transition 3212 or 3213. From mode transition 3213, the method 3200 may proceed to a reminder set decision module 3214, where the result may generate a mode transition 3215 or 3216. From mode transition 3216, the method 3200 may proceed to follow feedback decision module 3217, where the result may generate mode transition 3218 or 3219.

As illustrated in fig. 33, in response to accessing an active (unread) mode from the mode manager at processing module 3301, method 3300 may proceed to interpretation screen decision module 3302, where the result may generate a mode transition 3303 or 3304. From mode transition 3304, method 3300 may proceed to possible cause decision module 3305, where the result may yield mode transition 3306 or 3307. From mode transition 3307, method 3300 may proceed to alert? Decision block 3308, where the result may produce a mode transition 3309 or 3310. From the mode transition 3310, the method 3300 may proceed to the alert setting decision module 3311, where the result may result in a mode transition 3312 or 3313. From the mode transition 3313, the method 3300 may proceed to follow feedback decision module 3314, where the result may result in a mode transition 3315 or 3316.

In some embodiments, other transitions within the pattern map flow may additionally or alternatively occur. For example, during a pattern map flow, the pattern manager can specify classifications, conditions, and/or states according to an algorithm or method 3400, as illustrated by the flow chart of FIG. 34, for the following patterns:

critical low

Critical height

As illustrated in fig. 34, in response to triggering the critical mode at the processing module 3401, the method 3400 may proceed to a notification acceptance/interpretation screen display decision module 3402, where the result may produce a mode transition 3403 or 3404. From the mode transition 3404, the method 3400 may proceed to an interpretation screen decision module 3405, where the result may produce a mode transition 3406 or 3407. From the mode transition 3407, the method 3400 may proceed to retest the decision module 3408 before the timeout period expires, where a NO (NO) result may result in a mode transition 3409. A YES result at decision block 3408 may cause the method 3400 to proceed to a mid-range blood glucose value? Decision block 3410, where a YES result may result in mode transition 3411 and a NO result may cause method 3400 to proceed to decision block 3412. At decision block 3412, the following determinations may be made: for critical high: whether the blood glucose value is less than overall low; and (or) for criticality low: whether the blood sugar level is higher than that after meal. If the result of either of the two determinations is YES, the method 3400 may proceed to mode transition 3413. If the result of either of the two determinations is NO, then the method 3400 may proceed to timeout period expire? Decision block 3414. If the result is NO, the method 3400 may return to decision block 3408. If the result is YES, the method 3400 may proceed to decision block 3415. At decision block 3415, the following determinations may be made: for critical high: whether the recent blood glucose value is greater than a threshold value; and (or) for criticality low: whether the recent blood glucose level is less than the threshold low. Depending on the results, the method 3400 may proceed to mode transition 3416 or 3417.

In some implementations, transitions within the schema map flow can occur as a result of user actions within the schema manager viewer. Taken to the contrary, the pattern manager may change the classification, status, and/or state of the active pattern based on user interaction within the pattern manager viewer, according to an algorithm or method 3500 (in some embodiments) to transition within the pattern map flow upon a trigger, as illustrated by the flow diagram of fig. 35. When the user selects the active mode at the processing module 3501, the mode manager can display an "original mode interpretation" screen at the processing module 3503, or a "modified mode interpretation" screen at the processing module 3504, via the decision module 3502.

In some embodiments, in addition to the information provided in the usual "mode interpretation" screen, the "modified mode interpretation" screen may allow the user to: (1) view a record of the contribution to this detected pattern (starting with the first reading of the contribution to the detected pattern and ending with the reading of the trigger pattern); (2) recording the annotation; (3) viewing a related reminder set during a mode map procedure; and (or) (4) a sequestration mode.

In some embodiments, upon the user selecting the active mode (and selecting "sealed mode" in the "modified mode interpretation" screen), the mode manager may designate this mode as the "Dismissed" state in the mode viewer and change the actual state of this mode to "Finished _ Dismissed". In some embodiments, the schema manager may allow a "sealed" schema to change state from Unopened (unopended) to opened (Opended) (only in the schema manager, not in the schema viewer). In some embodiments, the schema manager may not allow "canned" schemas to change classifications and conditions.

In some embodiments, upon a user selecting a sequestration mode in the "dismiss" ("dismiss reminder", "dismiss setting") or "timeout" state, the mode manager may display a "modified mode interpretation" screen at the processing module 3504. In addition to the information provided in the usual "schema interpretation" screen, the "modified schema interpretation" screen may allow the user to: (1) a viewing mode status; (2) selecting from the following options: (a) view a record of the contribution to this detected pattern (starting with the first reading of the contribution to the detected pattern and ending with the most recent reading of the relevant pattern before the pattern is dismissed or timed out); and (b) recording the annotation.

In some embodiments, upon a user selecting a sequestration mode in the "improve" or "track" state, the mode manager may display a "modified mode interpretation" screen that may allow the user to, in addition to information provided in the usual "mode interpretation" screen: (1) a viewing state; (2) selecting from the following options: (a) viewing a record of the contribution to this detected pattern with or without improvement (tracking) (indicating the beginning of the first reading of the contribution to the detected pattern and ending with the most recent reading of the relevant pattern before the expiration of the following period); (b) recording the annotation; and (c) view the associated reminders set during the mode map procedure.

In some embodiments, when the user selects a containment mode belonging to the Critical mode group, the mode manager may display a Critical mode following (Critical Pattern Follow-Up) screen that may allow the user to, in addition to the information provided in the usual "mode interpretation" screen: (1) a viewing details state interpretation; (2) recording the annotation; and (3) view relevant readings set during the pattern map procedure (e.g., all readings beginning with the reading that triggered the pattern and ending with the most recent reading on the pattern recorded before the pattern improvement time (or before the pattern timeout period expires).

In some embodiments, the critical mode may precede the non-critical mode, and the mode manager may store and not allow manual deletion of any active or sequestered modes. In some embodiments, up to 50 recent active and sealed patterns (i.e., first-in-first-out) may be stored and maintained for up to 90 days, wherein patterns over 90 days may be deleted.

Returning to fig. 35, the method 3500 may proceed from processing module 3503 or 3504 to new pattern detection action processing module 3505, where the new pattern may be detected by the pattern manager as previously described.

Several embodiments are described in this disclosure, which are presented for purposes of illustration only. The described embodiments are not to be taken in a limiting sense (and are not intended to be limiting). It will be apparent from this disclosure that the invention disclosed herein is widely applicable to a variety of embodiments. Those skilled in the art will recognize that the disclosed invention may be practiced with various modifications and alterations (e.g., structural, logical, software, and electrical modifications). Although particular features of the disclosed invention may be described with reference to one or more particular embodiments and/or drawings, it should be understood that such features are not limited to use in describing the particular embodiment or embodiments or drawings to which such features are referred, unless otherwise expressly specified.

This disclosure is neither a literal description of all embodiments nor a listing of features of the invention that must be present in all embodiments.

The name of the invention (set forth at the beginning of the first page of the disclosure) should not be construed as limiting the scope of the disclosed invention in any way.

The term "article" means any machine, manufacture, and/or composition of matter as claimed in clause 21 of the patent Law, unless explicitly stated otherwise.

Each procedure (whether referred to as a method, a generic act, an algorithm, or otherwise) inherently includes one or more steps, and thus, all references to one or more "steps" of a procedure have an inherent antecedent basis for a mere recitation of the term "procedure" or similar terms. Accordingly, any reference in the claims to one or more "steps" of a program has sufficient antecedent basis.

Where a ordinal number (such as "first", "second", "third", etc.) is used as an adjective before a term, such ordinal number (unless otherwise expressly specified) is used merely to indicate a particular feature, such as to distinguish one particular feature from another feature described by the same or similar terms. For example, the name of "first widget" is simply distinguished from (e.g., "second widget"). Thus, the use of the sequence numbers "first" and "second" before the term "widget" does not indicate any other relationship between the two widgets, and similarly, does not indicate any other characteristic of either or both widgets. For example, the sequence numbers "first" and "second" are used before the term "widget": (1) it does not indicate that any widget is in front of or behind any other widget in order or position; (2) does not indicate that any widget occurs before or after any other widget in time; and (3) does not mean that any widget is higher or lower in importance or quality than any other widget. Furthermore, the use of serial numbers does not define a numerical limit on the features identified by the serial numbers. For example, the use of the sequence numbers "first" and "second" before the term "widget" does not indicate that there should be no more than two widgets.

Where a single device, component, structure, or article is described herein, more than one device, component, structure, or article (whether or not they cooperate) may be used instead of a single device, component, or article as described. Thus, functionality described as being possessed by a device may alternatively be possessed by more than one device, component, or article (whether or not they cooperate).

Similarly, where more than one device, component, structure, or article is described herein (whether or not they cooperate), a single device, component, structure, or article may alternatively be used in place of the more than one device, component, structure, or article described. For example, multiple computer-based devices may be replaced by a single computer-based device. Thus, various functionalities described as being possessed by more than one device, component, structure, or article may instead be possessed by a single device, component, structure, or article.

The functionality and/or the features of a single means illustrated may be alternatively embodied by one or more other means which have been illustrated but which have not been explicitly illustrated as having such functionality and/or features. Thus, other embodiments need not include the illustrated device itself, but may relatively include one or more other devices having such functionality/features in such other embodiments.

Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. Rather, such devices need only send to each other when necessary or desired, and may actually stop exchanging data for most of the time. For example, a machine that communicates with another machine via the internet may not send data to the other machine for weeks. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.

The description of a particular embodiment with several components or features does not imply that all (or even any) of such components and/or features are required. On the contrary, various optional components are described to illustrate the wide variety of possible embodiments of the present invention. No element and/or feature is essential or required unless explicitly stated otherwise.

Also, while process steps, algorithms or the like may be described as having a sequential order, such programs may be configured to work in a different order. In other words, the order or sequence of any steps that may be explicitly described does not necessarily indicate a need to perform the steps in that order. The process steps described herein may be performed in virtually any order. Also, some steps may be performed concurrently, although illustrated (or implicitly) as occurring non-concurrently (e.g., because one step is illustrated after another step). Moreover, the illustrations of the programs depicted in the drawings are not meant to imply that the illustrated programs preclude other variations and modifications, are not meant to imply that the illustrated programs (or any steps thereof) are essential to the invention, and are not meant to imply that the illustrated programs are preferred.

While a process may be described as including multiple steps, this does not imply that all (or even any) of the steps are necessary or desirable. Various other embodiments within the scope of the described invention include other procedures in which some or all of the described steps are omitted. No step is necessary or required unless explicitly stated otherwise.

Although an article may be described as including a plurality of components, aspects, qualities, characteristics, and/or features, this does not imply that all of these plurality of components, aspects, qualities, characteristics, and/or features are necessary or desirable. Various other embodiments within the scope of the described invention include other articles in which some or all of the various components, aspects, qualities, characteristics and/or features described are omitted.

The listed objects (which may or may not have a number) do not imply that any or all of the objects are mutually exclusive unless expressly stated otherwise. Similarly, the listing of objects (which may or may not have a number) does not imply that any or all of the objects are comprehensive of any classification unless explicitly stated otherwise. For example, the listing of "computer, laptop, PDA" does not imply that any or all of the three objects of this list are mutually exclusive, and does not imply that any or all of the three objects of this list are comprehensive for any classification.

The section headings provided in this disclosure are for convenience only and should not be construed as limiting this disclosure in any way.

Determining things can be performed in a variety of ways, and thus, the term determining (and similar terms) includes calculating, computing, deriving, looking up (e.g., in a table, database, or data structure), confirming, recognizing, and the like.

The term "display," as used herein, is an area that conveys information to a viewer. The information may be dynamic, in which case LCD, LED, CRT, Digital Light Processing (DLP), rear projection, front projection, etc. may be used to form the display.

The present disclosure may refer to a "control system," an application program, or a program. The terms used herein: the control system, application program, or program may be a computer processor coupled with an operating system, device drivers, and appropriate programs (collectively referred to as "software"), and having instructions to provide the functionality illustrated for the control system. The software is stored in an associated memory device (sometimes referred to as a computer-readable medium). While it is contemplated that a suitably programmed general purpose computer or computing device may be used, it is also contemplated that hardwired circuitry or custom hardware, such as an Application Specific Integrated Circuit (ASIC), may be used in place of or in combination with software instructions of a program to implement various specific embodiments. Thus, embodiments are not limited to any specific combination of hardware and software.

"processor" means any one or more microprocessors, Central Processing Unit (CPU) devices, computing devices, microcontrollers, digital signal processors, or the like. An exemplary processor is an INTEL PENTIUM or AMD ATHLON processor.

The term "computer-readable medium" represents any suitable medium that participates in providing data (e.g., instructions), which may be read by a computer, processor or similar device. Such a medium may take many forms, including but not limited to, non-volatile media, and transmission media of a particular proprietary type. Non-volatile media includes, for example, optical or magnetic disks and other persistent memory. Volatile media include DRAM, which typically constitutes a main memory. Suitable types of transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to the processor. Common forms of computer-readable media include, for example, magnetic disks, floppy disks, hard disks, magnetic tape, any other magnetic medium, CD-ROMs, Digital Video Disks (DVDs), any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAMs, PROMs, EPROMs, FLASH-EEPROMs, USB memory sticks, server keys (dongle), any other memory chip or cartridge, carrier wave, or any other medium from which a computer can read. The terms "computer-readable memory" and (or) "tangible medium" specifically exclude signals, waves and waveforms, or other intangible or non-transitory media (although readable by a computer).

Various forms of computer readable media may be involved in carrying a sequence of instructions to a processor. For example, the instruction sequence: (i) may be transferred from RAM to the processor; (ii) may be carried over a wireless transmission medium; and (or) (iii) may be formatted according to several formats, standards, or protocols. For a more exhaustive list of protocols, the term "network" is defined as follows and includes many exemplary protocols that may also be applied herein.

It will be readily apparent that the various methods and algorithms described herein may be implemented by a control system and/or that software instructions may be designed to perform the processes of the present invention.

Having described the database and/or data structures, one of ordinary skill in the art will appreciate that: (i) database structures alternative to those illustrated can be readily utilized; and (ii) other memory structures besides databases may be readily utilized. Any iconic description or illustration of any example database/data structure presented herein is an illustrative arrangement for the stored information representation. Any number of other arrangements may be utilized other than those suggested by, for example, the figures or other illustrated tables. Similarly, any illustrated database items, merely represent exemplary information; those of ordinary skill in the art will appreciate that the number and content of items may vary from those illustrated herein. Moreover, although databases may be depicted as tables, other formats (including relational databases, object-based models, hierarchical electronic archive structures, and/or distributed databases) may be used to store and manipulate the types of data described herein. Similarly, object methods or behaviors of the database may be used to implement various processes, such as the processes described herein. Further, the database may be stored locally in a known manner, or remotely from a device that accesses data in such a database. Further, while the database may be well known, the database may also be distributed and/or replicated among the various devices.

As used herein, "network" generally represents an information or computing network that may be used to provide an environment in which one or more computing devices may communicate with each other. Such devices may communicate directly or indirectly via a wired or wireless medium, such as the Internet, a LAN, WAN or Ethernet (or IEEE 802.3), token ring, or via any suitable communication means or combination of communication meansTMTime Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), global system for mobile communications (GSM), enhanced data rates for GSM evolution (EDGE), General Packet Radio Service (GPRS), wideband CDMA (wcdma), Advanced Mobile Phone System (AMPS), digital AMPS (D-AMPS), IEEE802.11(WI-FI), IEEE 802.3, SAP, best systems (BOB), system-to-system (S2S), and the like. Note that if a video signal or large archive is communicated over a network, a broadband network may be used to ease the delay associated with the transmission of such large archive, however, this is not strictly required. Each device is adapted to communicate over such a communication means. Any number and type of machines may communicate via a network. Where the network is the internet, the communication over the internet may be through a website maintained by the computer on a remote server, or through a proprietary data network, including commercial online service providers, bulletin board systems, and the like. In other embodiments, the devices may communicate with each other via RF, cable TV, satellite link, etc. Where appropriate, encryption or other security means such as login account numbers and passwords may be provided to protect proprietary or confidential information.

Communications between the computer and the device may be encrypted by any of a variety of means well known in the art to ensure privacy and prevent fraud. Suitable cryptographic PROTOCOLS for enhancing system security are described IN APPLIED CRYPTOGRAPHY, PROTOCOLS, ALGORITHMS, AND SOURCE CODE IN C, John Wiley & Sons, inc.2d ed, 1996, by Schneier, which is incorporated herein by reference IN its entirety.

It will be readily apparent that the various methods and algorithms described herein may be implemented, for example, by appropriately programmed general purpose computers and computing devices. Typically, a processor (e.g., one or more microprocessors) will receive instructions from a memory or similar device and execute the instructions, thereby executing one or more programs defined by the instructions. Further, programs embodying such methods and algorithms may be stored and transmitted in a number of ways using a variety of media (e.g., computer readable media). In some embodiments, hard-wired circuitry or custom hardware may be used in place of or in combination with software instructions to implement programs of the various embodiments. Thus, embodiments are not limited to any specific combination of hardware and software. Thus, the description of the program equally describes at least one device for executing the program, and also at least one computer-readable medium for executing the program and/or a memory for performing the processing. An apparatus for performing a process may include components and devices (e.g., processors, input and output devices) adapted to perform the process. The computer readable medium may store program elements adapted to perform the method.

This disclosure provides those of ordinary skill in the art with an enabling description for implementing several embodiments and/or inventions. Some of these embodiments and/or inventions may not be claimed in this application but may nevertheless be claimed in one or more subsequent applications claiming benefit of the priority rights of this application. The applicant intends to submit additional applications seeking patents on subject matter that have been disclosed and allowed but are not claimed in this application.

The foregoing description discloses only exemplary embodiments of the invention. Modifications of the above disclosed apparatus and methods that fall within the scope of the invention will be readily apparent to those of ordinary skill in the art to which the invention pertains. For example, although the examples discussed above are shown with respect to the medical device market, particular embodiments of the present invention may be practiced with respect to other markets.

Therefore, while the present invention has been disclosed in connection with exemplary embodiments thereof, it should be understood that other embodiments may fall within the spirit and scope of the invention, as defined by the following claims.

68页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于计算、显示、修改和使用反映消费品的最佳数量和质量的单膳食摄入量评分的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!