stack_analyze
Check a list of dietary supplements for a person: per-nutrient daily totals against NIH upper limits (UL) and RDA/AI, which products overlap, what each UL protects against, and single-product changes that would bring an above-UL nutrient back under it. Products can be given as names ("Centrum Silver Women 50+"), barcodes, DSLD IDs, or custom ingredient lists; optional candidates are evaluated as additions. Pass the person's medications and conditions (smoker, kidney_disease, hemochromatosis, lab_test_soon, cancer_treatment) to check them against the interactions in the NIH fact sheets. Returns agent_summary (plain sentences to relay), resolutions, suggestions, interactions, nutrient_totals and data_gaps. Label data only; food is included only with diet "typical".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| age | No | Age in years. For infants use a fraction: 0.25 = 3 months; 0-5 and 6-11 month values apply under 1. | |
| sex | No | ||
| diet | No | "typical" adds the US average intake from food and drinks for this age and sex (NHANES) to estimate total intake; see with_typical_diet | none |
| lang | No | "es" writes agent_summary in Spanish (the English text is kept in agent_summary_en); other fields stay in English | en |
| foods | No | Optional, up to 30: what the person eats in a day, e.g. [{"query":"spinach cooked","amount":1,"unit":"cup"},{"query":"whole milk","grams":488}]. Added to the supplement totals in nutrient_totals[].with_foods (USDA SR28, offline). Use instead of diet "typical". | |
| detail | No | "summary" returns only what an agent needs to answer (agent_summary, flagged nutrients, suggestions, resolutions, candidate verdicts), about 1-3 KB instead of 20-40 KB | full |
| products | Yes | 1-15 products. Each is one of: {"dsld_id"}, {"query"} (a product name, resolved server-side), {"upc"} (barcode), or a custom product {"name","ingredients"}. Add "servings_per_day" to any of them. | |
| candidates | No | Optional, up to 5: products the user is considering adding. Each is evaluated as an addition to the stack in candidate_results[]; they are not included in nutrient_totals. | |
| conditions | No | Conditions that change how NIH reads a dose: smoker (current or former, or asbestos exposure: beta-carotene), kidney_disease (potassium, magnesium, phosphorus), hemochromatosis (iron, vitamin C), lab_test_soon (biotin interferes with lab tests), cancer_treatment (antioxidant doses) | |
| life_stage | No | Pregnancy or lactation (breastfeeding) reference values; requires sex "female" and age 14-50 | |
| medications | No | Medications the person takes, as generic or brand names ("warfarin", "Synthroid", "metformin 500 mg"). Checked against the medication interactions listed in the NIH ODS fact sheets; not exhaustive. Never logged. |