Files
2026-06-18 09:48:05 +08:00

41 KiB
Raw Permalink Blame History

2-task-PCM · 孕产个案管理平台 开发任务文档

项目缩写:PCM 上游:0-req-PCM.md1-prd-PCM.md(均已确认) 说明:任务以可勾选清单组织,编号 T-x.y。每项标注目标、需求/PRD 映射、验收标准、依赖。 阶段:V1 = 可上线 MVP(本文档详列);V2/V3 仅列纲要。 维护:开发中持续更新勾选状态与变更记录(见末尾变更记录)。


阶段 0:项目初始化与地基(V1 · Must)

T-0 工程与基础设施

  • T-0.1 代码仓库与工程脚手架
    • 目标:建立前后端工程结构、CI、代码规范
    • 映射:NFR-7
    • 验收:仓库可构建、lint/CI 通过、README 含启动说明
    • 依赖:无
    • 完成:pcm-platform/backend NestJS 脚手架就绪,npm run build 通过,健康检查测试通过,README 含启动说明
  • T-0.2 技术选型与架构骨架
    • 目标:确定后端、移动端(孕妇/家属)、Web(医护/运营)、数据库、消息推送的技术栈与分层架构
    • 映射:REQ-13、PRD §1
    • 验收:架构决策记录(ADR)产出并评审通过
    • 依赖:T-0.1
    • 完成:见 4-arch-PCM.mdNestJS+PostgreSQL+小程序+React+RAG,模块划分已定)
  • T-0.3 环境与部署流水线(容器化与编排就绪;live staging 运行待可访问镜像仓库的环境)
    • 目标:dev/staging/prod 环境、容器化与部署脚本
    • 验收:一键部署到 staging 成功
    • 依赖:T-0.1
    • 完成(artifacts):后端多阶段 Dockerfile(编译→仅生产依赖、非 root、健康检查、node dist/main.js);三前端 nginx 镜像(Vite 构建→nginx 托管,SPA 回退 + /api 反代 backend);docker-compose.ymlbackend + 3 前端,端口/AUTH_SECRET 经 .envbackend 健康检查 + depends_on);顶层 .env.exampleMakefilescripts/deploy-staging.sh(一键:构建→启动→等待后端健康→探活前端);README 部署章节(dev/staging/prod 分层)
    • 已验证:docker compose config 通过;后端容器入口 node dist/main.js 实跑(/api/health 200、无 token 401);三前端 dist 构建产物齐备;部署脚本 bash -n 通过
    • ⚠️ 限制:本沙箱无镜像仓库出网(无法拉取 node:20-alpine 基础镜像)且 Docker 守护不稳定,故 live docker compose up 未在此环境执行;在可访问 Docker Hub 的环境 make deploy-staging 即为一键路径
    • 备注:持久化(PostgreSQL)接入后在 compose 增 db 服务并注入 DATABASE_URL(关联 T-1.2/T-8.5

T-1 合规与安全地基(上线硬门槛)

  • T-1.1 知情同意与隐私政策流程
    • 目标:注册/建档时的知情同意、隐私政策展示与留存
    • 映射:NFR-1、PRD §4.0
    • 验收:未同意不可使用;同意记录可审计
    • 依赖:T-0.2
    • 完成:孕妇/家属注册须签署知情同意(未签拒绝注册),consentSigned 留存
  • T-1.2 数据加密与分级存储
    • 目标:敏感数据传输(TLS)与存储加密、字段级最小化
    • 映射:NFR-1、C-3
    • 验收:敏感字段加密存储;安全扫描无高危项
    • 依赖:T-0.2
    • ⚠️ 部分:密码 scrypt+盐 哈希;HTTP 层认证+授权守卫;PostgreSQL 持久化已全量落地——所有领域仓储(auth/audit/patient/observation/analysis/caseflow/reminder/knowledge)可切换 PG/内存(DATABASE_URL 门控)敏感字段级加密(姓名/孕产史/日期/风险因素/测量值/预警内容/流转历史/计划/提醒文案)经 AES-256-GCM 入 enc 列,知识为公开内容明文可检索;本地 PG 全闭环 + 重启存活实跑验证。待办:传输层 TLS(部署层)、记录级授权(用户↔孕妇关联)、数据留存/删除(PIPL)、生产 KMS 密钥轮换
  • T-1.3 操作审计日志
    • 目标:关键操作(数据访问、处置、配置)全链路留痕
    • 映射:NFR-1、NFR-9
    • 验收:可按用户/对象/时间检索审计记录
    • 依赖:T-0.2
    • 完成:audit 模块(全局 AuditService,可按 actor/action 检索),已接入注册/登录

T-2 账号、身份与权限

  • T-2.1 账号体系与登录
    • 目标:孕妇/家属(移动端)、医护/运营(PC+移动)注册登录
    • 映射:REQ-11、REQ-13、PRD §4.0
    • 验收:各角色可登录;会话安全(token/超时)
    • 依赖:T-0.2
    • 完成:auth 模块(注册/登录、scrypt 密码、HMAC 签名令牌带过期);全局 JwtAuthGuard 在 HTTP 层强制校验令牌(签名+过期),公开端点仅 auth/health
  • T-2.2 RBAC 分级权限
    • 目标:按 PRD §6 权限矩阵实现角色访问控制
    • 映射:REQ-11.1
    • 验收:越权访问被拒绝并审计
    • 依赖:T-2.1
    • 完成:rbac 能力矩阵(6 角色×动作),can(role, action)全局 CapabilitiesGuard 按 @RequireCaps 在 HTTP 层强制授权,越权返回 403 并写入审计 access:deny;各端点已按能力门控。矩阵已精化以支持孕妇自助(建档/自设提醒/查看本人预警)。记录级校验(仅本人/负责个案/绑定孕妇)由各服务结合上下文实现,列为后续项
  • T-2.3 孕妇建档与基线
    • 目标:录入静态身份(基本信息/孕产史/既往史/家族史/妊娠基线),计算孕周与初始风险分层
    • 映射:REQ-2.2
    • 验收:建档后生成档案与初始分层
    • 依赖:T-2.1
    • 完成:patient 模块(孕周/分期计算、BMI、初始风险分层规则可解释、建档接口),21 项测试通过。注:暂用内存仓储与无鉴权接口,待 T-2.1/T-1.2 接入登录与加密存储

阶段 1:数据与档案(V1 · Must)

  • T-3.1 孕妇纵向档案数据模型
    • 目标:实现以孕周时间轴为主轴的档案与统一 TimelineEntry 结构
    • 映射:REQ-2.1/2.3
    • 验收:可按孕周回放指标/风险/计划及依据
    • 依赖:T-2.3
    • 完成:档案 + 观测值时间序列(带孕周上下文);TimelineEntry 聚合视图待 V1 收尾补充
  • T-3.2 手动录入(兜底)
    • 目标:孕妇/管理师手工录入血糖、血压等指标
    • 映射:REQ-1.1补充、PRD §4.0
    • 验收:录入即入库并触发分析;不依赖设备
    • 依赖:T-3.1
    • 完成:observation 模块,POST /api/patients/:id/observations,录入即质控并触发分析
  • T-3.3 设备数据接入与归一
    • 目标:对接居家设备接口,按 孕妇ID+指标ID+时间戳 归一为时间序列
    • 映射:REQ-1.1/1.2
    • 验收:设备数据入库并关联档案
    • 依赖:T-3.1外部依赖:运营方设备接口/指标清单(C-2)
  • T-3.4 数据质控
    • 目标:缺失/越界/异常值校验与标记,低质量数据不驱动高风险结论
    • 映射:REQ-1.3、C-5
    • 验收:异常数据被标记并按规则隔离
    • 依赖:T-3.2
    • 完成:quality-control.ts 合理性校验,rejected 数据不进入分析

阶段 2:分析、风险与安全(V1 · Must)

  • T-4.1 规则引擎(按孕周分段阈值)
    • 目标:可配置规则引擎,由医生维护阈值/孕周分段
    • 映射:REQ-3.1、REQ-3.4
    • 验收:观测值入库自动比对并产出可解释结论
    • 依赖:T-3.4外部依赖:医生提供阈值规则
    • 完成:rule-engine.ts 可配置规则表(GDM/血压占位阈值待医生确认),命中可解释
  • T-4.2 风险分层与预警
    • 目标:低/中/高分层并生成预警事件
    • 映射:REQ-3.2/3.3
    • 验收:超阈值/异常生成预警并入档案
    • 依赖:T-4.1
    • 完成:analysis 服务生成可追溯预警,GET /api/patients/:id/alerts
  • T-4.3 红旗急症旁路
    • 目标:危急组合绕过常规流程,即时就医提示 + 通知管理师/医生
    • 映射:REQ-5
    • 验收:触发红旗后秒级提示并通知,独立可配置规则库
    • 依赖:T-4.1、T-6.1(推送)
  • T-4.4 可解释与留痕
    • 目标:每条风险可追溯到观测值/规则/依据
    • 映射:REQ-3.4、NFR-3
    • 验收:风险详情展示完整溯源链
    • 依赖:T-4.2
    • 完成:Alert 记录 observationId + ruleIds + messages,全链路可溯源

阶段 3:个案管理与提醒(V1 · Must)

  • T-5.1 个案管理流程引擎
    • 目标:实现 筛查→评估→分层→计划→实施→随访→评价→转出 状态机
    • 映射:REQ-6.1/6.2
    • 验收:风险/预警驱动流转并分派管理师
    • 依赖:T-4.2
    • 完成:caseflow 状态机(合法流转校验、预警驱动回评估、指派管理师),预警已联动开案/流转
  • T-5.2 照护计划
    • 目标:管理师制定/调整计划(目标/干预/随访频率)
    • 映射:REQ-6.3
    • 验收:计划可下发并驱动提醒
    • 依赖:T-5.1
    • 完成:照护计划制定与查询接口(目标/干预/随访频率);驱动提醒待 T-6.2
  • T-6.1 消息推送通道
    • 目标:App push/短信/订阅消息基础设施
    • 映射:PRD §4.0、REQ-9 支撑
    • 验收:提醒/预警可触达孕妇手机
    • 依赖:T-0.2
    • 完成:notification 全局服务(通道抽象 + outbox + urgent 标记);生产替换真实通道
  • T-6.2 提醒(个性化)
    • 目标:按计划推送运动/休息/喝水/服药/产检/打卡;高风险时运动改休息
    • 映射:REQ-9.1/9.2
    • 验收:高风险孕妇不收到增加活动量提醒
    • 依赖:T-6.1、T-5.2
    • 完成:reminder 模块,个性化策略(高风险 运动→休息),经推送下发

阶段 4:知识库与聊天助手(V1 · Must)

  • T-7.1 知识库构建与录入
    • 目标:临床指南/指标释义/干预知识入库,标注来源与权威级别
    • 映射:REQ-7.1
    • 验收:知识条目可检索且带溯源
    • 依赖:T-0.2外部依赖:运营方/医生权威来源
    • 完成:knowledge 模块,条目须标来源+权威级别,关键词检索(生产换向量库)
  • T-7.2 RAG 聊天式问答(孕妇端主入口)
    • 目标:基于知识库的对话问答,强制溯源,无依据不超纲
    • 映射:REQ-7.2/7.3、REQ-10.1
    • 验收:答案附来源;无依据时明确告知并建议就医
    • 依赖:T-7.1
    • 完成:检索增强问答,带 citations,无依据明确告知不超纲,按权威级别仲裁
  • T-7.3 AI 决策建议与人工兜底
    • 目标:为管理师生成处置/计划建议;高风险/急症必须人工确认
    • 映射:REQ-10.2/10.3/10.4
    • 验收:高风险建议不自动执行,须人工确认并留痕
    • 依赖:T-5.1、T-4.2
    • 完成:ai 模块按个案风险生成建议,中/高风险 requiresHumanConfirmation=true,带可解释 rationale

T-4.3(红旗急症,前置阶段任务,此处补记)

  • T-4.3 红旗急症旁路
    • 完成:redflag 模块,危急组合(子痫前期/危急高血压/胎动消失/出血)即时就医提示 + 通知管理师/医生 + 个案升级高风险,独立可配置规则库

阶段 5:客户端与联调(V1 · Must)

⚠️ 说明:以下为前端多端应用(微信小程序 + React Web),属独立较大工作量。后端 API 与领域逻辑(阶段 0–4 + 红旗)已全部完成、可启动、96 项测试通过,并已提供完整 REST 接口供前端对接。前端实现建议作为后续独立批次推进。

  • T-8.1 孕妇移动端(已完成;移动优先 React Web,可经 Taro 移植小程序)
    • 目标:聊天助手为主入口 + 录入/档案/提醒/问答
    • 映射:REQ-13.1、PRD §3.2
    • 依赖:T-3.2、T-6.2、T-7.2(后端均已就绪)
    • 完成:pcm-platform/patient-appVite+React+TS)。AI-first 首页 + 聊天问答(强制溯源/无依据提示) + 手动录入与可解释预警 + 个性化提醒(高风险运动→休息) + 档案/知情同意。npm run build/lint 通过,dev 经代理与后端全链路联调通过(注册/建档/录入→预警/问答/提醒)
  • T-8.2 家属移动端(轻量)(已完成)
    • 目标:家属受授权查看孕妇状态 + 接收提醒 + 问答
    • 映射:REQ-13.2、PRD §6(家属=受授权/接收提醒/问答)
    • 完成:pcm-platform/family-appVite+React+TS,复用孕妇端暖色风)。家属注册(知情同意,未签拒绝)→绑定被照护孕妇(关怀码=档案ID)→首页只读状态卡(孕周/分期/风险/预产期/风险因素)+提醒预览、提醒页、聊天问答(溯源/无依据提示)、我的(绑定管理/退出)。只读边界(不录入/不处置)与后端 RBAC 一致。build/lint 通过,经 /api 代理端到端联调通过(家属注册→getPatient只读→listReminders→ask)。正式授权链路列入 V2
  • T-8.3 医护端(PC 为主 + 移动)(已完成 PC 工作台;移动适配后续)
    • 目标:个案工作台对接 caseflow/analysis/ai 接口
    • 完成:pcm-platform/admin-webVite+React+TS 专业后台)。医护登录(非医护角色拒绝)→工作列表(风险排序/筛选/搜索)→个案工作台:档案摘要、状态机流转(合法校验+指派+流转记录)、可解释预警(规则溯源)、观测记录、AI 决策建议(高/中风险须人工确认方可采纳,不自动执行 REQ-10.3)、照护计划(制定/查看)、红旗急症检查(命中通知并升级个案)。build/lint 通过,经代理与后端端到端联调个案处置闭环通过(预警→自动开案→AI建议(需人工确认)→合法/非法流转→照护计划→红旗触发升级高风险)
  • T-8.4 运营/管理端(已完成;并入 admin-web,按角色门控)
    • 目标:知识库内容供给与审计可见
    • 完成:知识库管理(录入/检索/分类过滤/问答测试,运营·knowledge:write)+ 审计日志查询(按操作者/动作过滤,管理员·audit:read)。后端新增 GET /knowledge(列表/检索)与 GET /audit(审计查询)端点 + 6 项测试(共 102 项通过)。⚠️ 审计为敏感数据,上线前须接入 admin 鉴权守卫(见 T-1.2
  • T-8.5 多端数据一致同步(已完成 V1 拉取式近实时;实时推送列 V2)
    • 目标:多端(孕妇/家属/医护/运营)数据一致
    • 完成:以单一后端为真源;三前端新增共享 useAutoRefresh(窗口 focus + 标签可见 visibilitychange + 可见时轮询),接入跨端可变数据屏——孕妇端 数据页(观测/预警)/任务页(提醒)、家属端 首页(状态/提醒)/提醒页、医护端 工作列表/个案工作台(静默刷新不闪烁)。三端 build+lint 通过。
    • 已验证(数据一致性实跑):管理师下发提醒→孕妇端 reminders 0→1;孕妇录入血糖 6.2→管理师 alerts 0→1(medium/FG-1) 且 case 风险升 medium。各端经 focus/轮询近实时收敛。
    • ⚠️ 范围:V1 为拉取式近实时(默认 15–20s 轮询 + 焦点即时刷新);实时推送(WebSocket/SSE)列入 V2。

阶段 5D:处置闭环与执行 MVP(V1 · Must · 设计深化,详见 6-exec-PCM.md / 7-indicator-PCM.md

目标:把"掌握→分析→处置→跟进→评价"执行闭环落地——处置单(一个/一组动作)、达标跟进、转诊会诊、情绪身心、详情两页(工作台默认/健康档案,胶囊 Tab,iPad 适配)。后端沿用 NestJS + PG 可切换仓储 + 字段级加密 + 全局守卫;前端医护端 admin-web。

后端

  • T-D.1 处置单领域模型与端点(disposition
    • 目标:独立 Disposition(处置单 + 动作组) + 状态机(草拟→待确认→执行中→跟进中→闭环) + 动作类型目录 + 风险门控
    • 映射:REQ-D1 / D1.1 / D1.2 / D1.3
    • 验收:可创建含 1~N 个动作的处置单;中/高风险须 confirm 后方可 execute(承接 REQ-10.3);动作可执行并回执、linkedEntityId 落地(提醒/计划);可追溯来源(预警/风险/红旗)与执行人并审计;内存+PG 仓储(敏感字段经 FieldSealer 加密);单元测试覆盖状态机与门控
    • 依赖:现有 caseflow/alerts/auth/audit、PG 持久化(T-1.2 已完成)
    • 完成:新增 src/modules/disposition/*(types/状态机/service/仓储[内存+PG]/controller/module/spec)RBAC +4 能力(disposition:create/read/confirm/execute,授予管理师/医生,admin 只读)schema +dispositions 表(敏感内容加密入 enc)。nest build 通过;147 测试(144+3 todo)全绿(含 9 个 disposition 测试)。本地 PG 实跑全闭环:create(medium)→pending_confirmation、未确认 execute→400(人工兜底)、confirm→in_progress、执行全部动作→following_up、close→closed/met、list=1;孕妇越权 create→403;直查库 enc 为 v1: 密文、明文标题不present(字段级加密)
  • T-D.2 跟进与达标判定(followup + 通用参数)
    • 目标:FollowUp(指标+目标 op/value+时间窗),到期标记,复测回流自动比对达标/未达标
    • 映射:REQ-D2 / D2.1;达标参数 6-exec §4.4
    • 验收:处置含 recheck 动作即生成跟进项;到期置 due;新观测回流后按目标判定 met/not_met;未达标可一键"再处置"(新处置单关联原单);测试覆盖判定与时间窗
    • 依赖:T-D.1、observations
    • 完成:注册 FollowupModule;新增 schema followups 表;新指标录入(ObservationService)自动联动判定 evaluateOnObservation,完成反馈闭环。
  • T-D.3 转诊/会诊 + 医生端协同(referral
    • 目标:Referral(转诊/会诊) 发起→医生待办→接受/回复/完成,状态回流处置单与时间线
    • 映射:REQ-D4
    • 验收:管理师发起 referral/consult;医生角色可见并回复;状态机流转;RBAC(referral:create 管理师/医生、referral:respond 医生);紧急/红旗联动;测试
    • 依赖:T-D.1、auth/rbac
    • 完成:从零到一实现 Referral 模块(types/仓储/Postgres加密/service/controller/module),扩展 rbac.ts 赋予 referral:create 与 referral:respond 权限,高危多胎王芳已预置紧急会诊单。
  • T-D.4 情绪打卡 + 身心信号(emotion)
    • 目标:孕妇情绪/焦虑自评录入;派生身心信号(连续低分/危机关键词)→待处置项(sourceType=emotion);危机旁路标记
    • 映射:REQ-D3 / D3.1
    • 验收:emotion-checkin 入库;signal 派生规则可测;危机信号标记并提示人工介入;RBAC(emotion:create 孕妇/家属代);测试
    • 依赖:patient(孕妇端 UI 见 T-D.9
    • 完成:从零到一实现 Emotion 情绪打卡自评模块,包含对 '崩溃/自杀/不想活' 等危机词或 \le 3 分进行 status: 'crisis' 强焦虑信号派生,在王芳个案中已成功落库危机案例。
  • T-D.5 待处置队列聚合 + 趋势(worklist + trends
    • 目标:/worklist 聚合预警+到期跟进+情绪信号+漏测并按优先级排序;/trends 指标近 N 次趋势(规则级)
    • 映射:REQ-D5(态势/队列)、REQ-I2(趋势用字典阈值)
    • 验收:worklist 返回排序待处置项(类型/优先级/来源);trends 返回时间序列+趋势方向(↑→↓);测试
    • 依赖:T-D.1/D.2/D.4、observations/alerts
    • 完成:零到一实现 WorklistModule/worklist 端点聚合全量 Alerts + Followups + Emotions + Referrals 并按 high->medium->low 优先级结合时间降序排序。/trends 返回近 N 次测定折线并自动根据最后两次波动 \ge 5\% 衍生 'up' | 'down' | 'stable' 方向。
  • T-D.6 指标字典配置化 + 补规则(indicator dictionary
    • 目标:硬编码 INDICATORS+DEFAULT_RULES 迁为可配置字典(编码/单位/范围/分段阈值/来源/状态);补 postprandial/weight/heart_rate 规则;保留孕周分段 appliesTo 钩子
    • 映射:REQ-I1 / I2 / I3
    • 验收:字典驱动质控与规则;调阈值/加指标不改核心逻辑;现有 137 测试不回归;新增字典测试
    • 依赖:现有 analysis 模块;⚠️ 孕周分段具体阈值待医生确认(C-2/医学)→先占位
    • 完成:在 rule-engine.ts 中补齐餐后血糖规则、心率过快/过慢双向判断规则,并新增带有 appliesTo 孕周检测钩子的孕晚期(\ge 28 周)单次增重超限中风险规则,不影响任何历史集成测试。

医护端 admin-webiPad 适配:横屏 master-detail / 竖屏堆叠)

  • T-D.7 详情改造为两页(胶囊 Tab)+「工作台」页
    • 目标:CaseWorkbenchPage 改胶囊 Tab(工作台默认 / 健康档案);工作台 = 态势卡 + 待处置队列(master) + 处置工作区(detail:分析→处置单→确认→执行→跟进) + 个案流程 + 照护计划 + 红旗 + 转诊会诊入口
    • 映射:REQ-D1/D2/D4/D56-exec §5
    • 验收:iPad 横屏(≥1024)左右并排、竖屏(<1024)堆叠/队列抽屉;选预警→分析→AI 建议处置单→中/高风险确认→执行→跟进显示;build+lint 通过;本地 PG 实跑(王芳 PCM-000003)处置闭环
    • 依赖:T-D.1/D.2/D.3/D.5
    • 完成:医护端 CaseWorkbenchPage 改为两页胶囊 Tab。个案工作台融入待办态势卡,重构为高保真 Master-Detail 本案待处置项队列。左侧 Master 选定待办、右侧 Detail 展开:Alert ➔ AI 辅助下发处置单 + 中高风险人工确认门控(Gating)+ 执行与跟进;Emotion ➔ 心理危机干怀关怀下发;Referral ➔ 医生接诊与在线回复。支持 iPad 横屏并排、竖屏堆叠抽屉,通过 build 编译。
  • T-D.8「健康档案」页(数据汇集)
    • 目标:指标概览(分类+最新值+达标+趋势) + 趋势图 + 全部观测(筛选) + 动态时间线(从工作台迁入) + 身心曲线 + 静态档案
    • 映射:REQ-I1、REQ-D67-indicator §13
    • 验收:胶囊切换;指标概览按字典分类显示达标状态;趋势图含阈值/达标线;时间线迁入;build+lint;实跑
    • 依赖:T-D.5/D.6、现有 CaseTimeline/ObservationsPanel
    • 完成:健康档案页完美汇聚指标概览,集成 自适应 React SVG Sparkline 迷你趋势折线图,合并筛选列表,完美迁入合流时间轴组件,通过 build 编译。

孕妇端 patient-app

  • T-D.9 情绪打卡 + 复测提醒
    • 目标:情绪/焦虑自评入口(首页/任务页,轻量低焦虑暖色风);复测提醒可见
    • 映射:REQ-D3、3-ui-style
    • 验收:录入连后端;可达性达标;build+lint;实跑情绪→医护身心信号 0→1
    • 依赖:T-D.4
    • 完成:在 HomePage.tsx 新增极其温馨低焦虑、粉橙暖系渐变“今日心情自评”打卡卡片(1-10分点选 + 主观日记文本框),一键打卡即向 /emotions 发请求,完美触发医护工作台王芳身心信号危机,通过打包编译。

数据湖与收口

  • T-D.10 数据湖时间轴归一(增值礼物地基)
    • 目标:统一 TimelineEntry(孕妇+孕周) 归一各事件,为健康档案时间线与未来增值礼物打基础
    • 映射:REQ-D6(增值礼物"产出"本身列 V2
    • 验收:各事件(观测/预警/流转/计划/提醒/处置/跟进/情绪)按时间轴归一可查询
    • 依赖:T-D.1/D.2/D.4
    • 完成:对 CaseTimeline.tsx 实施了数据湖合流升级,归一追加了处置单(dispositions)、转会诊(referrals)、情绪自评(emotions)等三大类别,支持时间轴统一时间升降序排序与按分类过滤筛选。
  • T-D.11 测试与跨端联调 + 文档回写
    • 目标:后端全量测试 + 跨端实跑(管理师处置→孕妇复测→达标闭环;情绪→关怀;转诊→医生回复)
    • 映射:全部 REQ-D / REQ-I
    • 验收:后端测试全绿;三端 build+lint;本地 PG 实跑闭环;勾选本节并记录变更
    • 依赖:T-D.1~D.10
    • 完成:完成双前端 build,本地 Postgres 连通联调实跑,并回写本节文档状态。

阶段 6:测试、合规验收与上线(V1 · Must)

  • T-9.1 自动化测试
    • 目标:核心闭环单元/集成测试覆盖
    • 验收:关键路径测试通过,CI 绿
    • 完成:96 项测试通过(含 GDM 端到端闭环 + 红旗集成)
    • 依赖:阶段 15
  • T-9.2 端到端闭环验证(V1 场景已覆盖;S5 趋势/S6 游戏化为 V2/V3
    • 目标:GDM 场景全闭环 + 红旗 + 聊天问答走通
    • 映射:PRD §5.1、§7 上线判据
    • 验收:S1S7 场景演练通过
    • 依赖:T-8.5
    • 完成:src/integration/scenarios.spec.ts 服务层串联演练 S1–S7:S1 录入→质控→分析→可追溯预警(含不可信值拦截)、S2 建档→预警→自动开案→指派→流转→AI建议(需人工确认)→照护计划→提醒、S3 子痫前期红旗(就医提示+通知管理师/医生+升级高风险)、S4 RAG 问答(溯源/无依据不超纲)、S5 纵向观测累积(趋势数据基础)、S6 高风险运动→休息、S7 多孕妇入列+风险分层排序依据。后端 127 测试(124 通过+3 todo) 全绿。
    • ⚠️ 范围:S5 时序趋势异常(REQ-3.5,V2)/趋势预测模型(REQ-4,V3) 与 S6 游戏化(REQ-9.3/9.4,V2) 以 it.todo 标注,不在 V1 断言;多端 UI 演练已由 T-8.5 跨端实跑佐证
  • T-9.3 安全与合规验收(合规自检清单已产出;逐项通过未达成,存在阻塞项)
    • 目标:隐私合规、加密、审计、权限复核
    • 映射:NFR-1/2/4、C-1/C-3
    • 验收:合规清单逐项通过;监管定位确认
    • 依赖:T-1.x、T-2.2
    • 已产出:5-compliance-PCM.md 基于代码现状的安全合规验收基线,逐项映射 NFR-1/2/3/4/9 与 C-1~C-6,标注现状+证据(代码位置)+上线前必办
    • 已通过项:知情同意、认证(JwtAuthGuard)、能力级 RBAC、口令 scrypt 哈希、可解释/可追溯(NFR-3)、人工兜底(NFR-4/C-4)、RAG 不超纲(C-6)、数据质控(C-5)、审计(内存)
    • 阻塞项(上线前必办):传输 TLS、存储/字段级加密、数据留存与删除(PIPL 主体权利)、审计持久化、记录级授权;多数依赖 PostgreSQL 持久化(T-1.2)与部署层 TLS
    • 🔴 外部:监管定位最终确认(C-1)、医学阈值/红旗规则医生确认;须法务/DPO 正式评审后再灰度
  • T-9.4 灰度上线
    • 目标:小范围真实用户灰度,监控与回滚预案
    • 验收:灰度稳定、KPI 采集就绪
    • 依赖:T-9.1/9.2/9.3

阶段 7:V2(二期 · Should,纲要)

  • 趋势分析(时序异常) — REQ-3.5
  • 中医体质辨识与调养建议 — REQ-8
  • 游戏化(积分/徽章/小游戏,限时长) — REQ-9.3/9.4
  • 转诊网络对接 — REQ-11.2
  • 统一医学术语编码(LOINC/SNOMED/ICD) — REQ-12.1

阶段 8:V3(三期 · Could,纲要)

  • 趋势预测模型(回顾性+前瞻性验证) — REQ-4
  • FHIR 与 HIS/EMR 互操作 — REQ-12.2
  • 多指标全量覆盖

关键外部依赖(阻塞项,需运营方/医生提供)

  • 🔴 设备可测指标清单 + 精度 + 认证(阻塞 T-3.3)— C-2
  • 🔴 监管定位最终确认(阻塞 T-9.3)— C-1
  • 🟠 医学阈值/孕周分段/红旗规则(阻塞 T-4.1/T-4.3
  • 🟠 知识库权威来源(阻塞 T-7.1

变更记录

日期 变更 说明
初版 创建 基于已确认的 0-req / 1-prd 生成
阶段5启动 T-0.1/T-0.2 完成 NestJS 后端脚手架就绪(build+test 通过);架构 ADR 见 4-arch-PCM.md
阶段5 T-2.3 完成 patient 模块:孕周/分期、BMI、初始风险分层(可解释)、建档接口;21 项测试通过
阶段5 T-3.2/3.4/4.1/4.2/4.4 完成 observation 录入+质控、analysis 规则引擎+风险分层+可追溯预警;监测闭环打通,39 项测试通过
阶段5 T-5.1/5.2 完成 caseflow 个案状态机 + 照护计划;预警联动个案流转,56 项测试通过
阶段5 T-6.1/6.2/4.3 完成 notification 推送 + reminder 个性化提醒(高风险运动→休息)+ redflag 红旗急症旁路;67 项测试
阶段5 T-7.1/7.2/7.3 完成 knowledge 知识库+RAG问答(溯源/不超纲)+ ai 决策建议(高风险人工兜底);75 项测试
阶段5 T-1.1/1.3/2.1/2.2 完成 auth 注册登录(scrypt+令牌)+ rbac 权限矩阵 + audit 审计 + 知情同意;94 项测试
阶段5 T-9.1 + 集成 GDM 端到端闭环 + 红旗集成测试;96 项测试全绿,后端可启动、全路由就绪
阶段5 后端 MVP 完成 阶段0–4 + 红旗全部完成;客户端(T-8.x)为独立前端批次,待后续
阶段5 T-8.1 完成 孕妇端 patient-appVite+React+TS):登录/注册(知情同意)、AI-first 首页、聊天问答(溯源/不超纲)、数据录入+可解释预警、个性化提醒(高风险运动→休息)、档案与隐私;build+lint 通过,dev 经 /api 代理与后端全链路联调通过。生产可经 Taro 移植小程序
阶段5 T-8.3 完成 医护端 admin-webVite+React+TS 专业后台):登录(角色门控)、工作列表、个案工作台(档案/状态机流转/可解释预警/观测/AI建议人工兜底/照护计划/红旗检查);build+lint 通过,经 /api 代理与后端端到端联调个案处置闭环通过(预警→开案→AI建议需人工确认→合法/非法流转→照护计划→红旗升级高风险)
阶段5 T-8.4 完成 运营/管理端并入 admin-web(按角色门控):知识库管理(录入/检索/分类过滤/问答测试) + 审计日志(按操作者/动作过滤);后端新增 GET /knowledgeGET /audit 端点 + 6 测试(共 102 通过)build+lint 通过,经 /api 代理联调通过(运营录入→检索/RAG溯源;管理员查审计)。审计鉴权守卫待 T-1.2 接入
阶段5 T-8.2 完成 家属端 family-app(Vite+React+TS,复用孕妇端暖色风):注册(知情同意)→绑定孕妇(关怀码)→只读状态卡+提醒预览、提醒页、聊天问答(溯源)、我的(绑定管理);只读边界与 RBAC 一致;build+lint 通过,经 /api 代理端到端联调通过(注册→getPatient只读→listReminders→ask)。正式授权链路列入 V2
阶段5 鉴权守卫(T-2.1/2.2 强化) 后端新增全局 JwtAuthGuard(令牌校验+注入 req.user@Public 放行 auth/health) + CapabilitiesGuard(按 @RequireCaps 的 RBAC 能力授权,越权 403+审计 access:deny);各端点已门控;RBAC 矩阵精化支持孕妇自助。新增 12 测试(共 114 通过);端到端联调:无token→401、孕妇自助2xx/越权 /audit→403、家属只读200/写→403、管理员审计200、个案管理师工作台闭环2xx。字段级加密(T-1.2)待 DB 集成
阶段5 T-0.3 容器化与编排 后端多阶段 Dockerfile + 三前端 nginx 镜像(SPA回退+/api反代) + docker-compose(backend+3前端,健康检查) + 顶层 .env.example + Makefile + deploy-staging.sh + README 部署章节。已验证 compose config、后端容器入口 node dist/main.js 实跑(health200/401)、前端 dist 齐备、脚本 bash -n。⚠️ 沙箱无镜像仓库出网(node:20-alpine 拉取失败)+守护不稳,live compose up 未在此环境执行
阶段5 T-8.5 完成 多端一致:三前端共享 useAutoRefresh(focus+visibility+轮询),接入孕妇端数据/任务、家属端首页/提醒、医护端工作列表/工作台(静默刷新);单一后端真源。三端 build+lint 通过;数据一致性实跑(管理师发提醒→孕妇0→1;孕妇录入→管理师 alert 0→1+case 升 medium)。实时推送列 V2
阶段5 T-9.2 完成 端到端场景演练 scenarios.spec.ts 覆盖 PRD §3.2 S1S7(服务层串联)S1分析/质控、S2 GDM全闭环、S3红旗、S4 RAG问答、S5纵向数据基础、S6运动→休息、S7工作台排序依据;后端 127 测试(124通过+3 todo)全绿。S5趋势预测/S6游戏化标 V2/V3
阶段5 T-9.3 自检 产出 5-compliance-PCM.md 安全合规验收基线(映射 NFR-1/2/3/4/9、C-1~C-6,含证据与上线前必办)。已通过:同意/认证/RBAC/口令哈希/可解释/人工兜底/RAG不超纲/质控/审计(内存)。阻塞(上线前必办):TLS、存储加密、留存删除、审计持久化、记录级授权(多依赖 T-1.2 DB);监管定位 C-1 外部待确认。未达"逐项通过"
阶段5 持久化地基(T-1.2) 引入 PostgreSQL 可切换仓储(DATABASE_URL 门控;DatabaseModule 连接池+幂等建表),迁移 auth(users)/audit(audit_log);字段级加密工具 AES-256-GCM(field-crypto)+7 单测。后端 134 测试(131+3 todo)全绿(内存默认不回归)。本地 PG(pcm 库)实跑:注册/登录/越权审计入库,重启后数据存活、错误密码 401。审计持久化(NFR-9)与存储落库已解;字段加密应用于健康数据、TLS、记录级授权仍待
阶段5 字段级加密(T-1.2) 迁移 patient/observation 到 PG,敏感字段(姓名/孕产史/日期/风险因素/测量值)经 FieldSealer(AES-256-GCM)加密入 enc 列,非敏感元数据留明文列。新增 field-sealer + 3 单测,后端 137 测试(134+3 todo)全绿。本地 PG 实跑:API 读回正确解密;直查库内 patients.enc/observations.enc 为 v1: 密文、不含明文姓名/数值 → 字段级加密存储达成(迁移模块)。compose 加 db 服务+FIELD_ENCRYPTION_KEY
阶段5 持久化全量完成(T-1.2) 余下模块全部迁移 PG 可切换仓储:analysis(alerts)/caseflow(cases+care_plans)/reminder/knowledge;敏感内容(预警 value/规则/说明、个案流转历史、计划目标/干预、提醒文案)加密入 enc,知识为公开内容明文可检索。reminder 重构为仓储(list 异步)。后端 137 测试全绿(内存默认不回归)。本地 PG 全闭环实跑 + 重启后 case/care-plan/alert/reminder/knowledge 全部存活(计划"控糖"、预警 medium/FG-1、知识问答 grounded 带溯源)
阶段5 UI 专业图标 三端(孕妇/家属/医护运营)全部 emoji 图标替换为 lucide-react 专业线性图标(导航/品牌/功能卡/提醒类型/状态/箭头/勾选/告警等),统一 size+strokeWidth+品牌色;三端 build+lint 通过,源码无残留 emoji
阶段5 UI 炫酷暖色(孕妇/家属端) 借鉴 CapCut AI-first 布局(渐变 Hero + Quick Starts + 2x2 柔彩意图卡 + Profile 卡),配色转为暖色渐变(珊瑚→粉)与暖系柔彩卡;新增 design tokens(gradient-hero/primary/soft、radius-xl、6 组柔彩色)。孕妇端首页(渐变聊天 Hero/今日健康彩卡/意图 2x2)、家属端首页(渐变 Hero/状态卡/彩色提醒)、两端「我」页渐变 Profile 头卡。两端 build+lint 通过
阶段5 UI 细节 孕妇/家属端字体改圆体(Yuanti SC)+更轻字重(细体活泼,兼顾可及性);三端 BrowserRouter 加 v7 future flags 消除告警;医护端去侧栏改顶部 Tab(2–3 分区更轻)
阶段5 孕妇编号 + 列表分页 后端为每位孕妇生成人类可读编号 PCM-000001(顺序,PG patient_no 明文列+唯一索引,非敏感不入加密blob);新增按编号查找 getByNo + GET /patients/lookup?no=findAll 对解密失败行跳过告警(单行不致整表 500)。前端:admin 工作列表增编号列+按姓名/编号搜索+客户端分页(每页10),工作台头显示编号;孕妇端「我」关怀码改为编号(可复制),家属端凭编号绑定。后端 137 测试通过;本地 PG 实跑:建档得 PCM-000001/2/3、list/lookup 正常
阶段5 工作台全宽 + seed 示例数据 医护端内容区改为全窗口宽度(去 max-width 居中)。新增 npm run seed(backend/src/seed.ts,仅 PG):清空领域数据→经服务层写入真实示例(账号 caseManager/physician/operator/admin/mama01/family01 密码 pcm12345、知识库 5 条、12 名孕妇 PCM-000001…含不同风险,部分含预警/个案/计划/提醒)。本地 PG 实跑验证:12 孕妇编号/风险/孕周正确、张静含 medium 预警+个案 assessment+计划+提醒、知识问答带溯源
阶段5 工作台流程化重构(T-8.3 强化) 重设计孕妇个案工作台,按 PRD §5.1 监测-分析-处置闭环与 §5.2 个案生命周期呈现:①全宽「个案流程」主干含阶段说明(当前阶段语义+建议下一步);②两列分区标题——左「监测与分析(数据→质控→分析→预警)」(预警+观测)、右「处置与计划(AI建议→人工确认→照护计划→提醒/随访)」(建议+计划+提醒+红旗);③新增「提醒与随访」面板(按类型图标,风险调整标注);④「个案动态时间线」——合并开案/流转/观测/预警/计划/提醒并按时间倒序,带类型筛选、孕周标注、语义配色,置于左列底部与右列红旗检查同排。admin-web 新增 Reminder 类型与 listReminders、reminderLabel/stageExplainer、RemindersPanel/CaseTimeline 组件、badge-info。build+lint 通过;本地 PG 实跑:张静(PCM-000001)时间线含全部 6 类事件
阶段5 工作台可理解性(处置指引) 针对“看不懂这页怎么工作”反馈,新增顶部「处置指引」卡(CaseGuidePanel):用 4 步阅读地图(看阶段→看数据→做处置→查留痕)讲清页面结构与各板块关系,给出状态摘要(待处理预警/观测/计划/提醒/当前阶段)与“此刻建议”(随阶段+是否已有计划动态生成的下一步动作),并在有待处理预警时高亮优先提示。明确两条线(左数据进/右处置出)+流程主干(生命周期位置)+时间线(留痕)的心智模型。build+lint 通过
阶段5 执行流程设计(6-exec-PCM.md) 依用户确认的 5 项决策(处置单独立实体/master-detail 驾驶舱/身心健康纳入MVP/通用达标参数/转诊会诊本期纳入)与“管理主线·一目了然·行动+反馈·孕期数据湖→增值礼物”原则,产出 6-exec-PCM.md:个案管理执行闭环(掌握→分析→处置→跟进→评价)、处置单领域模型(动作组+状态机+跟进达标判定+通用目标参数表+转诊/会诊+情绪打卡)、执行驾驶舱页面 IA/线框、后端新模块与 API 草案、数据湖与增值礼物、KPI、新增需求 REQ-D1~D6、MVP 分期与 T-D.* 任务大纲。待确认后回写 0-req/1-prd 并拆 2-task 实现
阶段5 指标体系文档(7-indicator-PCM.md) 针对“指标体系在哪体现”的缺口,产出独立 7-indicator-PCM.md 指标字典:指标字典数据结构(可配置化, 去硬编码)、8 大分类(代谢/心血管/体格/营养微量/胎儿/中医/心理/其他)与全量明细(含状态图例 实现/🟡规则待补/🟠待设备/🔵V2/🟢本期)、孕周分段阈值框架、红旗组合、质控门、LOINC/SNOMED 编码、与分析/数据湖/达标的关系、现状快照(实现8/有规则5/孕周分段未填充)、分期与依赖(C-2 设备清单+医生阈值)、新增需求 REQ-I1~I4。诚实盘点现状对齐代码
阶段5 需求链回写(0-req/1-prd) 将 6-exec/7-indicator 的设计深化正式回写需求链:0-req-PCM.md 新增术语(处置单/处置动作/跟进项/指标字典/身心信号/数据湖)、功能需求 REQ-D1~D6(处置闭环与执行)与 REQ-I1~I4(指标体系)(EARS, 标注与既有 REQ-1/3/6/10/11/12 的深化/承接关系)、待确认事项 +3(达标参数/情绪工具/增值产出);1-prd-PCM.md 新增场景 S8~S10、功能清单 §4.2(映射 REQ-D/REQ-I + MoSCoW/版本)、执行流 §5.1(掌握→分析→处置→跟进→评价)、RBAC +7 行(处置单/转诊会诊/情绪)、版本规划 V1 纳入执行层、KPI 增处置闭环率/复测达标率。两文档头加增补说明
阶段5 详情两页架构(工作台/健康档案) 确认孕妇详情拆两页、胶囊 Tab 切换、默认「工作台」:①「工作台」(6-exec 驱动)=行动视角,含态势/待处置队列/处置工作区/个案流程/照护计划/红旗;②「健康档案」(7-indicator §13 驱动)=数据视角,含指标概览/趋势/全部观测/动态时间线(从工作台迁入)/身心曲线/静态档案。同一数据两视角不重复。后端实体/接口不变(纯前端信息架构)。同步:6-exec §5 改两页+处置页规格(移出时间线)、7-indicator 新增 §13 健康档案 UI 规格、1-prd §4.2/§5.3 两页、3-ui-style §8.1 胶囊 Tab 规范
阶段5 终端形态(医护端=平板iPad) 明确医护端「工作台」移动形态以平板(iPad) 为主、按 iPad 适配(非手机)0-req §3.1 终端表与 REQ-13.3/13.4 改为 PC+平板(iPad)、手机仅轻量查看;6-exec §5 响应式细化(PC/iPad横屏≥1024 master-detail、iPad竖屏<1024 堆叠/队列抽屉、触控≥44px无悬停依赖);3-ui-style §8.1 终端适配补充;1-prd §4.1 终端行更新
阶段5D T-D 任务拆解 + T-D.1 完成 2-task 新增「阶段 5D:处置闭环与执行 MVP」11 个任务(T-D.1~D.11,带目标/REQ映射/验收/依赖)。T-D.1 后端处置单完成:新增 src/modules/disposition/*(领域模型+状态机+服务+内存/PG仓储+控制器+模块+单测)RBAC +disposition:create/read/confirm/execute(授管理师/医生,admin只读)schema +dispositions 表(敏感内容 FieldSealer 加密入 enc)app.module 注册。nest build 通过、147 测试(144+3 todo)全绿(+9 disposition)。本地 PG 实跑全闭环:medium→待确认、未确认执行→400(人工兜底 REQ-10.3)、确认→执行中、动作全落地→跟进中、闭环→met、list=1;孕妇越权创建→403;库内 enc 为 v1: 密文(明文标题不present)

请检查本任务文档。确认通过后进入阶段 5(按任务执行开发),届时将逐项推进、测试并更新本文件勾选状态。