# K8 control – mejborn2021 (DANSDA, Denmark; Nutrients 13(1):32)

Full text: /home/claude/drive/post2015/mejborn2021.txt (PMC). Rows: 36 (mejborn2021_001–036).

## Method
- All 36 rows were checked by script (`mej_check.py`, parsing Table 3 and Table 7). Fields checked: point, ci_low, ci_high, n_cases (category rows) and p_trend. **0 numeric mismatches.**
- Definitions, the low/high split, models and flags were checked by reading.

## Low/high split (checked specifically)
- The paper explains why there are only two groups: "categorised in two groups (below median; median and above)" (Methods 2.5). The cut-points come from the all-cause mortality cohort (n = 9,848), not the CRC cohort (n = 6,282).
- Cut-points in the database match the Table 3 footnotes: red < 65 / ≥ 65, processed < 35 / ≥ 35, poultry < 16 / ≥ 16 g/day. dose_high = cut on the Low rows and dose_low = cut on the High rows. Correct.
- Reference = Low in all sets. Correct.
- Case sums: 64+63, 65+62 and 53+74 all equal 127, the paper total. DGC strata: 27+34 = 61 (low DGC) and 37+29 = 66 (high DGC) for red meat, and the same totals for processed meat and poultry. 61+66 = 127. Correct.
- Continuous rows for the DGC strata carry n_cases = 61/66, derived as stratum sums. Notes say this. Acceptable.

## Discrepancies
| estimate_id | field | in database | in paper | severity |
|---|---|---|---|---|
| mejborn2021_020, 021, 023, 024, 026, 027, 029, 030, 032, 033, 035, 036 | p_value | holds the **p for interaction** (0.53/0.45/0.47/0.97/0.75/0.89) | Table 7 last column = "p-Value for Interactions", which is not the estimate's own p | minor (the notes say so, but a script reading p_value would misread it; better in notes only, or in a dedicated field) |
| studies.csv | diet_instrument | `mixed` | "seven-day pre-coded food diaries". `food_record` now exists as a value (NOTES_all) | minor |
| dose_conversions mejborn2021_dc01–03 | g_day_assigned | empty ("neither midpoints nor CUP-rule doses can be assigned") | For a median split, the median of the lower half equals P25 and the median of the upper half equals P75 of the same distribution. Table 2 prints these for the n = 9,848 cohort (red 41/97, processed 19/58, poultry 1/34 g/d), and the paper says the CRC cohort distribution is "almost identical" | minor (suggested improvement: assign these as approximate category medians, with portion_source = paper) |

No critical or major discrepancies.

## Flags and definitions
- red_unprocessed / no: confirmed ("unprocessed muscle tissue from mammals"). It includes "a small intake of unprocessed edible offal". This is worth noting but does not change the flag.
- processed / yes: confirmed. The definition covers red meat or poultry that is smoked, dried, cured or fermented.
- Models: m1 = "Adjusted by sex" with age as the Cox timescale (adj_age = yes is correct). m2 = sex, education, ethnicity, smoking, physical activity, alcohol, BMI and total energy. Flags confirmed. Each meat is in a separate model, so is_mutually_adjusted_processed = no is correct.
- is_main_model: m2 = yes for Table 3, and the Table 7 strata = no. Correct.
- p_trend (0.86/0.34/0.34) is printed once per exposure in the last column, so it is ambiguous which model it belongs to. Attaching it to the multivariable continuous row is acceptable.
- studies.csv: n = 6,282, mean follow-up 8.7 y, 127 cases, ICD-10 C18 + C20, cooked weight, age 15–75 at baseline with entry at 50, registry. All confirmed.

## Missing estimates
None. The total-meat result is "data not shown". The mortality tables are out of scope.

## Confirmed
All 36 rows confirmed (numbers, labels, models, flags). The p_value caveat above applies to 12 rows.

## Internal inconsistencies in the paper
None found. The abstract, Results text and Tables 3/7 agree.

## Verdict
Fit for use. Only two categories, so it cannot be used for GL dose-response. The printed continuous estimates (per 100 g/d, and per 50 g/d for processed) are the usable rows.
