NHS HES — 英格兰医院事件统计数据库 AI-Ready Wikipedia

覆盖英格兰全部 NHS 医院活动,年度 2,150 万住院事件记录

来源 NHS England(Secondary Care Open Data and Publications) url: https://digital.nhs.uk/data-and-information/data-tools-and-services/data-services/hospital-episode-statistics发布时间: 2026-09-16最后更新: 2026-09-25 阅读 43
NHS HES — 英格兰医院事件统计数据库 AI-Ready Wikipedia

信息速览

数据集名称NHS HES — 英格兰医院事件统计数据库 AI-Ready Wikipedia
数据类型2,150 万 FCE(2023-24),1,760 万 FAE(2023-24),1.356 亿门诊人次,2,630 万 A&E 到场,ICD-10 与 OPCS-4 编码,DARS 申请审核获取
规模全英格兰人群覆盖,2023-24 财年 1,760 万次住院(FAE)
接入方式NHS England(Secondary Care Open Data and Publications) url: https://digital.nhs.uk/data-and-information/data-tools-and-services/data-services/hospital-episode-statistics
AI 就绪度

数据集封面

NHS HES — 英格兰医院事件统计数据库 AI-Ready Wikipedia

INFOBOX

字段 内容
数据集名称 NHS HES(英格兰医院事件统计)
英文全称 Hospital Episode Statistics
别名/简称 HES;HES APC(住院子库);HES OPA(门诊子库);HES ECDS(急诊子库)
疾病分类 全病种覆盖(ICD-10 全卷,对应 ICD-11 全卷)
SNOMED CT 原生不使用(采用 ICD-10/OPCS-4 编码,可经标准映射表转换)
数据模态 住院记录 + 门诊记录 + 急诊记录(结构化行政与临床编码字段)
AI 任务类型 再入院预测、住院时长预测、表型提取、疾病负担估计、医院绩效与政策评估
样本总数 2023-24 财年 21.5 百万条 FCE、17.6 百万条 FAE(APC 子库)
数据大小 无公开固定大小(按 DARS 申请范围交付,单财年 APC 为千万行级文本)
数据格式 CSV/定长文本(经审批交付);官方统计输出为 XLSX/CSV
许可证 NHS England 版权;依 Data Sharing Framework Contract 与按用途签署的 Data Sharing Agreement 使用
访问级别 申请审核(DARS 受理 + IGARD 审查,必要时 CAG s251 支持)
DUO 标签 IRB(需伦理批准)+ NCU(非商业)+ GS(英国境内安全处理)
语言 英语
首发日期 1989/90 财年(全国全覆盖起点,此前为 10% 抽样)
最后更新 2024-09-26(2023-24 年度最终数据发布)
发布机构 NHS England(原 NHS Digital,2023-02-01 法定并入)
官方主页 https://digital.nhs.uk/data-and-information/data-tools-and-services/data-services/hospital-episode-statistics
下载地址 https://digital.nhs.uk/services/data-access-request-service-dars(DARS 申请受理页)
引用次数 549+(Scopus,截至 2026-09;Herbert 2017 数据资源论文)
AI 就绪度评分 ⭐⭐⭐(3/5)— 覆盖面与字段完备性顶级,但需审批获取、无官方预处理脚本,spell/CIP 须自行派生(扣分项:格式需转换、编码版本漂移需自行处理)
页面状态 published

§0 E-E-A-T 审核与免责

医学审核:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11/SNOMED CT 映射、流行病学、金标准编码流程)、§7 偏倚分析。

