Plan specification production system including configurable specification templates and method therefor
Patent Information
- Application Number
- PCT/IB2025/052292
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-04
- Filing Date
- 2025-03-03
- Publication Date
- 2025-10-02
AI Technical Summary
Conventional meal planning systems struggle to efficiently produce customized meal plan specifications that vary in meal structure and content to meet the unique nutritional requirements and preferences of individual users across different demographic cohorts.
A modular meal plan specification system with configurable components that allow for customizable meal schedules, structures, and contents, utilizing a PostgreSQL database to store and manage plan schedule, meal structure, and meal content components, along with recipe and food databases to provide personalized meal plans.
Enables efficient production of customized meal plans that cater to individual preferences and nutritional needs, allowing for flexible adjustment of meal frequency, structure, and content without requiring extensive reconfiguration of system components.
Smart Images

Figure IB2025052292_02102025_PF_FP_ABST
Abstract
Description
PLAN SPECIFICATION PRODUCTION SYSTEM INCLUDING CONFIGURABLE SPECIFICATION TEMPLATES AND METHOD THEREFOR CROSS REFERENCE TO RELATED APPLICATION
[0001] The present application claims the benefit of the earlier filing date of US provisional patent application number 63 / 560,887 filed in the United States Patent and Trademark Office on March 04, 2024, the entire content of which application is incorporated herein by reference. BACKGROUND
[0002] The disclosure relates to systems and methods for producing meal plan specifications.
[0003] Conventional meal planning systems have a capability to recommend meals that vary in their nutritional content based on demographic factors such as age, weight, activity level and the like. However, even within the same demographic cohort individuals may vary widely in their food consumption routines, meal structure customs and content preferences, as well as in their nutritional requirements. It is relatively easy to produce different nutrient recommendations for different population cohorts.
[0004] However, it is technically challenging to efficiently produce meal plan specifications customized to individuals across cohorts, and to produce meal plan specifications that vary in meal structure and content in addition to varying in nutrient intake recommendation.SUMMARY
[0005] The disclosure provides a meal plan specification and production system and method. The system includes configurable and interchangeable components that can be arranged in various combinations to form many different specification templates customized to meet requirements and preferences of a wide range of individuals across population cohorts. Many other advantages, features and capabilities of system 10 will be appreciated from the detailed description below. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] In the drawings:
[0007] FIG.1 is a block diagram of an example system according to the disclosure;
[0008] FIG.2 is a block diagram illustrating example plan schedule components and example meal structure components of the example system shown in FIG.1;
[0009] FIG.3 is a data structure diagram illustrating a connector component in a cooperative structural arrangement with a plan schedule component and a meal structure component in an example configuration;
[0010] FIG.4 is a data structure illustrating a connector component configured to connect a first meal structure component and a second meal structure component in an example configuration;
[0011] FIG. 5 is a block diagram illustrating a cooperative structural arrangement of plan schedule components and meal structure components including meal content placeholders in an example implementation;
[0012] FIG. 6 is a block diagram illustrating a cooperative structural arrangement of meal content components in an example implementation;
[0013] FIG.7 is a block diagram illustrating a cooperative structural arrangement between a meal content placeholder data structure and a meal content data structure content in an example implementation;
[0014] FIG. 8 is a block diagram illustrating an example plan specification template in an example implementation;
[0015] FIG.9 is a pictorial illustration of an example instance of a plan specification template; is a data structure diagram illustrating an example specification template;
[0016] FIG.10 is a flowchart illustrating steps of a method in an example implementation;
[0017] FIG.11 is a flowchart illustrating steps of a method in an example implementation;
[0018] FIG.12 is a flowchart illustrating steps of a method in an example implementation;
[0019] FIG.13 is a flowchart illustrating steps of a method in an example implementation; and
[0020] FIG.14 is a flowchart illustrating steps of a method in an example implementation. DETAILED DESCRIPTION FIG.1
[0021] FIG. 1 is a block diagram of an example system 10 for producing meal plan specifications. As used herein the term 'meal plan specification' refers to a detailed description that specifies how many meals should be consumed per day (e.g., three meals) at which consumption occasions (e.g., breakfast, lunch, dinner) and may also specify the size of portions for each meal. A meal plan specification can further provide a list of ingredients to be used for each component (or 'dish') of each meal, and may include specific recipe preparation instructions or cooking methods for each dish or meal component. A meal plan specification may also specifyquantities of macronutrients (carbohydrates, proteins, fats) and micronutrients (vitamins, minerals) to be included in each meal or as a daily total.
[0022] System 10 can be configured to provide customized meal plan specifications tailored to a single individual user, based on their dietary preferences, health conditions, and lifestyle. System 10 can also be configured to produce meal plan specifications customized for specific health conditions (e.g., diabetes, heart disease) to meet specific nutrient requirements.
[0023] System 10 comprises a plan specification platform 1000, a processor 20, a memory 600 and one or more user input / output ports 700 which may be interconnected by a communication bus 11. Processor 20 may comprise one or more central processing units (CPU) and may be implemented as one or more separate processor structures. As used in this specification, the term 'processor' refers to any non-human, processing machine that can execute instructions.
[0024] Examples of suitable devices for port 700 include graphical user interfaces (GUI), portable computing devices and the like. Memory 600 is equipped with non-transitory processor- executable instructions that configure processor 20 to perform the steps, processes, methods and procedures described herein, and as illustrated in the flowcharts shown in FIG.14-18.
[0025] In an example implementation, specification platform 1000, comprises plan schedule components 100, meal structure components 200, meal content components 300 and connector components 400. In an example implementation specification platform 1000 can be implemented by a PostgreSQL database system wherein plan schedule components, meal structure components 200 and meal content components 300 are implemented as tables or other suitable data structures. However, specification platform 1000 is not limited to implementation using a relational database or to implementation using a PostgreSQL relational database.
[0026] Plan schedule components 100 (detail illustrated in FIG. 2) can be configured to customize schedule aspects of a meal plan specification to individual users. For example, dow enumerator 101 can be configured to enumerate any a user specified number of plan days and any user-specified number of daily-occurring meals. Meal structure components 200 can be configured to define many different customized structures for the daily-occurring meals for many different individual users.
[0027] For example, in a first configuration of a breakfast meal for a first user, a first set of user-selected meal content placeholders (also referred to herein as dishes), e.g., a main dish and a beverage dish can be associated with the breakfast meal e.g., a breakfast meal. In a different configuration for a second user, a different set of user-selected meal content placeholders can be associated with the breakfast meal, e.g., a beverage dish only.
[0028] Meal content components 300 specify meal content at different levels. For example, recipe templates (best illustrated in FIG. 6) specify meal content at a generic recipe level. Ingredient templates (best illustrated in FIG.6) specify recipe ingredients at a generic level, and recipe ingredients (best illustrated in FIG. 6) specify meal content at a specific level, e.g., as particular food items stored in food database 650.
[0029] System 10 may further comprise a recipe database 380 and a food database 650. Recipe database 380 is configured to store recipes for dishes. A recipe can include preparation and cooking instructions as well as a list of recipe ingredients. In some implementations, recipes can be manually entered into recipe database 380 by a user who may be a chef 702. In one example implementation, the recipes stored in recipe database 380 can be imported from one or more external recipe databases 1010, or from other external recipe sources. For example, database 1010 can be a database maintained by the United States Department of Agriculture (USDA). The USDAmaintains a database of recipes available to the public at its 'MyPlate' website, which is available to the public. (https: / / www.myplate.gov / myplate-kitchen / recipes.)
[0030] Food database 650 can store food items as well as information about the food items. In some implementations, system 10 can be configured to import or ingest food items and food item information from external food databases 1020. For example, the USDA maintains a database of foods and their constituent nutrients at FoodData Central (fdc.nal.usda.gov). The USDA database provides detailed information about the nutritional content of thousands of food items as well as information about the nutrients and compounds in food, including macronutrients, micronutrients, phytonutrients, and sweeteners in various foods, food products and compositions. System 10 may also be configured to store additional food information in food database 650. For example, the Database of Flavonoid Values for USDA Survey Food Codes 2017-2018 provides amounts of 29 individual flavonoids, 6 flavonoid classes, and total flavonoids present in each food / beverage in the USDA Food and Nutrient Database for Dietary Studies (FNDDS) 2017-2018.
[0031] The modular construction of plan specification platform 1000 enables system 10 to efficiently produce custom meal plan specifications that can vary widely in any or all of schedule, structure and / or content to meet a wide range of specific meal plan goals of individual plan recipients. For example, system 10 can be reconfigured to change a number of meals per day without necessarily reconfiguring any of the meal structure or meal content components, thus minimizing adjustment and / or reconfiguration of system components. FIG.2
[0032] FIG. 2 is a block diagram illustrating example plan schedule components 100 and example meal structure components 200 of plan specification platform 1000. Plan schedulecomponents 100 include a configurable day of week (DOW) enumerator 101 and a configurable meal data structure 105. Dow of week enumerator 101 is configurable to enumerate a user- selectable number of days over which a specification template will extend. Configurable meal data structure 105 comprises a set of respective daily occurring meal occasions, e.g., breakfast 31, lunch 32 and dinner 33. FIG.3
[0033] FIG. 3 is a data structure diagram illustrating a connector data structure 420 in a cooperative structural arrangement with meal data structure 105 and meal template data structure 500. Connector data structure 420 is shown to be configured to connect meal templates of meal template data structure 500 to meals of meal data structure 105. For example, connector 3151 of connector data structure 420 is associated with meal data structure 105 by a meal identifier 31. Likewise, connector 3254 of connector data structure 420 is associated with meal template data structure 500 by meal template identifier 52.
[0034] In this example configuration connector data structure 420 allows meal template 52 to define a meal structure for breakfast meal 31, but does not allow meal template 54 to define a meal structure for lunch meal 32 or dinner meal 33. In that manner, the meal structure components can be configured to structure the daily-occurring meals according to a user's preference.
[0035] The simplified structures shown in FIG.5 are shown in a configuration in which meal template data structure 500 allows only one meal template to be associated with a meal. However, implementations of meal template data structure 500 can include many different meal templates, and connector data structure 420 can be configured to associate a plurality of meal templates with a single meal. The meal templates can be interchangeable. Therefore, any of the associated mealtemplates can be selected to define a structure for the associated meal. This permits individual customization of meal structures as well as variations in the structure of the same daily-occurring meal from one daily occurrence of the meal to the next. FIG.4
[0036] FIG.4 is a data structure diagram illustrating a connector data structure 410 configured to connect a first meal data structure and a meal template data structure in an example configuration. Dish data structure 210 is configured to store respective meal content placeholders (referred to herein as 'dishes') and their corresponding dish labels. For instance, in the simplified example of FIG.4, dish id 61 can denote a placeholder named 'main dish', dish id 62 can denote a placeholder named 'side dish, dish id 63 can denote a placeholder named 'beverage dish' and so on.
[0037] In the simplified example of FIG. 4 configurable meal template data structure 500 comprises a set of respective meal template identifiers 52, 54, 56 and corresponding respective meal template names. Meal templates are constructed by associating selected sets of dish labels from dish data structure 210 with corresponding respective meal template identifiers, whereby each of the respective meal templates defines a corresponding respective meal structure for each of the daily occurring meal occasions, e.g., breakfast 31, lunch 32 and dinner 33.
[0038] Connector data structure 410 is configured to associate dishes (meal content placeholders) of dish data structure 210 to corresponding meal templates of meal template data structure 500. For example, connector 5261 of connector data structure 410 associates meal template 52 with dish 61. Connector 5264 of connector data structure 410 further associates meal template 52 with dish 64 and so forth.
[0039] It will be understood dish data structure 210 can comprise more, or fewer dishes than those illustrated in FIG.4 Likewise, meal template data structure 500 can comprise more, or fewer meal templates than are illustrated in FIG.4. FIG.5
[0040] FIG. 5 is a data structure diagram illustrating an arrangement of plan schedule components 100 and meal structure components 200 in a first example configuration. As shown in FIG.5, enumerator 101 is configured to enumerate seven days of a week, e.g., MON through FRI. Meal data structure 105 is configured to define three respective daily-occurring meals, e.g., B 31, L 32 and D33. System 10 is configured to index through the days of the week. For each day, system 10 will specify a breakfast meal 31, a lunch meal 32 and a dinner meal 33 in accordance with the configuration of dish data structure 210 and meal template data structure 500 as connected by configuration of connector data structure 410 (best illustrated in FIG.4).
[0041] For example, In the configuration shown in FIG.5 on the day 'MON', a meal template 52 is configured to structure breakfast meal 31 by two placeholders (dishes) as indicated by 'x'. Meal template 54 is configured to structure lunch meal 32 by three placeholders (dishes). Meal template 56 is configured to structure dinner meal 33 by three placeholders (dishes).
[0042] DOW enumerator 101 comprises a list or array of enumerated days of a seven-day week. DOW enumerator is programmatically configured to index over the list for a specified number of the enumerated days. DOW enumerator 21 is configurable to define meal plans that extend over any number of the enumerated days of a week (DOW).
[0043] Meal data structure 103 comprises an enumerated list of daily-occurring meals (food consumption events), i.e., meals that occur within a day of a meal plan. In the example of FIG.2A meal data structure 103 is configured to define three meals, B, L, D. Meal data structure 103 can be adjusted to enumerate additional meals, e.g., S (snack) or fewer meals, e.g., B and D which may be lunch and dinner only.
[0044] Whatever the number of daily-occurring meals, system 10 is configured to index over them once for each day indexed by DOW enumerator 21. Thus, all meal plan specifications produced by system 10 with meal data structure 103 in a given configuration will specify meal content for each enumerated meal in accordance with configuration of meal content components 300. However, any or all meal plan specifications so produced may vary in one or more other aspects, e.g., number of days covered; and / or structure of meals to be consumed at each daily- occurring meal; and / or content of such meals; depending on configuration of other components of system 10. FIG.6
[0045] FIG.6 is a data structure diagram illustrating an example structural arrangement of meal content components 300 of specification platform 1000. Meal content components 300 are configurable to define meal content for the meal content placeholders illustrated in FIG.2 at 210. Meal content components 300 include a configurable ingredient template data structure 315, a configurable recipe template data structure 310, and a configurable ingredient data structure 350.
[0046] For example, recipe template data structure 310 is configured to store recipe metadata including recipe preparation and instruction metadata and recipe ingredient metadata corresponding to respective recipes stored in recipe database 380. Recipe preparation and instruction metadata is stored as respective recipe template instances in recipe template datastructure 310. Each of the respective recipe template instances is assigned a corresponding respective recipe template identifier.
[0047] Ingredient template data structure 315 is configured to store the recipe ingredient metadata for the respective recipes stored in recipe database 380. The ingredient metadata is stored as respective ingredient templates. Ingredient template data structure 315 is configured to associate each of the respective ingredient templates with a corresponding recipe template stored in recipe template data structure 310.
[0048] An ingredient template is a generic ingredient name that encompasses any number of specific (species) recipe ingredients as instances of a corresponding generic ingredient (ingredient template). For example, ingredient template data structure 315 stores an ingredient template instance 432 named 'salmon'. Ingredient template instance 432 is associated with a recipe template instance 111. Recipe template instance identifier 111 associates ingredient template instance 432 with recipe template instance 111 of recipe template data structure 310. Recipe template instance 111 of recipe template data structure 310 contains the instruction and preparation metadata for the recipe named 'Pan-seared salmon', while ingredient template data structure 315 stores the ingredient metadata for the recipe named 'Pan-seared salmon' as a generic ingredient name, e.g., 'salmon' corresponding to ingredient template instance 432.
[0049] A recipe ingredient data structure 350 is configured to store a set of interchangeable recipe ingredient instances for each of the ingredient templates stored in ingredient template data structure 315. For example, recipe ingredient data structure 350 includes a recipe ingredient instance 111 named 'sockeye salmon' which is a specific instance of the 'salmon' ingredient template 432. Recipe ingredient data structure 350 further stores a recipe ingredient instance 12 named 'Atlantic salmon', which is another specific instance of ingredient template 432 ('salmon').
[0050] Recipe ingredient data structure 350 is configured to associate each of the specific ingredient instances stored therein with a corresponding ingredient template. For example, recipe ingredient instance 111 (sockeye salmon) and recipe ingredient instance 12 (Atlantic salmon) are both associated with ingredient template 432 (salmon) of ingredient template data structure 315 by an ingredient template identifier 432.
[0051] Recipe ingredient data structure 350 is further configured to associate each of the specific ingredient instances stored therein with a corresponding food item of food database 650.
[0052] As described in detail above, meal content components 300 can specify meal content at a generic ingredient level as well as a specific ingredient level. For example, specific ingredients are interchangeable within the same generic ingredient level to meet particular micro-nutrient and or macro-nutrient targets for particular individuals. FIG.8
[0053] FIG.8 is a data structure diagram illustrating an example plan specification template 2000. Plan specification template 2000 includes a configuration identification segment 2002, a day of week segment 2004, a meal identifier segment 2006, a meal template identifier segment 2008, a dish identifier segment 2010, a recipe template identifier segment 2012, a recipe ingredient identifier list segment 2014 and an ingredient data segment 2016.
[0054] To configure an instance of specification template 2000, processor 20 assigns a meal identifier to segment 2006 by selecting from meal data structure 105. In a first instance, the selected meal identifier would typically (although not necessarily) be the identifier for a first meal of the day, e.g., breakfast. Processor 20 assigns a meal template identifier to segment 2008 by selecting one of the 'permitted' meal templates from meal template data structure 500. Asdescribed above with respect to FIG. 3, the configuration of connector data structure 420 determines which meal templates are permitted for the meal id in segment 2006. Connector data structure 420 'permits' selection from only those meal templates it connects to the given meal identifier in meal data structure 105. (See FIG.3)
[0055] Processor 20 assigns a recipe template identifier to segment 2012 by selecting a 'permitted' recipe template from recipe template data structure 310 as illustrated in FIG. 6. A permitted recipe structure is one whose corresponding ingredient templates are associated with the dish identifier assigned to segment 2010 by the configuration of ingredient template data structure 315 as illustrated in FIG.7.
[0056] For example, FIG.7 shows respective ingredient template instances 432 'salmon,' 433 'oil' and 434 'salt' to be associated with the same dish identifier 61 by configuration of ingredient template data structure 315. Dish identifier 61 in ingredient template data structure 315 connects ingredient template instances 432, 433 and 434 to dish instance 61 of dish data structure 210.
[0057] Returning now to FIG.8, processor 20 provides a recipe ingredient list to segment 2014 by the following sequence of steps. Processor 20 identifies ingredient templates associated with the recipe template identified in segment 2012. For each identified ingredient template, processor 20 selects one of the interchangeable ingredients associated with the ingredient template in recipe ingredient data structure 350. In that manner, processor 20 forms a list of ingredients to assign to segment 2014.
[0058] Processor 20 retrieves information about each of the ingredients by identifying corresponding food identifiers associated with the ingredients in recipe ingredient data structure 350. Processor 20 looks up the corresponding food item identifiers in food database 650, andassigns the corresponding information to segment 216. Processor 20 stores the configured template instance.
[0059] Specification template 2000 specifies only one dish per template instance. Therefore, to produce a complete meal plan specification processor 20 is configured to iteratively configure and store an instance of specification template 2000 for each dish of each meal of each day for every day of the plan schedule. FIG.9
[0060] FIG. 9 is a pictorial illustration of a simplified example instance of a meal plan specification 1100 produced using specification template 2000 as described above. As those of ordinary skill will readily appreciate, meal plan specification 1100 could take any number of different forms. The particular form illustrated in the simplified example of FIG. 9 is one of virtually countless possibilities.
[0061] As shown in FIG.9 a plan day (MON) corresponding to segment 2004 (FIG.8) is shown. An icon is shown to represent content specified by a recipe template corresponding to segment 212 in a first instance of specification template 2000. As described above, the recipe template is a permitted recipe template for the dish 'main' identified in segment 2010 for the breakfast meal identified in segment 2006. That is the extent of meal plan specification 1100 that can be produced using only one instance of specification template 2000. Processor 20 completes the meal plan specification 1100 using additional stored instances of plan specification template 2000. As noted above, one instance of specification template 2000 can specify one dish of the meal specification. Accordingly, 15 instances of specification template 2000 would be produced and stored to represent meal plan specification 1100 in its entirety.FIG.10
[0062] FIG. 10 is a flowchart illustrating steps of a method 1400 in an example implementation. The method starts by constructing a specification template for a user at 1402. At 1404 a configuration identifier is associated with the specification template. At 1406 system 10 receives the configuration identifier at a system input. At 1408 processor 20 applies the specification template associated with the received configuration identifier to stored recipes to produce an instance of the specification template. The produced instance of the specification template is the plan specification. FIG.11
[0063] FIG. 11 is a flowchart illustrating steps of a method 1500 in an example implementation. At 1502 processor 20 stores a user-specified number of daily-occurring meals in a meal data structure. At 1504 processor 20 configures a day of week enumerator to enumerate a user-specified number of plan days. FIG.12
[0064] FIG. 12 is a flowchart illustrating steps of a method 1600 in an example implementation. At 1602 processor 20 configures a dish data structure by storing respective dish labels. Each dish label is a meal content placeholder. At 1604, each meal template is associated with one or more of the dish labels. FIG.13
[0065] FIG. 13 is a flowchart illustrating steps of a method 1700 in an example implementation. At 1702 processor 20 stores metadata including recipe ingredient metadata forrespective recipes as recipe template instances in a recipe template data structure. At 1704 processor 20 assigns respective recipe template identifiers to the respective recipe template instances. FIG.14
[0066] FIG. 14 is a flowchart illustrating steps of a method 1800 in an example implementation. At 1802 processor 20 configures an ingredient template data structure by storing the recipe ingredient metadata for the respective recipes as respective ingredient templates. At 1804 processor 20 configures the ingredient template data structure by associating each of the respective ingredient templates with a corresponding, respective recipe template identifier. At 1806, processor 20 configures the ingredient template data structure by associating each of the respective ingredient templates with a corresponding respective dish label stored in the dish label data structure. CONCLUSION
[0067] Although the invention has been described with reference to exemplary embodiments, it is not limited thereto. Those skilled in the art will appreciate that numerous changes and modifications may be made to the disclosed embodiments and that such changes and modifications may be made without departing from the true spirit of the invention. It is therefore intended that the appended claims be construed to cover all such equivalent variations as fall within the true spirit and scope of the invention.
Claims
CLAIMS 1. A method for producing meal plan specifications comprising: configuring components of a plan specification platform to provide a first platform configuration for a first user; constructing a first specification template for the first user based on the first platform configuration; receiving a request to produce a first plan specification for the first user; and in response to the request producing the first plan specification for the first user by generating instances of the first specification template.
2. The method of claim 1 comprising: configuring components of the plan specification platform to provide a second platform configuration for a second user; constructing a second specification template for the second user based on the second platform configuration; and receiving a request to produce a second plan specification for the second user; and producing the second plan specification for the second user by generating instances of the second specification template.
3. The method of claim 1 or claim 2 wherein the components of the plan specification platform comprise plan schedule components and wherein configuring the components includes configuring the plan schedule components to specify a number of plan days and a number of daily-occurring meals for the first user.
4. The method of claim 3 wherein the plan specification platform comprises meal structure components and wherein configuring the components includes configuring the meal structure components to structure the daily-occurring meals for the first user by meal content placeholders.
5. The method of claim 4 wherein the plan specification platform comprises meal content components and wherein configuring the components includes configuring the meal content components to associate meal content with the meal content placeholders.
6. The method of claim 4 or claim 5 wherein the meal structure components include a meal template data structure comprising meal templates, and a meal content placeholder structure comprising dish labels, and wherein the method further comprises: associating each of the daily-occurring meals with at least one of the meal templates; and associating one or more of the dish labels with each of the meal templates to produce one or more user-specific meal templates for each of the daily-occurring meals.
7. The method of claim 6 comprising: configuring a recipe template data structure to store recipe instruction metadata for recipes as recipe templates; configuring an ingredient template data structure to:store recipe ingredient metadata for the recipes as ingredient templates in an ingredient template data structure; relate the ingredient templates to the recipe templates; and relate each of the ingredient templates to one of the dish labels.
8. The method of claim 7 comprising: storing recipe ingredients in a recipe ingredient data structure; and associating each of the ingredient templates with one or more of the recipe ingredients, whereby each of the ingredient templates is associated with a corresponding set of the recipe ingredients.
9. The method of any of the preceding claims 6 - 8 comprising: configuring a first connector data structure to associate each of the daily-occurring meals with one or more meal templates; and configuring a second connector data structure to associate each of the meal templates with one or more of the dish labels.
10. A system for producing meal plan specifications comprising: a processor; a memory comprising processor-executable instructions that configure the processor to:generate a first specification template for a first user based on a user-specific first configuration of a plan specification platform; receive a request to produce a meal plan specification for the first user; in response to the request, producing the meal plan specification for the first user by generating instances of the first specification template.
11. The system of claim 10 wherein the plan specification platform in the first configuration comprises: a meal data structure configured to store daily-occurring meals; a day of week enumerator configured to enumerate a number of plan days; wherein the processor is configured to: iterate through the daily-occurring meals once for each day of the number of plan days.
12. The system of claim 11 wherein the plan specification platform in the first configuration comprises: a meal template data structure configured to store meal templates; and a first connector data structure configured to associate each of the daily-occurring meals with one or more of the meal templates whereby each of the daily-occurring meals is associated with a corresponding set of meal templates.
13. The system of claim 12 wherein the plan specification platform in the first configuration comprises:a placeholder label data structure configured to store dish labels as meal content placeholders; and a second connector data structure configured to associate each of the meal templates with one or more of the dish labels, whereby each of the meal templates is associated with a corresponding set of dish labels.
14. The system of claim 13 comprising: a recipe template data structure configured to store recipe instruction metadata for recipes as recipe templates; an ingredient template data structure configured to: store recipe ingredient metadata for the recipes as ingredient templates; and relate each of the recipe templates to one or more of the ingredient templates, wherein each of the recipe templates is associated with a corresponding set of ingredient templates; relate each of the recipe templates to one or more of dish labels, whereby each of the respective dish labels is associated with a corresponding set of recipe templates.
15. The system of claim 14 wherein the processor is configured to: for a first daily-occurring meal, select a first meal template from the set of meal templates; and for a first dish label of the first meal template, select a first recipe template from the corresponding set of recipe templates.
16. The system of claim 15 comprising: a recipe ingredient data structure configured to: store recipe ingredients; to associate each of the ingredient templates with one or more of the recipe ingredients, whereby each of the ingredient templates is associated with a corresponding set of recipe ingredients.
17. The system of claim 16 wherein the processor is configured to: for each of the ingredient templates associated with the first recipe template, select an ingredient from the corresponding set of recipe ingredients, thereby generating a set of recipe ingredients for the first dish label in a first instance of the first specification template.
18. The system of claim 17 wherein the processor is configured to: for a second dish label of the first meal template, selecting a second recipe template from the set of associated recipe templates; for each of the ingredient templates associated with the second recipe template, select an ingredient from the corresponding set of recipe ingredients, thereby generating a set of recipe ingredients corresponding to the second dish label in a second instance of the first specification template.
19. The system of claim 18 wherein processor is configured to compute a quantity of a target nutrient provided by the first daily-occurring meal by:computing a first quantity of the target nutrient provided by the set of recipe ingredients for the first dish label of the first meal template; computing a second quantity of the target nutrient provided by the set of recipe ingredients for the second dish label of the first meal template; compute a sum of the first quantity and the second quantity.
20. The system of claim 19 wherein the processor is configured to: determine a difference between the sum and a target quantity of the target nutrient; and produce a second instance of the first specification template based on the difference.