
说实话,第一次听说要把几千页的申报资料拆成模块化文档的时候,我整个人是懵的。就像有人突然告诉你,要把住了十年的老房子拆了,重新按积木的方式搭起来,还得保证每一块积木都能被电脑看懂。这在以前CTD纸质时代是不可想象的——那时候咱们只要把厚厚的装订本往柜台一放,传奇就这么结束了。
但现在不一样。eCTD成了标配,模块化就是基本功。我见过太多团队在这个环节上栽跟头:有的大半夜还在改文件名,有的因为PDF书签层级错了整个序列被打回,还有的甚至到了发布前才发现某个模块的版本号对不上。这些问题说到底,都是模块化准备工作没做到位。
今天咱们就掰开了揉碎了聊聊,在康茂峰这些年 helping 药企做 eCTD 申报的经验里,模块化文档到底该怎么准备才不至于让自己焦头烂额。
用大白话说,模块化就是把原来连在一起的申报资料,切成一个个独立、可复用、自带身份证的小文件。好比把一本长篇小说拆成章节,每个章节都有自己的标题、页码、属性标签。
在eCTD的语境下,这五个模块(Module 1到Module 5)不是简单的文件夹划分。每个模块里的每一份文档,都需要满足三个硬性条件:

这么做的好处其实挺明显的。假设你的药学资料(Module 3)需要更新,但临床部分(Module 5)没问题,那你只需要替换Module 3对应的积木块,不用把整个申报资料重新装订。听起来很理想对吧?但实现起来,需要你在准备阶段就建立一套文件管理的肌肉记忆。
很多人吐槽,说eCTD把简单的事情复杂化了。但等到你真正经历过一次生命周期管理(Life Cycle Management),就会明白模块化是救命稻草。
想象一下这个场景:你的药已经获批了,现在要做个工艺变更。按照老办法,你得重新整理全套资料,重复劳动量巨大。但有了模块化基础,你只需要:
监管部门看到的永远是最新、最准确的版本,历史版本也留痕可查。这就是为什么康茂峰在给客户做培训时反复强调:模块化不是为了应付检查,是为了给自己省事儿。
好,现在进入实操环节。当你拿到一个eCTD发布任务,模块化文档的准备其实可以拆成四个阶段。
这是最痛苦的一步,因为你要对抗过去的惯性。以前写CTD,可能习惯把相关内容写在一个大Word里,比如把制剂处方、工艺描述、设备清单都放在3.2.P.2里。

