Nutritional Systems Model

A nutrition-model for the body that focuses on systems.

This is an outline project I’ve had in mind in for a long time, most recently inspired by the work with the Ruby programming language for simple, pseudo-natural-language processing, and by Dr. Mark Hyman’s work on Functional Medicine (The UltraMind Solution, Ultrametabolism).


  • A visible condition is a symptom
    • Ex: Not enough energy
  • A testable condition is something that can be measured
    • Ex: “Not enough Vitamin X”
  • Possible Causes of a Deficiency
    • Not in the soil 
    • Destroyed by farming practice
    • Not present in available foods
    • Not in the diet (foods selected from those available)
    • Not absorbed
      • Absorption not enabled
      • Absorption blocked
    • Missing co-factor
      • Output: Visible conditon suggests not enough
      • State: Measurement suggests enough or too much
      • Input: Dietary intake analysis suggests enough or too much
    • “Nutrient Drain” (used elsewhere)
      • Output: Visible conditon suggests not enough
      • State: Measurement suggests not enough
      • Input: Dietary intake analysis suggests enough or too much

System Language


Things the system can do:

  1. List symptoms: Show all symptoms in the database, for browsing.
  2. List causes: Given a symptom, show all possible causes.
  3. Trace connections: Given a symptom and a cause, show how they’re related.
  4. List common causes: Given multiple symptoms, show intersection of possible causes.
  5. List other symptoms: Given a cause, show all possible symptoms that derive from it


  • cause, causes, produce, produces
  • enables
  • impedes
  • has, have, contain, contains


  • insufficient (not enough)
  • excess (too much)
  • sufficient (balanced)


  • Nutrient
    • Intake
    • Digestion
    • Absorption
    • Utilization
  • Biological organ
    • Function
    • Breakdown

Symptom Database (example)

Symptom: Carbohydrate Cravings

See Fatigue after Eating.

Symptom: Fatigue after Eating

Cause: Sugar metabolism:

  • Insulin spikes cause fatigue after eating. (cause)
  • Insulin spikes cause carbohydrate cravings. (cause)
  • Sugar causes insulin spikes. (causes == cause)
  • Partially hydrogenated oils contain trans fats. (contain)
  • Trans fats produce insulin resistance. (produce)
  • Insulin resistance causes insulin spikes.
  • Whole foods contain fiber.
  • Fiber slows digestion. (slows)
  • Slow digestion prevents insulin spikes. (slow == slows)
  • Refined foods lack fiber. (lack (verb) = have not enough (verb + adj)
  • Lack of fiber causes insulin spikes. (lack of (adj) == not enough, =/= lack (verb))

Symptom: Insomnia

  • Indigestion sometimes produces insomnia
    • “produces” here, rather than “causes” to represent skipped links in the causal chain
    • Reserve “causes” to identify direct links
  • Food allergies cause indigestion
  • Toxic food causes indigestion
    • If indigestion is caused by food allergy or food allergy, it will produce insomnia
    • Are there other causes?


Please share!


    Trackbacks & Pingbacks

    1. Ideas and Inventions | May 7, 2017 (3:54 pm)

      […] Biological Nutrition Model. Capture nutritional and biological information in a systems model that represents the human body, in order to predict and diagnose the impact of nutrients and toxins. The idea is to help make it possible to reason backwards from observed symptoms to probable causes, identify potential remedies, and compare the results created by a treatment to verify the original assumptions. When done, it should be possible for doctor or patient to identify the causes of chronic, long term problems that result from a environmental toxins, dietary toxins, and “operational” nutrient deficiencies (present in the diet, but not absorbed, or not present in the quantities needed due to other factors)–or from a combination of those factors. Learn more: Nutritional Systems Model. […]

    2. Ruby Rocks! | May 4, 2017 (6:26 am)

      […] example Nutritional Systems Model constructed with a Ruby […]

    Add your thoughts...

    This site uses Akismet to reduce spam. Learn how your comment data is processed.