# K1 control – larsson2005 (SMC, Int J Cancer 113:829–834)

Controller: K1, 2026-10-30. Source read: `larsson2005.txt` (Table I p. 830, Table II p. 831, Results pp. 830–831).

## Method
- **Table II (84 rows).** A script parsed it and compared outcome, exposure, rank, label, point, CI and p_trend: 588 field comparisons, **0 mismatches**.
- **Text rows 085–090 and Table I denominators.** Checked by hand: all match.
- **Adjustment sets m1–m7.** Checked flag by flag against Table II footnotes 1, 3, 4 and 5 and the Results text: all correct.
- Per-category cases are not printed for any exposure, so case sums cannot be re-derived. Table I n per red-meat quartile sums to 61,433, which is correct.

## Discrepancies

| estimate_id | field | in database | in paper | severity |
|---|---|---|---|---|
| (studies.csv) larsson2005 | cases_colorectal / cases_colon / cases_rectum | empty | CRC 733; rectum 230; colon = 234 proximal + 155 distal (+ unknown subsite); 4 with both are excluded from subsite analyses (p. 830; Table II fn 2) | major (check 5 cannot run; the totals are only in notes) |
| larsson2005_049–056 | dose_unit | `times_month` (notes: "no servings_month in vocabulary") | printed "servings/month"; KODEBOK 3.3 **does** list `servings_month` | minor |
| larsson2005_017–032 vs 049–056 | exposure / is_main_model | both "Processed meats" and "Blood pudding" are `exposure = processed`, both `is_main_model = yes` | blood pudding is one item inside the processed-meat group (p. 830); it is a separate 2-category analysis with its own model (fn 5) | major (flag): this gives two main `processed` sets per outcome, breaking the one-main-set-per-exposure×outcome×sex rule. A script that picks "the" main processed row may take blood pudding. Suggest `is_main_model = no` on the blood-pudding rows, or a distinct exposure/subgroup tag. |

## Key points verified
- **Red meat** → `red_total`, `exposure_includes_processed = yes`. Correct. Table I fn 1 lists bacon, hot dogs, ham/lunch meat, blood pudding, kidney/liver and liver pâté.
- **"Beef and pork as a main dish"** → `red_main_dish`, `exposure_includes_processed = no`. Correct. Fn 4 defines it as whole beef, chopped meat and minced meat, so the variable is unprocessed.
  - Rows 033–048 match exactly, for example: CRC ≥4.0 (median 5.5) 1.22 (0.98–1.53), p trend 0.32; distal 1.99 (1.26–3.14), p trend 0.01.
  - Category medians 1.5 / 2.5 / 4.0 / 5.5 servings/week are `paper_median`. Correct.
- **CUP-relevant rows.** CUP's label is "unprocessed red meat (beef, pork)", ≥4 vs 0–1.9 servings/week, at an assumed 120 g/serving. So CUP used the main-dish rows:
  - CRC **033–036**
  - proximal **037–040**
  - distal **041–044**
  - rectum **045–048**

  These are also rule-conform (unprocessed when available). The paper's own continuous per-100 g estimate, 1.20 (0.99–1.45) (row 085), applies to *total* red meat incl. processed. It is not what CUP used and is not rule-conform. The paper prints no grams per serving, so CUP's 120 g is CUP's own construction.
- **Continuous rows.**
  - 085 is CRC per 100 g 1.20 (0.99–1.45), n 733, py 855,585. Correct.
  - 086 is distal per 100 g 1.70 (1.31–2.21), n 155. Correct.
  - No continuous estimate is printed for proximal or rectum.
- **is_main_model.** Table II rows and the continuous rows are `yes`. The secondary 1997-covariate model (088–090, m7) is `no`, as KODEBOK 4.2 specifies. The sensitivity row (087) is `no`. All correct, except for the blood-pudding point above.
- **Doses.** Red meat medians 37/60/80/114 g/day and processed meat medians 6/16/26/41 g/day. Correct.
- **Denominators.** Table I n per quartile (15,442 / 15,410 / 15,335 / 15,246) is on the red-meat rows. Correct.
- **adjustments.**
  - m1 and m3 include fish and poultry (fn 3).
  - m2 (processed) has no fn-3 marker, so no mutual adjustment.
  - m4 (blood pudding) adds the main-dish meat, fish and poultry (fn 5).
  - m5 and m6 carry `adj_processed_meat = unclear`, which is correct.
  - m7 adds smoking, HRT and aspirin.
  - `adj_fiber = no` (whole grains, not fibre), which is correct.
- **studies.csv:** n 61,433; 1987–1990; mean 13.9 y; 67-item FFQ; registry; definition; `includes_processed = yes`. All correct.

## Missing estimates

| Source | What | Note |
|---|---|---|
| Results p. 831 | Blood pudding, distal colon + rectum combined: 1.26 (1.02–1.55), ~2 servings/month vs never | The extractor omitted this because "distal colon + rectum is not in the outcome vocabulary". KODEBOK 3.3 **does** have `outcome = distal_colorectum` (distal colon + rectum). It should be added as `processed`/blood pudding, `distal_colorectum`, `hvl` (or category rank 2), with model m4 presumed. |

Nothing else is missing. Figure 1 is a spline with no printed estimates, and the χ² heterogeneity p-values are not estimates.

## Rows confirmed
All 90 rows (larsson2005_001–090) are numerically correct. Rows 001–016, 033–048 and 057–090 are confirmed without remarks. Rows 017–032 and 049–056 are correct in their numbers but carry the flag issues above.

## Internal inconsistencies in the paper
All are recorded as printed:
- Processed meats 12–21, CRC: "0.89 (0.72–1.90)". The upper limit is implausible.
- Processed meats 22–31, rectum: "1.02 (0.75–1.55)". Asymmetric.
- Beef/pork 3.0–<4.0, proximal: "0.78 (0.45–1.17)". Asymmetric.
- The beef/pork Q3 median is printed "(4.0)", which lies on the excluded upper bound.
- Fish and poultry "<0.5 (median, 0.5)": the median sits on the open bound.
- The methods say red meat and fish are in quartiles. Fish uses fixed serving cut-points instead.

## Verdict
Fit for use. All published numbers are exact, and the CUP rows (main-dish set) are correct and correctly flagged as unprocessed. Three fixes are recommended:
1. Fill the case totals in studies.csv.
2. Resolve the double main `processed` set (blood pudding).
3. Add the missing distal-colorectum blood-pudding estimate.
