Model submission — demonstration paper (Kueh et al., BMJ Open 2026).
Among U.S. adults meeting FLI-based MASLD criteria, is central adiposity (WHtR) associated with all-cause mortality, and how robust is that association to how the analytic cohort is constructed?
Scientific (locked) estimand — IV vs III. Among adults meeting FLI-based MASLD criteria, do non-obese adults with high central adiposity have higher all-cause mortality than non-obese adults with low central adiposity?
Replication estimand — IV vs I. The paper references its contrasts to Group I (obese, low central adiposity). We reproduce that, because reproducing it is what Replicate means. Every increment and milestone states which of the two it is reporting.
We assembled six NHANES cycles (2007–2008 through 2017–2018) from the public component files: demographics (DEMO), body measures (BMX), fasting biochemistry for triglycerides and glucose (TRIGLY/GLU), standard biochemistry for GGT and creatinine (BIOPRO), blood pressure (BPX), glycohaemoglobin (GHB), lipids (HDL/LDL/TCHOL), smoking (SMQ), alcohol (ALQ), physical activity (PAQ), and the medical-conditions and prescription-medication questionnaires (MCQ, RXQ). These were merged to the NCHS 2019 public-use linked mortality file. All merges key on the respondent identifier SEQN, one row per person per cycle, cycles stacked before selection. FLI is computed as FLI = 100/(1+exp(−(0.953·ln(TG) + 0.139·BMI + 0.718·ln(GGT) + 0.053·waist − 15.745))).
RIDAGEYR). Unambiguous.WTSAF2YR exists to account for that selection stage and its nonresponse. This is not an eligibility choice we make, and it is not missing data.Every step carries a type label. A funnel shows N falling; it does not show why, and the reasons are not interchangeable.
| Step | Criterion | N | Type | Dropped |
|---|---|---|---|---|
| 0 | NHANES 2007–2018 records | 59,842 | — | — |
| 1 | Age ≥ 18 | 36,580 | ELIGIBILITY | 23,262 |
| 2 | In fasting subsample | 14,962 | DESIGN | 21,618 |
| 3 | FLI computable (TG + GGT + BMI + waist) | 14,170 | MISSINGNESS | 792 |
| 4 | Steatosis (FLI ≥ 60) | 6,052 | TARGET POPULATION | 8,118 |
| 5 | MASLD (≥ 1 cardiometabolic criterion) | 6,050 | TARGET POPULATION | 2 |
| 6 | Phenotype group assignable | 6,050 | MISSINGNESS | 0 |
| 7 | Mortality-eligible and linked | 6,048 | OUTCOME ASCERTAINMENT | 2 |
After eligibility, the two largest drops are Step 2 (design) and Step 4 (target population), and neither is missing data.
WTSAF2YR exists to account for that selection stage and its nonresponse. The correct response is the right weight and a domain analysis (P4), not imputation.We separate these because collapsing them is the standard error here. Reading the funnel as “41% of adults have a computable FLI, so 59% are missing” merges a designed subsample with a disease definition and produces an apparent missing-data problem of about 29,700 people where the real one is 792 + 2. The 792 are a real item-nonresponse problem and they remain an upstream issue we do not resolve: they sit before the analytic cohort, so no within-cohort method reaches them. P5 interrogates a different and smaller thing — the 109 missing cancer values among the Model-1 covariates inside the cohort. Both are genuine; only the second is tractable here.
Note also that our cohort is 6,048, not the 6,371 the pipeline reports for the full analytic file: restricting to records with a valid fasting weight is what makes the design-aware analysis possible, and it is a different (correct) denominator.
| Group (BMI / WHtR) | Ours | Paper |
|---|---|---|
| I — obese / low central (WHtR<0.6) | 391 | 386 |
| II — obese / high central (WHtR≥0.6) | 4,585 | 4,541 |
| III — non-obese / low central | 787 | 769 |
| IV — non-obese / high central | 608 | 604 |
All four groups reproduce within about 2% (the largest gap is Group III, 787 against 769). Group IV (non-obese, high central adiposity) is the paper’s headline “worst survival” phenotype; our all-cause death counts (5 / 389 / 74 / 118; total 586) likewise match the paper’s (5 / 388 / 74 / 118; total 585).
The paper’s Methods state an exclusion of “>2 drinks/day (men), >1 (women),” but its reported N and deaths match no effective exclusion. We tested three defensible codings of the same sentence:
ALQ130 rule (usual drinks on drinking days, applied flatly): removes 2,063 → N = 4,308.One coding trap, worth its own line. ALQ130 uses NHANES reserved codes — 777
(“refused”) and 999 (“don’t know”). Applied to raw values, a rule like ALQ130 > 2
silently reclassifies every refusal as a heavy drinker; here that is nine people, and it
moves the crude-rule exclusion from 2,063 to 2,072. Reserved codes are not measurements.
Strip them before any threshold rule, in every increment.
The three codings span a >2,000-person range from one ambiguous sentence. We did not tune the coding to hit the paper’s N. We adopted the no-exclusion path because it reproduces the published cohort and is the most transparent about the discrepancy, and we carry the alcohol question forward as a documented methods-vs-results inconsistency rather than a solved step.
The paper’s Table headers label the non-obese groups “BMI < 25.” That is inconsistent with the data: the non-obese groups have BMI medians of 27.6 (III) and 28.8 (IV) — impossible under a 25 cut. The Methods text uses BMI ≥ 30 for obesity, and coding the split at 30 reproduces the group sizes above. We conclude the “< 25” headers are inconsistent with the analysis as run, and that the operative threshold is 30.
We reproduce 6,371 on the full analytic file where the paper reports 6,300, and lock 6,048 as the analysis domain (those with a valid fasting weight). We have not fully explained the remaining difference of 71: both alcohol exclusions above land further from the paper’s figure than no exclusion does, so we report the gap as unresolved rather than attribute it. Completeness on the paper’s Model-1 covariates is reported in P5, which is where it is analysed; an earlier draft quoted a 6,246 figure from an expanded covariate set that Model 1 does not contain, and that figure is withdrawn.
Analysis in R; cycles stacked and merged on SEQN in a single deterministic script. FLI coefficients are hard-coded from the source formula. Every funnel row is emitted by the script so counts are re-derivable end to end, and the three alcohol codings toggle from one parameter. Group definitions use BMI ≥ 30 and WHtR ≥ 0.60.