Patent ID: 12254972

DETAILED DESCRIPTION

Some aspects, features, and implementations described herein may include machines such as computers, electronic components, optical components, and processes such as computer-implemented procedures and steps. It will be apparent to those of ordinary skill in the art that the computer-implemented procedures and steps may be stored as computer-executable instructions on a non-transitory computer-readable medium. Furthermore, it will be understood by those of ordinary skill in the art that the computer-executable instructions may be executed on a variety of tangible processor devices, i.e., physical hardware. For practical reasons, not every step, device, and component that may be part of a computer or data storage system is described herein. Those of ordinary skill in the art will recognize such steps, devices, and components in view of the teachings of the present disclosure and the knowledge generally available to those of ordinary skill in the art. The corresponding machines and processes are therefore enabled and within the scope of the disclosure.

FIG.1illustrates physical infrastructure for providing medical nutritional therapy as a service. A cloud-based data service100for providing services to multiple households includes a cloud-based host server102and a storage node104. The storage node may include direct-attached storage (DAS), network-attached storage (NAS), or any of a variety of storage architectures that enable data to be maintained on arrays of non-volatile drives and accessed by the host server. The host server may be a member of a server cluster. Each server in the cluster includes microprocessors, computer-readable memory, and hypervisors or containers for supporting virtual machines or guest operating systems for running instances of host applications for automating medical nutritional therapy services. The host application instances for providing medical nutritional therapy services will be referred to below as pantry application instances. The servers of the server cluster are configured to communicate with household computers106,108such as PCs and tablets of the respective households of which treated patients are members. A household includes at least one patient undergoing nutritional therapy for a chronic disease and zero or more other participating members who live and eat together. The host server102and household computer108are configured to communicate with an online supermarket server110to manage and replenish a pantry inventory via online food shopping. A mobile device112, such as a smartphone, is configured to communicate with the host server102to coordinate with pantry application when shopping at a physical supermarket114.

Referring toFIGS.1and2, pantry application client instances201,202run on a household computer106and interface to a pantry server application instance203, which runs on the host server102. There can be numerous pantry application instances serviced by many pantry application client instances. A smart basket application220runs on mobile computing device112. The pantry makeover application203and the recommendation analysis platform204maintains various databases on the storage node104. The pantry makeover application maintains the following datastores: member profiles205, patient profiles206, disease specific food Rx's (i.e., nutritional prescriptions)207, and the household pantry inventory208, which includes a product listing of a set of food products209. The recommendation analysis platform204maintains the following datastores: a library of disease specific Food Rx templates210and a set of disease specific catalogues211that have a structure of the categories, sub-categories and food-groups that are related to a specific disease and also maintain a product listing212that mirrors the food products stored in the product inventory209. Each nutritional therapy prescription template210is uniquely associated with a particular chronic condition and includes records of disease-harmful food ingredients, disease-healthy food ingredients, acceptable or recommended amounts or quantities of those food ingredients, acceptable frequency of consumption, and logic or rules for calculating inclusion and exclusion of those food ingredients in the diet of a patient with a specific chronic condition. A nutritional therapy prescription template of a chronic disease combined with of the profile of a patient, i.e., a member of the household that is needing treatment for a chronic disease, enables the generation of a patient-specific nutritional therapy prescription207. An analysis and combination of all patients and all participating member profiles and all generated patient-specific nutritional prescription enables the generation of a household nutritional prescription and a household profile. The household nutritional prescription and the household profile are used by the recommendation analysis platform in the processes that produce recommendations for a food product. The patient profiles206have information about patient including: the patient's chronic disease(s) that is be treated, other chronic disease and conditions, medications, the biometrics of the patient, a characterization of the emotional and motivational characteristics of the patient, a record of biomarkers associated with the chronic disease, and the symptom status and disease stage of the treated chronic disease. The profile includes food product preferences. Positive preferences represent foods that are liked by the patient, negative preferences are for foods that are disliked. Preferences can be for a category, a sub-category, a food-group, or a specific food product. The patient can include food products that must be excluded from his or her diet and food products that should never be excluded. There can be members in the household that want to support the nutritional therapy for patients but also wish that their physical condition and food preferences are considered. For these participating members, a member profile205is created. Member profiles have less information than a patient profile, but they include the members biometrics, physical conditions, emotional characterization, and food preferences. The extended foods labels that are contained in the nutritional prescription template and in the generated patient-specific nutritional prescriptions include detailed records of ingredients in a food product. They may also contain health-related facts for a food product, such as nutritional calculations and information that is usually not present on the printed labels on the food product. The extended food labels may also indicate a single serving amount and the number of servings in the food product. The extended food labels are obtained by the recommendation analysis platform from an external database213. Recommendations may be partially based on nutritional calculations that are not represented on the printed labels on food product packaging. For example, starting with two similar products that each contain 10 grams of sugar, the amounts of sugar are normalized for comparison by calculating the amount of sugar in a single serving size of each food product. The recommendation analysis platform also considers the amounts of beneficial ingredients such as fiber that may, or may not, be on the printed packaging label. The normalized amounts are used to calculate a net-of-beneficial ingredient result. For example, if the first food product has 10 grams of sugar and 5 grams of fiber and the second food product has 8 grams of sugar and 2 grams of fiber for the newly normalized serving sizes, then the food product having the lowest sugars net of fiber would be recommended for a reduced sugar food Rx, in this case the first food product with 10−5=5 grams net is selected over the second food product which has 8−2=6 grams net.

