AI PLAY玩法更新持续收录
← 回到更新流

2026-09-03 · 原文发布日

监测药品说明书变更并自动评估影响

这个n8n模板面向药企合规场景:定时从监管来源抓取药品说明书文本,与上次基线比对,没变化就不调用AI;有变化则连同产品主数据一起交给Anthropic Claude分析,输出变更摘要、涉及章节、严重等级和待办动作。重大变更会进入阻断式签核环节,其余走Slack评审;批准后自动更新主数据、写合规日志并通知法规和质量部门。

原文要点

原模板定时或手动触发,加载产品配置、说明书来源URL与通知设置后,通过HTTP从监管来源抓取当前说明书文本,与上次保存的基线比对:无变化则直接结束,不调用Claude;有变化则从产品主数据系统拉取产品/工艺/批次信息,把旧新文本与产品上下文交给Anthropic Claude做影响分析。解析Claude的JSON输出得到变更摘要、涉及章节、严重等级(Critical/Major/Minor)与法规和质量部门的待办。Critical进入阻断式签核(用Wait节点的resume webhook接收名为signOffApproved的布尔字段),Major/Minor走Slack评审提醒并继续;批准后更新产品主记录、写合规审计日志、向法规与质量Slack频道发通知、发摘要邮件,并把新文本存为基线。

这次做成什么

在n8n中复刻一条“说明书变更检测→Claude影响评估→按严重等级分支签核→更新主数据与合规留痕”的合规流程,并用合成的新旧说明书片段离线演练比对、提示词与分支逻辑,全程不接真实监管接口与真实主数据。

准备什么

  • n8n实例,能使用HTTP Request、Wait、Slack、Send Email等节点并配置凭据
  • Anthropic API密钥,可调用Claude聊天模型
  • 说明书来源API、产品主数据API、合规日志API的HTTP头认证凭据与各自基础URL(练习阶段可用Mock端点)
  • Slack工作区及三个已存在的频道:评审、法规、质量
  • SMTP或邮件服务凭据,并确定摘要邮件的收发地址
  • 仅供演练的隔离测试环境,不得连接生产主数据系统

具体怎么做

  1. 配置触发与产品参数

    新建工作流,添加Schedule Trigger(周期自定,原模板描述为定时或手动)并保留手动执行能力。其后用Set节点写入配置:productId(如DGX-204)、labelSourceUrl、productMasterUrl、complianceLogUrl、slackChannels(review/regulatory/quality)、emailTo与emailFrom。所有URL在练习阶段指向Mock服务或Webhook测试地址。

  2. 抓取说明书并与基线比对

    用HTTP Request节点带头部认证凭据请求labelSourceUrl获取当前说明书文本。基线用n8n静态工作流数据或一张内部表存储。用Code节点比较新旧文本:完全一致则在IF节点走“无变化”分支直接结束,不进入任何AI调用;不同则继续。

  3. 拉取产品上下文并调用Claude

    变化分支先用HTTP Request从productMasterUrl按productId拉取产品、工艺、批次信息。然后用Anthropic Chat节点,系统消息用下方提示词,用户消息拼接旧文本、新文本与产品上下文JSON。要求模型只输出JSON。

  4. 解析输出并按严重等级分支

    用Code节点解析Claude返回的JSON,校验包含summary、changedSections、severity、actions四个字段,severity不属于Critical/Major/Minor时按解析失败处理。Switch节点按severity分流:Critical进入Wait节点等待签核;Major/Minor先向评审频道发Slack提醒并直接继续后续步骤。

  5. 签核、落库与通知

    Critical分支的Wait节点通过resume webhook接收审批系统回传,负载须包含signOffApproved布尔字段;为false或超时的处理策略需自行在原模板核对后设定。批准或Major/Minor路径汇合后依次:HTTP Request更新产品主记录、POST合规日志到complianceLogUrl、向法规与质量频道发Slack通知、发送摘要邮件,最后把新文本写回基线存储。