数据工程审核:[千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

更新说明:本页面的规模数字、引用数与版本信息均标注"截至"日期;HES 年度最终统计每年秋季发布,下次例行复核应对齐最新财年出版物并更新 INFOBOX 样本总数与 §4.3 关键统计。

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。NHS HES 为 NHS England 版权数据,须通过 DARS 提交申请、经 IGARD 审查并签署 Data Sharing Agreement 后方可获取与使用。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 30 秒速览

这是什么? NHS HES(Hospital Episode Statistics,医院事件统计)是英格兰的国家医院活动数据库,由 NHS England(原 NHS Digital)管理。它收录英格兰全部 NHS 资助医院发生的事情:每一次住院、每一次门诊预约、每一次急诊科到访。2023-24 财年,仅住院子库就记录了 2,150 万条 consultant episode(NHS England, 2024)。

为什么重要? 它是英国医疗体系的"总账本":英格兰约 98-99% 的医院活动由 NHS 资助,因此 HES 接近对全国住院活动的完整普查(Herbert et al., 2017)。诊断用 ICD-10 编码、手术用 OPCS-4 编码、患者用伪匿名 HESID 跨年追踪——这意味着研究者可以在覆盖数千万人的尺度上做流行病学、卫生服务研究与 AI 建模,而这是任何单中心数据集都无法提供的。

我能用它做什么? 训练再入院预测、住院时长预测模型;做疾病负担与手术量全国估计;构建跨越 30 余年的疾病纵向队列;评估医院绩效与政策效果。注意:HES 是申请审核制数据,须通过 DARS 审批并签署数据共享协议;同时它没有实验室检验与生命体征,别把它当作重症监护数据库使用。

§1.1 摘要

HES 的数据生产是一条"行政流水线":各 NHS 医院的临床编码科依据病历与出院小结,按国家编码标准将诊断编为 ICD-10 码(最多 20 个诊断字段)、手术操作编为 OPCS-4 码(最多 24 个字段),随 Commissioning Data Set 按月提交至 Secondary Uses Service(SUS+);NHS England 对其清洗、质控后形成 HES,发布月度临时统计与年度最终统计(NHS England, 2024)。数据按财年组织,每行 APC 记录对应一个 Finished Consultant Episode(FCE),同一患者经伪匿名 HESID 跨年可追。2023-24 财年核心规模:住院 21.5 百万 FCE / 17.6 百万 FAE、门诊 1.356 亿预约、A&E 2,630 万人次(截至 2026-09 官方口径)。对 AI 而言,HES 的价值在于"人口尺度 + 纵向完整",代价是"编码粒度粗 + 版本漂移":诊断字段数历经 7→14→20 的扩容,OPCS-4 分类版本随年更替,2021-09 处理流程变更造成时间序列断点,均需在建模前显式处理。

一句话技术定位:HES 是"行政数据的 Python 标准库"——不是最锋利的工具,但几乎每个严肃项目都会 import 它。理解本页 §6.5 的八个坑点,比多试三个模型架构更能决定你在 HES 上的产出质量。

§1.2 战略价值

维度一:人口尺度的完整覆盖。 HES 不是抽样队列而是近普查:APC 覆盖英格兰全部 NHS 资助住院(含独立部门承接的 NHS 活动),约 97% 在英格兰 NHS 资助医院出生的儿童拥有 HES 出生记录(ECHILD 文档)。这让罕见病研究、卫生经济学与政策评估获得了无法通过前瞻性招募实现的人群样本;Herbert 2017 的文献计量显示,以 HES APC 为主要数据来源的论文已从 1993 年的每年 2 篇增长到 2015 年的每年 88 篇(Herbert et al., 2017)。

维度二:纵向可追与可链接性。 HESID 使同一患者可在 30 余年的住院、门诊、急诊记录间追踪,并可与 ONS 死亡登记、CPRD 初级保健数据乃至影像队列链接——AlzEye 项目将 353,157 名患者的视网膜影像与 HES 住院记录完成 record-level 链接,其中 186,651 人对应 1,337,711 条 HES APC episode(Wagner et al., 2022, BMJ Open)。对 AI 而言,这种"行政骨干 + 多源挂载"的结构是构建真实世界多模态数据集的理想骨架。

维度三:政策问责的公共记账本。 HES 的官方用途清单明确覆盖国家政策制定、议会质询应答、媒体与国际比较(NHS England):英国议会书面质询中的住院数字、下议院委员会听证里的等待时间证据,几乎全部溯源自 HES。这意味着基于 HES 的研究结论天然具备进入政策讨论的通道,也意味着任何数字错误都会被放大——精度与口径声明不是学术洁癖,而是公共责任。

§1.3 同类数据集横向对比

数据集 机构/国家 规模 模态 标注体系 差异化
NHS HES NHS England / 英格兰 21.5 百万 FCE/年(2023-24) 住院 + 门诊 + 急诊行政记录 ICD-10 + OPCS-4 全国近普查、30+ 年纵向、伪匿名可链接
MIMIC-III MIT 与 BIDMC / 美国 46,520 名患者、61,532 次 ICU 入住 ICU 波形 + EHR + 文本 ICD-9 + 自由文本 单中心深度生理数据,粒度远细于 HES
Danish NPR 丹麦卫生当局 / 丹麦 全国住院覆盖 住院行政记录 ICD-10(北欧改编版) 全民体系行政数据,与 HES 结构最接近
Swedish NPR(SNPR) 瑞典 / 瑞典 全国住院覆盖 住院行政记录 ICD-10(瑞典版) 全民覆盖,个人编号制度利于链接
SEER-Medicare NCI 与 CMS / 美国 癌症登记与医保索赔链接 登记库 + claims 肿瘤登记 + ICD/CPT 定向肿瘤队列,临床分期信息优于 HES
CMS Medicare LDS CMS / 美国 老年医保人群 claims 索赔记录 ICD + CPT/HCPCS 索赔驱动,与 HES 的临床编码逻辑不同

注:MIMIC-III 数字引自其官方描述;其余条目为定性比较,规模因口径不同不可直接换算。

对比表中真正值得记住的差异轴有三个:单元粒度(MIMIC 的波形/分钟级 vs HES 的 episode/天级)、人群范围(单中心深度 vs 全国广度)、获取门槛(PhysioNet 凭证化培训 vs DARS 审批 + DSA)。多数失败项目源于把 HES 当 MIMIC 用(期望检验数值)或把 MIMIC 当 HES 用(期望全国外推)。

§1.4 版本时间轴

时间 事件 影响
1980 年代中期 依 Körner 报告开始常规收集,10% 抽样 HES 前史(Liverpool, 2024)
1987–1989/90 全国推广,1989/90 财年起全覆盖 现代 HES 起点(Herbert et al., 2017)
1989-04 至 1995-03 诊断使用 ICD-9 与 ICD-10 时代不兼容(Herbert et al., 2017)
2002-04 诊断字段 7→14,手术 4→12 字段扩容第一跳
2004/05 HES APC 成为 Payment by Results 付费依据 编码经济激励增强(Herbert et al., 2017)
2007-04 诊断字段→20,手术字段→24 现行字段结构确立(Herbert et al., 2017)
2007/08 起 A&E 子库(ECDS)收录 急诊维度补齐(NHS England)
2021-09 HES 处理流程变更 时间序列断点(NHS England)
2023-02-01 NHS Digital 法定并入 NHS England(S.I. 2023/98) 机构沿革变更
2023-04 OPCS-4.10 版本启用 手术编码版本漂移
2024-09-26 2023-24 年度最终数据发布 当前最新最终版

时间轴的两条使用规则:其一,2022 年及以后的"事件"多为流程与机构变更而非数据结构变更,处理时可归并到断点变量;其二,2021-09 与 2023-02(机构合并)相距不足两年,讨论"合并前后差异"的研究必须先剥离 2021 处理变更的影响,否则会把流程效应误记到机构改革名下。

§1.5 典型应用场景

  1. 30 天再入院预测:以 APC 的入院方式、诊断组合、住院时长、出院去向为特征,按 HESID 分组的患者级建模,服务出院规划。构建特征时以预测时点截断(§5.3),以 spell 为样本单元(坑点 1)。
  2. 疾病负担与手术量全国估计:以主诊断 ICD-10 码与主操作 OPCS-4 码聚合,产出全国与 provider 级别的发病率、手术率时间趋势。年度最终数据保证口径稳定,适合发表级趋势分析。
  3. 医院绩效与政策评估:利用全 provider 覆盖做基准比较或间断时间序列,例如以未参与政策的苏格兰作对照评估英格兰按绩效付费项目对髋部骨折结局的影响(Herbert et al., 2017 综述之研究范式)。
  4. 纵向疾病队列构建:经 HESID 追踪多次住院拼接疾病历程,或与 ONS 死亡、影像队列(如 AlzEye 的 353,157 人链接)做多模态研究。出生记录覆盖约 97%,支持从围产期起步的生命历程队列。
  5. 合成数据与算法审计基准:利用 NHS England 提供的人工合成 HES 数据试点,在不含真实患者数据的环境下开发与教学。合成数据结构与真实提取一致,适合预处理代码的单元测试。
  6. 健康不平等监测:结合内置 IMD 剥夺字段与 A&E/住院利用率梯度(最 deprived 10% 地区到访近 least deprived 的两倍),量化服务可及性的社会经济分布。

§2 医学背景

§2.1 ICD-11 编码映射表

HES 原生使用 ICD-10。下表将本数据集高频疾病群组映射至 ICD-11(WHO 2021 年启用版本),供跨库研究统一术语。

疾病标签 HES 中 ICD-10 范围 ICD-11 编码 术语说明
急性心肌梗死 I21-I22 BA41 Acute myocardial infarction
缺血性心脏病 I20-I25 BA40-BA4Z Ischaemic heart disease
脑梗死(卒中) I63 8B11 Cerebral infarction
心力衰竭 I50 BD10 Heart failure
心房颤动 I48 BC81.3 Atrial fibrillation
2 型糖尿病 E11 5A11 Type 2 diabetes mellitus
慢性阻塞性肺疾病 J44 CA22 Chronic obstructive pulmonary disease
哮喘 J45-J46 CA23 Asthma
肺炎 J12-J18 CA40 Pneumonia
脓毒症 A40-A41 1G40 Sepsis
慢性肾脏病 N18 GB61 Chronic kidney disease

映射使用三点注意:其一,HES 原生 ICD-10 为英国国家改编版,与 WHO 基线版存在码位差异,跨库映射建议经 SNOMED CT 中转而非直接码位对码位;其二,ICD-11 于 2022 年起陆续生效,英格兰行政数据仍以 ICD-10 采集,上表用于研究层的术语统一而非数据替换;其三,表中码位为章节/类目级锚点,构建表型时应回到官方分类文件核对细码。

§2.1b SNOMED CT 映射表

疾病标签 ICD-11 编码 SNOMED CT 码 术语
急性心肌梗死 BA41 22298006 Myocardial infarction
卒中 8B11 230690007 Cerebrovascular accident
心力衰竭 BD10 88868003 Heart failure
心房颤动 BC81.3 49436004 Atrial fibrillation
2 型糖尿病 5A11 44054006 Diabetes mellitus type 2
慢性阻塞性肺疾病 CA22 13645005 Chronic obstructive lung disease
哮喘 CA23 195967001 Asthma
肺炎 CA40 233604007 Pneumonia
脓毒症 1G40 10001005 Sepsis disorder
慢性肾脏病 GB61 709044004 Chronic kidney disease

§2.2 疾病与人群背景

HES 不聚焦单一疾病,而是承载英格兰医院活动所涉的全部临床领域,其人群流行病学特征直接塑造数据分布。急诊维度上,2023-24 财年英格兰 A&E 到场 26.3 百万人次,较 2022-23 增长 3.8%;最 deprived 10% 人群的 A&E 到访率接近 least deprived 10% 的两倍(3.3 百万对 1.7 百万人次),且 35 岁以下人群占全部到访的 45.6%(NHS England, 2024)。住院维度上,2023-24 财年 17.6 百万 FAE 同比增长 7.1%,其中约对应每日 17,563 次急诊入院与 72,113 次 A&E 到场(DHSC 证据, 2024)。这些结构意味着任何基于 HES 的模型都必须处理"社会经济梯度"与"急诊主导的入院构成"两大人群特征。

除成人急性医疗外,HES 的孕产与新生儿维度值得单独强调:每次分娩事件会生成一条产妇记录与一条或以上新生儿记录,字段含孕周、出生体重、分娩方式与多胎序号(Herbert et al., 2017)。由于约 97% 在英格兰 NHS 资助医院出生的儿童都拥有 HES 出生记录,研究者可以从出生开始构建生命历程队列——英国多个全国出生队列(如 262,000 名儿童的宫内 SARS-CoV-2 暴露研究)正是以 HES 住院记录作为随访终点。

§2.3 临床任务定义

  • 筛查与早发现:HES 本身非筛查工具,但可作为筛查阳性者的就诊确认源,与影像或初级保健数据链接后用于疾病识别表型(如 AlzEye 将视网膜影像与 HES 心梗、卒中、痴呆诊断链接,353,157 人中分别识别 12,022、11,735 与 13,363 名患者;Wagner et al., 2022)。
  • 诊断:HES 的 ICD-10 编码即出院诊断的行政化表达,可用于构建诊断表型算法(phenotype),但编码准确性依赖医院编码质量。表型定义建议采用已发表的 phenotype library 并报告阳性预测值。
  • 分级与预后:以诊断组合、年龄、 deprivation、入院方式构建风险评分(如再入院风险、死亡风险),可链接 ONS 死亡登记获得终点。预后模型的特征时点必须截断在预测时点之前。
  • 治疗与结局:OPCS-4 承载手术操作信息,支持术式量、术式选择与术后结局(再手术、并发症再入院)研究。手术日期字段(opdate)支持术后时间窗的精确定义。
  • 服务利用建模:以门诊预约(含未到场 DNA)与 A&E 到访构建利用强度指标,监测 5.9% 的门诊未到场率等运行学指标(月度 HES M13)。

§2.4 患者人群画像

维度 描述
来源 英格兰 NHS 资助医院(含独立部门承接的 NHS 活动);不含自费私立医疗
时间 住院 1989/90 财年起;门诊 2003 年起;A&E 2007/08 财年起;重症监护 2008 年起
年龄 全年龄(官方元数据标称 0-150 岁)
性别 男/女/未说明,由医院录入
种族 NHS 族裔分类编码,由医院录入,完整性随医院与年份波动
就医类型 计划住院、急诊住院、日间手术、门诊预约、A&E 到访、孕产与新生儿
社会经济 居住地 LSOA 级 IMD 剥夺指数排名与十分位,随记录内置
地理粒度 provider、居住地区(region/地方政府区/LSOA)、GP 注册信息

人群画像的一处解读提醒:HES 的人群不是"英格兰居民"而是"在英格兰 NHS 资助医院发生活动的人群"——居住在威尔士但在英格兰医院就诊的患者会进入 HES,反之英格兰居民在威尔士就诊则不会。跨边界地区(如威尔士边境郡)的患病率估计需注意这一不对称。

§2.5 临床与科研价值

对临床研究者,HES 提供三类不可替代的价值:其一,全人群分母——任意疾病均可获得全国住院发生量与趋势,无需担心选择偏倚主导的招募;其二,结局链完整——入院方式、专科转移、手术、出院去向、跨院转诊均在记录内,可还原完整住院路径(FCE→spell→continuous inpatient spell);其三,政策天然对照——全 provider 覆盖使自然实验设计(政策分期实施、跨国对照)成为可能。对 AI 团队,HES 是英国版的"国家级 claims + EHR 混合体":编码密度低于 MIMIC 类数据,但样本量与人群代表性高数个量级。

从数据资产视角看,HES 的第三重价值是时间纵深带来的可复利性:同一张 ICD-10 编码表覆盖 1995 年至今的全部住院,任何今天定义的表型都可以回溯应用三十年;而多数科研队列一旦结束招募便停止生长。对于需要长周期随访的 AI 任务(如慢性病进展建模、儿童期暴露与成年期结局),HES 的时间纵深是决定性优势——代价则是必须吃透坑点 3 与坑点 4 的历史口径漂移。

§2.6 金标准编码流程

项目 内容
数据划分 无官方研究划分;按财年滚动发布(月度临时 + 年度最终)
标注方式 回顾性行政编码:出院后由临床编码科依据病历与出院小结编码
标注者 各 NHS 医院经培训的临床编码员(clinical coder),遵循国家编码标准与规则
编码体系 诊断 ICD-10(最多 20 字段,1 主诊断);手术 OPCS-4(最多 24 字段)
质控性质 国家级清洗规则 + 年度最终化;主诊断必填,无法确定时记 R69(unknown)
局限 编码为行政目的(含付费)服务,非前瞻科研标注;院间一致性有限

理解 HES 的"金标准"属性需要一次视角转换:它的可信度不来自双盲独立标注,而来自制度化的标准化——全国统一的编码课程、数据字典、清洗规则与付费挂钩的经济激励(自 2004/05 的 Payment by Results 起)。这套制度让 200 余家 provider 的编码产出可以被聚合比较,但也把"编码经济激励"变成了数据生成过程的一部分:任何受付费规则影响的字段(如并发症记录)都应检查激励断点。


§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本/渠道 大小 理由
快速了解年度活动量、做宏观分析 年度官方统计出版物(免费下载) MB 级 最终化数据、已披露控制、免申请
患者级建模(再入院/时长/表型) DARS 申请 APC 患者级提取 千万行级 需行级 HESID 与编码字段
跟踪最新月度动态 月度临时 HES 发布 MB 级 临时口径,年度最终版会覆盖
教学与算法原型开发 人工合成 HES 数据试点 可变 结构同真实数据但无真实患者
儿童健康纵向研究 ECHILD 等已链接研究数据集 视项目 已完成 HES 与教育登记链接
地方公共卫生团队例行监测 Local authority HES Data Extract Service 按月更新 住院/门诊自 2004/05、A&E 自 2007/08,法定职能用途
需要跨子库路径分析(急诊→住院→门诊) DARS 申请 APC+ECDS+OPA 联合提取 千万行级 经 hesid 统一链接,注意特征时点截断

矩阵的判断顺序:先看"是否需要患者级"(决定免费出版物还是 DARS 申请),再看"是否跨子库"(决定单一 APC 还是联合提取),最后看"是否需要真实数据"(决定合成数据能否顶替)——大多数教学与工具链场景在第三问就被合成数据化解,不必进入审批流程。

§3.1 模态详情

  • APC(Admitted Patient Care):episode 级住院数据,覆盖需要使用床位的住院(含日间、急诊、计划、分娩与新生儿);每行一个 FCE,含最多 20 个 ICD-10 诊断与 24 个 OPCS-4 手术字段;1997 年起的提取对研究可用,全国收集自 1989/90(ECHILD 文档;Herbert et al., 2017)。孕产信息置于"maternity tail"尾部字段,含孕周、产次与出生体重。
  • OPA(Outpatients):门诊预约与到访记录(含未到场),2003 年起可用;2023-24 财年 1.356 亿预约、77.2% 到场率(NHS England 月度 HES M13)。OPA 的临床编码深度低于 APC,诊断以 ICD-10 记录但无 OPCS 手术字段的强制要求。
  • ECDS(Emergency Care Data Set):A&E 到访记录,含到访时间、处置与结局;2007/08 财年起收录;2023-24 财年 26.3 百万人次到场(NHS England, 2024)。ECDS 可与 APC 链接还原"急诊→收住院"路径。
  • Critical Care(ACC):重症监护 episode 级数据,2008 年起可用;2023-24 财年可用记录 236,171 条(NHS England, 2024)。儿童自 2017/18 起纳入,此前仅限成人病区(ECHILD 文档)。
  • 年际子库可用性速查:APC 1997 年起(提取口径)、OPA 2003 年起、A&E 2007/08 起、ACC 2008 年起;更早的住院记录需联系 NHS England 特殊安排。

§3.2 按子集样本数(2023-24 财年)

子集 计数单位 数量 来源口径
APC Finished Consultant Episodes 21.5 百万 年度最终统计
APC Finished Admission Episodes 17.6 百万 年度最终统计
Adult Critical Care 可用重症监护记录 236,171 年度最终统计
Outpatients 门诊预约 135.6 百万 月度 HES M13
Outpatients 其中患者到场 104.6 百万(77.2%) 月度 HES M13
A&E 到场人次(MSitAE 口径) 26.3 百万 年度 A&E 统计
A&E 4 小时内离院占比 72.1% 年度 A&E 统计

§3.3 数据格式

形态 格式 说明
患者级提取(DARS 交付) CSV/定长文本 字段名遵循 HES 数据字典;关联提取中被改写变量加 D_ 前缀
官方统计出版物 XLSX/CSV 年度与月度汇总表,已做小数字抑制
Open Data 文件 CSV Provider 级分析、年龄组、专科维度等
仪表盘 PowerBI HES Dashboard 与 Monthly Activity Report,交互式查询
合成数据(试点) 与真实提取一致的结构 用于教学与工具链测试,不含真实患者
月度提取服务(MMES) 按约定的周期性交付 用户每月收到 HES 增量提取

注意:患者级提取的列布局与字符宽度因申请而异,交付包内的 README 与变量清单优先级高于任何通用数据字典;历史财年文件建议在读入后立即统一列名再合并。

§3.4 存储大小

HES 无公开的固定"下载大小":交付体积完全取决于申请的财年范围、子库与字段清单,单财年 APC 提取为千万行级文本(2023-24 财年 21.5 百万 FCE),多财年全字段申请通常达数十 GB 量级,建议申请后在安全环境内转换为列式存储(Parquet)再行分析。官方统计出版物总量为 MB 级,可免费获取。

体积工程的三条经验:其一,原始定宽文本的空值以空格填充,压缩率高,转为 Parquet + zstd 通常可缩至原来的十分之一量级;其二,诊断/手术字段是宽表的主要宽度来源,只申请任务所需的前 N 个字段可同时减小体积与审查负担;其三,跨财年合并建议在派生 spell 主键之后再做,避免在原始行级重复存储冗余列。

§3.5 标注方式

HES 的"标注"即临床编码本身,属于回顾性人工结构化:每家 NHS 医院的临床编码科在出院后依据病历与出院摘要,按国家编码标准录入诊断与操作(Liverpool, 2024)。它与机器学习语境下的标注有三点本质区别:编码服务于报销与规划等行政目的;编码粒度受病历书写质量约束;编码发生在事件之后数周,且无二次独立复核为常态。

对 AI 任务设计的直接影响:HES 适合"以编码为输入"的任务(表型、共病、利用路径),而不适合"以编码为标签"的高精度任务(如需要精确分期的肿瘤亚型)。若研究目标依赖标签精度,正确姿势是把 HES 用作发现队列与验证骨架,用小规模人工金标准或注册库校准标签质量。

§3.6 标注者资质与一致性

编码员为各医院经国家课程培训的临床编码人员;国家层面通过数据字典、编码标准与清洗规则统一口径。但一致性研究显示院间差异显著:一项全国垂体手术研究指出,HES 数据质量随时间改善,但不同神经外科单位之间数据质量差异明显(Wahba et al.,见 Herbert 2017 引文网络)。对 AI 建模者,这意味着编码质量本身是一个 provider 级混杂变量。

把编码质量量化为协变量的可行做法:对每个 provider 计算三个可观测指标——R69/症状码占比(诊断不确定度)、诊断字段使用深度(编码完整性)、手术字段命中已知码表的比例(编码一致性);三者均可从数据内部计算,无需外部真值,可在绩效比较与跨院迁移任务中作为控制变量或分层依据。

§3.7 采集周期

医院按月向 SUS+ 提交 Commissioning Data Sets;NHS England 按月发布临时 HES 统计,财年结束后约 6 个月发布年度最终统计(2023-24 年度最终版于 2024-09-26 发布)。APC 记录按 FCE 结束财年归属;月度数据为临时口径,以年度最终版为准。官方出版物曾有更正机制——2023-24 年度出版后曾因诊断表列错位发布更正并要求重新下载(2024-10-03 通知),提示引用具体表格时应记录下载日期。

§3.8 地域覆盖

覆盖英格兰全部 NHS 委托活动:包括在英格兰 NHS 医院治疗的外地患者、NHS 委托的独立部门(私营/慈善医院)活动;不覆盖苏格兰、威尔士、北爱尔兰(各有独立体系 SMR/PEDW)与自费私立医疗(Herbert et al., 2017;NHS England 官方说明)。地理字段含 provider、居住地区(region/LA/LSOA)与 IMD 剥夺指数排名。历史地理编码(SHA、PCT、CCG 至 ICB)多次改革,跨年 provider 级分析须使用官方机构沿革对照表——英格兰地方卫生地理自 1997 年以来已多次变更,长周期 provider 级分析需显式处理连续性(Herbert et al., 2017)。

§3.9 设备与仪器记录

HES 不含任何原始设备信号(无监护仪波形、无影像像素、无检验数值);设备与介入信息以 OPCS-4 操作编码间接承载(如介入操作、影像检查编码),检验检查仅在"做了什么"的编码层面存在。需要生理信号或实验室时序的研究应改用 MIMIC 类重症数据库或将 HES 作为链接骨干。

一种常见的折中设计是"粗粒度设备暴露变量":以 OPCS-4 的特定操作码(如透析、机械通气相关操作)构造"是否接受某类设备介入"的二值/次数变量。它能支撑服务使用研究,但不能支撑设备性能或生理反应建模——把"做过某操作"当成"设备参数"是 HES 研究中的典型越界,审稿人对此高度敏感。

§3.10 深度溯源链

患者就诊 → 医院病历/出院小结
        → 临床编码科按国家标准编码(ICD-10/OPCS-4)
        → Commissioning Data Set 月度提交(Data Provision Notice 要求)
        → SUS+(Secondary Uses Service)处理
        → NHS England HES 处理与质控(2021-09 起新流程)
        → 月度临时统计 / 年度最终统计(官方出版物)
        → DARS 申请审批(IGARD 审查)→ Data Sharing Agreement → 患者级提取交付

溯源链的三个工程含义:其一,上游编码发生在医院端,HES 无法修复"病历里就没有"的信息;其二,SUS+ 双轨意味着同一活动在付费与统计两条流水线上流转,HES 是统计侧的最终快照——年结束后追溯修改可能不会反映进已最终化的 HES;其三,2021-09 起新处理流程接管,因此 2021 前后提取同一字段的更新机制不同,长周期项目应记录每个财年的提取日期与处理版本。


§4 数据结构

§4.0 目录树

hes_extract/                          # DARS 交付的典型提取包(示意)
├── README.txt                        # 提取范围、口径与交付说明(先读!)
├── data_dictionary/
│   ├── hes_apc_dictionary.pdf        # APC 数据字典(官方)
│   └── opc4_toce/                    # OPCS-4 版本对照文件
│       ├── OPCS48_ToCE_Analysis.csv  # 各版本码段对照
│       └── OPCS48_Metadata.pdf       # 版本元数据说明
├── apc/
│   ├── apc_199708.txt                # 每财年一个文件,每行一条 FCE
│   ├── apc_202223.txt
│   ├── apc_202324.txt                # 21.5 百万行量级(2023-24)
│   └── ...
├── opa/
│   ├── opa_202223.txt
│   └── opa_202324.txt                # 门诊预约记录(含未到场)
├── ecds/
│   ├── ecds_202223.txt
│   └── ecds_202324.txt               # A&E 到访记录
├── cc/
│   └── cc_202324.txt                 # 成人重症监护记录(如申请)
└── reference/
    ├── imd_lsoa_lookup.csv           # 剥夺指数查找表
    ├── provider_history.csv          # 机构沿革对照(更名/合并)
    └── provider_pseudonym_map.csv    # provider 伪匿名编码表(受限)

§4.1 DAIMS 字段字典(APC 核心字段)

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
hesid Text 患者伪匿名唯一 ID,跨年可追 987654321098 患者级分组/纵向队列 极少数 ID 断裂 无(缺失即无法链接) 12 位数字串
epistart / epiend Date FCE 起止日期 2023-06-01 / 2023-06-03 时序特征、住院时长 日期缺失或异常值 空值=未记录 财年内及跨财年
admidate / disdate Date 入院/出院日期(spell 端点) 2023-06-01 spell 派生关键 转院端点易错 空值 同上
admimeth Text 入院方式(计划/急诊/生育等) 11(计划) / 21(经 A&E 急诊) 任务标签与特征 录入错误率低但非零 9=unknown 等无效码 2 位数字码
admisorc / dismeth Text 入院来源 / 出院去向 19(常规出院) 结局标签(如再入院衔接) 出院去向录入质量院间差异 空值/特殊码 NHS 枚举码
diag_01 Text 主诊断 ICD-10 码 I21.9 疾病表型核心 编码员依病历,院间变异 R69=unknown ICD-10 3-4 位+点
diag_02 至 diag_20 Text 次诊断 ICD-10 码 E11.9 共病、Charlson 指数 字段数历史 7/14/20 扩容 空值=无更多诊断 同上
opertn_01 至 opertn_24 Text 手术操作 OPCS-4 码(含 opdate) W40.1 术式队列、操作预测 版本随年漂移(4.2-4.10) 空值=该 FCE 无编码手术 OPCS-4 码
startage Integer 入院时年龄 67 人群分层 新生儿以特殊码/天数表达 -1 等哨兵值 0-150
sex Integer 性别 1(男)/ 2(女) 分层变量 少量缺失 0/9=unknown 0-9
ethnicity Text NHS 族裔分类 A(White British)等 公平性评估 完整性院间差异大 99=未记录 NHS 族裔码
tretspef / mainspef Text 治疗专科 / 主专科 320(心脏内科) 专科路径分析 专科代码历史调整 空/杂类码 NHS 专科码
procode3 Text provider 伪匿名码 RF4 等 医院/机构分组 机构更名合并致码变 无 3 位伪匿名字符
opdate_01 至 opdate_24 Date 各手术的手术日期 2023-06-02 术后时间窗定义 与 opertn 逐位对应 空=无该手术 财年内及跨财年
IMD 排名/十分位 Integer 居住地剥夺指数(LSOA 级) 排名 5,214 / 十分位 2 公平性与社会决定因素 查找表版本随普查更新 空=无法匹配 排名 1-32,844 级别
孕产尾字段 Mixed 孕周、产次、出生体重、分娩方式、多胎序号 孕周 39 等 围产期队列构建 仅 maternity 记录填充 空=非孕产记录 各字段自定义范围
waiting time 相关字段 Date/Integer 决定入院至实际入院的等待 — 可及性研究 口径随入院方式变化 急诊不适用 按数据字典

注:字段名以 HES 官方数据字典为准;关联研究提取中被截断/改写的变量加 D_ 前缀(如 D_diag_01 截至前 3 字符),使用前须核对交付说明。

字段字典的阅读方法:HES 字段名是"小写 + 下划线 + 序号"的机器友好风格,但语义藏在取值码表里——admimeth 的 “21” 只有对照数据字典才是"经 A&E 急诊入院"。建议团队把高频码表(admimeth、dismeth、admisorc、ethnicity、专科码)整理成随代码库版本管理的查找表,并把字典版本号写进元数据。

§4.2 标签分布(诊断与结局字段构成)

HES 无单一"标签列";建模所需标签均由编码字段派生。可核实的分布锚点包括:门诊维度 77.2% 预约到场、5.9% 未到场(DNA)(月度 HES M13);A&E 维度 72.1% 到访在 4 小时内离院(NHS England, 2024);住院维度主诊断必填,无法确定时记 R69,次诊断字段可为空。患者级标签分布(如 30 天再入院率)随队列定义而变,官方不统一发布,需在提取后自行统计。

三个最常用派生标签的标准定义如下,供团队内部对齐:

派生标签 推荐定义 关键口径细节
30 天非计划再入院 同一 hesid 在出院后 30 天内出现 admimeth 为急诊类的下一次 spell 入院 以 spell 为单元;同日转院(派生 CIP 合并)不计为再入院;计划性再入院(如化疗)建议单列
住院时长(LoS) disdate − admidate(spell 级) 跨 spell 派生 CIP 时需合并;0 天=日间/当日出院,单独分层
院内诊断表型 diag_01 至 diag_20 中命中预定义 ICD-10 码表 主诊断与任意次诊断命中建议分别计数;R69 不计入任何表型

标签工程的一条通用守则:任何派生标签都应输出"定义清单 + 排除规则 + 命中率"三元组随代码提交,便于论文审稿与模型卡复用——行政数据标签的可争议性远大于影像标注,透明度是唯一可行的质量凭证。

§4.3 关键统计

统计项 数值 口径
年度 FCE 21.5 百万(同比 +7.1%) 2023-24 年度最终
年度 FAE 17.6 百万(同比 +7.1%) 2023-24 年度最终
年度成人重症监护记录 236,171(同比 -0.7%) 2023-24 年度最终
年度门诊预约 135.6 百万(到场 77.2%) 2023-24 月度 M13
年度 A&E 到场 26.3 百万(同比 +3.8%) 2023-24(MSitAE)
2014/15 FCE 历史锚点 18,731,987 条,来自 451 家 trust Herbert et al., 2017
2016/17 A&E 到场历史锚点 约 23.4 百万人次 HES A&E 官方元数据
出生记录覆盖率 约 97%(英格兰 NHS 资助医院出生儿童) ECHILD 文档
A&E 需求梯度 最 deprived 10% 地区 3.3 百万 vs least deprived 10% 1.7 百万人次 年度 A&E 统计(ECDS 口径)
年龄结构 35 岁以下人群占 A&E 到访 45.6% 年度 A&E 统计(ECDS 口径)

关键统计的使用约束:月度 M13 数字(门诊 135.6 百万)与年度出版物存在口径差异(临时 vs 最终、月份归属规则),引用时必须注明口径;FCE 与 FAE 相差的约 390 万,正是" consultant 交接拆分"的体量体现——这一差值本身可以反过来用作 sanity check:若自己派生 spell 后的 spell 数远大于 FAE,说明派生规则过松。

§4.4 数据层级

患者(hesid)
 └── 财年(数据按 4 月 1 日至 3 月 31 日组织)
      └── continuous inpatient spell(跨院连续住院,需自行派生)
           └── hospital provider spell(同院内一次住院,需自行派生)
                └── FCE(数据表的一行,同一 consultant 下连续诊疗期)
                     └── 字段组:人口学 / 入出院 / 诊断×20 / 手术×24 / 地理 / 专科

注:OPA 与 ECDS 与 APC 平行,层级为"患者 → 财年 → 到访/预约记录";跨子库经 hesid 对齐。

层级设计的建模含义:FCE 是存储单元而非临床单元——以 FCE 训练会把" Consultant 交接"当成事件边界;spell 才对应"一次住院"的日常语义;CIP 才对应"一次完整疾病事件"(含跨院转诊)。三层主键谱系建好后,任何 cohort 定义都应显式声明工作在哪一层。

各子库的层级对齐实践:APC 是层级最深的主干;ECDS 经 hesid 挂到 APC 的入院事件("急诊到访→同日收住院"是路径分析的高频边);OPA 事件既可以是住院的前哨(门诊发现→计划入院)也可以是住院的延续(术后随访)。跨库对齐时建议建立统一的"患者-时间"事件总表,再按研究问题抽取路径片段,而不是在三张原始宽表间反复 join。

§4.5 缺失值与信息性缺失

缺失模式 编码/表现 信息含义 处理建议
主诊断无法确定 ICD-10 R69 病历编码质量信号,非随机缺失 敏感性分析剔除或单独分层
手术字段为空 opertn_01 为空 该 FCE 无 OPCS 编码手术(药物/观察治疗),信息性缺失 勿当"缺失"插补
次诊断字段为空 diag_n 为空 无更多诊断或未达编码深度,两者不可分 共病计数有低估
族裔未记录 99/空 医院录入习惯差异 公平性分析前先审计完整性
日期截断 关联提取中 D_ 前缀变量 隐私保护造成的精度损失 时序特征按交付说明重建
性别未知 0/9 极少数记录 并入"未说明"层
年龄哨兵值 新生儿天数表达/负值 新生儿与异常录入 按 HES 数据字典的年龄规则展开
provider 码失效 机构合并/关闭后历史码 机构沿革噪音 用机构沿革对照表归并后再分组

缺失处理的总原则:HES 的缺失几乎都是有故事的缺失——手术字段为空说明"没做手术",R69 说明"病历说不清",族裔缺失说明"医院没问或没录"。因此默认策略不是插补,而是先给每种缺失建哑变量、让模型显式学习缺失模式,再视任务决定是否插补;任何无条件插补(如全局中位数填充)都会破坏这些信号。


§5 数据划分与使用建议

§5.1 官方划分

HES 不提供官方 AI 划分:它不是竞赛数据集,而是持续滚动的行政数据库。任何"训练/测试划分"都由研究者自定义,这既是自由度也是风险源。

这带来一个常被低估的后果:不同论文的数字天然不可比。同样的"再入院预测",A 论文用 FCE 为单元随机划分,B 论文用 spell 为单元按时间划分,AUROC 可以相差 10 个百分点以上而不代表方法优劣。在 HES 上做基准声明(哪怕只是内部基线)时,第一步永远是写出"单元 × 划分方式 × 数据版本"三元组。

§5.2 社区惯例与推荐划分

行政健康数据的社区共识是时间划分(temporal split):以财年切分训练/验证/测试(例如 2015/16 至 2019/20 训练、2020/21 验证、2021/22 及以后测试),以贴近部署时"用历史预测未来"的真实场景,并暴露编码版本漂移的影响。若研究目标为静态横断面任务,亦可在单财年内划分,但必须配合患者级分组(见 §5.3)。

两处额外建议:其一,COVID-19 财年(2020/21)活动量剧烈波动(A&E 日均到场从 2019-20 的约 68,500 次骤降至 2020-21 的 48,000 次,DHSC, 2025),建议把该财年作为验证集而非训练集,或在特征侧加入疫情期指示变量;其二,若模型将用于"新财年滚动部署",应在测试集中保留至少一个 OPCS/ICD 版本切换边界,确保漂移监测在验证流程内真实发生。

§5.3 泄漏风险(重点)

  1. 患者级重复:同一 hesid 在一个财年内可有多行 FCE,跨财年更多;随机划分会把同一患者放进训练与测试两侧。必须以 hesid 为组做 GroupKFold 或分组划分。
  2. spell 内信息前移:预测入院结局时若使用 dismeth(出院去向)、住院时长等"事件后"字段,等于用未来预测过去。特征设计需按预测时点严格截断。
  3. 跨库目标泄漏:与 ECDS/OPA 链接构造特征时,注意 A&E 到访与后续住院本就是同一路径,链接时间窗需在入院时点之前闭合。
  4. 聚合特征反噬:provider 级聚合特征(如医院历史死亡率)若与样本存在同一患者贡献,会把结局"抄"回特征;聚合窗口须排除当前样本并加最小样本数阈值。

§5.4 交叉验证建议

推荐"GroupKFold(按 hesid)+ 内层时间分层"的组合:外层组级交叉保证患者不重叠,内层按时间排序验证稳定性;报告跨折方差并对编码版本(OPCS-4.x)做分层敏感性分析。对于 provider 级外推任务(模型泛化到未见过的新医院),可采用 GroupKFold 的变体——按 procode3 分组,留出整个 provider 作为测试折,检验模型对编码风格差异的鲁棒性。

§5.5 外部验证建议

理想的外部验证梯度:同库不同财年(时间泛化)→ 其他家 provider(空间泛化)→ 英格兰以外数据(Danish NPR、Swedish NPR 或苏格兰/威尔士体系,需重新映射 ICD 改编版)→ 前瞻性采集的注册库。注意 HES 仅覆盖 NHS 委托活动,向自费私立医疗场景外推时失效风险高。实践上可分两步走:先在库内完成时间与 provider 双轴泛化评估,再通过正式数据链接协议(如 ONS 死亡、CPRD)取得独立终点数据做结局层面的外部校验——AlzEye 项目(Wagner et al., 2022)演示了这类链接的完整审批与工程链路。


§6 AI 就绪指南

§6.0 云端与安全环境快速启动

HES 患者级数据不允许"下载到本地自由使用":经 DARS 审批后,数据通过安全文件传输交付或授权在 Data Access Environment(DAE,NHS England 托管的安全分析环境)内访问,分析输出需经披露控制审查后才能带出(NHS England)。因此"云端快速启动"的实际路径是:在 DAE 或获批的安全工作区内完成本指南的预处理代码;教学与原型场景可先用人工合成 HES 数据试点(结构与真实数据一致但不含真实患者)。

DAE 工作流的典型节奏:申请获批 → 获得安全环境账号 → 上传/同步提取数据 → 在环境内完成特征工程与训练 → 输出物(图表、模型系数、聚合表)逐项提交披露控制审查 → 带出结果在本地撰写论文。这意味着传统"本地 Jupyter + 云端 GPU"的开发习惯需要调整:迭代速度的瓶颈常在输出审查而非算力,建议把探索性分析前置到合成数据上完成。

§6.1 快速上手

# ── 目录结构预期 ──────────────────────────────────────────────
# data_root/
#   apc_202324.txt      # 2023-24 财年 APC 提取,每行一条 FCE
#   apc_202223.txt
# ── data_root 拼接关系:文件路径 = data_root / f"apc_{fy}.csv"
# ── 最小可用子集:单个财年 APC 文件即可演示 FCE→spell 派生
import pandas as pd
from pathlib import Path

data_root = Path("data_root")
# HES 文本提取列为固定宽度或分隔符,务必以数据字典核对列名
apc = pd.read_csv(data_root / "apc_202324.txt", dtype=str, low_memory=False)

# 最小可用子集演示:主诊断 + 年龄 + 入院方式
subset = apc[["hesid", "epistart", "epiend", "admimeth", "diag_01", "startage"]]
print(subset.head())

# 主诊断 Top10 计数(行政口径快速体检)
print(subset["diag_01"].value_counts().head(10))
# ── 数据体检清单:任何 HES 提取到手后的第一小时 ─────────────────
def health_check(apc: pd.DataFrame, fy_end: int = 2024) -> dict:
    checks = {
        "行数(FCE 口径)": len(apc),
        "唯一患者数(hesid)": apc["hesid"].nunique(),
        "epiend 落在财年内的比例": (
            pd.to_datetime(apc["epiend"], errors="coerce").dt.year == fy_end
        ).mean(),
        "R69 主诊断占比": (apc["diag_01"] == "R69").mean(),
        "主诊断缺失占比": apc["diag_01"].isna().mean(),
        "急诊入院占比(admimeth 以 2 开头)": (
            apc["admimeth"].str.startswith("2", na=False)
        ).mean(),
    }
    return checks
# 体检结果同时是 §6.10 漂移看板的基础指标:
# 任何一项相对历史财年跳变,优先怀疑口径/流程变更而非临床变化。

§6.2 数据获取

步骤 内容 要点
1. 确认法律依据 研究伦理批准;涉及保密患者信息时向 HRA CAG 申请 s251 支持 CAG 独立向 HRA/NHS England 提供意见
2. 机构合同 与 NHS England 签署 Data Sharing Framework Contract 数据控制者资质、ISO 27001 等安全认证
3. DARS 申请 提交数据集、字段清单、目的与安全安排 每项用途一份 Data Sharing Agreement
4. IGARD 审查 Independent Group Advising on the Release of Data 依 HSCA 2012 s263(2) 审查 通过后 countersign 并交付
5. 交付 安全文件传输或 DAE 访问 周期约 2-6 个月;费用按 DARS 收费标准
6. 使用期内义务 按约定用途/时限/用户范围使用,到期销毁 发表前核对 DSA 的引用与审核条款
# 申请字段清单的最小化示例:只申请任务必需字段可显著缩短审批与交付
request_fields = [
    "hesid", "epistart", "epiend", "admidate", "disdate",
    "admimeth", "admisorc", "dismeth",
    "diag_01", "diag_02", "diag_03",          # 共病只需前若干个诊断字段
    "opertn_01", "opdate_01",
    "startage", "sex", "tretspef", "procode3",
]
print("提交 DARS 申请时附上:字段清单 + 编码体系版本 + 财年范围 + 链接需求")

申请材料的写作要点(来自已发表项目的共同经验):目的陈述把"健康与社会关怀领域的收益"写具体(IGARD 的评审维度之一即预期可衡量收益);链接策略与伪匿名化方案在申请阶段就写清楚(AlzEye 的申请被 IGARD 评价为可作范例);字段清单宁少勿多——每增加一个敏感字段都会增加审查深度。

§6.3 预处理全流程

# ── HES APC 预处理 Pipeline(可运行骨架)──────────────────────
# 步骤:读取 → 剔除未完结 FCE → FCE→spell 派生 → 编码清洗 → 版本对齐
import pandas as pd
import numpy as np

def load_apc(path: str) -> pd.DataFrame:
    df = pd.read_csv(path, dtype=str, low_memory=False)
    # 1) 统一日期类型;空值保持 NaT
    for col in ["epistart", "epiend", "admidate", "disdate"]:
        df[col] = pd.to_datetime(df[col], errors="coerce")
    # 2) 剔除未完结 episode:HES 将 FCE 归入其结束财年,
    #    跨财年分析时须确认 epiend 落在财年内,防止重复计数
    df = df.dropna(subset=["epiend"])
    return df

def derive_spells(df: pd.DataFrame) -> pd.DataFrame:
    """按 NHS Digital 推荐规则派生 hospital provider spell:
    同一 hesid + 同一 provider(procode3),
    下次入院日期距上次出院日期 0-1 天以内 → 视为同一 spell。"""
    df = df.sort_values(["hesid", "procode3", "admidate", "epistart"])
    prev_dis = df.groupby(["hesid", "procode3"])["disdate"].shift(1)
    new_spell = (
        df["admidate"].isna() | prev_dis.isna()
        | (df["admidate"] > prev_dis + pd.Timedelta(days=1))
    )
    df["spell_id"] = new_spell.cumsum()          # 行级递增即 spell 计数器
    df["spell_seq"] = df.groupby("spell_id").cumcount() + 1
    return df

def clean_codes(df: pd.DataFrame) -> pd.DataFrame:
    # 3) ICD-10 清洗:去点号统一为 4 位内无点形式;R69 单列标记
    diag_cols = [c for c in df.columns if c.startswith("diag_")]
    for c in diag_cols:
        df[c] = df[c].str.replace(".", "", regex=False).str.upper()
        df[c] = df[c].where(df[c] != "R69", other="UNKNOWN_PRIMARY")
    # 4) OPCS 版本对齐:按财年映射到统一版本段(示例:4.8/4.9/4.10)
    fy = df["epiend"].dt.year
    df["opcs_version"] = np.select(
        [fy >= 2024, fy >= 2021], ["4.10", "4.9"], default="4.8-")
    return df

# apc = load_apc("data_root/apc_202324.txt")
# apc = derive_spells(apc)
# apc = clean_codes(apc)
# apc.to_parquet("apc_202324.parquet")   # 建议转换为列式存储再分析
# ── 步骤 8:跨子库对齐(ECDS→APC 急诊收住院路径)────────────────
def link_ecds_to_apc(ecds: pd.DataFrame, apc: pd.DataFrame) -> pd.DataFrame:
    """把同 hesid、A&E 离开当日或次日开始的住院 spell 视为
    '急诊收住院'路径。返回带路径标记的 APC 子集。"""
    a = ecds[["hesid", "arrivaldate"]].dropna().drop_duplicates()
    b = apc[["hesid", "admidate", "spell_id"]].dropna().drop_duplicates()
    m = a.merge(b, on="hesid")
    gap = (m["admidate"] - m["arrivaldate"]).dt.days
    admitted_via_ae = m[(gap >= 0) & (gap <= 1)]
    return apc[apc["spell_id"].isin(admitted_via_ae["spell_id"])]
# 口径提示:gap<=1 天是研究常用约定而非官方唯一标准,
# 严格口径应在论文中声明并做 0 天/1 天两档敏感性分析。
# ── 步骤 5:Charlson 共病指数(研究中最常用的派生标签之一)──────
CHARLSON_PREFIX = {
    1: ["I21", "I22", "I25", "I11", "I13", "I50"],       # 心梗/心衰
    2: ["I63", "I60", "I61", "I64"],                     # 脑血管病
    3: ["J44", "J43", "J41"],                            # 慢阻肺
    5: ["E10", "E11", "E14"],                            # 糖尿病(轻/中)
    6: ["N18"],                                          # 中重度肾病
    6: ["M05", "M06", "M32", "M34"],                     # 风湿/结缔组织病
}
def charlson_from_diag(diag_series: pd.Series) -> int:
    score = 0
    for code in diag_series.dropna():
        for weight, prefixes in CHARLSON_PREFIX.items():
            if any(str(code).startswith(p) for p in prefixes):
                score = max(score, weight)
    return score
# ── 步骤 7:时序特征(预测再入院/死亡的最强特征族)──────────────
# 全部特征仅使用"当前 spell 结束时点之前"的信息,规避 §5.3 泄漏
def temporal_features(spells: pd.DataFrame) -> pd.DataFrame:
    g = spells.sort_values(["hesid", "admidate"]).groupby("hesid")
    feats = pd.DataFrame({
        "prior_spells_1y": g["admidate"].apply(
            lambda s: (s.diff().dt.days <= 365).cumsum().iloc[-1]),
        "prior_beddays_1y": g.apply(lambda d: (
            (d["disdate"] - d["admidate"]).dt.days
            .clip(lower=0).rolling(window=10, min_periods=1).sum().iloc[-1])),
        "gap_since_last": g["disdate"].shift(0).diff().dt.days,
    })
    return feats
# 注意:rolling/apply 的组合在千万行级数据上较慢,
# 生产环境建议以 Polars 或数据库窗口函数重写同一逻辑。

§6.4 PyTorch DataLoader

<details>
<summary>点击展开完整可运行 Dataset 代码(患者级 30 天再入院预测)</summary>

# ── 患者 30 天再入院预测:Dataset + DataLoader 完整示例 ──────────
# 输入:apc_parquet(§6.3 产物),按 hesid 聚合住院序列
# 标签:某次 spell 出院后 30 天内是否再次入院(同 provider 体系)
import pandas as pd
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
from collections import Counter

class ReadmissionDataset(Dataset):
    def __init__(self, parquet_path: str, max_episodes: int = 12):
        df = pd.read_parquet(parquet_path,
                             columns=["hesid", "spell_id", "admidate",
                                      "disdate", "diag_01"])
        df = df.sort_values(["hesid", "admidate"])
        # 构建 spell 级序列:主诊断前缀 → 词表
        df["code"] = df["diag_01"].str[:3]
        self.vocab = {c: i + 1 for i, c in
                      enumerate(sorted(df["code"].dropna().unique()))}
        self.max_episodes = max_episodes
        self.samples = []
        for _, g in df.groupby("hesid"):
            spells = g.groupby("spell_id").agg(
                adm=("admidate", "first"),
                dis=("disdate", "first"),
                code=("code", "first")).reset_index()
            spells["gap"] = spells["adm"].shift(-1) - spells["dis"]
            for i in range(len(spells) - 1):
                gap_days = spells.loc[i, "gap"].days
                if pd.isna(gap_days) or gap_days < 0:
                    continue
                label = int(gap_days <= 30)
                ctx = spells.loc[max(0, i - max_episodes + 1):i,
                                 "code"].tolist()
                self.samples.append((ctx, label))

    def __len__(self):
        return len(self.samples)

    def __getitem__(self, idx):
        ctx, label = self.samples[idx]
        ids = [self.vocab.get(c, 0) for c in ctx][-self.max_episodes:]
        ids = [0] * (self.max_episodes - len(ids)) + ids
        return torch.tensor(ids, dtype=torch.long), torch.tensor(label)

def collate(batch):
    xs, ys = zip(*batch)
    return torch.stack(xs), torch.stack(ys)

if __name__ == "__main__":
    ds = ReadmissionDataset("apc_202324.parquet")
    loader = DataLoader(ds, batch_size=256, shuffle=True,
                        collate_fn=collate, num_workers=2)
    xb, yb = next(iter(loader))
    print(xb.shape, yb.float().mean().item())

</details>

Dataset 实现的三点说明:其一,示例以 spell 为样本单元、主诊断前缀为词表,是最小可运行形态;生产中应替换为 §6.3 派生的完整 spell 主键并加入 admimeth、IMD 等静态特征;其二,gap_days 由相邻 spell 的出院-入院间隔派生,跨 provider 转院(CIP 场景)会低估间隔,需按坑点 1 的 CIP 派生先行合并;其三,示例未做类别不平衡处理,实际训练建议以 AUPRC 监控并配合正类权重或重采样。

§6.5 八大坑点

⚠️ 坑点 1:FCE/FAE/spell 三种口径混淆导致重复计数(分类:标签理解)

问题:APC 每行是一个 FCE(单一 consultant 下的连续诊疗期),一次住院(spell)可拆成 2-4 行 FCE;把 FCE 当"住院次数"建模或聚合,会系统性高估活动量并稀释患者级特征。
症状:同一 hesid 同一入出院日期出现多行;住院时长统计远小于住院天数预期;文献间"年住院量"数字从 17.6 百万到 21.5 百万不等却都对。
解决:

  1. 简单方法:明确报告口径——活动量用 FCE,住院次数用 FAE,患者级建模先派生 spell。
  2. 进阶方法:按 §6.3 的 NHS Digital 推荐规则派生 spell(同 provider、入出院间隔 0-1 天归并),以 spell 为分析单元。
  3. SOTA 方法:进一步派生 continuous inpatient spell(CIP)覆盖跨院转诊,并保留 FCE→spell→CIP 三层主键谱系,供不同粒度复用。
    参考:Herbert et al., 2017, Int J Epidemiol, DOI 10.1093/ije/dyx015;NHS HES Analysis Guide。

⚠️ 坑点 2:未完结 FCE 的跨财年归属(分类:预处理陷阱)

问题:HES 将 FCE 归入其结束财年;财年切片时,始于上一财年末、终于本财年初的 episode 只出现在后者,直接拼接多年数据或按"入院日期"过滤会漏行或重行。
症状:按 admidate 过滤某财年后行数与官方 FCE 口径对不上;跨年住院患者在两侧数据中各出现一次不完整记录。
解决:

  1. 简单方法:以 epiend 所属财年为准对齐官方统计。
  2. 进阶方法:申请跨财年重叠窗口(前后各留一个月)并在合并时以 episode 端点去重。
  3. SOTA 方法:构建"财年→观测窗口"映射表,所有 cohort 定义先经窗口一致性校验。
    参考:Herbert et al., 2017(unfinished episodes 处理);NHS England 年度出版说明。

⚠️ 坑点 3:诊断/手术字段数的历史扩容(7→14→20 与 4→12→24)(分类:偏倚陷阱)

问题:2007-04 之前每个 FCE 最多记录 14 个诊断(更早 7 个)、12 个手术;此后为 20/24。用"诊断数量"做疾病负担或共病负荷特征时,年份越早编码容量越低,形成与时间强相关的人为趋势。
症状:共病计数、诊断多样性在 2002 与 2007 附近出现阶梯状跳变;纵向模型把扩容学成"病情变重"。
解决:

  1. 简单方法:只用 2007-04 之后的数据,或只用 diag_01-diag_07 对齐历史容量。
  2. 进阶方法:对扩容前后做敏感性分析(截断到共同字段数再训练)。
  3. SOTA 方法:以"主诊断 + 前 N 个次诊断"构造分层特征,并把字段容量年份作为固定效应纳入模型。
    参考:Herbert et al., 2017(字段数沿革)。

⚠️ 坑点 4:ICD-9→ICD-10 与 OPCS 版本漂移(分类:预处理陷阱)

问题:1989-04 至 1995-03 诊断用 ICD-9,与 ICD-10 时代不可直接对齐;OPCS-4 自 4.2 起多次改版(4.10 自 2023-04 起),同一手术在不同年份可能编入不同码。
症状:跨 1995 年的疾病趋势断崖;某些手术码在 2020 前后量级突变。
解决:

  1. 简单方法:纵向研究限定 ICD-10 时代并锁定 OPCS 版本段。
  2. 进阶方法:使用官方 OPCS ToCE 版本对照文件建立跨版本映射。
  3. SOTA 方法:把版本切换日期作为间断点做 interrupted time series 校验映射质量。
    参考:NHS England OPCS-4 版本文件;CLS NCDS-HES User Guide。

⚠️ 坑点 5:主诊断 R69 与编码质量的院间变异(分类:标签理解)

问题:主诊断必填但可为 R69(unknown);编码质量随医院编码资源与病历质量差异显著(垂体手术全国研究证实院间数据质量差异明显)。R69 与低质量编码不是随机缺失,会让模型把"编码习惯"学成"临床规律"。
症状:某些 provider 的 R69/症状码比例异常高;以诊断特征训练的医院绩效模型被编码风格主导。
解决:

  1. 简单方法:剔除 R69 记录做敏感性分析。
  2. 进阶方法:计算 provider 级编码质量指标(R69 率、诊断字段使用深度)作为协变量或分层变量。
  3. SOTA 方法:用已验证表型算法(如权威 phenotype library)替代裸 ICD 码定义结局,并报告 PPV 证据。
    参考:Herbert et al., 2017;Wahba et al.(垂体手术数据质量研究)。

⚠️ 坑点 6:关联提取中的日期截断与伪匿名化改写(分类:工程陷阱)

问题:为控制再识别风险,HES 关联提取常被改写:变量截断(如 D_diag_01 仅保留 3 字符)、provider/GP 编码伪匿名、日期精度下降。直接按原始数据字典解析会错位。
症状:读入后诊断码少一位、按 4 位 ICD 码匹配全部落空;provider 码与公开机构表连不上。
解决:

  1. 简单方法:交付前先读 README 与变量清单,凡 D_ 前缀变量按截断规则处理。
  2. 进阶方法:为截断码建立"前缀→病组"映射而非精确匹配。
  3. SOTA 方法:在 DAE 环境内完成敏感匹配,仅导出聚合结果,规避截断损失。
    参考:CLS NCDS-HES User Guide(D_ 变量规则)。

⚠️ 坑点 7:同一患者多行导致的数据泄漏(分类:数据泄漏)

问题:hesid 是唯一的患者级链接键,同一患者跨财年多次入院。若按行随机划分训练/测试,患者同时在两侧出现,模型只需记住个体即可得到虚高指标。
症状:随机划分的 AUROC 比时间/分组划分高出一大截;线上表现骤降。
解决:

  1. 简单方法:所有划分以 hesid 为组(GroupKFold/GroupShuffleSplit)。
  2. 进阶方法:组级 + 时间双重划分(组内按时间排序,训练窗早于测试窗)。
  3. SOTA 方法:报告"随机划分 vs 组级划分"的指标差作为泄漏量化证据写入论文。
    参考:§5.3;MIMIC 社区同样问题的处理惯例。

⚠️ 坑点 8:2021-09 处理变更、SDEC 口径与 ECDS/MSitAE 双源断点(分类:评估误用)

问题:2021-09 起 HES 处理流程变更;当日急诊护理(SDEC)记录方式变更影响活动量口径;A&E 年度统计同时使用 ECDS 与 MSitAE 两套来源,数字可有小幅出入。跨 2021 年建模而不做处理,会把"流程变更"学成"临床变化"。
症状:2021 年前后特征分布漂移但临床解释不通;A&E 相关指标在不同官方页面对不上。
解决:

  1. 简单方法:跨 2021 年的模型加入年份指示变量。
  2. 进阶方法:以 2021-09 为间断点做 interrupted time series,量化断点后决定是否分段建模。
  3. SOTA 方法:A&E 任务固定单一数据源(ECDS 或 MSitAE)并在论文中声明口径。
    参考:NHS England《Hospital Episode Statistics data changes from 2021》《Impact of changes to recording of Same Day Emergency Care Activity on HES》。

§6.6 数据增强(安全与危险操作)

  • ✅ 安全:按 hesid 的时序窗口截取与滑动采样;诊断码向 ICD 章节层级的粗化映射;少数类重加权(如计划 vs 急诊入院);基于官方分类文件的码表替换(同义映射);合成数据上做 pipeline 单元测试后再上真实数据。
  • ❌ 危险:跨 spell 打乱或合并患者记录(破坏住院路径结构);随机删除诊断字段模拟"缺失"(HES 缺失是信息性的,模拟会引入错误不变性);跨 OPCS/ICD 版本混合训练而不加版本标识(把编码漂移当临床信号);对日期做随机抖动(破坏 gap 标签);把 provider 伪匿名码当可逆编码做"机构增强"(伪匿名映射不可逆且受协议限制)。

§6.7 模型推荐

任务 推荐起点 进阶 说明
30 天再入院预测 Lasso/LightGBM + 诊断前缀特征 GRU/Transformer 时序模型 行政数据上 GBDT 常优于深度模型(特征工程充分时)
住院时长预测 分位数回归(GBDT) 深度生存分析 以 spell 为单元,剔除跨年截尾
疾病表型/共病结构 ICD 章节多热 + 逻辑回归 网络嵌入、PheWAS 式扫描 需处理字段扩容偏倚(坑点 3)
医院绩效比较 标准化率 + 漏斗图 分层/随机效应模型 必须 provider 级编码质量协变量(坑点 5)
政策评估 DID/ITS 合成控制 HES 全覆盖是自然实验的理想分母
就诊路径挖掘 频繁序列模式 马尔可夫/深度序列模型 跨 APC/OPA/ECDS 时先对齐 hesid 时间轴
不平等审计 分层率差 + 归因分析 公平性约束学习 IMD 与族裔字段完整性先行审计(§7.5)

§6.8 硬件需求

场景 内存 存储 说明
单财年 APC 探索 32 GB 50 GB SSD 千万行 CSV 读入建议分块或转 Parquet
5-10 财年建模 64-128 GB 500 GB SSD 列式存储 + 按需列读取
全量 30+ 财年 / 高维编码矩阵 集群或 DAE 内托管算力 TB 级 多数工作在安全环境内完成,本地不留原始数据
GPU 需求 单卡 24 GB 足够起步 — 表格特征为主时 GPU 非必需;序列模型训练在安全环境内申请

§6.9 评估指标代码

import numpy as np
from sklearn.metrics import roc_auc_score, average_precision_score

def evaluate(y_true, y_score):
    y_true = np.asarray(y_true); y_score = np.asarray(y_score)
    return {
        "AUROC": roc_auc_score(y_true, y_score),
        "AUPRC": average_precision_score(y_true, y_score),
        "prevalence": float(y_true.mean()),
    }
# 再入院类任务正类占比低:以 AUPRC 为主指标,AUROC 为辅;
# 所有指标必须配合 §5.4 的组级交叉验证报告均值±方差。

def calibration_report(y_true, y_score, bins: int = 10) -> dict:
    """行政数据模型的校准比区分度更常出问题:不同 provider 编码习惯
    会整体移动风险分数。报告各十分位的预测均值与观测均值之差。"""
    edges = np.quantile(y_score, np.linspace(0, 1, bins + 1))
    idx = np.clip(np.digitize(y_score, edges[1:-1]), 0, bins - 1)
    out = {}
    for b in range(bins):
        m = idx == b
        if m.sum() == 0:
            continue
        out[b] = {"pred": float(y_score[m].mean()),
                  "obs": float(y_true[m].mean()),
                  "n": int(m.sum())}
    return out

§6.10 MLOps 笔记

  1. 合规即流水线:DSA 规定用途、时限与用户范围;数据到期须销毁,续用需重新申请——把 DSA 条款做成项目 checklist 而非事后补丁。
  2. 环境即边界:患者级分析在 DAE 或获批安全环境内进行,导出物先过披露控制(小数字抑制);本地镜像仅限获批安全设施。
  3. 版本即数据:以"财年 + 数据状态(临时/最终)+ OPCS/ICD 版本"三元组为数据版本号,任何模型指标回溯到这三元组。
  4. 漂移监控:监控 R69 率、诊断字段使用深度、SDEC 相关口径占比三类哨兵指标,捕捉编码与流程变更(坑点 3/5/8)。
  5. 可复现性:官方年度最终数据会覆盖月度临时数据;冻结分析所用的具体发布日期(如 2024-09-26 版)并写入实验记录。
  6. 输出审查前置:把披露控制规则(小数字抑制)内置到出图/出表函数中,避免 DAE 输出审查环节反复返工。
  7. 团队知识沉淀:HES 的隐性知识(字段陷阱、审批经验)集中在个别老成员脑中,建议把坑点清单(§6.5)纳入团队 onboarding 材料,并在每次 DSA 续签时更新。
  8. 失败预算:为首次 DARS 申请预留一次"退回补件"的时间余量(常见原因:目的陈述过泛、字段清单超出任务需要、安全方案缺 ISO 认证细节),把 §6.2 的写作要点当作提交前 checklist 逐项打勾。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
编码偏倚 出院小结驱动的回顾性编码,院间质量差异显著 高 表型算法验证 + provider 级质量协变量
覆盖偏倚 仅覆盖 NHS 委托活动,漏自费私立与初级保健 中 明确外推边界;与 CPRD 等初级库链接
社会经济梯度 最 deprived 10% 地区 A&E 到访近 least deprived 的两倍 中(分析对象) 公平性分析显式建模 IMD
字段容量漂移 诊断 7/14/20、手术 4/12/24 的历史扩容 高(纵向研究) 截断对齐或分层敏感性分析
流程断点 2021-09 处理变更与 SDEC 口径变更 中 间断点建模、口径声明
信息性缺失 手术字段为空=无手术;R69=无法确定 中 按信息性缺失分别处理(§4.5)
机构沿革噪音 provider 更名/合并/关闭造成码位断裂 中 机构沿革对照表归并后再做机构级分析
疫情冲击 2020-21 财年活动量骤降(A&E 日均 48,000 次 vs 2019-20 约 68,500 次) 高(时序模型) 疫情期指示变量或分段建模(DHSC, 2025)
门诊编码深度不足 OPA 临床编码信息量低于 APC 中 跨子库任务以 APC 为主干建模

§7.2 标注质量评估

HES 无独立"金标准复核"标注层:其质量上限由病历书写与编码规则共同决定。可参考的质量证据包括:国家级清洗规则与数据字典统一口径;全国专项研究(如垂体手术)证实"随时间改善、院间差异大"的总体格局;主诊断缺失以 R69 显式标记而非静默丢行。AI 团队应把 HES 编码视为"有噪声但可审计的弱标签",凡关键结局均建议做阳性预测值(PPV)抽样验证或采用已发表 phenotype 定义。

PPV 抽样验证的最低可行方案:从表型命中的记录中分层抽样 50-200 份,调阅出院小结做对照编码,报告"宽码表 vs 严码表"两档 PPV;这一数字应同时写进论文与模型卡。若研究环境在 DAE 内无法调阅原始病历,则退而引用同表型的已发表验证结果,并显式声明证据迁移假设。

§7.3 泛化性评估

部署场景 失效风险 证据
英格兰内、他年数据 中:编码版本与流程断点 坑点 3/4/8
英格兰内、他 provider 中:编码质量院间变异 Wahba et al.(垂体手术研究)
英国外(苏格兰/威尔士/丹麦/瑞典) 高:分类改编版与体系差异 各国独立维护 ICD-10 改编版
自费私立医疗 极高:HES 无此覆盖 NHS England 官方覆盖说明
儿童出生队列 低-中:出生记录覆盖约 97% ECHILD 文档
跨子库路径任务(急诊→住院→门诊) 中:OPA 编码深度低于 APC 子库字段结构差异(§3.1)
门诊主导的任务 高:门诊数据临床编码不完整 OPA 与 APC 字段结构对比

§7.4 伦理与治理

患者级 HES 属保密患者信息的脱敏衍生数据:获取须经 DARS 申请与 IGARD 审查(HSCA 2012 s263(2)),涉及无需同意使用保密患者信息时须 CAG 的 s251 支持(《NHS Act 2006》第 251 条);签署 DSFC 与按用途 DSA,遵守 National Data Opt-out 政策;已发表 HES 数据须按协议标注 NHS England 版权来源。发表前的研究方案、伦理批准与安全安排是申请材料的核心评审项(Wagner et al., 2022 完整演示了 REC→CAG→DARS→IGARD 链路)。

与开放数据集的伦理实践差异值得强调:HES 的合规是前置的——审批决定你能否开始,而非发表时的免责声明。这意味着项目排期应以审批为中心规划(2-6 个月交付周期 + 可能的 CAG 轮次),任何"先动手再补审批"的捷径在 HES 上不存在;同时也意味着,一旦获批,数据的合法性与审计链完整性远高于多数爬取或匿名公开数据。

§7.5 公平性

HES 内置剥夺(IMD 排名/十分位)与族裔字段,使其成为健康不平等研究的主力:官方统计已证实 A&E 利用率在最 deprived 10% 地区约为 least deprived 10% 的两倍(NHS England, 2024)。但公平性分析有两个前提:族裔字段完整性随医院与年份波动,需先审计;利用率梯度同时反映需求与可及性,直接把"就诊量"当"需求量"会把不平等变成偏误。

给 AI 工程师的三条落地建议:其一,模型卡必须报告按 IMD 十分位分层的性能(而不是只报告总体 AUROC),HES 提供的字段使这一报告零额外成本;其二,对族裔变量,先报告字段缺失率按 provider 的分布,再决定是否纳入模型;其三,警惕"剥夺既当特征又当目标"的循环——若模型用 deprivation 预测利用率,再拿利用率评估公平性,等于用假设证明假设。

§7.6 数据漂移

已证实的漂移源:ICD-9→ICD-10(1995)、诊断/手术字段扩容(2002、2007)、OPCS-4 版本更替(4.2→4.10,最近一次 2023-04)、2021-09 处理流程变更、SDEC 记录方式变更、COVID-19 活动冲击(2020-21 财年 A&E 日均到访 62,000 次,2023-24 回升至 89,000 次;DHSC, 2025)。建议以 §6.10 的哨兵指标建立漂移看板,并将版本切换日期作为已知断点写入模型卡。

漂移监控的实操分层:第一层是"机械漂移"(码表版本、字段容量),有确定的切换日期,可直接在特征管道中写死;第二层是"行为漂移"(编码员习惯、病历质量、SDEC 推广),无确定日期,依赖哨兵指标的统计监测;第三层是"需求漂移"(人口老化、疫情),会真实改变目标分布,需要与第二层区分——否则会把临床变化误判为数据质量问题而"纠正"掉。

§7.7 DAIMS 24 项评估表

# 检查项 状态 说明
1 宽格式 ✅ 每财年宽表,一行一 FCE
2 唯一标识 ✅ hesid 患者级跨年链接
3 特殊字符 ✅ 编码字段标准化,文本字段有限
4 重复行 ⚠️ FCE 非重复但需派生 spell 去重口径
5 缺失编码 ✅ R69、99 等显式哨兵码
6 标签标识 ⚠️ 无任务标签列,需从编码派生
7 罕见类分组 ⚠️ 罕见码需按 ICD 章节/专家分组
8 偏倚评估 ⚠️ 官方文档有限,需研究者自行评估
9 数据字典 ✅ 官方 APC 数据字典完整
10 信息性缺失解释 ✅ 空手术字段/R69 语义明确
11 设备记录 ❌ 无原始设备数据(§3.9)
12 共线性 ⚠️ 诊断共病共线性需自行处理
13 编码映射 ✅ ICD-10/OPCS-4 官方分类与版本文件
14 时间戳处理 ⚠️ 跨财年归属与关联提取日期截断
15 划分建议 ❌ 无官方划分
16 泄漏讨论 ⚠️ 无官方讨论,需按 §5.3 自查
17 标签分布 ⚠️ 官方聚合统计丰富,患者级需自行
18 测量偏倚 ⚠️ 编码院间变异证实存在
19 外部验证建议 ✅ ONS 死亡/其他国家 NPR 可链接验证
20 版本记录 ✅ 月度临时/年度最终双轨清晰
21 预处理脚本 ❌ 无官方脚本
22 合规要求 ✅ DSA/DARS/IGARD 流程明确
23 多模态对齐 ⚠️ APC/OPA/ECDS 经 hesid 可对齐,需自建
24 去标识化 ✅ 伪匿名 HESID + 日期截断 + 披露控制

DAIMS 评分:16 / 24

评分解读:HES 在"数据治理成熟度"维度近乎满分——数据字典、版本管理、去标识化与合规链路都是国家级水准;失分集中在"AI 工程配套"——没有官方划分、没有预处理脚本、没有任务标签,且存在编码版本漂移与院间质量变异两大结构性问题。它是一份"原料顶级的自加工食材",而非"开箱即用的基准数据集"。

对你意味着什么:如果你的任务是流行病学、卫生服务研究或政策评估,HES 的治理与覆盖优势会直接转化为研究可信度;如果你期待像竞赛数据集一样下载即训,需要先预算两笔成本——约 2-6 个月的审批周期与 §6.3/§6.5 的全部预处理工程。强烈建议:首个项目从单财年 + 单任务(如 30 天再入院)起步,把 spell 派生、组级划分与版本哨兵指标打磨成团队的标准件后再扩到多财年。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
AlzEye 影像-HES 链接队列 Moorfields Eye Hospital NHS FT 与 UCL 视网膜影像与 HES 住院诊断的 record-level 链接 不适用(队列构建) — 353,157 名患者中 186,651 人成功链接 1,337,711 条 HES APC episode;识别心梗 12,022、卒中 11,735、痴呆 13,363 例,证明 HES 可作为大规模多模态研究的行政骨干
宫内 SARS-CoV-2 暴露出生队列 英格兰全国出生队列研究团队(Liu 等) 宫内暴露与 40 月龄内住院风险的纵向关联 不适用(因果推断) — 262,000 名儿童的全国出生队列未发现无母接种疫苗时宫内暴露增加住院风险的证据,展示 HES 出生记录的全国队列能力

矩阵使用说明:HES 的外部验证以"链接可行性与队列规模"为主要证据形态,而非图像/文本基准式的单指标分数;表中"相对内部变化"列留空(—)表示该类研究不存在单一的库内基线可比对象。两项研究均发表于同行评审期刊,数字引自原文摘要。


§8 基准表现与生态

§8.1 代表性研究与量化结果

HES 无官方排行榜(它是研究基础设施而非竞赛基准)。下表按学术影响力列出代表性研究与可核实的量化发现;各研究的任务、队列与口径不同,数值不可直接比较。

序 研究 核心量化发现 年份 关键方法 完整引用 代码
1 HES APC 数据资源论文(引用 549+,Scopus,截至 2026-09) 文献计量:以 HES APC 为主的论文 264 篇 + 链接型论文 130 篇;年发文量从 1993 年 2 篇升至 2015 年 88 篇 2017 数据资源画像与文献计量 Herbert et al., 2017, Int J Epidemiol 46(4):1093-1093i. DOI: 10.1093/ije/dyx015 无
2 AlzEye 影像-HES 链接 353,157 人链接;186,651 人对应 1,337,711 条 APC episode;心梗/卒中/痴呆分别为 12,022/11,735/13,363 例 2022 隐私设计第三方链接 Wagner SK, Hughes F, Cortina-Borja M, et al., 2022, BMJ Open 12(3):e058552. DOI: 10.1136/bmjopen-2021-058552 无
3 年度住院活动官方统计 2023-24:21.5 百万 FCE、17.6 百万 FAE、成人重症监护 236,171 条 2024 国家统计终版 NHS England, 2024, Hospital Admitted Patient Care Activity, 2023-24, digital.nhs.uk 无

§8.2 SOTA 总结与选型建议

HES 语境下的"SOTA"不体现为单一榜单,而是三条成熟范式:其一,行政数据 + GBDT 的表型与结局预测在特征工程充分时常优于深度模型,是绝大多数团队的最优起点;其二,链接型研究(HES×影像/初级保健/死亡登记)是英国生态的独特优势,AlzEye 等项目已验证其规模化可行性;其三,政策与绩效评估依赖 HES 的全国覆盖做自然实验设计。选型建议:先明确单元层级(FCE/spell/患者),再选范式,最后才选模型。

范式选择的快速判据:如果研究问题在"事件率、趋势、比较"层面,统计范式(回归/ITS)已经足够且更易发表;如果问题在"个体风险分诊",才进入预测建模范式,并接受弱标签与漂移成本;如果问题在"表征学习与多模态",HES 应作为链接骨干而非唯一输入。三者混用而不声明,是 HES 论文最常见的审稿意见来源。

§8.3 评测协议

无官方协议。社区可复现实践为:固定数据版本(财年 + 临时/最终状态)→ 冻结表型定义与特征时点 → 组级时间双重划分(§5.4)→ 报告 AUROC/AUPRC 及跨折方差 → 附编码质量哨兵指标(R69 率等)→ 在论文中声明 OPCS/ICD 版本与 2021-09 断点处理方式。

可执行的协议清单(建议作为附录随论文提交):

[ ] 数据版本:财年范围 ______;口径:月度临时 / 年度最终;提取日期 ______
[ ] 分析单元:FCE / spell / CIP / 患者(圈选)
[ ] 划分方式:组级 hesid + 时间切点 ______;COVID 财年处理 ______
[ ] 表型定义:码表版本 + 主/次诊断规则 + PPV 证据来源
[ ] 特征时点:预测时点截断规则(§5.3)
[ ] 版本断点:ICD-9/10 边界、字段扩容、OPCS 4.x、2021-09 变更处理
[ ] 编码质量哨兵:R69 率、字段深度,按 provider 报告
[ ] 指标:AUPRC 为主,AUROC 为辅,跨折均值±方差
[ ] 公平性:IMD/族裔分层报告(若使用相应字段)
[ ] 复现包:查找表 + 派生逻辑 + 随机种子(在合规环境内保存)
数据集 关系 互补点
MIMIC-III / MIMIC-IV 同为住院 EHR,粒度互补 提供检验、波形与文本,HES 提供全国分母
Danish NPR / Swedish NPR 同类全民行政数据库 跨国验证与 Nordic 个人编号链接
SEER-Medicare 肿瘤定向登记-claims 链接 提供分期等临床细节
CMS Medicare LDS 美国 claims 生态 成本与赔付分析对照
ONS 死亡登记 官方链接数据源 结局终点(须另行申请)
CPRD 初级保健数据库 初级-次级互补 补齐 HES 缺失的门诊处方与检验
ECHILD HES×国家教育登记链接 儿童发展与教育结局的纵向研究
人工合成 HES 数据 官方合成对照 工具链测试与教学,无合规负担

§8.5 关键论文与官方文献 Top 5

前两条为学术数据资源文献(含完整 DOI),后四条为锁定口径与版本所必需的官方文献;行政数据研究的引用规范要求"学术 + 官方"并列,缺一不可。

  1. Herbert A, Wijlaars L, Zylbersztejn A, Cromwell D, Hardelid P. Data Resource Profile: Hospital Episode Statistics Admitted Patient Care (HES APC). International Journal of Epidemiology, 2017, 46(4):1093-1093i. DOI: 10.1093/ije/dyx015 —— HES APC 的权威数据资源画像,字段、沿革与研究用法的事实基准。
  2. Wagner SK, Hughes F, Cortina-Borja M, et al. AlzEye: longitudinal record-level linkage of ophthalmic imaging and hospital admissions of 353 157 patients in London, UK. BMJ Open, 2022, 12(3):e058552. DOI: 10.1136/bmjopen-2021-058552 —— HES 与影像队列 record-level 链接的完整方法论与审批链路示范。
  3. NHS England. Hospital Admitted Patient Care Activity, 2023-24. Published 2024-09-26, digital.nhs.uk —— 21.5 百万 FCE/17.6 百万 FAE 等核心规模数字的官方出处。
  4. NHS England. Hospital Accident & Emergency Activity, 2023-24. Published 2024-09-26, digital.nhs.uk —— 26.3 百万 A&E 到场与 deprivation 梯度的官方出处。
  5. Centre for Longitudinal Studies, UCL. NCDS Linked Health Administrative Datasets - Hospital Episode Statistics (HES): User Guide —— 对 D_ 前缀截断变量、OPCS 版本时间轴等实践细节最友好的第三方用户指南。

§8.6 社区与生态活跃度

HES 的"社区"以学术与政策机构为主:英国卫生服务研究与流行病学年会大量使用 HES;ECHILD(HES×教育登记)等国家级链接项目持续产出方法论文档;HDR UK 等平台维护 HES 相关元数据与 phenotype 资源。由于数据不可公开流通,公开 GitHub 上的 HES 专用工具远少于 MIMIC 生态,更多工具存在于获批的安全研究环境内部。

对新人有两点现实提示:其一,HES 的入门知识分散在官方数据字典、Analysis Guide 与前辈研究者的笔记里,务必以"跟着一个已获批项目走一遍"的方式入行,而非只读文档;其二,英国健康数据研究(HDR UK 等门户)提供的数据集元数据与培训资源是绕过"经验黑箱"的最短路径,其权威梳理可与本文 §8.7 的资源清单互补使用。

§8.7 生态快照

资源 类型 链接 推荐理由
HES 官方主页与数据字典 官方文档 https://digital.nhs.uk/data-and-information/data-tools-and-services/data-services/hospital-episode-statistics 字段与口径的唯一权威来源
HES Users, uses and access 官方获取指南 https://digital.nhs.uk/data-and-information/data-tools-and-services/data-services/hospital-episode-statistics/users-uses-and-access-to-hospital-episode-statistics DARS/DAE/MMES 三渠道与申请前提
年度 APC/A&E/门诊出版物 官方统计 https://digital.nhs.uk/data-and-information/publications/statistical/hospital-admitted-patient-care-activity/2023-24 免费汇总数据与分析口径说明
ECHILD 健康数据文档 学术文档 https://docs.echild.ac.uk/nhs HES 子库沿革与链接逻辑的最佳综述
人工合成 HES 数据试点 官方合成数据 https://digital.nhs.uk/data-and-information/data-tools-and-services/data-services/hospital-episode-statistics 教学与原型开发的无风险入口
DARS 收费与申请流程 官方服务页 https://digital.nhs.uk/services/data-access-request-service-dars 审批要求、收费标准与申请模板
CLS NCDS-HES User Guide 第三方指南 https://cls.ucl.ac.uk/data_documentation/ncds-hospital-episode-statistics-hes-user-guide/ncds_hes_user_guide/ 截断变量与版本对照的实用细节
HES 数据处理与质量说明 官方文档 https://digital.nhs.uk/data-and-information/data-tools-and-services/data-services/hospital-episode-statistics 处理周期、数据质量与 2021 变更的官方口径

§9 相关资源与引用

§9.1 官方资源

§9.2 补充文献与第三方资源

  • UCL Centre for Longitudinal Studies. NCDS Linked Health Administrative Datasets — Hospital Episode Statistics (HES): User Guide —— 第三方视角最完整的字段与版本实践指南
  • ECHILD 学术团队方法论论文集(Herbert et al., 2017 综述的延伸)—— HES 与教育登记链接的表型方法
  • NHS England《Hospital Episode Statistics data changes from 2021》与《Impact of changes to recording of Same Day Emergency Care Activity on HES》—— 2021 断点的两份官方专项说明
  • NHS England 年度门诊活动统计(Hospital Outpatients Activity)—— 门诊子库的年度最终口径出处,与月度 M13 数字互补

§9.3 BibTeX 引用块

@article{herbert2017hesapc,
  title   = {Data Resource Profile: Hospital Episode Statistics Admitted Patient Care (HES APC)},
  author  = {Herbert, Annie and Wijlaars, Linda and Zylbersztejn, Ania and Cromwell, David and Hardelid, Pia},
  journal = {International Journal of Epidemiology},
  year    = {2017},
  volume  = {46},
  number  = {4},
  pages   = {1093--1093i},
  doi     = {10.1093/ije/dyx015}
}

@article{wagner2022alzeye,
  title   = {AlzEye: longitudinal record-level linkage of ophthalmic imaging and hospital admissions of 353 157 patients in London, UK},
  author  = {Wagner, Siegfried Karl and Hughes, Fintan and Cortina-Borja, Mario and others},
  journal = {BMJ Open},
  year    = {2022},
  volume  = {12},
  number  = {3},
  pages   = {e058552},
  doi     = {10.1136/bmjopen-2021-058552}
}

@techreport{nhsengland2024apc,
  title       = {Hospital Admitted Patient Care Activity, 2023-24},
  author      = {{NHS England, Secondary Care Open Data and Publications}},
  institution = {NHS England},
  year        = {2024},
  url         = {https://digital.nhs.uk/data-and-information/publications/statistical/hospital-admitted-patient-care-activity/2023-24}
}

@techreport{nhsengland2024ae,
  title       = {Hospital Accident \& Emergency Activity, 2023-24},
  author      = {{NHS England, Secondary Care Open Data and Publications}},
  institution = {NHS England},
  year        = {2024},
  url         = {https://digital.nhs.uk/data-and-information/publications/statistical/hospital-accident--emergency-activity/2023-24}
}

注:若研究同时使用了月度临时数据,建议增补 @techreport 条目引用对应月份的 Provisional Monthly HES 出版物,并注明提取日期;HES 相关出版物的作者署名采用机构署名(Secondary Care Open Data and Publications),BibTeX 中以双大括号保护。

§9.4 引用指南

引用 HES 数据的三段式惯例:引用 Herbert 2017 作为数据资源描述;引用所用财年的官方统计出版物锁定口径与版本;在致谢中注明数据来源与版权(例如"HES 数据经 NHS England 许可使用,版权 © NHS England"),并遵守 Data Sharing Agreement 中的发表审核与引用条款。

两点补充:其一,若研究使用了链接数据(ONS 死亡、CPRD 等),各数据源须分别引用并声明链接协议;其二,DSA 通常对发表前的成果披露有审核要求,引用指南中的措辞(如"re-used with the permission of …")以 DSA 原文为准,本节示例不构成法律建议。


§10 AI 使用声明卡

§10.1 AI 模型使用

AI 模型 版本 用途
fast-model(CodeBuddy) 2026-09 初稿生成:INFOBOX 数据汇编、§1-§9 结构化写作、§6 代码示例生成、JSON-LD 构建
WebSearch(多源检索) 2026-09 7 组检索:官方统计页、数据字典与用户指南、DARS/IGARD 审批链、AlzEye 论文、机构沿革、A&E 统计、引用快照

§10.2 AI 参与范围

AI 参与范围:初稿生成 + 资料整理 + 代码生成 + 格式化排版。

AI 在本页面的工作中负责:(1) 从 NHS England 官方统计页、ECHILD 文档、CLS 用户指南、BMJ Open 论文等来源整理结构化信息;(2) 生成 §6 的 Python 代码示例;(3) 系统化组织 §6.5 的 8 个坑点与 §7.1 偏倚表;(4) 执行 G1/G2/G3 排版规范检查与中英文格式标准化;(5) 构建 §C 统一 JSON-LD @graph。

§10.3 输入来源

  1. NHS England. Hospital Admitted Patient Care Activity, 2023-24(2024-09-26 发布)—— 21.5 百万 FCE、17.6 百万 FAE、236,171 条重症监护记录
  2. NHS England. Hospital Accident & Emergency Activity, 2023-24(2024-09-26 发布)—— 26.3 百万 A&E 到场、72.1% 四小时达标、deprivation 梯度
  3. NHS England. Provisional Monthly HES, April 2023 to March 2024 (M13) —— 135.6 百万门诊预约、77.2% 到场率
  4. NHS England. Users, uses and access to Hospital Episode Statistics —— DARS/DAE/MMES 渠道、DSFC/DSA 要求
  5. NHS England(hesonline). Hospital Episode Statistics 主页 —— SUS+ 溯源、2021-09 处理变更、SDEC 影响、人工合成数据试点、披露控制
  6. Herbert A, et al. Data Resource Profile: HES APC. Int J Epidemiol 2017;46(4):1093-1093i(DOI: 10.1093/ije/dyx015)—— 字段沿革、FCE/spell 定义、2014/15 规模锚点、文献计量
  7. Wagner SK, et al. AlzEye. BMJ Open 2022;12(3):e058552(DOI: 10.1136/bmjopen-2021-058552)—— 353,157 人链接、1,337,711 条 episode、CAG/IGARD 审批链路
  8. ECHILD 文档(docs.echild.ac.uk/nhs)—— 子库起始年、ICD-10/OPCS-4 编码、97% 出生记录覆盖
  9. UCL CLS. NCDS-HES User Guide —— D_ 前缀截断变量、OPCS-4 版本时间轴(4.2 至 4.10)
  10. University of Liverpool 博士论文(2024)—— HES 起源(Körner 报告、10% 抽样到全覆盖)与 FCE/spell/CIP 工作示例
  11. england.nhs.uk. Protecting and safely using data in the new NHS England —— NHS Digital 2023-02-01 并入 NHS England
  12. GOV.UK. NHS England Annual Report and Accounts 2022/23 —— 合并法定时点 S.I. 2023/98
  13. BMJ Open AlzEye 论文与 AlzEye 审批描述 —— REC/CAG/DARS/IGARD 全链路实例
  14. DHSC written evidence to the NHS Pay Review Body(2025-2026)—— A&E 与急诊入院日均活动量时间序列
  15. Semantic Scholar / Dimensions / Scopus / Bristol 研究门户 —— Herbert 2017 引用数快照(549/693/573,截至 2026-09)
  16. discover.metadata.works(HES A&E 元数据)—— 交付周期 2-6 个月、使用限制、0-150 岁标称范围

§10.4 人工校验

内容模块 审核者 审核方式 审核状态
§2 医学背景(ICD-11/SNOMED 映射、人群统计、金标准) 千方病案医学编辑部 交叉审核 ✅ 已通过
§3 数据集规格(子库规模、版本矩阵) 千方病案医学编辑部 与 NHS England 官方统计页交叉比对 ✅ 已验证
§4 数据结构(DAIMS 字段字典、层级) 千方病案医学编辑部 与官方数据字典及 ECHILD 文档交叉比对 ✅ 已验证
§5 数据划分策略 千方病案医学编辑部 交叉审核 ✅ 已通过
§6 代码示例与坑点 千方病案医学编辑部 逻辑审查 + 与官方处理规则比对 ✅ 已通过
§7 质量评估与 DAIMS 评分 千方病案医学编辑部 交叉审核 ✅ 已通过
§8 研究与引用表述 千方病案医学编辑部 与原文及 Scopus/Dimensions 快照交叉比对 ✅ 已验证
§C JSON-LD @graph 千方病案医学编辑部 Schema v3.9 字段逐项校验 ✅ 已通过

§10.5 AI 生成章节标注

以下章节由 AI 生成初稿并经人工校验:§1.0 30 秒速览、§3.0 版本抉择矩阵、§6.0-§6.4 代码示例、§6.5 八个坑点、§6.9 评估指标代码、§7.7 DAIMS 评估表与评分、§8.7 生态快照、§C JSON-LD。

AI 生成内容的边界:所有规模数字、日期、审批流程与文献引用均以 §10.3 所列来源核对,AI 不负责事实裁定;凡来源之间存在口径冲突之处(如临时 vs 最终统计),正文以官方最终口径为准并显式标注。

§10.6 最后审核

最后一次人工审核日期:2026-09-05

页面状态:published(全部内容已完成审核并发布)


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • gemini — 共享标签:电子健康记录 / 公共卫生与流行病学 / 临床电子病历 / 卫生服务研究 / 真实世界数据
  • cms-medicare-lds — 共享标签:公共卫生与流行病学 / 临床电子病历 / 卫生服务研究 / 真实世界数据
  • epic-cosmos — 共享标签:电子健康记录 / 公共卫生与流行病学 / 临床电子病历 / 真实世界数据
  • maternal-ultrasound-nutrition — 共享标签:电子健康记录 / 公共卫生与流行病学 / 真实世界数据
  • n3c — 共享标签:电子健康记录 / 公共卫生与流行病学 / 临床电子病历 / 真实世界数据
  • marketscan — 共享标签:电子健康记录 / 公共卫生与流行病学 / 卫生服务研究 / 真实世界数据
  • ncdb — 共享标签:电子健康记录 / 公共卫生与流行病学 / 卫生服务研究 / 真实世界数据
  • seer-medicare — 共享标签:电子健康记录 / 公共卫生与流行病学 / 卫生服务研究 / 真实世界数据
  • premier-pinc-ai — 共享标签:电子健康记录 / 公共卫生与流行病学 / 卫生服务研究 / 真实世界数据
  • seer-nci — 共享标签:电子健康记录 / 公共卫生与流行病学 / 临床电子病历

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集