FIG.3presents a diagrammatic example of a Food Rx template. The Food Rx templates are constructed from information provided by reliable medical resources. Column1identifies the chronic disease, in this case the Food Rx template for hypertension, along with some supporting material. Column2presents biomarkers for the disease so the status of the patient, in terms of the disease, can be ascertained. Column5presents the nutrients that should be included in a nutritional diet for hypertension, plus the recommended dietary allowance (RDA) amount for that nutrient. Column6presents food that should be excluded. In this case the exclusion is determined by an algorithm that computes the ratio of fatty acids. If the ratio is too high, that food should be excluded. Column7presents nutrients that should be limited along with a formula describing the limit. Columns8,9, and10represent a key value of the Food Rx template. The nutrient values are transformed into ingredients. Column8presents ingredients that should be included in the patient's diet. Column9presents ingredients that should be excluded. Column10presents ingredients whose daily intake should be limited.

FIG.4illustrates the steps taken to initializing the computer applications that will be used to provide nutritional therapy to patients in a household with chronic disease. Step301instantiates an instance of the pantry makeover application203that provides the basic services for providing nutritional therapy by improving the household food storage. Step302instantiates an instance of the Pantry Inventory208. The Pantry Inventory keeps records of all foods processed including food processed from the household food storage and new food that are potentially going to be added to the Household food storage. These records include product recommendations and the follow-up action for those recommendations. Step303records the ID's and other identifies for members of the household that have one or more chronic diseases, who whose diet should improve as part of a program of nutritional therapy, who will participate as patients. Step304provides the interactive forms to create patient profiles206offered by the Pantry Makeover Application. The completed profiles are then stored in the Pantry Makeover Application's datastore. Patients may ask a medical professional to help with the forms or review their input. Step305provides the interactive forms for non-patient participating member profiles205. Participating members can be involved in a number of different roles. The member profiles are specialized depending on the role of the participating member. There are participating members that perform needed functions for the nutritional therapy process, e.g., food preparer, shopper. There are participating members that are involved because they care about their own wellness. In fact, there are scenarios were there are no patients, just a set of household members interested in improving their wellness. The Pantry Makeover Applications takes their wellness aspirations into account when making food product choices. And there are participating members that just want to be involved and want to be helpful. Step306installs and instantiates a pantry client application on the devices of choice, such as PCs, tablets, smartphones, used by each of the participating member and patients. The pantry client applications are thin applications that provide a well-designed user interface in front of the cloud-based pantry makeover application. A web interface is also provided so access can be available wherever an internet connection can be made. Step307establishes a connection with the Recommendation Analysis Platform so that recommendations can be requested by the Pantry Makeover application and returned.

Referring toFIG.5, step500is the recommendation analysis platform receiving patient and participating member profiles from the pantry makeover application through an API. Step502is returning an error code to the pantry application if the chronic disease or medicine in the patient profile is not in the recommendation analysis platform library of food Rx templates. Step504creating a set of patient-specific, chronic disease-specific, food Rxs from the food Rx templates and patient profiles. Step506is creating a household food Rx by integrating the set of patient-specific, chronic condition-specific food Rxs and the food preferences in the patient profile and participating member profile.

Referring toFIG.6, step510is creating a product listing for the entered product that contains the extended ingredients for a typical serving, ordered first by beneficial ingredients, then harmful ingredients, then other ingredients, where beneficial and harmful ingredients are listed in the household food Rx. Step512is storing the product listing with date and time in the pantry inventory. Comparable listings may exist, creating a history of the entered product. Step514is sending a copy of the product listing to the recommendation analysis module through the API.

Referring toFIG.7, step520is creating the household food Rx food catalogue by accessing an external complete food product database with extended ingredient to ascertain the relevant set of categories, sub-categories, and food-groups. Step522is entering the names of the set of food categories, sub-categories and food groups that contain ingredients that are beneficial in the food catalogue. Step526is entering the names of the set of food categories, sub-categories, and food groups that contain ingredients that are harmful in the catalogue.

Referring toFIG.8, step530is acquiring the household food Rx food catalogue from the recommendation analysis platform through an API call and storing the food catalogue in the pantry inventory. Step534is identifying food products by scanning or manually entering the UPC bar code on the food product packaging. The user indicates whether the food product is in the household food storage or is a new product. Step536is performing a lookup of the entered food product in the external food product database to ascertain its category, sub-category, and food group. The Food product name, extended ingredients, and standard serving are obtained.