可直接复制的材料

Claude说明书变更影响分析提示词

本站独立编写的练习提示词,评级口径是演示用简化规则,正式合规场景必须由法规部门审定口径后再用。

你是药品注册合规分析助手。用户会提供:某药品说明书的旧版文本、新版文本、以及产品主数据(剂型、适应症、工艺、在产批次)。
请比较两个版本,只输出一个JSON对象,不要输出任何其他文字,字段如下:
{"summary":"不超过80字的变更摘要","changedSections":["发生变化的章节名称数组"],"severity":"Critical或Major或Minor","actions":[{"owner":"Regulatory或Quality","action":"具体待办","dueDays":整数}]}
评级口径:涉及适应症、禁忌、剂量、安全性警告的变化判Critical;涉及贮存条件、有效期、辅料、生产工艺引用的变化判Major;仅措辞、格式、联系方式等无实质影响的变化判Minor。

合成说明书片段与签核测试负载

全部为合成演练数据;signOffTestPayload用于POST到Wait节点的resume webhook测试Critical分支,approver邮箱为占位符,需替换为审批工具实际回传格式。

{"baselineLabel":"【贮藏】遮光,密封,在不超过25摄氏度保存。【有效期】24个月。","newLabel":"【贮藏】遮光,密封,在2至8摄氏度冷藏保存。【有效期】18个月。","productContext":{"productId":"DGX-204","dosageForm":"注射液","batches":["B2026-031","B2026-032"]},"signOffTestPayload":{"signOffApproved":true,"approver":"qa-review-demo@example.test","comment":"冷藏变更已评估,同意更新主数据"}}

输入与输出示例

本站虚构演示输出,用于说明字段结构与分支走向,非Claude实际调用结果,实际措辞以模型返回为准。

输入

以上方合成数据为准:旧说明书要求不超过25摄氏度保存、有效期24个月,新说明书改为2至8摄氏度冷藏、有效期18个月,关联在产批次B2026-031与B2026-032。

对应输出

预期Claude按提示词输出形如:{"summary":"贮藏条件由常温25度以下改为2至8度冷藏,有效期由24个月缩短为18个月","changedSections":["贮藏","有效期"],"severity":"Major","actions":[{"owner":"Quality","action":"评估在产批次B2026-031与B2026-032的冷链转移方案","dueDays":14},{"owner":"Regulatory","action":"准备说明书变更备案资料","dueDays":30}]}。Major级别走Slack评审提醒并继续,不触发阻断签核。

做完检查这些

  • 新旧文本完全相同时工作流在无变化分支结束,执行日志中没有任何Anthropic节点调用记录
  • 向Wait节点的resume webhook发送含signOffApproved:true的负载后,Critical分支继续执行并依次触发主数据更新与合规日志POST
  • Major输出执行后,评审频道收到Slack消息且工作流不停在Wait节点
  • 执行结束后基线存储中的文本已被新版文本替换,再次运行同一份新文本时判定为无变化
  • Claude返回非JSON或severity为非法值时进入解析失败分支,不会带着脏数据更新主数据

容易卡住的地方

  • 三个HTTP API都需要头部认证凭据且基础URL要在配置节点改齐,漏改任何一处会在中途报401或404
  • 签核webhook负载字段名必须正好是signOffApproved,布尔或字符串形式原模板均提到可接受,但分支判断写法需在模板中核对
  • 药品说明书影响评估属于高合规风险场景,本指南与提示词仅为流程演练,正式使用必须经法规与质量部门验证评级口径
  • Claude不保证严格输出JSON,解析节点必须做容错,否则一次异常输出可能中断整条合规链路
  • 基线若存于静态工作流数据,手动清空或重建工作流会丢失基线导致下次全量误判为变更

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Analyze pharma label change impact with Anthropic Claude and Slack
原作者
Oneclick AI Squad
原始发布日期
2026-09-03T13:49:11.427Z
来源
https://n8n.io/workflows/19135