临床试验注册检索专家
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_ff7413f5/ct-registry。
技能介绍
要解决的问题
临床试验信息分散在多个入口:ClinicalTrials.gov、EU CTR、中国 CDE、ChiCTR、ISRCTN、DRKS,以及把这些库聚合起来的 WHO ICTRP。各家的字段命名、试验编号体系和状态枚举都不一样,一个调研项目往往要手工拼几次查询,再对着表格逐条去重。更实际的障碍是访问:CDE 和 ChiCTR 用 WAF 指纹拦截自动化浏览器,老版 ICTRP 门户也是 WebForms 形态,脚本直接抓网页这条路并不可靠。
它如何工作
技能把取数拆成两条安全路径,原则是不在调用端用无头浏览器硬闯 WAF 后面的站点。
- Tier 1 直连(纯 HTTP,无浏览器):ClinicalTrials.gov v2 REST API(必需)、EU CTR 旧版 EudraCT 搜索结果 HTML 解析(
search_eu_ctr.py)、PubChem PUG-REST(药物到 CID / 靶点,可选)。 - Tier 2 外部工作流(Bearer token + POST JSON):
extsvc_client.py作为共享客户端,CDE、WHO ICTRP、ChiCTR、ISRCTN、DRKS 统一走同一个端点https://ct-search.coze.site/run,只发送公开查询词。 - CDE 粘贴模式:
parse_cde.py解析用户手工粘贴的页面,数据不出本机。
检索按强制顺序执行:先定范围,再做关键词本地化(CT.gov / WHO / PubChem 用英文,CDE 需要中文且去掉“类”后缀,例如 drugs_name=列汀 而不是 DPP-4抑制剂),最后执行。WHO 与 CDE 是两次独立调用(共用 demand_id),CDE 永不被跳过,因为 WHO 的英文标题匹配会漏掉中文试验。
归一化由 aggregate.py 完成:统一 UTN/TRN 与各库编号,做模糊匹配,扫描原始字段中内嵌的注册号,以 CT.gov 为基准。输出支持 JSON / Markdown / 可选 PNG,可继续串到 ct-pipeline 和 ct-protocol。
两块能力值得单独提:--track 把结果写入 registry_snapshot.json,--diff 按 NCT 集合比对两份 normalized.json 输出 status_delta,并按 STATUS_EQUIV 同义归桶,避免把 RECRUITING 与 ONGOING 误报成状态变更。Tier-2 失败时自动降级为 CDE + ClinicalTrials.gov,标记 who_status=failed 或 zero_hit_unverified,降级位置在 report.md 里披露数据流向。
适用边界
默认是安全预览,脚本只生成与展示,联网需显式 --run。输出仅供调研参考,不构成监管递交,CSR 与申报文件仍需按 GCP 单独生成。Tier-2 依赖作者发布的统一端点公共凭证,它只是 XOR+base64 混淆而非加密,作用是规避目录列举时被一眼看到;覆盖请用 --token 或 CT_REGISTRY_COZE_TOKEN,不要把 token 贴进对话。配额计数器与输出目录是技能目录内的共享文件,建议单会话运行,多会话并行需依赖 usage_guard.py 的文件锁。检索通常耗时 10 秒到 3 分钟,宽泛关键词可能到 5 分钟并返回标记 is_timeout: true 的部分结果。
使用场景
- 新适应症立项前,跨 CT.gov、EU CTR、CDE 检索同靶点在研试验,统计分期与状态分布,评估赛道拥挤度。
- 季度复核在管试验:用 --track 留存快照、--diff 按 NCT 集合比对两次归一化结果,拿到 status_delta 变化报表。
- 药物机制调研时,通过 PubChem 把在研化合物映射到靶点,对比竞品的作用机制与靶点组合。
- CDE 申报前查重:按中文关键词检索 CDE 注册库,确认同品种或同类适应症是否已有登记,避免重复申报。
适合人员
- 临床研发经理:立项前需要评估同靶点在研试验密度与竞品管线布局
- 临床试验运营专员:定期核对 ClinicalTrials.gov、EU CTR、ChiCTR 中在管试验的状态变更
- 药企竞争情报分析师:追踪同类药物的注册进展、申办方份额与时间线
- 医学信息专员:受研究者委托梳理某疾病领域全部在研试验并输出清单