Referring toFIG.9, step540is creating a food product listing for the entered food product, including a representation of the extended ingredients ordered first by beneficial ingredients, then harmful ingredients, then other ingredients. The listing of the household's beneficial and harmful ingredients is contained in the household food Rx. Step542is storing the food product listing with date and time in the pantry inventory. Step544is sending a copy of the food product listing to the recommendation analysis module through the API.

Referring toFIG.10, in step550the recommendation analysis platform receives a request for recommendations, either for a specific food product as identified by its UPC code for a food group, or a sub-category, or a category. In step554, if the request is for a food group, sub-category, or category, the contained food product listings are ranked from best to less-best based on the content in the household food Rx. In step556if the request is for a single food product, then the position for the food product listing rank in the food group to which the food product listing belongs is determined.

Referring toFIG.11, step560is calculating a recommendation for each food product listing in the request based on the food product listing beneficial and harmful ingredients, rank, aggregate beneficial and harmful ingredients of the group as a whole; information contained in the household food Rx, and a set of business rules. As indicated in step562, if the food product listing represents a food product in the household data store, the recommendation may have one of the following key words: Retain, Replace, Reduce, Remove. If the product listing represents a new food product, the recommendation may have one of the following key words: Acquire, Replace, Limit, Reject. Step564is sending a copy of the recommendation to the pantry application where it is stored in the pantry inventory with the appropriate food product listing.

Referring toFIG.12, if a food product listing in the pantry inventory has a recommendation with the keyword Replace, a request is sent to the recommendation analysis platform to generate an alternate food product list as indicated in step570. Upon receiving the request to produce an alternative food product list, the recommendation analysis platform institutes a search of the external complete food product database and retrieves a set of appropriate replacement food products ranked best to less-best based the household food Rx content and a set of business rules as indicated in step572. The alternative product list is returned to the pantry application and associated with the appropriate product listing as indicated in step574. The recommendations returned are associated with the specific store being shopped for alternatives.

Referring toFIG.13, in step584the pantry application assigns the keyword Select to the best product in the alternative list unless received input indicates that another food product on the list should be assigned the keyword Select. In step588, through received input, for any product listing for a food product in the household food storage, the keyword Replenish is added. Step590is creating a shopping list instance to be saved in the pantry inventory. The product listing for each listing that has either the key word Acquire, or Replenish, or Select is added to the shopping list. The shopping list is sent to the smart basket application

Referring toFIG.14, step600extracting the UPC code for each product listing on the shopping list. The UPC codes are used to search the local food store database to ascertain if the product is available. As indicted in step602, if the product is not available then the recommendation analysis platform is called with a link to the local food store database. In step604the recommendation analysis platform generates an alternative product listing from related products in the local food store database. The products are ranked best to less-best based on the content of the household food Rx and a set of business rules. The alternative product list is returned to the smart basket application in step606. If required, the smart basket application obtains permission to substitute the best product on the alternative product list for the unavailable product. The smart basket may also receive input to select another product on the alternate list or to remove the product from the shopping list.

Referring toFIG.15, the key word “Purchased” is added to the appropriate product listing for each food product that is purchased as indicated in step610. When shopping is completed, the shopping list is sent to the pantry application, where the key word Purchased is added to the appropriate product listing as indicated in step612. When shopping is completed, the shopping list is sent to the pantry application, where the key word Purchased is added to the appropriate product listing.

In view of the description above it will be apparent that some aspects of the invention advantageously support nutritional therapy by supporting pantry makeovers and food shopping. Food products that, unbeknownst to members of a household, contain harmful ingredients are identified and removed from household food storage. Food products that contain beneficial ingredients are recommended. Less harmful, more beneficial alternative food products are identified and suggested. Patients who are unable or unwilling to switch to a set meal plan that requires preparation of specific raw and minimally processed foods are guided to choosing more healthy food products based on their own preferences. For example, patients are guided away from consumption of food products that the patient might otherwise not realize are specifically unhealthy in view of their chronic condition. Further, patients are guided toward consumption of food products that the patient might otherwise not realize are specifically healthy in view of their chronic condition. By recommending more healthy alternative food products and recommending pantry inventory updates in response to updated, new, and discontinued food products, aspects of the invention help to generate and maintain nutritional prescriptions that are easier for patients to implement and maintain over longer periods of time. Further, the nutritional prescriptions are more easily developed and maintained for patients who have multiple chronic conditions and households in which multiple members have chronic conditions.

Specific examples have been presented to provide context and convey inventive concepts. The specific examples are not to be considered as limiting. A wide variety of modifications may be made without departing from the scope of the inventive concepts described herein. Moreover, the features, aspects, and implementations described herein may be combined in any technically possible way. Accordingly, modifications and combinations are within the scope of the following claims.