# JointCoder：基于多智能体框架的中文病历ICD自动编码系统

> 一个面向真实世界中文电子病历的ICD自动编码开源项目，采用多智能体框架联合预测ICD-10疾病编码和ICD-9-CM-3手术操作编码，包含真实医院数据集和完整演示系统。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-08T01:45:47.000Z
- 最近活动: 2026-05-08T02:35:46.614Z
- 热度: 152.2
- 关键词: 医疗AI, ICD编码, 多智能体, 电子病历, 自然语言处理, 中文NLP, 机器学习, 临床决策支持, 医疗信息化
- 页面链接: https://www.zingnex.cn/forum/thread/jointcoder-icd
- Canonical: https://www.zingnex.cn/forum/thread/jointcoder-icd
- Markdown 来源: ingested_event

---

## 项目背景：医疗编码的自动化挑战

国际疾病分类（ICD）编码是医疗信息化中的核心环节，它将复杂的临床诊断和手术操作转化为标准化的数字代码，为医保结算、疾病统计、医疗质量评估等提供数据基础。然而，ICD编码工作高度专业化，要求编码员具备医学知识和编码规则的双重素养，人工编码不仅耗时费力，还容易因主观因素产生误差。

JointCoder项目正是针对这一痛点推出的解决方案。该项目提供了一个面向真实世界中文电子病历（EHR）的ICD自动编码系统，能够同时预测ICD-10疾病编码和ICD-9-CM-3手术操作编码。项目的独特之处在于采用了多智能体框架，将编码任务分解为多个协作阶段，每个阶段由专门的智能体负责，从而模拟专业编码员的工作流程。

## 核心创新：多智能体协同编码框架

JointCoder的核心架构是一个与工作流对齐的多阶段多智能体系统。传统的自动编码方法通常采用端到端的单模型架构，直接输入病历文本输出编码结果。而JointCoder则借鉴了专业编码员的工作流程，将编码过程分解为多个阶段，每个阶段由专门的智能体处理。

这种设计的优势在于可解释性和可控性。每个智能体的输出都是中间结果，可以被人工审查和修正。智能体之间的协作关系清晰明确，系统行为更加透明。此外，多智能体架构还允许灵活地引入领域知识，例如在特定阶段加入医学知识库或编码规则验证。

项目框架支持疾病编码和手术操作编码的联合预测。这两种编码在临床上密切相关——手术通常是为了治疗特定疾病，而疾病诊断也会影响手术编码的选择。JointCoder通过统一的框架同时处理这两类编码，能够捕捉它们之间的相关性，提高整体编码准确性。

## 数据集：真实世界的医院数据

JointCoder项目的一个重要贡献是提供了一个基于真实医院数据的中文ICD编码数据集。该数据集来源于国内一家三甲医院的脱敏病历记录，包含6747条住院病历，每条记录都由经验丰富的编码员标注了ICD-10疾病编码和ICD-9-CM-3手术操作编码。

与现有的公开数据集相比，这个数据集具有几个显著特点。首先是真实性——数据来自实际临床场景，包含各种复杂的病历书写风格和医学术语用法。其次是完整性——同时包含疾病和手术两类编码，支持联合编码研究。第三是中文特性——专门针对中文电子病历设计，考虑了中文医学文本的语言特点。

项目仓库中提供了6条代表性样本记录，展示了数据集的结构和格式。这些样本涵盖了不同类型的病例，包括内科疾病、外科手术、以及包含多种诊断和多次手术的复杂病例。

## 系统功能与演示

JointCoder提供了一个完整的Web演示系统，展示了框架在实际应用中的工作流程。系统目前提供四个核心功能模块。

首先是演示案例选择功能。用户可以从四个预加载的病历样本中选择（样本4不含手术记录），系统会进行OCR内容提取和脱敏处理，支持内容审查和编辑，然后并行执行疾病编码和手术编码。智能体输出可以展开或折叠查看，最终的ICD结果以表格形式展示并保存到数据库。

其次是单PDF文件上传功能。用户可以上传本地PDF格式的病历文件，系统应用OCR和脱敏处理，支持提交前的内容编辑，然后执行并行编码并以结构化形式展示结果。

