# 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)。