# K8 control – yiannakou2022 (Black Women's Health Study; J Nutr 152(5):1254–1262)

Full text: /home/claude/drive/post2015/yiannakou2022.txt (PDF-derived, two-column). Rows: 73 (yiannakou2022_001–073).

## Method
- Rows 001–072 were checked by script (`yian_check.py`, parsing Table 2 [3 exposures × all/≥50/<50] and Table 3 [3 exposures × proximal/distal/rectal]). Fields checked: category_label, n_cases, person_years, point, ci_low, ci_high and p_trend. The continuous rows' n_cases and person_years were checked against the sums of their categories. **0 mismatches.**
- Row 073 and the text p-values were checked by hand. All match: 0.1, 0.8, 0.03, 0.02, 0.6, 0.9, 0.8, 0.05, 0.6, 0.4, 0.02 and 0.03.

## Category case sums
- Table 2: each exposure sums to 564 (all), 420 (≥50) and 144 (<50). These match "564 incident CRC cases (420 late onset, 144 early onset)".
- Table 3: proximal 222, distal 92 and rectal 104 for each exposure, i.e. 418 of 564. The remaining 146 are unspecified or other colon sites. studies.csv explains this correctly.
- Reference = lowest category throughout. Correct.

## log10 continuous rows (checked specifically): flag as non-linear
Methods: intakes "were analyzed as log10-transformed continuous variables". The HR per 1-unit change in log10 "corresponded to 100 g/d" (50 g/d for processed). A one-unit log10 change is a **10-fold ratio** of intake, not an additive 100 g/d. The authors' equivalence is a nominal relabelling, and the HR is not a linear per-100 g slope.

| estimate_id | field | in database | in paper | severity |
|---|---|---|---|---|
| yiannakou2022_004, 008, 012, 016, 020, 024, 028, 032, 036, 040, 044, 048, 052, 056, 060, 064, 068, 072 (18 rows) | dose_unit / contrast_type | `per_100g` or `per_50g`, contrast `continuous` | HR per 1-unit log10(g/d), labelled "Continuous, per 100 g/d" (Tables 2–3) | **major**: the notes say "not a linear per-gram slope", but the coded fields read as linear. derived_per100g.csv already uses them as `continuous_scaled` per 100 g (e.g. total red 1.26; processed rescaled 1.02² = 1.04). Recommend a dedicated dose_unit (e.g. `per_log10_unit`) or a non-linearity flag, and exclusion from linear per-100 g pooling. Use GL from the categories instead; derived_per100g already has these (total red 1.59, unprocessed 1.63 per 100 g/d). |

## Other discrepancies
| estimate_id | field | in database | in paper | severity |
|---|---|---|---|---|
| yiannakou2022_001–036 | source_page | 1257 | Table 2 is on p. 1256 (page header "1256 Yiannakou et al." directly precedes it) | minor |
| yiannakou2022_037–072 | source_page | 1258 | Table 3 is on p. 1257 (header "…colorectal cancer 1257" precedes it) | minor |
| yiannakou2022_073 | source_page | 1257 | The joint-effects paragraph is on p. 1256 | minor |
| studies.csv | pmid | empty | not printed in txt | none |

## Flags and definitions
- red_total / yes: confirmed ("Total red meat included processed red meat in addition to unprocessed red meat").
- processed / yes: bacon, sausage, hot dogs, lunchmeats. Confirmed.
- red_unprocessed / partial: the paper's unprocessed list includes pork "dinner ham", a cured product. `partial` is justified.
- Categories in servings/week with g/wk bounds (85 g serving). dose_low/high confirmed. dose_conversions dc01–09 midpoints (1/3/5, 0.25/0.75/1.25 and 0.5/2/4 servings × 85/7) recomputed and correct.
- Model: one multivariable model (m1). Flags confirmed: age-stratified, energy, fibre, discretionary fat, BMI, T2D, alcohol, smoking, aspirin, vigorous activity, education. adj_sex = no (women only) is correct.
- is_main_model: yes for the all-ages, all-site and subsite outcome rows; no for the age strata and row 073. Correct.
- studies.csv: n = 52,695, 564 cases, median follow-up 22 y, 1995 baseline, ages 21–69, FFQ with 68 items in 1995 and 85 in 2001, cumulative average (diet_repeated = yes), mixed ascertainment, rectum 104. All confirmed.

## Missing estimates
- Three other joint-effect estimates in the Results text are not coded: high red meat with low F&V, 1.41 (1.05–1.89); high red meat with low whole grains, 1.41 (1.05–1.90); and low F&V within low red meat, 1.37 (1.00–1.88). They are combined-exposure contrasts against a double reference, so leaving them out is defensible. Listed for completeness (optional).
- Supplemental Table S1 and Figure S1 are not available.
- The age-interaction p (0.4) is not stored on any row. Optional; it could go in the notes of 005–012.

## Confirmed
All 73 rows are numerically confirmed. Rows 001–003, 005–007, 009–011, 013–015, 017–019, 021–023, 025–027, 029–031, 033–035, 037–039, 041–043, 045–047, 049–051, 053–055, 057–059, 061–063, 065–067, 069–071 and 073 are confirmed in all fields except source_page. The 18 continuous rows are confirmed numerically but carry the non-linearity issue above.

## Internal inconsistencies in the paper
- Results text: "higher total red meat intake (≥4 servings/d)" in the joint analysis. Everywhere else it is servings/wk. Row 073's notes record this.
- The log10 = "100 g/d" equivalence (Methods) is internally incoherent, as explained above.
- Fat results in the text say "the OR was 0.89" for a Cox HR. This does not concern meat.

## Verdict
Fit for use for the categorical rows, which are all correct, and for GL reconstruction from them. **The 18 continuous rows must not be pooled as linear per-100 g (per-50 g) estimates.** Re-code or flag them before any per-100 g analysis, and remove or annotate the corresponding `continuous_scaled` rows in derived_per100g.csv.
