# K4 control: papadimitriou2022 (EPIC diet-wide association study + NLCS replication, Clin Gastroenterol Hepatol 2022)

Controller: K4 (independent). Date: 2026-10-30.
Full text: `drive/EPIC/papadimitriou2022.txt`, which includes online supplement pp. 873.e1–e13. I checked page numbers against `pdf_in/papadimitriou2022_cgh.pdf`. I also rendered Supplementary Figure 1 to confirm that it prints no HR values.
Method: all 22 rows checked by hand against Suppl Tables 2–9, the Results and Discussion text, and the table footnotes. Numbers were compared digit by digit.

## Summary
- Rows checked: 22 of 22.
- Numbers confirmed: 22 of 22. Every point estimate, CI, q-value, SD and case count matches.
- Discrepancies: 0 critical, 0 major, 4 minor.
- Missing estimates: 4 minor (fish subtypes).
- Verdict: fit for use. Red meat is per 1 SD (36.2 g/day) of residual energy-adjusted intake. It is uncalibrated, and red meat is undefined. Do not treat it as a calibrated EPIC estimate or as a like-for-like follow-up of Norat 2005.

## Discrepancies

| estimate_id | field | in database | in paper | severity |
|---|---|---|---|---|
| 001–009 | p_value | FDR q-value (e.g. 0.507 for red meat) | Suppl Table 2 prints both "P Value" (.369) and "FDR" (0.507) | minor – `p_value` should hold the nominal P "as published", with q in the notes. Currently reversed (nominal P is in the notes) |
| 006 (Offal), 007 (Liver) | exposure_includes_processed | `no` | Neither item is defined in the paper. Liver may include pâté or liver sausage | minor – `unclear` per R6, consistent with beef, pork and lamb |
| 016–022 (NLCS) | is_main_model | `no` | The NLCS replication model is the only, most-adjusted model for the NLCS cohort (Suppl Table 6 fn b) | minor – if rows are ever chosen per cohort, NLCS pork has no main row. A decision for Fable |
| 006 vs 007 | is_main_model | Offal `yes`, Liver `no` | Both are coded `exposure = organ`; the rule allows one main row | minor – choice is arbitrary but documented. Fine if analysts filter on exposure_text |

## Checks requested by the brief

- **Per-unit scaling (per SD, with SD in grams).**
  - All rows are `per_sd`, and `dose_point` holds the SD from the Suppl Table 2 SD column: red 36.2, processed 31.5, beef 19.2, pork 17.5, lamb 7.9, offal 6.2, liver 4.7, poultry 19.8, fish 31.
  - The gram unit for red and processed meat is confirmed by the Discussion: "HR per 36.2 g of red meat intake daily" (p. 870).
  - For the other foods the unit is not printed. The g/day assumption is reasonable and is documented.
  - The SD is of the residual energy-adjusted intake. Per-100 g rescaling (e.g. 1.02^(100/36.2) ≈ 1.056) is therefore approximate; `dose_conversions` notes this.
  - **NLCS rows have no SD printed**, so they cannot be rescaled to grams. `dose_point` is correctly empty.
- **is_calibrated.** `no` on all rows, which is correct.
  - The DWAS uses observed baseline questionnaire intakes, energy-adjusted by the residual method and standardised.
  - No EPIC 24-h-recall calibration is used. The only "calibration" in the text is the title of a cited paper (Suppl ref. 10).
  - **This row must not stand in for an "EPIC calibrated" estimate in the rule-conform CUP scenario.**
- **Red meat definition.** Not defined anywhere in the paper. Processed meat is a separate variable, which suggests fresh red meat, but this is not stated. `red_undefined` / `unclear` is correct under R6, and so is study `includes_processed = unclear`.
- **is_main_model.**
  - EPIC rows: `yes` on the only model per exposure × outcome × sex. Correct.
  - Pork subsite and sex rows: `yes`. Correct, since these are separate outcome × sex cells.
  - NLCS: see the table above.
- **Adjustments.**
  - m1 matches Suppl Table 2 fn a and the Suppl Methods:
    - energy, smoking, BMI, physical activity, diabetes and education;
    - stratified by age, sex and centre;
    - **no alcohol, family history, fibre, calcium or other meat**.
    - `adj_alcohol = no` is correct and important: alcohol is the strongest DWAS hit and is not adjusted for in the meat models.
  - m2 matches Suppl Table 6 fn b: adds family history; no centre.
  - `energy_method = residual`, which is correct.
- **Cohort IDs.**
  - EPIC rows: `epic`. NLCS rows: `nlcs`. Correct.
  - NLCS rows must not be pooled with gilsing2015 (same cohort).

## Missing estimates
- Suppl Table 2 (873.e5), "Fish and seafood" subtypes, all EPIC CRC per 1 SD:
  - fatty fish 0.97 (0.94–1.00), SD 14.5;
  - lean fish 0.99 (0.95–1.02), SD 23.4;
  - fish products 0.97 (0.93–1.00), SD 8.7;
  - crustaceans 1.01 (0.98–1.05), SD 6.1.
  - The extractor deliberately skipped these (noted in row 009). R1 includes fish as a negative control, so they are minor omissions. "Fish" itself is coded.
- Supplementary Figure 1 (873.e3): red and processed meat HR per SD by cumulative follow-up year, 1998–2013. **It is graphical only.** Events and mean person-years are printed, but no HR values. It cannot be coded except by digitising.
- No other meat estimates exist:
  - Suppl Tables 3–9 cover only the 20 FDR-significant factors, so pork is the only meat in them.
  - Suppl Table 10 contains no meat.
  - No EPIC + NLCS meta-analysis was run for pork because heterogeneity was high (P = .040).

## Independent re-derivation
- EPIC cases:
  - Colon 1495 + 1435 + 213 unspecified = 3143.
  - Colon 3143 + rectum 1715 = 4858 < 5069. The remainder is presumably overlapping or unspecified CRC; the paper does not explain the 211.
  - Men 2191 + women 2878 = 5069 (Suppl Table 1).
- Case counts for rows 003, 005, 006 and 007 are correctly left empty, because the analysis N is reduced by missing countries (footnotes i–l).
- All CIs contain their point estimate. Log-symmetry asymmetries (001, 006, 010) are within 2-decimal rounding.
- Study row: n 386,792; mean follow-up 14.1 y; 5069 / 3143 / 1715 cases; `diet_instrument = mixed`. All correct.

## Paper internal inconsistencies
- None that affect meat rows. The Discussion values for red meat (1.02, 0.98–1.05 per 36.2 g) and processed meat (1.04, 1.00–1.08 per 31.5 g) match Suppl Table 2.
- KODEBOK §7 lists "Norat → Papadimitriou" as a version comparison. **It is not like-for-like.**
  - Norat 2005: defined red meat, g/day categories, a calibrated estimate available, adjusted for alcohol and fibre.
  - Papadimitriou 2022: undefined red meat, per SD, uncalibrated, no alcohol or fibre adjustment.

## Rows confirmed as correct
All 22 rows (`papadimitriou2022_001`–`_022`) for numbers, outcome, sex, cohort, unit, dose_point (SD), calibration flag, adjustment set and source table and page. The only exceptions are the minor flags above.
