Files
HealthCarePregnant/4-arch-PCM.md
T
2026-06-18 09:48:05 +08:00

56 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)。