eab91174db
Co-Authored-By: Claude <noreply@anthropic.com>
2.7 KiB
2.7 KiB
4-arch-PCM · 架构决策记录(ADR)
项目缩写:PCM 关联:
2-task-PCM.mdT-0.2 状态:V1 基线架构(可随实现迭代)
1. 技术栈决策
| 层 | 选型 | 理由 |
|---|---|---|
| 后端 API | NestJS (Node.js/TypeScript) | 模块化、TS 类型安全、生态完善、适合分层与 DDD |
| 数据库 | PostgreSQL | 关系 + JSONB + 时序友好;成熟稳定 |
| 向量检索 | 向量库(pgvector / 独立向量服务) | 知识库 RAG 检索 |
| 孕妇/家属端 | 微信小程序 | 国内孕妇触达成本最低、无需安装 |
| 医护/运营端 | React Web 工作台 | 信息密度高的 PC 后台 |
| AI 能力 | 大模型 API + RAG(检索增强 + 强制溯源) | 防幻觉、可溯源(REQ-7.2/7.3) |
| 消息推送 | 小程序订阅消息 / 短信 / App push | 提醒与预警触达(T-6.1) |
2. 仓库结构(Monorepo)
pcm-platform/
├── backend/ # NestJS API(核心后端)
│ ├── src/
│ │ ├── modules/ # 业务模块(按领域划分)
│ │ ├── common/ # 通用(鉴权、日志、审计、异常)
│ │ └── main.ts
│ └── package.json
├── admin-web/ # React 医护/运营端(后续阶段)
├── miniapp/ # 微信小程序 孕妇/家属端(后续阶段)
└── docs/ # 引用根目录 req/prd/task/ui-style
3. 后端模块划分(对应需求域)
| 模块 | 职责 | 需求映射 |
|---|---|---|
| auth | 账号、登录、会话 | REQ-11、T-2.1 |
| rbac | 角色权限 | REQ-11.1、T-2.2 |
| patient | 孕妇档案、建档、孕周、纵向时间轴 | REQ-2、T-2.3/T-3.1 |
| observation | 观测值录入/采集/质控 | REQ-1、T-3.x |
| analysis | 规则引擎、风险分层、预警 | REQ-3、T-4.x |
| redflag | 红旗急症旁路 | REQ-5、T-4.3 |
| caseflow | 个案管理流程、照护计划 | REQ-6、T-5.x |
| knowledge | 知识库、RAG 问答 | REQ-7、T-7.x |
| reminder | 提醒、推送 | REQ-9、T-6.x |
| ai | 交互中枢、决策建议、人工兜底 | REQ-10、T-7.3 |
| audit | 操作审计、合规留痕 | NFR-1/9、T-1.3 |
4. 关键架构原则
- 可解释/可追溯:风险、预测、AI 建议保留溯源链与留痕(NFR-3)。
- 人工兜底:高风险/急症需人工确认,系统不自动执行临床决策(REQ-10.3)。
- 数据合规:敏感数据加密、最小化、分级访问、审计(NFR-1)。
- 可配置扩展:指标、规则、知识、设备类型可配置,不改核心代码(NFR-7)。
- 手动录入兜底:不依赖设备对接即可上线(应对 C-2)。