药物禁配标准管理 — 功能需求
1. 文档说明
| 项 |
说明 |
| 模块名称 |
药物禁配标准管理 |
| 目标 |
维护「主药—配伍禁忌药物集合—配伍结果说明」类标准主数据,并与知识库建立或解除对应关系;删除时与知识库侧保持一致 |
| 依据 |
同目录 药物禁配标准管理功能需求-草稿.md(本文不修改该草稿,仅将其可验收内容整理为正式需求表述) |
本文范围: 只写功能需求、业务规则与流程;不写库表、接口路径、报文结构、技术栈选型等技术设计。
边界(对齐草稿第 8 条语义): 本模块不设「发布 / 下架」;不采用养殖等模块的「上架 × 知识库」双维模型。业务上只显式管理 知识库同步状态:未同步 / 已同步。
说明: 草稿第 8 条字面为「休药期标准…」,按业务语境理解为 本模块(药物禁配标准) 与休药期等标准类模块一致:不做发布/下架,与养殖类「双维」模型区分。
1.1 建议阅读顺序
第 2 章(术语与状态)→ 第 3 章(范围与流程)→ 第 5 章(操作矩阵)→ 第 4 章(分场景细则)。
1.2 编制原则(验收口径)
- 状态唯一: 除「未同步 / 已同步」外,不在需求正文引入其它业务态用语(如已发布)。
- 规则可判定: 凡写「不得」「须」「至少」处,均可在测试用例中做布尔判定。
- 列表默认检索: 默认仅按 主药名称 关键字模糊检索;若产品扩展为「配伍名参与命中」,须在需求变更中单列并验收。
2. 术语与业务状态
2.1 业务对象(一条标准)
| 概念 |
说明 |
| 主药 |
本条禁配标准所针对的药物;在列表检索、详情与编辑中作为主维度展示(草稿中「药物名称」即主药名称) |
| 配伍药物 |
与主药存在禁配(不宜同用等)关系的药物集合;一条标准下可有多条,每条为一条「配伍药物名称」记录;界面可通过 增加 / 减少 行维护列表(与草稿「+ / -」一致);条数与合法性约束见 2.3 |
| 配伍结果 |
对配伍禁忌或临床提示的简短文字说明;选填 |
列表与详情中的配伍药物: 以有序列表形式展示;顺序在业务上有展示意义时,宜与保存顺序一致。
2.2 知识库同步状态(唯一显式状态)
| 状态 |
含义 |
| 未同步 |
本条可在业务侧维护;知识库侧无与本条对应的有效条目(含新建保存后、或移出知识库成功后) |
| 已同步 |
知识库侧已有与本条对应的条目;业务侧禁止编辑与删除,仅可 查看、移出知识库 |
合法稳态: 仅上述两种;本模块需求不出现「已发布 / 未发布」作为状态机用语。
已同步状态下若要改内容: 须 移出知识库 → 未同步 下完成修改(主药、配伍列表、配伍结果)→ 再 同步知识库 → 已同步。禁止在「已同步」下直接改业务数据并默认知识库已一致。
2.3 配伍药物列表的完整性(逻辑约束)
- 一条标准须至少包含 1 条配伍药物(否则「禁配」无指向对象)。
- 配伍药物名称 不允许为空;与主药名称使用 相同的字符长度规则(见 4.1)。
- 同一标准内:配伍药物名称之间 不得重复(避免同一条标准内出现两条完全相同的配伍药名)。
- 配伍药物名称不得与主药名称完全相同(主药与禁忌对象应区分)。
- 用户可通过 增加 / 减少 配伍药物行进行操作;减少时须满足「至少保留一条」;增加后出现空行须在保存前完成填写或通过校验阻止保存。
- 名称比较口径: 先做 首尾空白去除(trim),再判断长度、相等与去重;若项目对全角/半角等另有统一归一规则,从其约定,并在验收时与实现保持一致。
3. 功能范围与流程
3.1 功能范围
- 新增、修改、删除、分页列表、详情查看
- 维护主药、配伍药物列表、配伍结果三类业务数据
- 知识库:同步至知识库(建立对应关系)、移出知识库(解除对应关系)
- 删除时与知识库侧一致性(见 4.4)
- 错误与提示与项目统一习惯一致(不规定具体错误码或报文字段名)
3.2 状态迁移(示意)
stateDiagram-v2
[*] --> 未同步: 新建保存
未同步 --> 已同步: 同步知识库成功
已同步 --> 未同步: 移出知识库成功
未同步 --> [*]: 删除成功
3.3 关键路径(文字)
- 新建:填写主药、至少一条配伍药物、可选配伍结果 → 保存后 → 未同步。
- 进入知识库:未同步 下「同步知识库」成功 → 已同步。
- 修改已入库内容:已同步 →「移出知识库」→ 未同步 → 本地修改保存 →「同步知识库」→ 已同步。
- 删除:仅 未同步 可删整条;已同步须先移出;删除与知识库侧一致性见 4.4。
3.4 常见场景串联(便于评审对齐)
| 场景 |
状态起点 |
用户动作 |
状态终点 / 说明 |
| 仅建档 |
— |
新增并保存 |
未同步;可继续改、可删、可同步 |
| 入库后纠错 |
已同步 |
移出 → 修改 → 再同步 |
回到 已同步;知识库与业务一致 |
| 放弃入库 |
已同步 |
移出 → 删除 |
记录删除;须满足 4.4 删库约定 |
| 仅查询 |
任意 |
列表/详情 |
不改变状态 |
4. 详细功能需求
4.1 新增
| 内容项 |
规则 |
| 主药—药物名称 |
必填;长度 1~20 字符(计数口径与项目全局一致);允许重复(不同标准可共用同一主药名称,trim 后精确匹配) |
| 配伍药物列表 |
至少 1 条;每条名称必填,长度 1~20 字符(口径同上);同条标准内名称互不相同且均不得与主药名称相同(比较规则见 2.3 末款) |
| 配伍结果 |
选填;若有内容,长度不超过 50 字符(口径与项目全局一致) |
保存成功后:未同步。
4.2 列表查询
- 主药名称:支持关键字 模糊 匹配(默认仅主药维度;不对单条配伍药名做列表级模糊检索,除非按 1.2 已做产品扩展并验收)。
- 列表:宜展示 知识库同步状态;宜展示配伍条目数量或等价摘要(便于了解禁忌范围大小,不规定具体 UI 形态)。
- 分页与排序:支持分页;默认条数、排序方向(如最新在前)与项目列表统一规范一致,本文不约定技术参数名。
4.3 修改
- 条件: 仅 未同步 可改(已同步 不可改)。
- 可改项: 主药名称、配伍药物列表(增删行、改各条名称)、配伍结果;保存时须仍满足 4.1 与 2.3。
- 一致性: 保存成功后,用户在同一入口再次打开列表或详情,应看到与本次保存一致的主药、配伍顺序与配伍结果(所见即所得,与项目刷新习惯一致)。
- 失败: 须有可读校验提示(如条数不足、配伍重名、与主药同名、长度越界等)。
4.4 删除
- 条件: 仅 未同步 允许删除整条。已同步 须先 移出知识库 回到 未同步 再删。
- 批量(若产品提供): 与项目同类删除一致;同一操作内 任一选中项不满足「未同步可删」时,整单失败并提示,不出现部分删除成功、部分仍残留且与矩阵不一致的情况(除非项目另有明确「跳过失败项」规范并已单独评审)。
- 与知识库: 删除前已满足「仅 未同步 可删」后,仍宜按项目与知识库的协作约定发起 删除类通知,并约定为 幂等(知识库侧若本无对应数据则安全忽略、不阻断本地删除),以保证删除链路一致、可验收。若协议明确规定「仅存在条目时才接收删除」,则须在协议与验收说明中单列,并与「删除时通知知识库」的表述对齐评审。
- 交互: 删除前宜二次确认;重要操作宜可追溯(与项目习惯一致)。
4.5 同步至知识库
- 条件: 未同步。
- 互斥: 已同步 下不得再次执行「同步」成功路径;须拒绝或明确提示(与 第 5 章 一致)。
- 结果: 成功 → 已同步;失败 → 仍为 未同步,提示可读并可重试。
4.6 移出知识库
- 条件: 已同步。
- 互斥: 未同步 下不得执行「移出」成功路径;须拒绝或明确提示(与 第 5 章 一致)。
- 结果: 成功 → 未同步;失败 → 仍为 已同步,提示可读并可重试。
4.7 查看详情
展示 4.1 所涉全部业务内容:主药名称、配伍药物列表(顺序与保存一致)、配伍结果(若有),并宜展示 知识库同步状态。已同步 为只读;未同步 在有权时可进入编辑。
5. 操作矩阵
| 知识库同步 |
查看 |
修改 |
删除 |
同步知识库 |
移出知识库 |
| 未同步 |
✓ |
✓ |
✓ |
✓ |
— |
| 已同步 |
✓ |
✗ |
✗ |
— |
✓ |
6. 错误与提示
校验失败、知识库操作失败、网络或权限问题等,提示须统一、可读;宜区分「输入不合法」(如配伍列表重名、少于一条)与「知识库暂不可用」,便于用户重试或求助。
7. 非功能(建议)
权限(同步、移出、删改查)、审计、列表性能等与项目同类标准模块对齐。
8. 与草稿的对应关系(不改草稿,仅说明)
| 草稿条款 |
本文位置 |
| 1 |
4.1、2.1、2.3(「+ / -」落为增加/减少行与列表完整性规则) |
| 2 |
4.2 |
| 3 |
4.3(并受 2.2、2.3 约束) |
| 4 |
4.4 |
| 5 |
4.7 |
| 6 |
2.2、5(未同步行) |
| 7 |
2.2、5(已同步行) |
| 8 |
第 1 章边界、2.2、全文不出现发布/下架;第 1 章「说明」 对草稿笔误作语义对齐 |
草稿第 9~10 条为技术/报文与栈备忘,不纳入本功能需求正文;异常与错误表现遵循 第 6 章 及项目统一约定即可。