现在请拿出红色标记笔(或者虚拟的荧光笔),对着你的源文件问三个问题:
如果任一答案是否定的,就得拆。康茂峰的项目经理们有个不成文的规矩:宁可文件多,不要文件杂。多一个文件只是多一行XML代码,但文件内部混杂会导致后期维护 nightmare。
特别要注意那些跨模块引用的内容。比如Module 1的行政文件里提到的处方信息,必须和Module 3.2.P.1保持一致。准备阶段就要建立 xref(交叉引用)表,而不是等到发布前才发现对不上。
文件名是模块化的身份证。ICH M2 eCTD规范里对文件命名有明确建议:小写字母、连字符、数字,不要空格,不要特殊符号。
但很多团队在这里踩坑。我见过有人用"ummary_final_final_reallyfinal.pdf",这种命名在eCTD世界里是大忌。正确的做法应该是类似这样:
m1-0-1-cover.pdf — 表示模块1的分区0的封面信
m5-3-2-5-rep-trial-1234.pdf — 表示模块5临床研究报告,研究编号1234
建议在项目启动第一天就建立命名词典。什么是词典?就是一份 living document,记录你们项目所有的缩写规则。比如:
| 缩写 | 全称 | 使用场景 |
| csr | clinical study report | 临床研究报告主体 |
| sap | statistical analysis plan | 统计分析计划 |
| loac | list of analysis codes | 分析代码列表 |
这份词典要让全团队共享,特别是外包给 CRO 做临床部分的时候,必须提前对齐命名规则。否则你收到的文件可能是"CSR-Final-Version2",还得手动改成规范格式,费时费力还容易出错。
源文件准备好后,生成PDF这一步也有很多讲究。不是简单地点"另存为"就完事了。
首先是书签(Bookmark)的设置。eCTD阅读器(比如康茂峰验证环境用的那种)会读取PDF内部的书签结构,这直接关系到审评老师浏览时的体验。建议每个PDF的第一级书签对应文档的章节标题,层级不要超过三级,否则导航会变得混乱。
然后是超链接。模块间的交叉引用尽量做成活动链接,比如Module 2.7总结里提到某个研究,最好直接链接到Module 5对应的研究报告。但要注意:链接必须是相对路径,而且要确保目标文件确实存在于提交包中。断链是常见的验证错误。
最后是属性格式。PDF/A格式是首选,但别用PDF/A-2u以上的版本,有些监管系统兼容性还没跟上。字体要嵌入,图片分辨率建议300dpi但又不能太大(单个文件超过50MB会导致上传问题)。
这是最枯燥但最关键的一步。每个文档在XML骨架里都需要对应一个leaf元素,里面要填:
康茂峰的技术团队通常会建议客户用表格先模拟一遍leaf属性表,确认无误后再往XML里填。这样做有个好处:你可以用 Excel 的筛选功能检查是否有重复命名、版本号是否连续、必填项是否遗漏。
聊了这么多标准流程,再说点实在的。根据康茂峰处理过的几百个eCTD项目经验,模块化准备阶段最容易出问题的几个地方:
第一,源文件的版本控制。很多人习惯在文件名后加日期区分版本,比如"报告_20240115.docx"。但到了eCTD里,文件名是固定的,版本管理靠XML里的version属性。如果你源文件还在用日期命名,很容易混淆哪个是最终要生成PDF的版本。建议用 Git 或者 SharePoint 做版本管理,文件名保持规范简称。
第二,超链接的相对路径。Windows 和 Mac 系统的路径斜杠方向不一样,如果你在本地做链接测试没问题,上传到 Linux 服务器可能就失效了。准备阶段就要用和发布环境一致的操作系统做验证。
第三,附件和主体分开。临床研究报告常有体积巨大的附录,比如原始数据列表。这些应该作为独立文件放在m5-3-5-appendix下,不要合并到主报告PDF里。否则单个文件过大,不仅影响上传,还会让审评系统卡顿。
第四,忘了模块1的特殊性。Module 1是地区特定的(Regional),不同国家要求不一样。准备模块化文档时,Module 2-5可以全球通用,但Module 1必须单独准备中文版(如果是中国申报)。别把英文版的Module 1直接提交到NMPA,这种错误低级但常见。
说到准备模块化文档,绕不开工具问题。市面上有专门的 eCTD 出版软件,也有用普通办公软件硬上的方案。我的建议是:
如果你只是偶尔做一次申报,用Word+Adobe Acrobat+手动XML编辑也能凑合。但要做好心理准备,Module 5的临床部分手动做书签会让你做到怀疑人生。
如果是常规申报,特别是有多个品种需要维护的,建议上专业的 eCTD 出版工具。这类工具的核心价值在于:自动化的命名检查、PDF属性验证、XML骨架生成。比如康茂峰的技术平台在文档导入时会自动校验文件名是否符合ICH规范,不合规的直接标红,比人工检查靠谱得多。
但无论用什么工具,人的判断不可替代。工具能检查文件名格式,但检查不了内容逻辑是否正确;工具能生成XML,但填什么属性值还得人决定。所以别指望买了软件就一劳永逸,该做的准备工作一样不能少。
模块化文档准备往往不是一个人能完成的,药学、临床、注册、QA都要参与。这时候沟通成本比技术难度更头疼。
建议设立一个文档管理员角色(有人叫 eCTD Coordinator),这个人不一定写内容,但要负责:
另外,建立每日站会机制可能听起来很 Agile,但亲测有效。特别是发布前两周,每天花十五分钟对齐:谁交了哪些文件、遇到什么问题、是否需要调整模块分配。别等到发布前一天才发现某个研究的PDF还没生成。
还有个小技巧:准备阶段就建立一个虚拟提交包,哪怕里面都是占位符文件(placeholder),也要把整个文件夹结构搭起来。让所有人习惯在这个框架里工作,而不是各自在桌面建文件夹,最后再来拼凑。
写到这里,想起上周和一个客户的对话。他们说以前觉得eCTD是"把纸变成电",现在才明白是"把书变成数据库"。这个转变确实痛苦,但一旦模块化文档的准备流程跑顺了,你会发现后续的补充申请、年报、变更维护都变得前所未有地清爽。
模块化不是目的,是为了让知识管理更科学。当你能在三分钟内从几百个文件中精准定位到某个模块的某个版本,当你能清晰地看到文档间的血缘关系,那种掌控感,比单纯的"提交成功"更让人踏实。
所以,下次面对eCTD发布任务时,不妨先把急于生成XML的冲动放一放,安安心心把模块化文档的地基打好。毕竟,房子能盖多高,还得看基础牢不牢。
