|
@@ -88,7 +88,7 @@
|
|
|
| 当前状态 | `status` | 单选 | 特殊状态:正常/哺乳期/备孕/怀孕/住院期/恢复期/其他 | `lifestyle.currentStatus`(新 key) |
|
|
| 当前状态 | `status` | 单选 | 特殊状态:正常/哺乳期/备孕/怀孕/住院期/恢复期/其他 | `lifestyle.currentStatus`(新 key) |
|
|
|
| 饮食偏好 | `diet` | chip+滑块 | 辣度/口味/菜系/烹饪方式/必吃/健康目标/宗教饮食/绝对忌口/饮食结构(蔬果·奶制品·含糖饮料) | `diet_preferences`(**不含过敏原**) |
|
|
| 饮食偏好 | `diet` | chip+滑块 | 辣度/口味/菜系/烹饪方式/必吃/健康目标/宗教饮食/绝对忌口/饮食结构(蔬果·奶制品·含糖饮料) | `diet_preferences`(**不含过敏原**) |
|
|
|
| 疾病史 | `disease` | 分组折叠多选+自定义 | 8 组 54 项预置清单 + 自定义疾病 + 确诊年月 | `health_status.disease_history`(JSON 数组 `{name, diagnosedAt}`) |
|
|
| 疾病史 | `disease` | 分组折叠多选+自定义 | 8 组 54 项预置清单 + 自定义疾病 + 确诊年月 | `health_status.disease_history`(JSON 数组 `{name, diagnosedAt}`) |
|
|
|
-| 排便及运动 | `bowel` | 单选×4 | 排便频率/粪便性状 + **新增**运动频率(不运动/每周1-2次/3-4次/5次以上)+ 每次时长(<30min/30-60min/>60min) | `lifestyle`(bowelFrequency/bowelForm + **新 key** exerciseFrequency/exerciseDuration) |
|
|
|
|
|
|
|
+| 排便及运动 | `bowel` | 单选×4 | 排便频率/粪便性状(**布里斯托 7 型图片选择**,见 11.1)+ **新增**运动频率(不运动/每周1-2次/3-4次/5次以上)+ 每次时长(<30min/30-60min/>60min) | `lifestyle`(bowelFrequency/bowelForm + **新 key** exerciseFrequency/exerciseDuration) |
|
|
|
| 睡眠情况 | `sleep` | 单选×2 | 睡眠时长/入睡时间 | `lifestyle`(sleepDuration/bedtime) |
|
|
| 睡眠情况 | `sleep` | 单选×2 | 睡眠时长/入睡时间 | `lifestyle`(sleepDuration/bedtime) |
|
|
|
| 用药情况 | `med` | 动态行 | 药名+开始年月+已服时长(自动计算/记不清兜底)+服药时间 + "无长期用药"勾选 | `health_status.medications`(JSON 数组 `{name, startDate, durationText, time}`) |
|
|
| 用药情况 | `med` | 动态行 | 药名+开始年月+已服时长(自动计算/记不清兜底)+服药时间 + "无长期用药"勾选 | `health_status.medications`(JSON 数组 `{name, startDate, durationText, time}`) |
|
|
|
| 过敏源 | `allergy` | chip 多选×2 | 过敏原多选(预设 10 项+自定义)+ 过敏症状多选(无/皮疹/鼻痒/眼痒/哮喘样/食物过敏) | `diet_preferences.allergies` + `lifestyle.allergySymptoms` |
|
|
| 过敏源 | `allergy` | chip 多选×2 | 过敏原多选(预设 10 项+自定义)+ 过敏症状多选(无/皮疹/鼻痒/眼痒/哮喘样/食物过敏) | `diet_preferences.allergies` + `lifestyle.allergySymptoms` |
|
|
@@ -200,3 +200,24 @@
|
|
|
- **不做**后台模板配置化(`survey_templates`)——8 模块字段本设计固化,模块组合由调用方 URL 传参控制。
|
|
- **不做**后台模板配置化(`survey_templates`)——8 模块字段本设计固化,模块组合由调用方 URL 传参控制。
|
|
|
- **不做** `exercise_record` 打卡表与新运动字段的联动——新运动字段为调研快照性质,打卡体系独立运行。
|
|
- **不做** `exercise_record` 打卡表与新运动字段的联动——新运动字段为调研快照性质,打卡体系独立运行。
|
|
|
- **不做** report-survey 的过敏源/睡眠等数据同步修复(`ReportSurveyService.saveDietPreferencesFromSurvey` 不同步 allergies 的既有缺口,不在本次范围)。
|
|
- **不做** report-survey 的过敏源/睡眠等数据同步修复(`ReportSurveyService.saveDietPreferencesFromSurvey` 不同步 allergies 的既有缺口,不在本次范围)。
|
|
|
|
|
+
|
|
|
|
|
+## 十一、变更记录
|
|
|
|
|
+
|
|
|
|
|
+### 11.1 粪便性状改为布里斯托 7 型图片选择(2026-10-18 上线后调整)
|
|
|
|
|
+
|
|
|
|
|
+**背景**:原 5 档纯文字选项(干硬颗粒/条状干硬/正常香蕉状/软便/水样)用户难以自行判断,且颗粒度不足以支撑 AI 生成肠道调理方案。
|
|
|
|
|
+
|
|
|
|
|
+**现状实现**:
|
|
|
|
|
+
|
|
|
|
|
+- **选项**:布里斯托大便分类法(Bristol Stool Scale)标准 7 型,每型一张示意图 + 名称 + 一句特征描述;单选,UI 为 2 列图片网格(flex wrap,非 Grid)。
|
|
|
|
|
+- **图片**:`static/health/bristol/bristol-{1..7}.png`(200×200 透明底 PNG,合计约 61KB,计入主包);由 `scripts/gen-bristol-stool-images.py` 用 Pillow 生成(4 倍超采样 + LANCZOS,暖棕配色 `#8C6444`/`#684830` 与问卷主题一致)。**为示意图,非实拍照片**。
|
|
|
|
|
+- **存储值**:`lifestyle.bowelForm` 存中文字符串,如 `4型(光滑柔软)`。仍为自由文本,后端只做 JSON 存储,`cfc-langgraph/app/api/adapter.py` 直接拼接为 `粪便性状:xxx` 送入提示词,无需后端/DDL 改动。
|
|
|
|
|
+- **存量兼容**:新增共享模块 `utils/bowel-form.js`(`BOWEL_FORM_OPTIONS` + `normalizeBowelForm()`),读取时把旧 5 档文案归一为新 7 型(干硬颗粒→1型、条状干硬→2型、正常香蕉状→4型、软便→5型、水样→7型),`ComprehensiveSurvey.vue`(初始化)与 `health-plan-summary.vue`(`parseLifestyle`)各调用一次,保证回显与确认页摘要一致。
|
|
|
|
|
+- **废弃文件不动**:`LifestyleStep.vue` / `ConfirmStep.vue` / `HealthQuestionnaireWizard.vue` 等旧 wizard 集群仍保留原 5 档文字选项,但该集群已 DEPRECATED 且零引用(见十、非目标),本次不修改。
|
|
|
|
|
+
|
|
|
|
|
+**验收要点**:
|
|
|
|
|
+
|
|
|
|
|
+1. 排便模块粪便性状为 7 张图片 + 名称,点击有选中态(橙色描边),再点取消。
|
|
|
|
|
+2. 已被旧版问卷写过的成员打开问卷,粪便性状按上表映射自动选中对应型。
|
|
|
|
|
+3. 完成问卷后确认页摘要显示 `排便: 每天1次 · 4型(光滑柔软)`。
|
|
|
|
|
+4. 生成方案时 AI 收到 `粪便性状:4型(光滑柔软)` 文本(`adapter.py` 无改动)。
|