There is more to recipe input than just entering the ingredients and their quantities. Below is a list of requirements to define recipes. (R) indicates a required item, (O) indicates an optional item but useful if you are going to be creating a large collection of recipes for many purposes.
- (R) A recipe database. If a database does not exist, it must be easy to create one.
- (R) Recipe code. The unique identification for the recipe. One can build in some information in this code, for instance, all 100 recipes could be salads, all 500 recipes could be deserts, etc.
- (R) Recipe description. This is the name of the recipe.
- (R) Ingredients. A list of ingredients with quantities. Each ingredient is a food code from the active food database. Quantities of each ingredient are specified in grams.
- (R) Number of servings. How many servings does this recipe produce.
- (R) Serving size. This can usually be derived from the sum of the ingredients weights and the number of servings. If the recipe loses moisture in cooking the serving size will not be correct and an actual serving size will need to be inserted.
- (O) Preparation. A description of how to prepare the recipe. This is only needed if one is creating recipes for others to use. It is not required for the calculation of nutrients.
- (O)Many other attributes could be collected for recipe documentation, such as remarks; a couple of hints lines; where the recipe is used; its main product, its product group, its type, its density, various dates such as date created, tested, analyzed, converted and preparation time.
This defines a single recipe which then becomes a single entry in the database.