← 返回 Apps
表型 · 本地处理

Recipe Compare

把同一个 UK Biobank 表型的多份已发表定义并排摆开:用了哪些来源、覆盖了哪些编码、逐条规则原文,以及各自出自哪篇研究。

表型

36 / 36

ukbflow 0.4.0 · 2026-08-14

Stroke

6 来源 · 0 共有 | 17 编码 · 0 共有

来源

strokelumunybergqinvazquezyun
自报疾病selfreport······
HES 住院 ICD-10hes·
HES 住院 ICD-9hes_icd9·····
死亡登记death··
First Occurrencefirst_occurrence······
算法判定结局algorithm······

这一层只答「用了哪些来源」。槽内规则条数不填在这里 —— 一条 hes 规则可以装三十个编码,一条 first_occurrence 规则只装一个字段,两者的条数不可比;覆盖多少编码看下面一层。

编码

strokelumunybergqinvazquezyun
ICD-10I60·
I61·
I62····
I63·
I64·
ICD-9430·····
431·····
432······
433·····
434·····
436·····
First Occurrence131360······
131362······
131364······
131366······
131368······
ADO42006······

按类目归并,所以逐条枚举与前缀写法能对上。match: regex 的规则不占自己的行,而是拿模式去筛其他定义列出的编码;prefix 与 exact 的差别见下方规则原文。

规则

strokehesicd10: I60, I61, I63, I64 · match: prefix
deathicd10: I60, I61, I63, I64 · match: prefix
luselfreportfield: noncancer · regex: ^(stroke|subarachnoid haemorrhage|brain haemorrhage|ischaemic stroke)$
hesicd10: I60.0, I60.1, I60.2, I60.3, I60.4, I60.5, I60.6, I60.7, I60.8, I60.9, I61.0, I61.1, I61.2, I61.3, I61.4, I61.5, I61.6, I61.8, I61.9, I62.0, I62.1, I62.9, I63.0, I63.1, I63.2, I63.3, I63.4, I63.5, I63.6, I63.8, I63.9, I64 · match: prefix
deathicd10: I60.0, I60.1, I60.2, I60.3, I60.4, I60.5, I60.6, I60.7, I60.8, I60.9, I61.0, I61.1, I61.2, I61.3, I61.4, I61.5, I61.6, I61.8, I61.9, I62.0, I62.1, I62.9, I63.0, I63.1, I63.2, I63.3, I63.4, I63.5, I63.6, I63.8, I63.9, I64 · match: prefix
first_occurrencefield: 131360
field: 131362
field: 131364
field: 131366
field: 131368
muhesicd10: I60, I60.0, I60.1, I60.2, I60.3, I60.4, I60.5, I60.6, I60.7, I60.8, I60.9, I61, I61.0, I61.1, I61.2, I61.3, I61.4, I61.5, I61.6, I61.8, I61.9, I63, I63.0, I63.1, I63.2, I63.3, I63.4, I63.5, I63.6, I63.8, I63.9, I64, I64.0, I64.1, I64.9 · match: exact
deathicd10: I60, I60.0, I60.1, I60.2, I60.3, I60.4, I60.5, I60.6, I60.7, I60.8, I60.9, I61, I61.0, I61.1, I61.2, I61.3, I61.4, I61.5, I61.6, I61.8, I61.9, I63, I63.0, I63.1, I63.2, I63.3, I63.4, I63.5, I63.6, I63.8, I63.9, I64, I64.0, I64.1, I64.9 · match: exact
nyberghesicd10: I60, I61, I63, I64 · match: prefix
hes_icd9icd9: 430, 431, 433, 434, 436 · match: prefix
deathicd10: I60, I61, I63, I64 · match: prefix
qinhesicd10: I60, I61, I62, I63, I64 · match: prefix
deathicd10: I60, I61, I62, I63, I64 · match: prefix
vazquezalgorithmfield: 42006
yunhesicd10: I60, I61, I62, I63, I64 · match: prefix
hes_icd9icd9: 430, 431, 432, 433, 434, 436 · match: prefix

出处

strokev2 · 2026-07-13
Provenance: Zisou et al. 2026, Int J Epidemiol, DOI 10.1093/ije/dyag014. Stroke, UK Biobank.
stroke_luv2 · 2026-07-13
Provenance: Lu et al. 2026, BMC Medicine, DOI 10.1186/s12916-026-04909-6. Stroke, UK Biobank (Additional file 1: Table S2).
stroke_muv1 · 2026-07-13
Provenance: Mu et al. 2026, BMC Medicine, DOI 10.1186/s12916-026-04701-6. Stroke, UK Biobank (Table S1).
stroke_nybergv2 · 2026-07-13
Provenance: Nyberg et al. 2025, Lancet Public Health, DOI 10.1016/S2468-2667(24)00300-1 (PMID 39909687). Stroke, UK Biobank.
stroke_qinv1 · 2026-07-16
Provenance: Qin et al. 2025, BMC Medicine, DOI 10.1186/s12916-025-04546-5. Stroke, UK Biobank (Table S5).
stroke_vazquezv2 · 2026-07-13
Provenance: Vazquez-Fernandez et al. 2026, BMC Medicine, DOI 10.1186/s12916-026-05010-8. Stroke, UK Biobank.
stroke_yunv1 · 2026-07-15
Provenance: Yun et al. 2026, eClinicalMedicine, DOI 10.1016/j.eclinm.2026.103769 (PMID 41660364). Stroke, UK Biobank.
说明
这里比的是什么
同一个表型名下的多份配方,各自复现一篇已发表的 UK Biobank 研究是怎么把这个表型 操作化的。它们共用 label、以 id 区分,因为它们确实是同一个表型的不同定义。
三层
来源看用了哪些数据源,编码看覆盖了哪些码,规则是配方原文。只看第一层会以为两份定义一样,只看第二层会漏掉match 模式的差别,只看第三层则一屏放不下七列。
不做语义归一
编码那一层按三字符归并,是为了让「I60 前缀」和「I60.0–I60.9 逐条枚举」落在同一行。 但 prefixexact 是否等价,取决于 HES 里实际出现过哪些码,这个页面不替读者判断 —— 它把两种写法都摆出来。
共有
「共有」指当前选中的全部定义都用了这个来源 / 覆盖了这个编码。取消勾选任何一份定义, 这个数都会跟着变 —— 它衡量的是选中的这一组,不是配方库整体。
数据从哪来
scripts/build-recipe-catalog.R 从 ukbflow 包里读recipe_get() 规范化后的对象,生成一份快照。 读的不是 YAML 原文:手写文件带注释、槽的写法也不完全一致,规范化之后才能逐条比较。 要引用某条定义,以包内的文件为准。