# K6 control – key2014 (EPIC-Oxford + Oxford Vegetarian Study, Am J Clin Nutr 2014;100(suppl):378S–85S)

Controller: K6 · 2026-10-30 · Source: `post2015/key2014.txt`.

## Method
- A script checked that every non-reference estimate string "pt (lo, hi)" in the DB occurs in the full text. It also checked Table 2 (p. 382S), Table 3 (p. 383S) and the meat-quantity text (pp. 381S–383S).
- Cases, P-heterogeneity, models and flags were checked by reading.

## Results of the number check
- **All 36 rows match the paper.** All 26 table rows match on point, CI and cases. All 10 meat-quantity text rows match, including the +BMI values 0.83 (0.65–1.06), 1.01 (0.79–1.31), 0.63 (0.44–0.90) and 0.98 (0.76–1.27). **0 mismatches.**
- **Cases:**
  - Colorectal 382 / 43 / 154; colon 246 / 26 / 92; rectum 136 / 17 / 62.
  - Table 3: 382 / 43 / 135 / 19, and 135 + 19 = 154.
  - Sums 579 / 364 / 215 = studies.csv; colon + rectum = 579.
- **The P-heterogeneity values** in p_value on the last row (0.033/0.032, 0.099/0.11, 0.30/0.30, 0.047/0.045) are correct.
- **Pages:** Table 2 = 382S and Table 3 = 383S. The text starts on 381S and runs to 383S. All correct.

## Diet-group reference (the specific check requested)
- **The reference is meat eaters**, the *exposed* group, in all sets (Tables 2–3: "Meat eaters … 1.00").
  - In the meat-quantity analysis, the reference is **≥100 g meat/day**, the *highest* intake.
  - The database codes the reference as category_rank 1, in the paper's column order, with RR 1.00. That is faithful to the paper.
- **The direction is the reverse of the usual "high vs low" contrast.** RR < 1 means lower risk in people who eat *less or no* meat.
- **checks.py check 4 (dose rising with rank) will fail on the `_meatqty` sets by construction.** This is documented in NOTES.
- **Any dose-response use must invert these rows**, and the reference category is not a low-dose group.

## Discrepancies

| estimate_id | field | in database | in paper | severity |
|---|---|---|---|---|
| key2014_027–036 (meat-quantity sets) | exposure | `red_undefined` | Total meat intake from the FFQ meat items (≥100 / 50–99 / <50 g/d), plus fish eaters and vegetarians (pp. 380S, 381S). The vocabulary value is `total_meat`. The extractor kept `red_undefined` on instruction and flagged it in notes | critical by the brief's definition (wrong exposure). The numbers are right, but the rows could enter a red-meat pool under this code |
| key2014_001–026 (diet-group sets) | exposure | `red_undefined` | Diet group (any meat vs fish-only vs no meat/fish) from 4 yes/no questions. Not a red-meat variable. No vocabulary value fits; `total_meat` is the closest | major. Placeholder per the assignment; well documented, but must be excluded from red-meat pools |
| key2014_030/031, 035/036 | dose_low / dose_high | empty | Fish eaters and vegetarians have 0 g meat by definition and could be coded 0/0 if the set is ever used for dose-response | minor |

## Checked by reading
- **Models.**
  - Basic model (key2014_m1) = smoking, alcohol and physical activity, stratified by sex and study/recruitment method, with age as the time scale. Matches Table 2/3 footnote 1 and the Methods.
  - +BMI (m2) adds 6 BMI categories. Correct.
  - adj_energy = no and energy_method = none are correct: there are no dietary covariates.
- **is_main_model.**
  - `yes` only on the Table 2 Basic rows. The authors deliberately left out BMI as a potential mediator (p. 380S), so this is correct under KODEBOK 4.2(a).
  - Table 3 (4 groups), the +BMI rows and the meat-quantity rows are `no`. Defensible.
- **Outcome codes:** C18–20 colorectal, C18 colon, C19–20 rectum. Correct.
- **n_cases is empty on the +BMI and meat-quantity rows.** This is correct: no counts are printed.
- **studies.csv:**
  - n = 61,647; mean follow-up 14.9 y; age 20–89 (exclusion <20 or >89).
  - FFQ items: EPIC-Oxford 130, OVS 45.
  - Registry follow-up to 31 Dec 2010; recruitment 1980–1999; design pooled_cohorts.
  - All correct.
  - cohort_id `epic_oxford` covers OVS as well. Spencer2010 (UK DCC) contains both EPIC-Oxford and OVS, so the two papers must never be pooled together. The notes say this.

## Missing estimates
- None for colorectal, colon or rectum. The abstract repeats Table 2.
- No sex-specific or vegan-by-subsite estimates exist.

## Confirmed rows
All 36 rows are confirmed on the numbers. The fields are confirmed except the exposure code (36 rows) and the minor dose items above.

## Internal inconsistencies in the paper
- **Table 2, "All sites", +BMI, vegetarians:** "0.90 (0.93, 0.96)". The point lies outside the CI, so this is a misprint. It does not affect any colorectal row.

## Verdict
**The numbers are fit for use. The exposure coding is not, for pooling.**
- The rows describe a diet-group contrast (any meat vs none), referenced to the *highest*-exposure group.
- They must stay out of red-meat dose-response and HvL pools.
- The `_meatqty` set should be recoded `total_meat` if used at all, and inverted if it is used in a dose-response analysis.