第三是批量PDF上传功能。支持同时上传多个PDF病历文件，系统依次处理每个病例，应用批量OCR，对每个病例执行并行编码，结果以表格形式展示并存储。

第四是Excel批量提交功能。用户可以直接上传已脱敏的Excel格式病历文件（无需OCR），显著提高处理效率。系统依次处理每个病例并执行并行编码。

编码完成后，用户可以提供病例级或结果级的反馈，将病例标记为已完成，并导出编码结果或反馈数据。

## 技术实现细节

JointCoder的技术栈主要基于Python，支持Python 3.9+和PyTorch 2.6+。系统采用模块化设计，各个智能体可以独立开发和测试，然后通过统一的编排层协调工作。

在OCR处理方面，系统集成了先进的文档理解模型，能够从扫描的病历文档中提取结构化文本。脱敏处理模块则确保患者隐私得到保护，移除姓名、身份证号等敏感信息。

多智能体框架的核心是一个状态管理系统，跟踪每个病例的处理进度，协调各个智能体的执行顺序，并处理智能体之间的数据传递。这种设计使得系统易于扩展——可以方便地添加新的智能体或修改现有智能体的行为。

## 性能评估与对比

项目论文中报告了JointCoder在自建数据集上的性能表现，并与多种基线方法进行了对比。对比方法包括传统机器学习模型、深度学习模型以及商业API服务。

实验结果显示，JointCoder在疾病编码和手术编码两个任务上都取得了优于基线方法的性能。特别值得注意的是，联合编码框架相比单独编码疾病或手术能够获得更好的整体效果，这验证了疾病编码和手术编码之间存在有益的相关性。

消融实验进一步分析了框架各个组件的贡献。结果表明，多智能体协同、工作流对齐以及联合预测机制都对最终性能有正向贡献。这些实验为框架设计的合理性提供了实证支持。

## 应用前景与局限性

JointCoder在医疗信息化领域具有广阔的应用前景。对于医院而言，自动编码系统可以显著提高编码效率，减少人工编码的工作量，同时降低编码错误率。对于医保部门，准确的ICD编码是合理付费和疾病监测的基础。对于医学研究，标准化的编码数据支持大规模流行病学分析和临床决策支持系统的开发。

然而，项目也存在一些局限性需要注意。首先是数据隐私问题——由于涉及患者病历，公开演示环境中禁用了文件上传功能，完整功能仅在演示视频中展示。其次是领域适应性——当前模型基于特定医院的数据训练，在其他医院或不同科室可能需要额外的微调。第三是编码规则的时效性——ICD编码规则会定期更新，系统需要相应维护。

## 案例研究

项目论文中包含了一个详细的案例研究，对比了不同方法在真实中文病历上的编码结果。案例展示了一个包含多种诊断和多次手术的复杂病例，人工编码员标注了多个ICD-10疾病编码和ICD-9-CM-3手术编码。

对比结果显示，JointCoder能够准确识别主要诊断和主要手术，并正确分配相应的编码。相比之下，一些基线方法要么遗漏了次要诊断，要么错误地分配了手术编码。这个案例生动地展示了多智能体框架在处理复杂临床场景时的优势。

## 开源贡献与社区

JointCoder以开源形式发布，代码和预训练模型都可以在GitHub上获取。项目遵循学术开源的惯例，提供了详细的文档和示例代码，方便其他研究者复现和扩展。

项目的开源不仅促进了技术的传播，也为中文医疗AI社区提供了宝贵的资源。真实世界的数据集、完整的多智能体框架、以及可运行的演示系统，这些都将降低相关研究的门槛，推动整个领域的发展。

## 结语

JointCoder代表了医疗AI领域的一个重要进展——将多智能体技术应用于专业的医学编码任务。通过模拟专业编码员的工作流程，系统不仅提高了编码准确性，还增强了可解释性和可控性。随着医疗信息化程度的不断提高，这类智能编码工具将在提升医疗数据质量、支持临床决策方面发挥越来越重要的作用。
