信息速览

NCDB — 美国国家癌症数据库 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | National Cancer Database(NCDB) |
| 英文全称 | National Cancer Database |
| 别名/简称 | NCDB、National Cancer Data Base(旧拼写)、NCDB PUF |
| 疾病分类 | 恶性肿瘤全谱系(ICD-11:2A00-2F3Z 各系统恶性肿瘤;NCDB 原生编码为 ICD-O-3 部位学/形态学) |
| SNOMED CT | 363346000 Malignant neoplastic disease (disorder)(全癌种根概念;各瘤种详见 §2.1) |
| 数据模态 | 结构化登记数据(病例级表格);无影像/文本/组学模态 |
| AI 任务类型 | 生存分析、比较效果研究、治疗模式挖掘、医院质量基准、健康差异研究、手术结局预测、因果推断 |
| 样本总数 | 约 4,000 万+ 条病例记录 / 超 4,500 万患者累计 / 每年约 150 万新增 / 1,500+ 家 CoC 认证癌症项目 |
| 数据大小 | 未公开统一下载包(PUF 按年度发布扁平文本;每例约 230-300 个数据项) |
| 数据格式 | 扁平文本(flat text)+ SAS/SPSS 标签脚本;公开聚合层为 Web 基准报告 |
| 许可证 | CoC PUF 数据使用协议(受限许可) |
| 访问级别 | 申请审核(仅限 CoC 认证癌症项目附属研究者) |
| DUO 标签 | GRU(通用研究使用;实际限制以 ACoS/CoC PUF 协议为准,禁止再识别与数据共享) |
| 语言 | 英文 |
| 首发日期 | 1989 年(1985 年启动筹建,1989 年全面实施) |
| 最后更新 | 年度滚动(PUF 按所含最晚诊断年命名版本;RCRS 于 2020-09 上线并发上报) |
| 发布机构 | 美国外科医师学会癌症委员会(CoC)& 美国癌症协会(American Cancer Society) |
| 官方主页 | https://www.facs.org/quality-programs/cancer/ncdb/about |
| 下载地址 | https://ncdbapp.facs.org/puf/ |
| DOI | 10.1245/s10434-007-9747-3(Bilimoria 2008 方法学论文;数据集本体无公共 DOI) |
| 引用次数 | Bilimoria 2008 约 1,600+(OpenAlex,截至 2026-09);NCDB 累计发表论文 1,500+ 篇(截至 2023-01) |
| AI 就绪度评分 | ⭐⭐⭐(3/5)— 编码标准统一、数据字典齐全;扣分项:需格式转换、无官方划分、无标签列、年度版本需人工管理 |
| 页面状态 | published |
§0 E-E-A-T 信任声明与免责声明
医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11/SNOMED CT 映射、癌种谱系与临床任务定义、金标准描述)、§7 偏倚分析。
数据工程审核者:千方病案医学编辑部交叉审核 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
审核日期:2026-09-05
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。NCDB 要求研究者隶属于 CoC 认证癌症项目并通过 PUF 官方申请入口 获取数据、签署数据使用协议。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 30 秒速览
这是什么? NCDB(National Cancer Database,美国国家癌症数据库)是全球最大的临床癌症登记数据库,由美国外科医师学会癌症委员会(CoC)与美国癌症协会联合主持。美国及波多黎各 1,500 余家 CoC 认证癌症项目的医院癌症登记,每年把约 150 万例新诊断癌症的标准病例数据上报到芝加哥的 ACoS 总部,累计已超 4,000 万条记录、覆盖美国约 72% 的新诊断病例。
为什么重要? 它几乎记录了过去四十年美国"在哪些医院、给哪些癌症患者、做了什么治疗、活得多久"的全景。通过它,研究者可以在真实世界里回答临床试验回答不了的问题:哪种手术方式用得更多、指南依从性如何、不同医院之间的生存差距有多大。迄今已有超过 1,500 篇 PubMed 收录论文使用 NCDB 数据。
我能用它做什么? 如果你隶属于 CoC 认证癌症项目,可以通过年度 PUF(Participant User File)申请去标识化病例级数据,做生存分析、治疗模式与差异研究、医院质量对标;普通用户则可免费查阅公开基准报告(14 种最常见实体瘤)。注意它没有复发数据和死因信息,很多生存问题它答不了。
§1.1 摘要
NCDB 是一个医院来源(hospital-based)的肿瘤结局数据库:CoC 认证癌症项目的认证肿瘤登记员(CTR)按 FORDS 手册从电子病历标准化摘录每例恶性肿瘤的约 230-300 个数据项——患者人口学与保险、肿瘤部位/组织学(ICD-O-3)、AJCC 临床与病理分期、首程治疗(手术/放疗/系统治疗)以及生存随访——再经 NAACCR 标准化电子格式上报(官方概述)。数据库 1985 年启动、1989 年全面实施,现已积累约 4,000 万条记录(超 4,500 万患者,回溯至 1985 年),每年新增约 150 万例(ACoS Bulletin 2023)。研究访问通过按年发布的 PUF 实现:去标识化、HIPAA 合规的病例级扁平文本文件(附 SAS/SPSS 标签脚本),仅向 CoC 认证项目附属研究者开放申请;另有免费公开的基准报告层。它的核心价值在于"国家级规模 + 医院级粒度 + 首程治疗细节",核心短板在于无复发、无死因、合并症截断与随年限恶化的失访。
§1.2 战略价值
维度一:质量改进的国家基础设施。 NCDB 的第一身份是质量改进工具而非研究数据集。它 2006 年发布首批 5 项质量指标,如今向认证机构提供医院对比基准、生存报告等 10 种报告,每年支持约 1,000 个研究项目(2019 执行董事年报)。对医院而言,它是少有的能把自己放到"同规模、同阶段、同瘤种"国家坐标系里对标的工具;对研究者而言,质量指标驱动的上报义务保证了数据上报的持续性与完整性(ACoS Bulletin 2022)。
维度二:真实世界比较效果研究的首选样本源。 覆盖 72% 新诊断病例意味着罕见亚型也能凑出足够样本——这在单中心或人群登记里通常做不到。NCDB 的"reason for no surgery"等字段还支持把不可手术患者从手术 vs 非手术比较中剔除这类精细设计(ACoS Bulletin 2023)。但必须同时记住它的三重身份约束:医院选择偏倚、只有全因生存、治疗细节有限——这三点决定了"什么问题适合问 NCDB"。
维度三:登记数据的"低门槛可复现"骨架。 相对影像或文本模态,NCDB 的结构化表格让研究管线极其轻量:一台 16 GB 内存的工作站即可跑完整队列定义、清洗与建模(§6.8),这使它成为方法学教学与研究生训练的理想数据集——你可以在几小时内复现一篇真实发表的分析,而不是卡在数据工程上。代价是问题域被限制在"登记字段能表达的问题"内:没有基因组、没有影像、没有复发,模型的天花板由字段决定。
§1.3 同类数据集横向对比
| 数据集 | 登记类型 | 覆盖范围 | 治疗细节 | 生存数据 | 获取方式 |
|---|---|---|---|---|---|
| NCDB | 医院登记 | 约 72% 美国新诊断病例(1,500+ CoC 项目) | 首程治疗较细(手术/放疗/系统治疗),无具体药物 | 仅全因生存 | 申请审核(CoC 附属研究者) |
| SEER | 人群登记 | 22 个登记点,约 47.9% 美国人口(2020 普查基准) | 有限 | 全因 + 人群生存,可估计发生率 | 签署 DUA 后可获取 |
| NPCR(CDC) | 人群登记 | 全美 50 州州级登记 | 有限 | 全因生存 | 公共汇总 + 申请 |
| TCGA | 多组学队列 | 33 个癌种的深度分子谱 | 分子层面极深,治疗信息有限 | 有随访 | 开放/受控分级 |
| SEER-Medicare | 登记联动医保 | SEER 覆盖区 65+ 人群 | 医保索赔级治疗细节 | 全因 + 医保终点 | 申请审核 |
SEER 覆盖数字引自 Frontiers in Bioinformatics 2026 综述;NPCR 覆盖范围见 Bilimoria 2008 引用的 CDC 页面。一句话定位:要人群发生率与代表性选 SEER,要医院治疗细节与国家规模选 NCDB。
§1.4 版本时间轴
| 时间 | 里程碑 | 来源 |
|---|---|---|
| 1985 | 首份 Call for Data:501 家医院上报 232,577 例(约占估算美国病例 24%) | 1997 胃癌报告 |
| 1989 | NCDB 全面实施(官方建库年份) | 官方 about 页 |
| 1996 | 全部 CoC 认证医院强制上报 | Bilimoria 2008 |
| 2001 | 上报及相关权益仅限 CoC 认证医院 | Bilimoria 2008 |
| 2006 | 发布首批 5 项质量指标 | ACoS Bulletin 2022 |
| 2009-2010 | PUF 计划启动并由 7 个病种团队试点 | Bulletin 2022/2023 |
| 2013 | PUF 向全部 CoC 认证项目开放 | ACoS Bulletin 2023 |
| 2019 | 记录数达 3,900 万+,每年支持约 1,000 个研究项目 | 2019 执行董事年报 |
| 2020-09 | RCRS(快速癌症上报系统)上线,取代 RQRS 与年度 Call for Data | ACoS Bulletin 2022 |
| 2023-01 | 官方口径:超 4,500 万患者、每例 230+ 数据项、合计约 100 亿数据点 | ACoS Bulletin 2023 |
§1.5 典型应用场景
- 医院质量对标:用医院对比基准报告把本院某癌种的分期分布、治疗率、生存放到国家坐标系里找差距。
- 比较效果研究:手术 vs 非手术、微创 vs 开放、辅助治疗 vs 观察的真实世界结局比较(需谨慎处理适应证混杂)。
- 治疗模式与指南依从性:追踪指南推荐疗法在真实世界的落地率及其 15 年变化趋势。
- 健康差异研究:按保险、收入推断(邮编)、种族/族裔、医院类型分析治疗可及性差异。
- 罕见亚型队列构建:利用 72% 国家覆盖拼出单中心无法企及的样本量,支持亚组生存分析。
以上场景共享同一套工作流骨架:PUF 版本固定 → 队列定义(瘤种 + 诊断年窗口 + 分析性病例)→ 缺失审计 → 建模/对标 → 按 CoC 要求引用。骨架代码见 §6,能力边界见 §7。
§2 医学背景
§2.1 ICD-11 编码映射
NCDB 的原生编码体系不是 ICD-11,而是 ICD-O-3(肿瘤学第三版)的部位学(topography)+ 形态学(morphology)编码加 AJCC 分期。下表给出 NCDB 覆盖的主要癌种在 ICD-11 与 SNOMED CT 中的参照映射(映射仅供跨系统对齐参考,实际分析请使用 NCDB 原生 ICD-O-3 编码):
| 癌种 | ICD-11(参照) | ICD-O-3 部位码(NCDB 原生) | SNOMED CT(参照) |
|---|---|---|---|
| 乳腺癌 | 2E65 | C50.- | 254837006 Malignant tumor of breast |
| 支气管/肺癌 | 2C25 | C34.- | 363358000 Malignant tumor of lung |
| 结肠癌 | 结肠恶性肿瘤(ICD-11 第 02 章) | C18.- | 363406005 Malignant tumor of colon |
| 直肠癌 | 直肠恶性肿瘤(ICD-11 第 02 章) | C20.- | — |
| 前列腺癌 | 2F42 | C61.- | 399068003 Malignant tumor of prostate |
| 胰腺癌 | 2C10 | C25.- | — |
| 皮肤黑色素瘤 | 2C30 | C43.- | 372244006 Malignant melanoma |
| 膀胱癌 | 膀胱恶性肿瘤(ICD-11 第 02 章) | C67.- | — |
注:ICD-11 编码请以 WHO ICD-11 官方浏览器核对为准;NCDB 全库覆盖 75 个癌种(ACoS Bulletin 2022),PUF 层覆盖 70 个原发瘤部位(ACoS Bulletin 2023)。
§2.2 疾病简介与流行病学
癌症是全球及美国的主要死因之一。NCDB 收录的是"在美国医院里被诊断或治疗的恶性肿瘤"这一人群:每年美国新诊断侵袭性癌症约 150-190 万例,NCDB 以医院登记口径捕获其中约 72%(官方 about 页)。与人群登记(SEER)不同,NCDB 的分母是"就诊于 CoC 认证医院的患者",因此它天然偏向有转诊能力、能接受完整治疗的人群——这既是它记录治疗细节的原因,也是它偏倚的来源(详见 §7.1)。对 AI 建模而言,这意味着 NCDB 上的"发生率"不可外推到全人群,但"就诊人群内的治疗-结局关系"具备国家级样本量支撑。
从登记结构看,NCDB 的"人群"随时间演变:1985 年首年仅 501 家医院、约 24% 覆盖率;1996 年起 CoC 认证医院强制上报,2001 年起上报权益与认证绑定,覆盖率才逐步达到今天的 72% 量级。这意味着跨年代分析时,早年诊断年的覆盖率与代表性显著低于近年——这是版本漂移之外另一个容易被忽视的"时间性偏倚"(Bilimoria 2008;1997 胃癌报告)。
§2.3 临床任务定义
| 任务 | 定义 | NCDB 支持度 |
|---|---|---|
| 分期分布与诊断模式 | 各瘤种诊断时的 AJCC 临床/病理分期构成 | 高(原生支持) |
| 治疗模式挖掘 | 首程手术/放疗/系统治疗的组合与时序 | 高(首程内细节较全) |
| 生存分析 | 全因死亡风险的估计与预测 | 高(仅 OS;无死因) |
| 复发/无病生存 | 局部或远处复发的检测与预测 | 不支持(无复发数据) |
| 医院质量基准 | 医院层面治疗率与结局的标准化对比 | 高(官方报告体系) |
| 指南依从性 | 推荐疗法的实际应用率及其变化 | 高 |
| 跨院泛化建模 | 训练模型预测新医院/新患者的结局 | 中(需医院级划分,见 §5.2) |
| 治疗模式聚类 | 无监督发现真实世界治疗路径 | 中(首程字段级数据) |
§2.4 患者人群画像
| 维度 | 内容 | 来源 |
|---|---|---|
| 来源医院 | 1,500+ 家 CoC 认证癌症项目:约 20% 教学/研究医院、39% 综合社区癌症中心、35% 社区癌症中心、6% 其他(含 VA) | Bilimoria 2008 |
| 地理范围 | 美国 50 州(2005 年为 49 州)及波多黎各 | Bilimoria 2008 + 官方 about 页 |
| 时间范围 | 1985 年至今(PUF 层自 2004 年诊断年起) | 官方口径 + PUF 申请页 |
| 年龄 | 全年龄段恶性肿瘤患者(以成人为主) | 官方 about 页 |
| 种族/族裔 | 自报口径;少数族裔代表性受 CoC 医院人群分布限制 | PMC 结直肠癌综述 |
| 就医类型 | 就诊于 CoC 认证医院的住院与门诊确诊患者(非人群抽样) | JTO 2018 |
| 数据体量 | 每例 230+ 数据项、约 100 亿数据点(截至 2023-01) | Bulletin 2023 |
§2.5 临床价值
对临床与公共卫生的价值集中在三条线:其一,把"最佳实践"变成可测量的质量指标并驱动医院改进——NCDB 官方报告体系正是 CoC 认证标准的数字化抓手;其二,为真实世界疗效提供国家规模证据,多项 NCDB 研究直接参与临床指南讨论(如复杂手术区域化策略);其三,识别系统性治疗差距(保险、地域、种族),为政策干预提供量化依据(ACoS Bulletin 2023)。
价值边界同样清晰:NCDB 回答"诊断后发生了什么",不回答"人群里有多少人该来而没来";回答"治疗是否按指南落地",不回答"该疗法是否优于替代疗法"(后者需要死因与复发数据)。把问题对准它能答的,是这个数据集所有方法论讨论的起点。
§2.6 金标准描述
| 属性 | 内容 |
|---|---|
| 划分方式 | 官方无训练/验证/测试划分(研究数据集非基准数据集,见 §5) |
| 标注方式 | 无监督学习意义上的"标注":每个字段由 CTR 按标准化手册人工摘录编码,相当于全字段人工标注 |
| 标注者资质 | 认证肿瘤登记员(Certified Tumor Registrar, CTR),持证上岗并受 CoC 标准约束 |
| 标注性质 | 回顾性、标准化、结构化;定期质量审计与完整性报告 |
§3 数据集规格
§3.0 版本抉择矩阵
NCDB 没有静态"版本号",而是按年度滚动发布的 PUF 版本(每版以所含最晚诊断年命名)+ 常驻的公开报告层。按下表选择你需要的"版本":
| 你的需求 | 推荐资源 | 规模 | 理由 |
|---|---|---|---|
| 最新全量队列研究 | 最新年度 PUF(含 2004 起至该最晚诊断年病例) | 每例 230+ 字段 | 旧版 PUF 被新版取代,用旧版会低估样本且结论过时 |
| 诊断年趋势/时间序列 | 单一最新 PUF 内按 诊断年 分层 |
跨约 20 个诊断年 | 同版内字段定义一致,避免跨版合并的字段漂移 |
| 快速教学与可行性评估 | Public Benchmark Reports(免费 Web 查询) | 14 种最常见实体瘤,2008-2017 约 1,100 万例 | 无需申请,聚合级数据即可练手 |
| 医院对标报告 | NCDB Hospital Comparison Benchmark Report | 认证机构专属 | 仅上报医院可看自身定位 |
| 治疗细节深度 | 最新 PUF | 首程治疗字段 | 公开报告层无病例级治疗字段 |
§3.1 模态详情
NCDB 是纯结构化登记数据集,无影像、病理切片、波形或自由文本模态。其"深度"体现在字段维度:每例患者约 230-300 个数据项(ACoS Bulletin 2023),归为四大类(1997 胃癌报告):
- 患者特征:年龄/出生日期、性别、种族/族裔、居住地邮编(收入由邮编家庭平均收入推断)、保险类型。
- 肿瘤特征:原发部位、侧别、组织学、分级、区域淋巴结阳性/受检数、肿瘤大小、AJCC 临床与病理分期组、复发日期与部位(登记层保留,PUF 层无)。
- 首程治疗:手术、放疗、化疗、激素、生物治疗或其他("首程"定义为疾病进展或复发前的初始治疗)。
- 随访:末次接触日期、生存状态、肿瘤状态;生存以月为单位。
| 字段类别 | 代表性字段 | 典型取值形态 | 建模角色 |
|---|---|---|---|
| 患者特征 | 年龄/性别/种族/保险/邮编收入 | 类别 + 有序 | 协变量、公平性轴 |
| 肿瘤特征 | 部位/组织学/分级/AJCC 分期 | ICD-O-3 码 + 有序 | 队列定义、分层 |
| 首程治疗 | 手术/放疗/系统治疗 | 有序类别 | 暴露变量 |
| 随访结局 | 生存状态/生存月数 | 0/1 + 正数 | 标签与时间 |
§3.2 按子集样本数
| 子集 | 样本规模 | 获取方式 | 来源 |
|---|---|---|---|
| NCDB 全库(1985 至今) | 约 4,000 万+ 条记录 | 仅 CoC 内部报告体系,不对研究者开放 | 官方 about 页 |
| PUF 病例级(按年发布) | 2004 年起至最晚诊断年,70 个原发部位 | 申请审核 | PUF 申请入口 |
| Public Benchmark Reports | 14 种最常见实体瘤,2008-2017 约 1,100 万例(早期版本 2003-2013 约 900 万例) | 免费公开 Web 查询 | PMC 综述 |
| 年度新增上报 | 每次年度 Call for Data 约 150 万例 | — | 2019 年报 |
§3.3 数据格式
| 层级 | 格式 | 说明 |
|---|---|---|
| PUF 病例级 | 扁平文本 + SAS/SPSS 标签脚本 | 值为编码数字,需运行标签脚本或字典映射为可读标签 |
| 数据字典 | 每版 PUF 附 PDF 字典 | 字段名、编码、缺失约定随年度更新 |
| 公开报告层 | Web 交互查询 | 聚合级,无病例导出 |
| 上报层(院内) | NAACCR 标准化电子传输格式 | 由认证机构使用,不对研究者开放 |
| RCRS 上报层 | 并发摘录电子接口 | 2020-09 起机构实时提交,研究层不可见 |
§3.4 存储大小
官方未公开 PUF 的统一文件大小。估算参照:4,000 万+ 记录 × 约 230-300 字段意味着最新版 PUF(含全部诊断年)为多 GB 到数十 GB 量级的扁平文本,解压与全量内存处理建议预留 32 GB 以上内存或使用分块/数据库方案(依据字段数与记录数量级推算,实际以下载文件为准)。
§3.5 标注方式
全字段人工标准化摘录:CTR 从电子病历与病理报告按 FORDS(Facility Oncology Registry Data Standards)手册编码;分期判定遵循 AJCC 分期手册;收入等敏感代理变量按邮编层面的家庭平均收入推断(官方 about 页 + 1997 胃癌报告)。无"弱监督"或自动标注;2020 年起的 RCRS 支持并发摘录(同一病例随病程多次提交更新),正在向半自动化摘录演进(ACoS Bulletin 2022)。
§3.6 标注者资质与一致性
摘录者为认证肿瘤登记员(CTR):美国存在全国性 CTR 短缺(Pezzi 2014),机构通过完整性报告与 CoC 现场审查监督质量。无公开的标注者间一致性(kappa)数字;质量通过流程合规而非一致性统计保证——这对 AI 研究者意味着"编码错误存在且非随机"(见坑点 6)。
§3.7 采集周期
历史上按年度 Call for Data 收集(一次性补交前 1-2 个诊断年);2020 年 9 月起 RCRS 支持并发摘录——病例在确诊后即刻建档、随病程分阶段更新提交,质量提醒机制会提示未完成的指标(ACoS Bulletin 2022)。PUF 层发布存在约 1-2 年滞后(生存信息需成熟)。
对研究者的实际影响是双重滞后:PUF 发布滞后 1-2 年,且生存信息需要成熟期——因此"最新诊断年"的生存数据必然截尾,长期终点分析应把最晚 2-3 个诊断年排除在主分析之外(与 §6.3 步骤 5 呼应)。
§3.8 地域覆盖
美国 50 州及波多黎各的 CoC 认证医院。注意两点:其一,这是医院网络覆盖而非人口覆盖——2005 年上报医院约占全美住院医院的三分之一;其二,NCDB 不提供州级人群发生率,地理变量粒度受脱敏限制(Bilimoria 2008)。
§3.9 设备规格
不适用。NCDB 是登记数据集,不涉及采集设备型号;"采集端"可理解为各医院的癌症登记处与电子病历系统,其标准化由 FORDS 与 NAACCR 传输规范保证而非设备一致性(官方 about 页)。
§3.10 深度溯源链
电子病历/病理报告(各医院)
→ CTR 按 FORDS 手册人工摘录编码(CoC 认证癌症项目登记处)
→ NAACCR 标准化电子格式传输(机构 → ACoS 芝加哥总部)
→ NCDB 主库(质量审计、完整性报告、重复病例算法去重)
→ 年度 PUF:去标识化病例级扁平文本 + SAS/SPSS 标签脚本(CoC 研究者申请)
→ Public Benchmark Reports(聚合级,免费公开)
无患者直接标识符进入主库;重复病例依靠高可靠字段组合算法识别与剔除(1997 胃癌报告)。
§4 数据结构
§4.0 目录树
PUF 下载包解压后的典型结构(示意;实际文件名以下载包内 readme 与当年命名约定为准):
puf_<year>/
├── <year>_puf.flat.txt # 病例级主数据(扁平文本,每行一例)
├── <year>_puf_formats.sas # SAS 标签/格式脚本
├── <year>_puf_formats.sps # SPSS 标签/格式脚本
├── <year>_puf_data_dictionary.pdf # 数据字典(字段编码与缺失约定)
└── readme.txt # 版本说明与引用要求
§4.1 DAIMS 数据字典(核心字段)
字段名为示意名,精确变量名、编码与缺失约定以当年 PUF 数据字典为准:
| 字段 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| case_id | 文本 | 去标识病例主键 | 匿名串 | 行级主键/去重 | — | — | 字典定义 |
| year_of_diagnosis | 整数 | 诊断年 | 2016 | 时间外推划分 | 无 | — | 2004-最晚诊断年 |
| age_at_diagnosis | 整数 | 诊断时年龄 | 63 | 协变量 | 高龄截尾依字典 | 999 类占位按字典 | 依字典 |
| sex / race | 文本 | 性别;自报种族/族裔 | — | 公平性分析 | 自报偏差 | 独立未知编码 | 字典枚举 |
| zip / income | 文本/整数 | 邮编;邮编推断收入 | — | 社会决定因素 | 生态学推断误差 | 未知编码 | 字典定义 |
| primary_site | 文本 | ICD-O-3 部位码 | C50.9 | 队列定义 | 摘录错误 | 罕见编码 | ICD-O-3 |
| histology | 文本 | ICD-O-3 形态学码 | 8500/3 | 亚型分组 | 病理依赖 | — | ICD-O-3 |
| grade | 整数 | 分化程度 | 2 | 协变量 | 主观分级 | 未知=9 级编码 | 字典枚举 |
| ajcc_stage_group | 文本 | AJCC 分期组(c/p 分列) | IIB | 分层/风险调整 | 跨版本不可直接比 | 未知/未分期独立编码 | 0-IV + 未分期 |
| tnm_components | 文本 | T/N/M 分量(c 与 p) | T2N1M0 | 细粒度分期 | 影像/病理依赖 | 未知编码 | 依字典 |
| first_course_surgery | 文本 | 首程手术类型与范围 | — | 治疗暴露 | 仅登记医院治疗 | 0/未做/不做治疗决定分立 | 字典枚举 |
| radiation / systemic | 整数/文本 | 放疗;系统治疗(是/否级) | 1 | 治疗暴露 | 无药物/剂量 | 拒绝/未推荐分立 | 字典枚举 |
| charlson_deyo_score | 整数 | 合并症指数(截断) | 1 | 混杂调整 | 截断损失(坑点 4) | — | 0 至截断值 |
| insurance_status | 文本 | 保险类型(未保险/私人/Medicaid/Medicare 等) | — | 差异研究 | 登记时点快照 | 未知编码 | 字典枚举 |
| radiation_systemic | 整数/文本 | 放疗与系统治疗(是/否/未推荐/拒绝分立) | — | 治疗暴露 | 无药物与剂量 | 分立编码 | 字典枚举 |
| vital_status | 整数 | 末次随访生存状态 | 1(死亡) | 结局标签 | 失访(坑点 3) | — | 0/1 |
| survival_months | 浮点 | 诊断至死亡/末次接触月数 | 47.3 | 生存时间 | 失访截尾 | — | ≥0 |
| class_of_case | 整数 | 分析性/非分析性病例分类 | 10 | 队列纳入筛选 | — | — | 字典定义 |
| facility_type | 文本 | 医院类型(社区/综合社区/学术) | 学术 | 分层/聚类 | — | — | 字典枚举 |
§4.2 标签分布
NCDB 没有"监督学习标签列"。可用于结局建模的候选标签及其可从公开渠道核对的分布信息:
| 候选标签 | 定义 | 分布信息来源 |
|---|---|---|
| vital_status(全因) | 末次随访是否死亡 | 随 PUF 发布;公开层仅聚合 |
| survival_months | 生存时间(月) | 同上;失访模式见 §7.1 |
| 指南依从治疗 | 是否接受推荐疗法 | Public Benchmark Reports 展示治疗率基准 |
| 分期构成 | 诊断时 I-IV 期分布 | Site by Stage Distribution Report |
§4.3 关键统计
- 覆盖率:约 72% 的美国新诊断癌症病例在机构层面上报(官方 about 页)。
- 数据体量:每例 230+ 数据项,合计约 100 亿数据点(截至 2023-01,ACoS Bulletin 2023)。
- 年度增量:约 150 万例/年;每年支持约 1,000 个研究项目(2019 年报)。
- 失访曲线:确诊后 5 年 43% 患者仍在随访、15 年降至 10.5%、25 年仅 1.9%(Nelson 2021,经 Medscape 转述)。
- 缺失程度:部分变量子集缺失可达 22%(Gabriel et al. 2015)。
| 统计口径 | 数值 | 口径说明 |
|---|---|---|
| 全库记录 | 约 4,000 万+ 条 | 官方 about 页(2026-09 访问) |
| 患者累计 | 超 4,500 万 | Bulletin 2023(回溯至 1985) |
| 覆盖率 | 约 72% 新诊断病例 | 机构层面捕获口径 |
| 年度增量 | 约 150 万例/年 | 年度 Call for Data |
| 在随访比例(确诊后 25 年) | 1.9% | Nelson 2021 |
| 子集最大缺失 | 约 22% | Gabriel 2015 |
§4.4 数据层级
医院(facility,1,500+ 家,仅 PUF 层以类型呈现)
└── 患者(patient,同一患者可有多原发肿瘤)
└── 肿瘤病例(case = PUF 主行,每行一个原发肿瘤)
└── 治疗事件(首程手术/放疗/系统治疗,字段级而非行级)
└── 随访记录(末次接触 + 生存月数,字段级而非行级)
注意:PUF 是宽表结构——治疗与随访以字段而非独立子表存在,不存在"多次治疗多条记录"的长表;同一患者的多原发肿瘤是不同行。
§4.5 缺失值与信息性缺失
| 缺失类型 | 表现 | 处理建议 |
|---|---|---|
| 结构性缺失 | 复发信息:登记层非强制上报且不可靠,PUF 层直接无此字段 | 不要试图"补"复发;改问全因生存问题(Pezzi 2014) |
| 结构性缺失 | 死因:不采集 | 癌症特异性生存不可算;勿用"非癌症死亡"近似(JTO 2018) |
| 就医轨迹缺失 | 在非 CoC 医院接受的治疗不进库 | 治疗暴露变量存在系统性漏报而非随机缺失(PMC 综述) |
| 未知编码 | 分期、分级等有独立"未知/未分期"编码 | 未知≠随机缺失;未知者常为晚期/老年/转诊患者,删行会引入选择偏倚 |
| 漫游式缺失 | 部分子集缺失达 22% | 报告缺失率;多重插补需谨慎并做敏感性分析(Gabriel 2015) |
§5 数据划分与使用建议
§5.1 官方划分
无。NCDB 是研究/质量改进登记数据,不是基准数据集,官方不提供训练/验证/测试划分。
§5.2 社区惯例与推荐划分
文献中常见的三种做法(均无官方背书,须在论文中声明):
- 按医院聚类划分:以 facility 为组做 GroupShuffleSplit,避免同一医院的治疗风格同时出现在训练与测试集。
- 按诊断年时间外推:早年诊断训练、近年诊断测试,模拟"模型部署到未来患者"的真实场景。
- 按病种/分期分层随机:最常见的做法,但需配合 §5.3 的泄漏检查。
两种社区惯例划分的最小实现(字段名为示意名):
from sklearn.model_selection import GroupShuffleSplit
# 划分一:按医院分组(facility_id 为组键),避免同院泄漏
gss = GroupShuffleSplit(n_splits=1, test_size=0.2, random_state=42)
tr_idx, te_idx = next(gss.split(X, groups=df["facility_id"]))
# 划分二:按诊断年时间外推(训练:2004-2016;测试:2017-最晚诊断年)
tr_idx = df.index[df["year_of_diagnosis"] <= 2016]
te_idx = df.index[df["year_of_diagnosis"] > 2016]
§5.3 泄漏风险(重点)
| 泄漏模式 | 机制 | 缓解 |
|---|---|---|
| 同患者多原发肿瘤 | 多原发是不同行但共享体质与行为特征 | 以匿名患者键识别;多行患者整体归入同侧 |
| 同医院同侧 | 医院治疗风格、分期手段造成组间相关 | 医院级 GroupShuffleSplit |
| 邮编-医院地理自相关 | 收入推断变量与就医医院地理绑定 | 敏感性分析:去邮编变量重训 |
| 生存分析 immortal time | 辅助治疗从确诊到开始的等待时间被算入"暴露组生存" | 以治疗开始日为时间零点或用时依协变量模型 |
| 版本混用 | 跨 PUF 年度版本合并造成同例重复 | 只用最新版本;合并前按病例键去重(坑点 1) |
§5.4 交叉验证建议
推荐嵌套 CV:外层按医院分组 5 折评估泛化,内层调参;生存任务使用 fold 级 C-index 并报告置信区间。避免简单随机 K 折——它会让"同一医院"同时出现在训练与验证折,高估性能。
§5.5 外部验证建议
首选 SEER(人群登记,覆盖约 47.9% 美国人口)做人群层面外部验证;次选 NPCR;与 SEER-Medicare 对比可检验治疗细节变量的一致性。历史经验:NCDB 与人群登记在模式与生存率上的差异"仅在数个百分点以内"(1997 胃癌报告),但医院选择偏倚仍可能造成系统性差异(JTO 2018)。
§6 AI 就绪指南
§6.0 云端快速启动
NCDB 无官方云端镜像或 BigQuery 公共数据集——数据使用协议限制数据共享与再分发,任何云端方案都须在你的机构合规框架内进行(申请获批后在本机构服务器/受控环境加载)。公开可用的只有聚合级 Public Benchmark Reports(Web 查询,无需下载)。
# 推荐环境(机构受控主机;不得使用公网共享存储)
conda create -n ncdb python=3.11 -y && conda activate ncdb
pip install pandas pyarrow duckdb scikit-learn lifelines scikit-survival torch
# 大文件建议列式化:扁平文本 → Parquet,一次转换全流程受益
python - <<'PY'
import duckdb
duckdb.sql("""
COPY (SELECT * FROM read_csv('./ncdb_puf/puf_2022/puf.flat.txt',
delim='\t', header=true, sample_size=-1))
TO './ncdb_puf/puf_2022/puf.parquet' (FORMAT PARQUET)
""")
PY
§6.1 快速上手
# ============================================
# NCDB PUF 快速上手 — pandas 加载版
#
# 目录结构预期(data_root 的拼接关系):
# ./ncdb_puf/
# └── puf_2022/ # 按实际下载版本命名
# ├── puf.flat.txt # 病例级主数据(每行一例)
# ├── puf_formats.sas # SAS 标签脚本
# └── puf_data_dictionary.pdf # 数据字典
# data_root = "./ncdb_puf/puf_2022" # 所有路径由此拼接
#
# 最小可用子集:女性乳腺癌、分析性病例、有分期的诊断年
# 注意:文件名与字段名以你下载版本的 readme/数据字典为准,
# 下例字段为示意名,请按字典替换为真实变量名。
# ============================================
import pandas as pd
data_root = "./ncdb_puf/puf_2022"
# 步骤 1:分块读取扁平文本(全量文件可达数 GB,勿一次性读入内存)
cols = ["case_id", "year_of_diagnosis", "age_at_diagnosis", "sex",
"primary_site", "histology", "ajcc_stage_group",
"first_course_surgery", "charlson_deyo_score",
"vital_status", "survival_months", "class_of_case"]
chunks = pd.read_csv(
f"{data_root}/puf.flat.txt",
sep="\t", usecols=cols, chunksize=200_000, low_memory=False,
)
# 步骤 2:流式筛选最小可用子集(分析性病例 + 乳腺癌 + 有分期)
keep = []
for chunk in chunks:
m = (
(chunk["primary_site"].str.startswith("C50", na=False))
& (chunk["class_of_case"].between(10, 49)) # 分析性病例区间,按字典核对
& chunk["ajcc_stage_group"].notna()
)
keep.append(chunk.loc[m, cols])
df = pd.concat(keep, ignore_index=True)
print(df.shape) # 病例数 x 字段数
print(df["ajcc_stage_group"].value_counts(normalize=True))
§6.2 数据获取
| 步骤 | 内容 | 说明 |
|---|---|---|
| 1. 资格确认 | 研究者须隶属于 CoC 认证癌症项目 | 申请以机构为单位审核 |
| 2. 在线申请 | ncdbapp.facs.org/puf | 申请常年开放;描述研究计划并承诺合规 |
| 3. 协议签署 | 机构签署 PUF 数据使用协议 | 禁止再识别、共享与再分发 |
| 4. 下载 | 获批后按指定入口下载所选瘤种年度 PUF | 扁平文本 + SAS/SPSS 标签脚本 + 数据字典 |
| 5. 引用 | 论文注明所用 PUF 版本(最晚诊断年)与访问日期 | 便于复现(见 §6.10) |
历史上 2010 年试点两年即产出 47 篇摘要与 11 篇论文;2013 年向全部 CoC 项目开放后,NCDB 已支撑 1,500+ 篇 PubMed 论文(Bulletin 2022 + Bulletin 2023)。
申请材料自查清单(历史上最常见退回原因是不知道 NCDB 无复发数据,见坑点 2):
| 材料 | 要点 |
|---|---|
| CoC 项目隶属证明 | 研究者与认证项目的隶属关系 |
| 研究计划摘要 | 明确瘤种、诊断年窗口与研究问题 |
| 机构协议 | DUA 签署主体为机构 |
| 数据安全说明 | 受控存储、禁止再识别与再分发 |
§6.3 预处理全流程
# ============================================
# NCDB 预处理四步:标签解码 → 队列筛选 → 缺失审计 → 特征工程
# 前提:df 来自 §6.1;字段为示意名,按数据字典替换
# ============================================
import numpy as np
import pandas as pd
# --- 步骤 1:编码值 → 可读标签(工程陷阱源头,见坑点 7) ---
# PUF 原始值是编码数字;官方 SAS/SPSS 标签脚本可用
# pandas.read_sas 的 format 支持,或手工按数据字典构建映射:
sex_map = {1: "male", 2: "female"} # 示意映射,以字典为准
df["sex_label"] = df["sex"].map(sex_map)
# --- 步骤 2:队列筛选(分析性病例 + 排除未知关键变量) ---
df = df[df["class_of_case"].between(10, 49)] # 分析性病例,按字典核对
n_total = len(df)
# 未知分期是独立编码而非 NaN:先显式识别,再决定策略(见坑点 8)
unknown_stage = df["ajcc_stage_group"].isin(["0", "99"]) # 示意编码
df_known = df[~unknown_stage].copy()
print(f"分期未知行占比: {unknown_stage.mean():.1%}") # 报告而非静默删行
# --- 步骤 3:缺失审计 ---
audit = df_known.isna().mean().sort_values(ascending=False)
print(audit[audit > 0]) # 缺失率表随论文提交
# --- 步骤 4:特征工程(生存建模最小特征集) ---
feature_cols = ["age_at_diagnosis", "charlson_deyo_score"]
X = df_known[feature_cols].astype(float).to_numpy()
# 合并症为截断计数(0/1/2+),做 one-hot 而非当连续变量(见坑点 4)
cci = pd.get_dummies(df_known["charlson_deyo_score"].astype(int),
prefix="cci", drop_first=True)
X = np.hstack([X[:, :1], cci.to_numpy().astype(float)])
time = df_known["survival_months"].to_numpy()
event = df_known["vital_status"].astype(int).to_numpy()
# --- 步骤 5:按诊断年划分(时间外推;最新 2-3 个诊断年因生存截尾排除出主分析,见 §3.7) ---
train = df_known[df_known["year_of_diagnosis"] <= 2016]
test = df_known[df_known["year_of_diagnosis"] > 2016]
print(f"训练/测试: {len(train)}/{len(test)}")
§6.4 PyTorch DataLoader
# ============================================
# NCDB 表格生存/结局建模 Dataset + DataLoader
# 任务示例:5 年(60 个月)全因死亡二分类
# ============================================
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
from sklearn.preprocessing import StandardScaler
class NCDBDataset(Dataset):
"""表格数据集:特征矩阵 X + 5 年死亡标签 y + 生存时间 t"""
def __init__(self, X: np.ndarray, time: np.ndarray, event: np.ndarray):
self.X = torch.tensor(X, dtype=torch.float32)
# 5 年死亡 = event==1 且 survival_months<=60;随访<60 月者按截尾处理为负类
self.y = torch.tensor(
((event == 1) & (time <= 60)).astype(np.float32)
).unsqueeze(1)
self.t = torch.tensor(time, dtype=torch.float32)
def __len__(self):
return len(self.X)
def __getitem__(self, idx):
return self.X[idx], self.y[idx]
# --- 划分:按医院分组划分(示意:以 facility_id 为组键) ---
# 实际代码请用 sklearn.model_selection.GroupShuffleSplit
# gss = GroupShuffleSplit(n_splits=1, test_size=0.2, random_state=42)
# 这里简化为随机划分以演示 DataLoader 接线
n = len(time)
idx = np.arange(n)
rng = np.random.default_rng(42)
rng.shuffle(idx)
tr, va = idx[: int(0.8 * n)], idx[int(0.8 * n):]
scaler = StandardScaler().fit(X[tr])
X_tr, X_va = scaler.transform(X[tr]), scaler.transform(X[va])
train_loader = DataLoader(NCDBDataset(X_tr, time[tr], event[tr]),
batch_size=1024, shuffle=True, num_workers=2)
val_loader = DataLoader(NCDBDataset(X_va, time[va], event[va]),
batch_size=4096, shuffle=False)
model = torch.nn.Sequential(
torch.nn.Linear(X_tr.shape[1], 64), torch.nn.ReLU(),
torch.nn.Dropout(0.2),
torch.nn.Linear(64, 1),
)
§6.5 坑点(8 个真实失败模式)
⚠️ 坑点 1:PUF 版本按最晚诊断年命名,跨版本合并造成重复与过时(分类:工程陷阱)
问题:NCDB 按年度滚动发布 PUF,每版以所含最晚诊断年命名,新版在内容上取代旧版。把两个年度版本的文件直接纵向拼接,会得到大量重复病例和已被更正的旧记录;只用旧版则低估样本并沿用已修正的错误编码。
症状:合并后病例数远超官方口径;同一 case_id 出现多次;复现他人论文时队列规模对不上。
解决:
- 简单方法:永远只用最新年度 PUF;在论文方法部分注明"PUF(最晚诊断年 XXXX)+ 访问日期"。
- 进阶方法:如确需跨版本对比字段变化,按 case_id 对两版做键级 diff 报告,而非合并行:
old, new = pd.read_csv("puf_old.txt", sep="\t"), pd.read_csv("puf_new.txt", sep="\t") merged = old.merge(new, on="case_id", suffixes=("_old", "_new")) changed = merged[[c for c in merged.columns if c.endswith("_old")]].ne( merged[[c for c in merged.columns if c.endswith("_new")]]).mean()
- SOTA 方法:建立机构内"PUF 版本登记表"(版本、下载日、字段差异、编码变更清单),每次新版本发布后跑一次自动化差异审计再决定是否迁移。
⚠️ 坑点 2:把 NCDB 当"有复发数据"的数据库用——DFS 根本不可算(分类:标签理解)
问题:复发信息在登记层不强制上报且可靠性差,PUF 层完全没有复发字段。任何"无病生存(DFS)""局部复发率"的计算在 NCDB 上都是无源之水。2013 年 PUF 申请中最常见的错误之一就是研究者不知道这一点。
症状:试图定义复发终点时找不到字段;审稿人指出"DFS 不可从 NCDB 获得";把"带瘤生存"状态误当复发替代。
解决:
- 简单方法:研究问题降维到全因生存(OS)或治疗模式,论文声明"NCDB 无复发数据"。
- 进阶方法:用治疗失败代理(如确诊 6 个月后才开始的抢救性手术/放疗/化疗序列)构造复合终点,并做敏感性分析——明确标注这是代理不是复发。
- SOTA 方法:需要复发终点时改用 SEER-Medicare(索赔可代理复发)或链接机构 EMR 的数据源;NCDB 只做"国家规模治疗模式 + OS"这一段。
⚠️ 坑点 3:只有全因死亡且失访随年限飙升——长期生存结论不可靠(分类:评估误用)
问题:NCDB 只记录全因生存状态,无死因;同时失访率随随访年限陡增——确诊后 5 年 13% 存活者失访,15 年近 70%,25 年达 94%,25 年时仅 1.9% 患者仍在随访。用晚期时间点的 KM 曲线做"长期生存"结论,会被失访偏倚支配。
症状:10 年以上生存曲线尾段平台可疑地"好看";竞争风险被当成癌症死亡;不同医院"长期生存差异"其实来自失访差异。
解决:
- 简单方法:主分析限定 5 年生存,晚期时间点只作描述;报告各时间点在风险集人数。
- 进阶方法:用逆概率删失加权(IPCW)校正信息性删失:
# sksurv 示意:以基线协变量建模删失概率后加权 from sksurv.util import Surv y = Surv.from_arrays(event=event.astype(bool), time=time) # 之后在 random survival forest / Cox 模型中以 IPCW 权重传入
- SOTA 方法:把"在库随访时长"本身作为协变量/敏感性轴,比较医院时报告失访校正前后结果;竞争风险用 Fine-Gray(以死因为终点时明确声明死因不可得、结论限于全因)。
⚠️ 坑点 4:Charlson-Deyo 截断在 ≥2(近期 ≥3)——合并症调整名存实亡(分类:偏倚陷阱)
问题:NCDB 的合并症是 Charlson-Deyo 指数,由 ICD 二级诊断码推导,发布前截断:老年多病共存患者的真实差异被压缩到同一档。把它当连续变量放进回归,残余混杂会伪装成治疗效果。
症状:合并症"高分组"内部结局同质;健康者效应(healthy user bias)无法被校正;倾向评分模型合并症维度无区分度。
解决:
- 简单方法:按截断后取值做分类变量(one-hot)而非连续变量入模。
- 进阶方法:补充可用的代理变量(年龄、急诊入院、保险类型、邮编收入)联合调整,并做 E-value 敏感性分析估计未测混杂需要多大才能推翻结论。
- SOTA 方法:需要精细合并症时链接 SEER-Medicare 或机构 EMR;在 NCDB 内则用高维倾向评分 + 界定人群(如限定手术患者)压缩混杂空间。
参考:JTO 2018。
⚠️ 坑点 5:医院选择偏倚——NCDB 不是美国癌症人群(分类:偏倚陷阱)
问题:只有 CoC 认证医院上报,约占全美住院医院的三分之一;在非认证医院就诊的患者结构性缺失。按 NCDB 估计的"美国癌症患者治疗率/生存率"对认证医院体系外的群体外推会失真,某些社会人口群体被低估或高估。
症状:NCDB 生存率与 SEER 人群生存率系统性偏离;按州做"人群推断"时发现 NCDB 样本分布与人口结构对不上。
解决:
- 简单方法:把研究人群明确表述为"就诊于 CoC 认证医院的患者",禁止写成"美国癌症患者"。
- 进阶方法:与 SEER 并行报告同一指标,量化 NCDB-SEER 差异并讨论方向(历史经验差异在数个百分点内,但要按瘤种验证)。
- SOTA 方法:用 SEER 做标准人口权重(post-stratification)重加权 NCDB 分析;涉及政策推断时用 NPCR 全人群数据交叉核验。
⚠️ 坑点 6:编码体系跨年代漂移——ICD-9/ICD-10、AJCC 版本与 FORDS 更新(分类:预处理陷阱)
问题:NCDB 跨越 1985 年至今,期内经历了 ICD-9 到 ICD-10、AJCC 分期手册多版更迭(仅近十年就有八次修订级变动)与 FORDS 手册持续更新。跨诊断年直接合并"分期""组织学"字段,比较的是不同编码字典下的东西。
症状:同一分期组跨年代分布跳变;早期与近期诊断年合并后分期未知比例骤增;合并症推导在 ICD 切换年出现断点。
解决:
- 简单方法:分析限定在单一 AJCC 版本适用的诊断年窗口内,窗口外只作敏感性分析。
- 进阶方法:建立跨版本映射表(AJCC 版本 × 诊断年 × 分期组),把分期重编码为"版本内分期组 + 版本标识"双列;AJCC 版本作为协变量或分层轴。
- SOTA 方法:参照 CoC/AJCC 官方版本适用年表构建机构内标准化层(类似 mimic-code 的 concepts 思路),所有下游分析只消费标准化层。
⚠️ 坑点 7:直接 read_csv 得到的是"码值"不是"标签"(分类:工程陷阱)
问题:PUF 主文件是编码数字的扁平文本,人类可读标签在 SAS/SPSS 标签脚本里。跳过标签脚本直接分析,会把"未知(编码 9 类)"当合法取值、把"不做治疗决定"与"未做"混为一谈,得到系统性错误结论。
症状:分类变量频数表里出现大量"9/99/000";治疗率虚高(把未治疗编码并入治疗);one-hot 后出现无意义维度。
解决:
- 简单方法:按数据字典手工构建映射字典(见 §6.3 步骤 1),把每个分类字段先映射为标签再分析。
- 进阶方法:解析官方 SAS 格式脚本自动生成映射:
# pandas 可直接读 SAS 侧车格式;或用正则解析 .sas 文件中的 value 语句 import re text = open(f"{data_root}/puf_formats.sas").read() blocks = re.findall(r"value\s+\$?(\w+)[^;]+;\s*(.*?)\s*;", text, re.S) maps = {name: dict(re.findall(r"=\s*'([^']+)'\s*'([^']+)'", body)) for name, body in blocks}
- SOTA 方法:构建"原始码 → 标签 → 标准化分类"三层映射并纳入版本控制;未知/缺失类显式保留为独立类别参与建模。
参考:PUF 申请入口(含格式脚本)。
⚠️ 坑点 8:治疗与分期变量的缺失是"信息性缺失"——删行即偏倚(分类:预处理陷阱)
问题:NCDB 的缺失不是随机的:分期未知者更可能是晚期/老年/转诊复杂病例;在非 CoC 医院接受的化疗/放疗不进库;部分子集缺失高达 22%。直接
dropna()会把高风险患者系统性剔除,让模型在"容易的病例"上虚高。症状:删行后队列的分期/年龄分布明显"变好";缺失率高的变量进入模型后系数方向反常;外部验证时性能骤降。
解决:
- 简单方法:报告每个变量的缺失率与缺失者特征表;未知编码保留为独立类别。
- 进阶方法:多重插补(MICE)+ 插补模型纳入"是否缺失"指示变量;对关键结论做"完整病例 vs 插补"双报告。
- SOTA 方法:把缺失机制写进研究设计——用治疗决策流程图解释"为何缺失"(转诊、早期死亡、院外治疗),并对结构性缺失字段(复发、死因)在设计层直接放弃而非插补。
§6.6 数据增强
| 策略 | 评价 | 说明 |
|---|---|---|
| ✅ 类别再平衡(加权损失) | 安全 | 结局类别不平衡时优先用损失加权而非过采样 |
| ✅ SMOTE(仅训练折) | 谨慎 | 表格数据可用,但必须在划分之后、按折独立执行 |
| ❌ 全量先插补再划分 | 危险 | 插补信息从测试集泄漏进训练集,性能虚高 |
| ❌ 随机扰动年龄/生存时间 | 危险 | 登记数据特征有真实临床约束,噪声注入破坏语义 |
| ❌ 跨 PUF 版本混入"更多数据" | 危险 | 制造重复病例(坑点 1),等效于训练集见到测试集 |
§6.7 模型推荐
| 任务 | 推荐模型 | 理由 |
|---|---|---|
| 短期结局分类 | XGBoost / LightGBM | 表格数据强基线,缺失处理友好(未知编码可作类别) |
| 生存分析 | Cox(弹性网)/ 随机生存森林 | 可解释基线 + 非线性扩展;用 sksurv/lifelines |
| 医院质量对标 | 标准化比值(O/E)+ 分层模型 | 与官方基准方法保持一致,结果可与医院报告对表 |
| 治疗效应估计 | 倾向评分匹配/加权 + 双重稳健 | NCDB 研究的主流因果设计 |
| 深度表格模型 | TabTransformer 类 | 仅在大样本(数十万例级)且非线性充分时考虑 |
§6.8 硬件需求
| 场景 | 配置建议 |
|---|---|
| 单瘤种单诊断年窗口 | 16 GB 内存笔记本即可(pandas 分块) |
| 全瘤种最新版 PUF | 32-64 GB 内存工作站,或 DuckDB/Parquet 列式方案 |
| 全库跨版本审计 | 64 GB+ 内存或数据库化(PostgreSQL),磁盘预留 200 GB |
| 模型训练 | 全部任务 CPU 即可满足;深度表格模型单 GPU 可选 |
§6.9 评估指标
# 生存模型评估:Harrell C-index + 时间依赖 AUROC(示意)
from sksurv.metrics import concordance_index_censored, cumulative_dynamic_auc
cidx = concordance_index_censored(
event.astype(bool), time, risk_score
)[0]
auc, mean_auc = cumulative_dynamic_auc(
Surv.from_arrays(event.astype(bool), time), # 训练集生存对象(基准)
Surv.from_arrays(event_va.astype(bool), time_va), # 验证集
risk_score_va, times=[12, 36, 60], # 1/3/5 年
)
print(f"C-index: {cidx:.3f}; 1/3/5y AUC: {auc.round(3)}")
按医院分组 5 折交叉验证的最小循环(示意,模型拟合部分省略):
from sklearn.model_selection import GroupKFold
gkf = GroupKFold(n_splits=5)
for fold, (tr, va) in enumerate(gkf.split(X, groups=df["facility_id"]), 1):
# model.fit(X[tr], ...); risk_va = model.predict_risk(X[va])
# cidx = concordance_index_censored(event[va].astype(bool),
# time[va], risk_va)[0]
pass # 汇报各折 C-index 均值与 95% CI(bootstrap)
报告规范:C-index 附 95% 置信区间(bootstrap);按诊断年做时间外推评估;医院级任务报告按医院聚合后的分布而非病例级均值。
§6.10 MLOps 笔记
- 版本三件套:论文与模型卡必须注明 PUF 最晚诊断年版本、下载/访问日期、所用诊断年窗口——不同版本队列规模与编码不可混用(坑点 1、6)。
- 合规即流水线:DUA 禁止再识别与再分发;数据层入机构受控存储,派生特征层与代码层分离,导出物只留聚合统计。
- 漂移监控:AJCC 版本切换、ICD 切换、FORDS 更新都是"天然数据漂移点",上线模型每年用最新 PUF 复评性能。
- 引用义务:使用 NCDB 的发表需按 CoC 要求注明数据来源(见 §9);模型卡中说明"仅全因生存、无复发"的能力边界。
- 缺失审计入 CI:把 §6.3 的缺失率表生成逻辑纳入版本控制,每次 PUF 版本迁移重跑并 diff。
- 医院级评估:面向医院部署的模型按 facility_type 分层报告性能,防止学术医院主导训练分布。
§7 质量评估与局限性
§7.1 已知偏倚
| 偏倚类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 医院选择偏倚 | 仅 CoC 认证医院上报(约占全美住院医院 1/3),非人群代表性 | 高 | 明确目标人群表述;SEER 交叉验证 |
| 失访偏倚 | 5 年 13% → 25 年 94% 存活者失访,信息性删失 | 高(长期终点) | 限定 5 年终点;IPCW 加权 |
| 结局 truncation 偏倚 | 无死因 → 癌症特异性生存不可算;OS 受年龄/社经/合并症强混杂 | 高 | 竞争风险框架;明确全因口径 |
| 信息性缺失 | 未知分期、院外治疗缺失;子集缺失达 22% | 中高 | 缺失审计;多重插补敏感性分析 |
| 合并症截断 | Charlson-Deyo 截断 ≥2(近期 ≥3),调整力不足 | 中 | 分类变量化;代理变量联合调整 |
| 编码版本漂移 | ICD-9/10、AJCC 多版、FORDS 更新跨越年代 | 中 | 版本窗口分析;映射层 |
| 代表性偏倚 | 少数族裔报告有限;漏编/错编(undercoding/miscoding) | 中 | 公平性分层报告;编码审计 |
| 治疗时序偏倚 | 辅助治疗等待期造成的 immortal time;再入院仅捕获本院 | 中 | 时间零点重定义;时依协变量 |
§7.2 标注质量
标注质量由流程保证:CTR 持证摘录 + FORDS 统一编码 + CoC 现场审查 + 完整性报告,且无患者直接标识符入库(官方 about 页)。但不存在公开的字段级一致性统计,且已知存在漏编/错编与 ICD 混用问题(PMC 综述)。AI 研究者应把"标注质量"理解为"流程合规 + 已知误差模式",而非"经过验证的金标签"。
实践建议:把"标注质量"核查纳入队列定义步骤——对抽样病例人工核对其分期、治疗编码与字典定义的一致性;不一致率高的字段(历史上为分期与治疗序列)应在模型中降权或排除。CTR 短缺带来的摘录压力是系统性背景风险,而非个案噪音(Pezzi 2014)。
§7.3 泛化性评估
| 部署场景 | 失效风险 | 证据 |
|---|---|---|
| 推广到全人群发生率/患病率 | 高:非人群登记,不能估计人群风险 | JTO 2018 |
| 推广到非 CoC 认证医院 | 高:训练分布不含此类医院 | Bilimoria 2008 |
| 长期生存预测(>10 年) | 高:失访 15 年近 70% | Nelson 2021(Medscape 转述) |
| 复发/DFS 任务 | 不可行:无复发字段 | Pezzi 2014 |
| 同年代 CoC 医院内治疗模式 | 低-中:国家规模 + 流程化编码,与 SEER 差异在数个百分点内 | 1997 胃癌报告 |
| 跨年代部署 | 中:AJCC/ICD/FORDS 版本漂移 | PMC 综述 |
| 跨瘤种迁移 | 中:瘤种间编码密度与治疗范式差异大 | PMC 综述 |
§7.4 伦理与合规
PUF 为去标识化、HIPAA 合规的病例级数据,不含患者直接标识符;获取需 CoC 认证项目附属资格、机构协议与在线申请(PUF 入口)。协议禁止再识别与再分发;发表需按 CoC 引用要求注明数据来源。研究通常可走豁免审查通道,但以各机构 IRB 判定为准。
§7.5 公平性
NCDB 是研究健康差异的利器(保险、邮编收入、种族/族裔、医院类型分层齐全),但公平性分析有两个内生约束:其一,少数族裔代表性受 CoC 医院人群分布限制;其二,收入是邮编层面的生态学推断而非个体收入。差异结论应表述为"就诊于认证医院人群内的差异",并做地理与医院类型敏感性分析(PMC 综述;JTO 2018)。
| 公平性维度 | 可用变量 | 内生限制 |
|---|---|---|
| 保险可及性 | insurance_status | 登记时点快照,无动态 |
| 收入 | 邮编推断收入 | 生态学推断,非个体 |
| 种族/族裔 | 自报 | 少数族裔代表性受限 |
| 地理 | 邮编/机构区域 | 脱敏后粒度有限 |
| 医院层级 | facility_type | 不含非 CoC 医院 |
§7.6 数据漂移
三类系统性漂移源:制度漂移(AJCC/ICD/FORDS 版本切换,见坑点 6)、上报机制漂移(2020 年 RCRS 并发摘录取代年度 Call for Data,上报时序与完整性变化,ACoS Bulletin 2022)、诊疗实践漂移(免疫治疗等新疗法使"系统治疗=是/否"字段信息量下降)。跨年代模型必须把诊断年作为显式分层轴。
§7.7 DAIMS 24 项检查
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 数据为宽格式(每行一个样本/事件) | ✅ | PUF 为病例级宽表,每行一个原发肿瘤病例 |
| 2 | 有唯一标识符列 | ✅ | 去标识病例主键;患者级多原发需自行键级识别 |
| 3 | 无 Unicode 或特殊字符 | ⚠️ | 编码字段以数字为主;机构/文本类字段需按字典核对 |
| 4 | 无重复行 | ⚠️ | 多原发肿瘤合法多行;跨版本合并会产生重复(坑点 1) |
| 5 | 缺失值已识别并编码 | ✅ | FORDS 未知/不适用/不做决定各有独立编码 |
| 6 | 标签列被明确标识 | ✅ | vital_status + survival_months 为明确结局对 |
| 7 | 已对罕见类别(<3%)进行分组 | ⚠️ | 罕见组织学/部位未预分组,需自行归类 |
| 8 | 偏倚评估已完成 | ✅ | §7.1 八类偏倚与缓解 |
| 9 | 有完整的数据字典 | ✅ | 每版 PUF 附字典与 SAS/SPSS 标签脚本 |
| 10 | 对"信息性缺失"有明确编码解释 | ✅ | §4.5:复发无字段、死因不采集、院外治疗不进库 |
| 11 | 数据采集设备和设置已记录 | ❌ | 登记数据集无设备维度 |
| 12 | 已移除完全共线性变量 | ⚠️ | 分期组与 T/N/M 分量、机构类型与地理高度相关,未预移除 |
| 13 | 对编码的映射标准已说明 | ✅ | ICD-O-3 + AJCC + FORDS 原生体系明确(坑点 6 处理跨版本) |
| 14 | 对时间戳的处理已明确说明 | ⚠️ | 日期字段粒度与可用性随版本而变;生存月数为可靠时间轴 |
| 15 | 训练/验证/测试划分建议已给出 | ❌ | 官方无划分;社区惯例见 §5.2 |
| 16 | 数据泄漏风险已被讨论 | ✅ | §5.3 五种泄漏模式 |
| 17 | 标签分布已被分析 | ✅ | §4.2 + 公开基准报告提供分布核对 |
| 18 | 选择性测量偏倚已被讨论 | ✅ | §4.5 + §6.5 坑点 2/3/8 |
| 19 | 外部验证建议已给出 | ✅ | §5.5 SEER/NPCR/SEER-Medicare |
| 20 | 数据更新和版本信息已记录 | ✅ | 年度 PUF 版本命名清晰;时间轴见 §1.4 |
| 21 | 最小必要预处理脚本已提供 | ⚠️ | 官方仅 SAS/SPSS 标签脚本;ML 管线需自建(§6.3) |
| 22 | 合规使用要求已明确 | ✅ | CoC 附属资格 + 申请 + 机构协议(§7.4) |
| 23 | 多模态对齐方法已说明 | ⚠️ | 纯结构化单模态;与影像/组学外部库对齐受无患者级链接限制 |
| 24 | 去标识化方法已被记录 | ✅ | 去标识化 HIPAA 合规、无直接标识符;细节以 PUF 字典为准 |
DAIMS 评分:18.5 / 24
评分解读:良好——编码标准化、字典完备、合规链清晰是 NCDB 的强项;失分集中在"非基准数据集"的结构性短板:无官方划分、无设备维度、版本迁移需人工治理。
对你意味着什么:如果你做医院质量与治疗模式研究,NCDB 的标准化与规模足以直接开工;如果你做生存预测建模,把它当"高质量但需治理的表格数据"对待——先建版本映射与缺失审计层(坑点 6/7/8),再谈模型;如果你需要复发或死因,直接换数据源,不要在 NCDB 上浪费时间。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| SEER(人群登记) | NCI | 模式与生存率对比 | 描述性对比 | 数个百分点内 | 大样本医院登记与人群登记的边际差异有限(1997 胃癌报告) |
| NSCLC 辅助化疗随机试验(JALT/ANITA 等) | 国际试验联盟 | 早期死亡率真实性核对 | 早期死亡率 | 相近 | NCDB 真实世界早期死亡率与试验量级一致,但缺死因限制解读(JTO 2018) |
| 食管腺癌新辅助放化疗试验 | 多项试验 | 生存获益方向 | OS | 方向一致 | cN+ 获益、cN0 不获益与试验证据吻合(Gabriel 2015) |
§8 基准性能与生态
§8.1 代表性研究"榜单"
NCDB 不是竞赛基准数据集,没有官方排行榜。下表收录可核实的代表性 NCDB 研究结果——各研究队列、年代、方法不同,数值与结论不可直接相互比较,仅供了解社区在问什么问题:
| 序 | 研究方法 | 主要发现 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | 食管腺癌新辅助放化疗队列 | cN+ 患者 OS 获益,cN0 患者无获益 | 2015 | 阶段匹配 + 倾向评分调整 | Gabriel E, Tuttle R, Nurkin S, Hochwald S, Kukar M. JAMA Surgery. 2015. DOI: 10.1001/jamasurg.2015.4068 | 无公开 |
| 2 | 1989-2014 随访完整性分析 | 5 年 43% 在随访、25 年仅 1.9%;失访 13%→94% | 2021 | 生存分析 | Nelson H, et al. Annals of Surgical Oncology. 2021(Medscape 转述) | 无公开 |
| 3 | 手术安全记录 vs 手术量的区域化 | 按安全记录区域化可挽救两倍生命 | 转述于 2023 | 医院级建模 | Chiu AS, et al.(ACoS Bulletin 2023 转述) | 无公开 |
| 4 | NSCLC 辅助化疗真实世界 vs 试验 | 早期死亡率与试验相近;残余混杂限制因果解读 | 2018 | 方法学评论 | “Real-World or Controlled Clinical Trial Data in Real-World Practice.” Journal of Thoracic Oncology. 2018(全文) | 无公开 |
| 5 | 小细胞肺癌超分割放疗落地率研究 | 有效疗法在真实世界极少实施 | 转述于 2023 | 实践-证据差距分析 | ACoS Bulletin 2023 转述(实践落地研究) | 无公开 |
| 6 | "未手术原因"变量支持的手术 vs 非手术比较 | 用 reason for no surgery 剔除不可手术者 | 转述于 2023 | 适应证校正设计 | ACoS Bulletin 2023 转述(肺癌手术比较研究) | 无公开 |
§8.2 SOTA 总结与选型建议
NCDB 上的"先进"不是单一模型指标,而是方法论成熟度:表格基线(Cox + 倾向评分)仍是发表主流;机器学习增强的价值体现在高维交互与非线性风险分层;因果类研究的一致性要求(稳健标准误、敏感性分析、阴性对照)比模型新颖度更被审稿人看重。选型建议:先用 XGBoost/Cox 建立可解释基线,再视增量收益引入深度模型。
一个经验法则:NCDB 上"新模型 vs 老模型"的性能增量通常远小于"设计缺陷修复"(如 immortal time 校正、医院级划分)带来的结果变化。把力气花在研究设计上,性价比高于换模型。
§8.3 评测协议
社区未形成统一评测协议。可复现性最低配置:固定 PUF 版本与诊断年窗口 + 按医院分组划分 + 报告 C-index/AUROC 置信区间 + 公开队列定义代码。因果类研究遵循 STROBE/GRACE 类观察性研究报告规范(JTO 2018 提及的框架)。
§8.4 相关数据集
| 数据集 | 关系 | 差异化定位 |
|---|---|---|
| SEER | 互补外部验证源 | 人群代表性、可估发生率;治疗细节少 |
| NPCR | 互补 | CDC 全州人群登记 |
| SEER-Medicare | 深化 | 65+ 人群索赔级治疗与费用 |
| TCGA | 深化 | 分子层面;样本量小 |
| NCDB Public Benchmark Reports | NCDB 自身公开层 | 聚合级、免申请 |
| NAACCR | 数据标准组织 | NCDB 传输格式与编码规范的协调方(见 §3.10) |
§8.5 关键论文 Top 8
- Bilimoria KY, Stewart AK, Winchester DP, Ko CY. The National Cancer Data Base: A Powerful Initiative to Improve Cancer Care in the United States. Annals of Surgical Oncology. 2008;15(3):683-690. DOI: 10.1245/s10434-007-9747-3 —— NCDB 权威方法学综述,约 1,600 引用(OpenAlex,截至 2026-09,Rankless 镜像)。
- Palis BE, McCabe R, Snyder R, Boughey J, Boffa DJ. Today’s National Cancer Database Is Key to a Better Tomorrow. Bulletin of the American College of Surgeons. 2023;108(1) —— 官方现状综述:4,500 万患者、100 亿数据点、研究影响力盘点。
- The Journey From End Results to the National Cancer Database. Bulletin of the American College of Surgeons. 2022 —— 官方历史叙事:1985→1989、RCRS 上线、PUF 试点史。
- Pezzi CM. (编辑部评论)Annals of Surgical Oncology. 2014;21:1506-1507. DOI: 10.1245/s10434-014-3519-7 —— 系统阐述复发数据缺失与 OS 局限。
- Gabriel E, Tuttle R, Nurkin S, Hochwald S, Kukar M. JAMA Surgery. 2015. DOI: 10.1001/jamasurg.2015.4068 —— NCDB 比较效果研究范式示例(含局限声明)。
- Nelson H, et al. Annals of Surgical Oncology. 2021 —— 长期随访完整性与人力成本定量研究。
- Real-World or Controlled Clinical Trial Data in Real-World Practice. Journal of Thoracic Oncology. 2018 —— NCDB 用于因果推断的混杂陷阱清单。
- Review of Colorectal Studies Using the National Cancer Database(PMC6327723)—— 结直肠癌领域 NCDB 用法与局限系统梳理。
§8.6 社区活跃度
- 学术产出:1,500+ 篇 PubMed 收录论文,每年约新增 350 篇(截至 2023-01,ACoS Bulletin 2023)。
- 机构使用:每年支持约 1,000 个研究项目(2019 年报)。
- 更新节奏:PUF 年度滚动发布;RCRS 支持并发上报;PUF 申请常年开放。
- 注意:NCDB 没有类似 PhysioNet/HuggingFace 的公开社区仓库生态;社区讨论以学术会议与论文评论区为主,技术工具(开源加载器、字段映射库)散见于研究者个人仓库,使用前需自行验证。
§8.7 生态快照
| 资源 | 类型 | 链接 | Star 截至 2026-09 | 推荐理由 |
|---|---|---|---|---|
| NCDB 官方 about 页 | 官方文档 | facs.org | — | 权威口径:规模、覆盖、字段框架 |
| PUF 申请入口 | 官方获取 | ncdbapp.facs.org | — | 唯一正规病例级数据入口 |
| Public Benchmark Reports | 官方工具 | facs.org NCDB | — | 免申请的聚合基准查询 |
| ACoS Bulletin 历史与现状文 | 官方叙述 | 2022 / 2023 | — | 历史细节与最新规模数字 |
| re3data 记录 | 仓储元数据 | re3data.org | — | 结构化仓储描述与 DOI |
| Bilimoria 2008 全文 | 方法学论文 | PMC | — | 上报机制与字段四分类原始出处 |
§9 相关资源与引用
§9.1 官方资源
- 官方主页与概述:About the National Cancer Database
- PUF 申请与下载:https://ncdbapp.facs.org/puf/
- 基准报告入口:NCDB at facs.org
- 官方历史:The Journey From End Results to the National Cancer Database (2022)
- 官方现状:Today’s NCDB Is Key to a Better Tomorrow (2023)
- 规模口径(2019):2019 Executive Director’s Annual Report
- 仓储元数据:re3data.org 记录
§9.2 BibTeX 引用
@article{bilimoria2008ncdb,
author = {Bilimoria, Karl Y. and Stewart, Andrew K. and Winchester, David P. and Ko, Clifford Y.},
title = {The National Cancer Data Base: A Powerful Initiative to Improve Cancer Care in the United States},
journal = {Annals of Surgical Oncology},
year = {2008},
volume = {15},
number = {3},
pages = {683--690},
doi = {10.1245/s10434-007-9747-3}
}
@article{gabriel2015esophageal,
author = {Gabriel, Emmanuel and Tuttle, Ross and Nurkin, Steven and Hochwald, Steven and Kukar, Moshim},
title = {Association Between Clinically Staged Node-Negative Esophageal Adenocarcinoma and Overall Survival Benefit From Neoadjuvant Chemoradiation},
journal = {JAMA Surgery},
year = {2015},
doi = {10.1001/jamasurg.2015.4068}
}
@article{pezzi2014recurrence,
author = {Pezzi, Christopher M.},
title = {The Limits of Recurrence Data in the National Cancer Database and Other Registries},
journal = {Annals of Surgical Oncology},
year = {2014},
volume = {21},
pages = {1506--1507},
doi = {10.1245/s10434-014-3519-7}
}
@article{palis2023ncdb,
author = {Palis, Bryan E. and McCabe, Ryan and Snyder, Rebecca and Boughey, Judy C. and Boffa, Daniel J.},
title = {Today's National Cancer Database Is Key to a Better Tomorrow},
journal = {Bulletin of the American College of Surgeons},
year = {2023},
volume = {108},
number = {1}
}
@misc{acs2022journey,
author = {{American College of Surgeons}},
title = {The Journey From End Results to the National Cancer Database},
howpublished = {Bulletin of the American College of Surgeons},
year = {2022},
url = {https://www.facs.org/for-medical-professionals/news-publications/news-and-articles/bulletin/2022/01/the-journey-from-end-results-to-the-national-cancer-database}
}
@misc{ncdbpuf,
author = {{American College of Surgeons, Commission on Cancer}},
title = {National Cancer Database Participant Use Data File (PUF)},
howpublished = {\\url{https://ncdbapp.facs.org/puf/}},
year = {2026},
note = {Accessed 2026-09-13}
}
§9.3 引用指南
- 论文中必须写明所用 PUF 的最晚诊断年版本与数据访问日期,例如"NCDB PUF(最晚诊断年 2022),访问于 2026-09"。
- 同时引用方法学论文(Bilimoria 2008)与数据来源(ACoS/CoC),这是 CoC 的引用期望。
- 记得声明能力边界:无复发、无死因、医院登记非人群代表(见 §7)。
§10 AI 使用声明卡
§10.1 AI 模型使用
| AI 模型 | 版本 | 用途 |
|---|---|---|
| fast-model(CodeBuddy) | 2026-09 | 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建 |
| WebSearch(多源检索) | 2026-09-13 | 5 组检索:官方页面、历史与规模交叉验证、PUF 机制、方法学论文与引用快照、坑点与局限 |
§10.2 AI 参与范围
AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。
AI 在本页面的工作中负责:(1) 从 facs.org 官方页面、ACoS Bulletin、PubMed/PMC 文献与 re3data 中整理结构化信息;(2) 生成 §6 的 Python 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。所有规模数字均带检索来源,未经核实的字段一律省略。
§10.3 输入来源
- Bilimoria KY, Stewart AK, Winchester DP, Ko CY (2008), Annals of Surgical Oncology 15(3):683-690 — NCDB 权威综述(DOI: 10.1245/s10434-007-9747-3)
- American College of Surgeons — About the National Cancer Database(官方 about 页:4,000 万记录、72%、1,500+ 项目)
- American College of Surgeons — NCDB PUF 申请入口(ncdbapp.facs.org/puf/)
- Palis BE, McCabe R, Snyder R, Boughey J, Boffa DJ (2023), Bulletin of the American College of Surgeons 108(1) — 4,500 万患者、230+ 数据项、PUF 时间线
- The Journey From End Results to the National Cancer Database (2022), Bulletin of the American College of Surgeons — 1985/1989 起源、RCRS、PUF 试点史
- 2019 Executive Director’s Annual Report, Bulletin of the American College of Surgeons — 3,900 万记录、年 150 万例、1,000 研究项目
- Wiley Online Library — The National Cancer Data Base report on gastric carcinoma (1997) — 早期 Call for Data 与字段四分类
- Pezzi CM (2014), Annals of Surgical Oncology 21:1506-1507 — 复发数据缺失与 PUF 申请常见错误
- Real-World or Controlled Clinical Trial Data in Real-World Practice (2018), Journal of Thoracic Oncology — 混杂与变量缺失清单、SEER 对比
- Review of Colorectal Studies Using the NCDB (PMC6327723) — 格式、FORDS、局限系统梳理
- Gabriel E, et al. (2015), JAMA Surgery — 食管腺癌 NCDB 研究范式与 22% 缺失证据
- Nelson H, et al. (2021), Annals of Surgical Oncology — 长期随访完整性(经 Medscape 962217 转述)
- Frontiers in Bioinformatics (2026) — 公共生物医学数据资源综述(SEER/NCDB 对比数字)
- re3data.org — National Cancer Data Base 仓储记录(DOI: 10.17616/R3234Z)
- Rankless.org — Bilimoria 2008 引用快照(OpenAlex 数据,截至 2026-09)
- PubMed 18183467 — Bilimoria 2008 题录核对
§10.4 人工校验记录
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| §2 医学背景(ICD-11/SNOMED 映射、人群画像、金标准) | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §3 数据集规格(版本矩阵、模态、规模数字) | 千方病案医学编辑部 | 与官方 about 页及 Bulletin 交叉比对 | ✅ 已验证 |
| §4 数据结构(字段字典、缺失表) | 千方病案医学编辑部 | 与 PUF 字典框架及文献交叉比对 | ✅ 已验证 |
| §5 数据划分策略 | 千方病案医学编辑部 | 交叉审核 | ✅ 已通过 |
| §6 代码示例与坑点 | 千方病案医学编辑部 | 逻辑审查 + 文献坑点溯源 | ✅ 已通过 |
| §7 质量评估与 DAIMS | 千方病案医学编辑部 | 偏倚与局限逐条溯源 | ✅ 已验证 |
| §8-§9 基准生态与引用 | 千方病案医学编辑部 | 引用完整性核对 | ✅ 已通过 |
| frontmatter 与 JSON-LD | 千方病案医学编辑部 | 结构与占位符规范核对 | ✅ 已通过 |
§10.5 AI 生成章节标注
本页面各章节均由 AI 生成初稿、编辑部队执行上述人工校验流程后定稿;§6.5 坑点与 §7.1 偏倚表中的每一条均有 §10.3 所列来源支撑。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核日期一致)。
页面状态:published(全部内容已完成审核并发布)
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- seer-medicare — 共享标签:电子健康记录 / 公共卫生与流行病学 / 医疗登记 / 卫生服务研究 / 真实世界数据
- gemini — 共享标签:电子健康记录 / 公共卫生与流行病学 / 卫生服务研究 / 真实世界数据
- nhs-hes — 共享标签:电子健康记录 / 公共卫生与流行病学 / 卫生服务研究 / 真实世界数据
- ices-ontario — 共享标签:电子健康记录 / 公共卫生与流行病学 / 医疗登记 / 卫生服务研究
- cancerlinq — 共享标签:电子健康记录 / 真实世界数据 / 肿瘤学
- trec-pm — 共享标签:电子健康记录 / 医疗登记 / 肿瘤学
- aact — 共享标签:电子健康记录 / 医疗登记 / 真实世界数据
- marketscan — 共享标签:电子健康记录 / 公共卫生与流行病学 / 卫生服务研究 / 真实世界数据
- premier-pinc-ai — 共享标签:电子健康记录 / 公共卫生与流行病学 / 卫生服务研究 / 真实世界数据
- maternal-ultrasound-nutrition — 共享标签:电子健康记录 / 公共卫生与流行病学 / 真实世界数据
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

