eab91174db
Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
2.7 KiB
Markdown
56 lines
2.7 KiB
Markdown
# 4-arch-PCM · 架构决策记录(ADR)
|
||
|
||
> 项目缩写:**PCM** 关联:`2-task-PCM.md` T-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)。
|