1. 任务背景
从上世纪70年代医学自然语言处理的开山之作(MYCIN)以来,医疗信息化的实现是依赖临床医生的临床经验和知识以及工程实的开发技能,是典型的医工结合领域。也正是这种“交叉机制”,我们观察到,凡是临床一线医生参与的临床决策支持系统,相关算法和系统的落地、推广与应用都具有代表性。由此而衍生的数据治理以及科研服务,为医学科技的发展提供了动力。然而,临床决策支持系统不能够由临床医生独立完成,在临床医生提供知识,企业提供IT开发能力的场景下,知识产权的归属的问题,大大阻碍了临床医生参与到临床决策支持系统的研发的积极性。随着通用大模型的兴起,人人都是数字化创新者的背景下,我们看到了通过自动编码技术来破局的可能性。目前,在通用领域,大语言模型的自动写代码的能力,已经获得程序员的广泛认可,并以广泛应用。在刚刚结束的2025 ICP竞赛中,OpenAI成为唯一拿下满分的团队。在医疗领域,MedAgentGym就是一个基于开源小模型,在医学自动写代码的主题进行了优化,性能达到了辅助编程的能力水平,可以依赖大语言模型来开发临床决策支持/科研的和核心算法。
当验证的算法从实验室进入医院信息系统,会遇到异构性系统的问题。要发挥这些算法的最大效能,要与不同的系统之间适配,符合一定的标准。有研究人员发现,大语言模型具备生成符合标准的HL7 FHIR的能力,这大大降低了实现标准的技术成本。FHIR-GPT这样的能力,使得不同健康医疗单位信息系统之间就可以通过AI Agent 进行信息的互联互通,可以互相在对方医院“沙盒”中运行自己的代码。
在沙盒中运行代码是为了规避系统运行风险,但是生成的代码是否符合标准?如何进行管理?系统生成为科研服务的数据,在质量保证的前提下,如何服务临床?如何完成AI for Science, 然后AI for Clinical Practice的临床转化?这些都是我们在本次测评中需要大家一起探索和回答的。
本次评测任务,我们提供了一共19个类别共51条临床试验入组/出组问题,难度各异。每一个问题会提供问题和问题的FHIR FSH定义,参赛团队据此生成并按照FHIR 消息Bundle的标准递交NLP代码。我们将评价大模型在这此任务上的均质性等指标,为后期科研,产品研发以及政策决策等提供数据和理论依据。
从上世纪70年代医学自然语言处理的开山之作(MYCIN)以来,医疗信息化的实现是依赖临床医生的临床经验和知识以及工程实的开发技能,是典型的医工结合领域。也正是这种“交叉机制”,我们观察到,凡是临床一线医生参与的临床决策支持系统,相关算法和系统的落地、推广与应用都具有代表性。由此而衍生的数据治理以及科研服务,为医学科技的发展提供了动力。然而,临床决策支持系统不能够由临床医生独立完成,在临床医生提供知识,企业提供IT开发能力的场景下,知识产权的归属的问题,大大阻碍了临床医生参与到临床决策支持系统的研发的积极性。随着通用大模型的兴起,人人都是数字化创新者的背景下,我们看到了通过自动编码技术来破局的可能性。目前,在通用领域,大语言模型的自动写代码的能力,已经获得程序员的广泛认可,并以广泛应用。在刚刚结束的2025 ICP竞赛中,OpenAI成为唯一拿下满分的团队。在医疗领域,MedAgentGym就是一个基于开源小模型,在医学自动写代码的主题进行了优化,性能达到了辅助编程的能力水平,可以依赖大语言模型来开发临床决策支持/科研的和核心算法。
当验证的算法从实验室进入医院信息系统,会遇到异构性系统的问题。要发挥这些算法的最大效能,要与不同的系统之间适配,符合一定的标准。有研究人员发现,大语言模型具备生成符合标准的HL7 FHIR的能力,这大大降低了实现标准的技术成本。FHIR-GPT这样的能力,使得不同健康医疗单位信息系统之间就可以通过AI Agent 进行信息的互联互通,可以互相在对方医院“沙盒”中运行自己的代码。
在沙盒中运行代码是为了规避系统运行风险,但是生成的代码是否符合标准?如何进行管理?系统生成为科研服务的数据,在质量保证的前提下,如何服务临床?如何完成AI for Science, 然后AI for Clinical Practice的临床转化?这些都是我们在本次测评中需要大家一起探索和回答的。
本次评测任务,我们提供了一共19个类别共51条临床试验入组/出组问题,难度各异。每一个问题会提供问题和问题的FHIR FSH定义,参赛团队据此生成并按照FHIR 消息Bundle的标准递交NLP代码。我们将评价大模型在这此任务上的均质性等指标,为后期科研,产品研发以及政策决策等提供数据和理论依据。
2. 任务数据集
2.1 临床试验入组/出组筛选标准问题
来源:中国临床试验注册中心的注册试验。
结构:19类别,共 51条筛选标准,51位患者(50个案报道+1病历专病摘要)。
筛选标准样例
以下是数据集中每个列名的含义:
index:表示数据集中每条筛选标准文本的原始索引。
json:存储为JSON格式的筛选标准数据,在这里仅需要使用其中的中文文本。
id:筛选标准的原始索引。
label:筛选标准文本的分类信息。
question:筛选标准文本。
deepquery_id:关联到查询系统的唯一ID。
FHIR_FSH:包含FHIR标准中的FSH(FHIR Shorthand)代码,用于定义临床问题。
NLP_CODE:这列是需要参赛团队生成的自然语言处理的代码,用于解析原始数据生成对应FHIR Profile的FHIR resources。
FHIR_SERVICE_CODE:这列是调用FHIR service API查询符合标准的患者。
positive_doc_patient_index:匹配到的患者ID。
2.2 筛选标准文本的FSH 定义
不是所有筛选标准文本都有FSH定义(FHIR 扩展)。如果没有,就是用FHIR core标准可以回答,如果有就是需要扩展才能回答。在项目release之初,我们会release所有问题的FSH定义。局限于发布的样本数量,并不是每一个FSH对应的问题,有阳性结果。
FHIR profile的定义和构建是一个动态地不断调整的过程。因此,在问题所对应FSH定义在最终评测阶段的最终版本为依据。
2.3 医疗文档
我们从中华案例成果数据库(https://cmcr.yiigle.com/)采集的个案报道作为患者数据源。通过人工标注,将原文切分成不同主题。最终的输入主题的列表(模拟电子病历数据)。每一个主题有如下信息:其中只有end_datetime是可选的。这些数据作为候选患者列表,共计51条。
下面是某个患者数据中,主诉主题的一个样例:
{
"end_datetime": "",
"text": "在例行体检中发现肝脏存在包块。",
"timestamp": "2023-09-08T23:02",
"topic": "主诉"
}
数据:
数据按照筛选标准进行拆分,共分为训练集,测试集A榜, 测试集B榜3个数据集,分别包含17个筛选标准。患者数据均为51个。
来源:中国临床试验注册中心的注册试验。
结构:19类别,共 51条筛选标准,51位患者(50个案报道+1病历专病摘要)。
类别 | 数量 | 类别 | 数量 | ||
---|---|---|---|---|---|
年龄(Age) | 2 | 护理(Nursing) | 2 | ||
酒精摄入(Alcohol Consumer) | 1 | 器官与组织状态(Organ or Tissue Status) | 3 | ||
知情同意(Consent) | 1 | 风险评估 | 1 | ||
设备(Device) | 1 | 体征 | 1 | ||
诊断(Diagnostic) | 6 | 吸烟状态 | 3 | ||
疾病(Disease) | 2 | 症状 | 4 | ||
就诊(Encounter) | 1 | 治疗或手术 | 7 | ||
性别(Gender) | 3 | 肿瘤状态(Neoplasm Status) | 5 | ||
实验室检查(Laboratory Examinations) | 6 | 多类别(Multiple) | 1 | ||
非肿瘤疾病分期(None-Neoplasm Stage) | 1 | / | / |
id | label | question_text |
---|---|---|
s7890 | Age | 年龄 18-80 周岁 |
s10360 | Gender | 性别: 不限 |
以下是数据集中每个列名的含义:
index:表示数据集中每条筛选标准文本的原始索引。
json:存储为JSON格式的筛选标准数据,在这里仅需要使用其中的中文文本。
id:筛选标准的原始索引。
label:筛选标准文本的分类信息。
question:筛选标准文本。
deepquery_id:关联到查询系统的唯一ID。
FHIR_FSH:包含FHIR标准中的FSH(FHIR Shorthand)代码,用于定义临床问题。
NLP_CODE:这列是需要参赛团队生成的自然语言处理的代码,用于解析原始数据生成对应FHIR Profile的FHIR resources。
FHIR_SERVICE_CODE:这列是调用FHIR service API查询符合标准的患者。
positive_doc_patient_index:匹配到的患者ID。
2.2 筛选标准文本的FSH 定义
不是所有筛选标准文本都有FSH定义(FHIR 扩展)。如果没有,就是用FHIR core标准可以回答,如果有就是需要扩展才能回答。在项目release之初,我们会release所有问题的FSH定义。局限于发布的样本数量,并不是每一个FSH对应的问题,有阳性结果。
FHIR profile的定义和构建是一个动态地不断调整的过程。因此,在问题所对应FSH定义在最终评测阶段的最终版本为依据。
2.3 医疗文档
我们从中华案例成果数据库(https://cmcr.yiigle.com/)采集的个案报道作为患者数据源。通过人工标注,将原文切分成不同主题。最终的输入主题的列表(模拟电子病历数据)。每一个主题有如下信息:其中只有end_datetime是可选的。这些数据作为候选患者列表,共计51条。
下面是某个患者数据中,主诉主题的一个样例:
{
"end_datetime": "",
"text": "在例行体检中发现肝脏存在包块。",
"timestamp": "2023-09-08T23:02",
"topic": "主诉"
}
数据:
数据按照筛选标准进行拆分,共分为训练集,测试集A榜, 测试集B榜3个数据集,分别包含17个筛选标准。患者数据均为51个。
3. 任务要求
4. 获奖队伍材料提交
排名前三的队伍还需提交以下材料:
1)相关代码及说明。
2)方法描述文档。
3)如果方法使用了额外公开的数据资源,要求说明并提供资源文件或地址,包括但不限于代码、工具和数据。要求所使用的资源是公开可获取的。
获奖选手需要将以上材料发送至组织者邮箱,邮件的标题为:“CHIP2025-医学NLP代码自动生成测评-参赛队伍名称”。代码及文档需打包成一个文件(zip,rar等均可),作为邮件附件传送,要求提交所有的程序代码及相关的配置说明。
说明:若没有提交上述材料,将视为自动放弃参与评奖。评奖资格将会自动顺延至排名紧随其后的队伍。要求提交所有的程序代码及相关的配置说明,程序应当可以运行,可以供组织者验证,若排行榜上的结果无法复现,将取消比赛资格。
5. 评分指标
如前文所述,本评测对3个步骤进行评价,每一步0-1分。第一步与第二步得分要么是0分,要么是1分。第三步采用F1值作为评测指标。每一个问题单独计算得分,最后所有问题得分取平均值,作为最终评测排名得分。
Precision = 系统查询到的正确的患者数量/系统给出的所有的患者数量*100%
Recall = 系统查询到的正确的患者数量/金标准每一问题所有患者数量*100%
F1 Score = 2 * (Precision * Recall) / (Precision + Recall) * 100%
假设有一个团队,递交了55个问题的代码,其中有50条成功运行(假设每一个的F1值为0.6。最终得分为:
6. 约束与支持
HL7 FHIR 版本: V R4.0 https://hl7.org/fhir/R4/consent.html
代码限制:
工程风险提示:
7. 结果提交
比赛设立A榜阶段与B榜阶段两个赛段,具体安排如下:
A榜阶段(开发阶段):参赛队伍在成功报名后,可通过天池平台下载训练数据和A榜测试数据集(开发集)文件,在本地进行模型调试与训练,并在线提交评测结果。A榜阶段成绩仅用于模型开发调优,不计入比赛最终成绩。且A榜测试集答案不公开,不用于B榜阶段模型训练。
B榜阶段(最终评测):B榜阶段将开放B榜测试数据集(测试集)供下载,参赛队伍需根据该数据集生成预测结果并提交至天池平台,各队伍在B榜阶段的历史最优成绩作为最终排名与奖项评定的依据。
参赛者要把问题转化成代码,然后按照HL7 FHIR Bundle(message)的格式组装成JSON文件上传到测评网站。
8. 参赛规则
1) 每名选手只能注册一个账号,一旦发现选手注册多个账号进行提交,将取消所有账号的参赛资格。
2) 允许使用外部资源,包括但不限于代码、工具和数据,要求所使用的资源是公开可获取的。
3) 获奖选手最终需要提交可运行的代码和方法描述文档,若排行榜上的结果无法复现,将取消参赛资格。
4) 获奖选手需要自行注册参加CHIP会议,在会议上进行口头汇报,撰写技术论文,否则取消参赛成绩。
5) 欢迎国内外在校生及企业人员参加,个人必须依托单位报名参赛,比赛组织方成员不可参赛。
6) 组队人数限制1-5人。
7) 每日提交结果次数为5次。
8) 该任务数据仅用于本次评测,如需用于其他目的,请与任务组织者联系。
9. 报名方式
本次评测任务依托阿里云天池平台展开,天池链接:https://tianchi.aliyun.com/competition/entrance/532429
请加入以下钉钉群,进行任务相关事宜讨论(钉钉群号: 154880001500)。
图 1:钉钉群二维码
10. 日程安排
报名参赛开始:10月1日-10月31日
训练数据发布时间:10月1日
A榜测试数据发布时间:10月1日
A榜测试结果提交截止时间:10月31日
B榜测试数据发布时间:11月1日
B榜测试结果提交截止时间:11月5日
评测论文提交截止时间:11月10日
会议日期(评测报告及颁奖):11月14日-11月16日
11. 评测任务组织者
米 岚 北京大学肿瘤医院
陶 亮 上海商学院
宗 辉 四川大学华西医院
文 栋 上海皓元医药股份有限公司
汤步洲 哈尔滨工业大学(深圳)/鹏城实验室
李作峰 同济大学
张晓艳 同济大学
3.1 FHIR Bundle 生成
输入:测评组织者给出的临床筛选标准文本,及其FHIR FSH的定义
输出:一个Python代码,代码中必须有以下的类,以及初始函数和解析函数 (具体可参照训练数据,经过BASE64压缩)
注意
1)Option1 : 传统NLP方法(python code)
2)Optinon2: 传统NLP algorithms/大模型生成的FHIR FHIR Bundle in JSON
3)JSON Representation of Resources链接:https://hl7.org/fhir/json.html#cardinality
4)参赛者需要解析临床文本并生成FHIR Bundle。
5)格式不符合要求,判定任务失败。程序可运行,25%分数。
6)将算法以FHIR Bundle的形式打包,然后上传。(注:算法代码要用BASE64压缩)
7)文件样式请参见:message_bundle_sampling_3.json
class FHIRResourceBundleGenerator: def __init__(self, fhir_api_base: str): …… def parse_clinical_text_to_fhir_bundle( self, patient_id: str, case_reports: List[Dict[str, str]], ai_algorithm_type: str = "nlp" ) -> Dict[str, Any]:
1)Option1 : 传统NLP方法(python code)
2)Optinon2: 传统NLP algorithms/大模型生成的FHIR FHIR Bundle in JSON
3)JSON Representation of Resources链接:https://hl7.org/fhir/json.html#cardinality
4)参赛者需要解析临床文本并生成FHIR Bundle。
5)格式不符合要求,判定任务失败。程序可运行,25%分数。
6)将算法以FHIR Bundle的形式打包,然后上传。(注:算法代码要用BASE64压缩)
7)文件样式请参见:message_bundle_sampling_3.json
3.2 算法准确性评估
主办方会按照3个步骤进行评价:1)运行NLP算法代码;2)运行FHIR service API来查询数据库; 3)针对查询的结果,依据金标准,判定结果。
主办方会按照3个步骤进行评价:1)运行NLP算法代码;2)运行FHIR service API来查询数据库; 3)针对查询的结果,依据金标准,判定结果。
3.3 输入输出样例:
文末的附录提供了临床问题,FHIR FSH定义,NLP算法代码以及FHIR service的查询代码的样例。
文末的附录提供了临床问题,FHIR FSH定义,NLP算法代码以及FHIR service的查询代码的样例。
4. 获奖队伍材料提交
排名前三的队伍还需提交以下材料:
1)相关代码及说明。
2)方法描述文档。
3)如果方法使用了额外公开的数据资源,要求说明并提供资源文件或地址,包括但不限于代码、工具和数据。要求所使用的资源是公开可获取的。
获奖选手需要将以上材料发送至组织者邮箱,邮件的标题为:“CHIP2025-医学NLP代码自动生成测评-参赛队伍名称”。代码及文档需打包成一个文件(zip,rar等均可),作为邮件附件传送,要求提交所有的程序代码及相关的配置说明。
说明:若没有提交上述材料,将视为自动放弃参与评奖。评奖资格将会自动顺延至排名紧随其后的队伍。要求提交所有的程序代码及相关的配置说明,程序应当可以运行,可以供组织者验证,若排行榜上的结果无法复现,将取消比赛资格。
5. 评分指标
如前文所述,本评测对3个步骤进行评价,每一步0-1分。第一步与第二步得分要么是0分,要么是1分。第三步采用F1值作为评测指标。每一个问题单独计算得分,最后所有问题得分取平均值,作为最终评测排名得分。
Precision = 系统查询到的正确的患者数量/系统给出的所有的患者数量*100%
Recall = 系统查询到的正确的患者数量/金标准每一问题所有患者数量*100%
F1 Score = 2 * (Precision * Recall) / (Precision + Recall) * 100%
模块 | 指标 |
---|---|
NLP 算法代码/FHIR Bundle | 可成功运行 |
结果的 F1值 | 查询响应准确性 |
Score = (50*0.6)/55 = 0.5455 (小数点后4位)
6. 约束与支持
- 基于传统的 NLP 算法 (Python 代码)
- 基于大语言模型。(FHIR Bundle)
- 对以下资源的拒绝 Post, Put, Delete 方法的操作: Patient
- 依赖包冲突可能导致部署失败(纳入评分考量)。
比赛设立A榜阶段与B榜阶段两个赛段,具体安排如下:
A榜阶段(开发阶段):参赛队伍在成功报名后,可通过天池平台下载训练数据和A榜测试数据集(开发集)文件,在本地进行模型调试与训练,并在线提交评测结果。A榜阶段成绩仅用于模型开发调优,不计入比赛最终成绩。且A榜测试集答案不公开,不用于B榜阶段模型训练。
B榜阶段(最终评测):B榜阶段将开放B榜测试数据集(测试集)供下载,参赛队伍需根据该数据集生成预测结果并提交至天池平台,各队伍在B榜阶段的历史最优成绩作为最终排名与奖项评定的依据。
参赛者要把问题转化成代码,然后按照HL7 FHIR Bundle(message)的格式组装成JSON文件上传到测评网站。
8. 参赛规则
1) 每名选手只能注册一个账号,一旦发现选手注册多个账号进行提交,将取消所有账号的参赛资格。
2) 允许使用外部资源,包括但不限于代码、工具和数据,要求所使用的资源是公开可获取的。
3) 获奖选手最终需要提交可运行的代码和方法描述文档,若排行榜上的结果无法复现,将取消参赛资格。
4) 获奖选手需要自行注册参加CHIP会议,在会议上进行口头汇报,撰写技术论文,否则取消参赛成绩。
5) 欢迎国内外在校生及企业人员参加,个人必须依托单位报名参赛,比赛组织方成员不可参赛。
6) 组队人数限制1-5人。
7) 每日提交结果次数为5次。
8) 该任务数据仅用于本次评测,如需用于其他目的,请与任务组织者联系。
9. 报名方式
本次评测任务依托阿里云天池平台展开,天池链接:https://tianchi.aliyun.com/competition/entrance/532429
请加入以下钉钉群,进行任务相关事宜讨论(钉钉群号: 154880001500)。

图 1:钉钉群二维码
10. 日程安排
报名参赛开始:10月1日-10月31日
训练数据发布时间:10月1日
A榜测试数据发布时间:10月1日
A榜测试结果提交截止时间:10月31日
B榜测试数据发布时间:11月1日
B榜测试结果提交截止时间:11月5日
评测论文提交截止时间:11月10日
会议日期(评测报告及颁奖):11月14日-11月16日
11. 评测任务组织者
米 岚 北京大学肿瘤医院
陶 亮 上海商学院
宗 辉 四川大学华西医院
文 栋 上海皓元医药股份有限公司
汤步洲 哈尔滨工业大学(深圳)/鹏城实验室
李作峰 同济大学
张晓艳 同济大学