elder-yudao-pro/docs/老人信息采集开发进度.md

7.5 KiB
Raw Blame History

老人信息采集:当前交付范围

开发依据为 docs/spec/ 中老师的三份说明;桌面原文件保留。 此前完成管理员录入、完善和查看老人档案的完整七步采集。本次补充志愿者、家属自身登记与后台家庭关联的界面美化;未增加角色代录工作台或家属自动授权。

管理端入口与七步流程

登录后进入“健康服务 → 身份与档案”,点击“开始信息采集”,或已有老人行的“继续采集”。 强制分步,每次仅展示当前步骤,进度条不可跳步;下一步须通过当前步骤校验。 此展示方式按用户要求执行,覆盖导师说明中的管理员默认平铺方式。 姓名紧接身份证号,账号设置放在第一步末尾。使用分组卡片、固定操作区、双向淡入滑动;小屏单列,减少动画偏好关闭动画。

步骤 内容 约束与联动
1 基本信息 知情同意确认、姓名、身份证、性别、生日、民族、微信、联系电话、账号 核心身份和账号必填;进入后续步骤前确认同意。身份证兼容X/x、全角和空格,检查真实日期与校验码,自动填生日/性别并允许修正。年龄至少60岁。
2 社会属性 婚姻、籍贯、长期居住地区划和地址、居住地类型、居住状况、户口、教育、职业、老年大学 县级居住地、详细地址、教育必填,其余选填。
3 经济与保障 医保类型、年收入区间、医保卡号 全选填,可跳过;支持无收入、不方便说;医保号加密。
4 健康与照护 自理/半自理/失能、是否残疾、残疾类型、原因 照护等级必填;自理设无残疾;选择残疾须选类型;无残疾清空隐藏信息。
5 慢病信息 有/没有/记不清/不想说;疾病分组多选;确诊日期、当前患病、治疗状态、其他名称 全选填,可跳过;有也允许空列表;其他回答清空详情;日期真实且不未来。
6 父母信息 父母分别健在/已故/不方便说/跳过;离世原因与说明 全选填,可跳过;非已故不保留原因,非其他不保留补充说明。
7 紧急联系人 多位姓名、关系、手机号、第一联系人;提交前核对 至少1位、最多10位;恰好1位第一联系人;同老人联系人手机号不重复;不创建家属账号或授权。

第七步“确认并提交档案”统一保存,记录管理员采集人、采集时间、首次完成时间与同意确认时间。 旧单联系人可预填姓名/电话,关系须核实,不猜测。正式进度不回退;低步骤旧接口也不能清空已完成的必填项。 旧接口步骤1/2兼容;本轮页面只在第七步正式提交。

草稿与退出

输入自动保存 health_collection_draft,任何一步可保存草稿并退出;允许不完整字段与嵌套慢病/联系人,支持1~7步。 按租户、管理员、目标老人隔离。新建草稿一份,已有老人各有独立草稿;JSON AES加密,最大64KiB。 白名单排除密码、令牌、服务器审计与其他身份字段;嵌套数组快照和串行请求防止慢请求覆盖新输入。 恢复字段/步骤时重新检查前置必填;新账号密码需重新输入。正式提交事务清草稿;失败保留当前表单和会话密码方便重试,密码不写草稿。

区划、海拔与配偶

省市县复用系统地区树并按拼音排序,县级叶子编码校验。海拔按租户/区划读取,不允许手改。 无经核实海拔数据的地区显示缺失提示,不虚构0米。已婚、同区划与地址提供配偶线索;核实选择并最终保存后才确认关联。 配偶解除页尚未提供。

数据与接口

deploy/local/initialize-health.sh(macOS)或 .ps1(Windows)顺序应用V000~V007,重复执行保留原数据。 V007幂等增加23个老人采集与审计字段,不改写志愿者或家属关系。 身份证、医保号、慢病JSON、联系人JSON、草稿使用现有AES加密机制。 老人并发更新按身份、档案固定顺序加锁,保留当前值并防止已完成进度/必填被旧请求覆盖。 敏感接口访问日志、参数校验与JSON解析异常不输出原始资料。

接口 用途
POST /admin-api/health/identity/create 创建老人账号与完整档案,collectionStep=7;兼容旧步骤1/2
PUT /admin-api/health/identity/update 更新1~7步,实际完成进度不回退
GET /admin-api/health/identity/get 读取七步字段、结构化慢病/联系人和审计记录
GET/PUT/DELETE /admin-api/health/collection-draft 本管理员草稿恢复/保存/清除,currentStep=1~7
GET /admin-api/health/elderly-social/altitude 核实海拔
GET /admin-api/health/elderly-social/spouse-candidates 同址配偶线索
POST /admin-api/health/elderly-social/confirm-spouse 核实配偶关联

本轮之外

身份证OCR、知情同意电子签名、低龄强制录入、老人端一屏一题、家属账号/影子成员/授权、志愿者工作台不在本轮范围。 本轮同意为采集确认记录,不等于电子签名。独立健康初筛与标准量表仍待后续开发,不跳转到未实现功能。

运行包更新

Server 打包启用 maven-jar-plugin.forceCreation,即使只有业务模块变化也重新生成薄包,再由 Spring Boot 打入最新依赖,避免“构建成功但可运行包仍是旧版本”。

本轮验证记录(2026-10-08)

  • 前端41项、健康后端51项、日志保护4项,共96项自动测试通过;前后端构建通过。
  • 七步页面、健康接口及工具类型检查无报错;整仓其他未启用模块原有类型报错仍存在。
  • 实际MySQL/HTTP验证完整创建读取、0/false、联动清空、医保/慢病/联系人加密、重复号码/首位联系人/同意/日期拦截、七步不完整草稿恢复、编辑及正式保存清草稿;合成记录清理,原管理员新建草稿保留。
  • 运行包内健康与日志依赖摘要与当前构建逐一核对,最新后端健康UP,前端5173运行。
  • 浏览器视觉验收因此前浏览权限被拒绝未执行,不通过其他浏览器或截图方式绕过。

本次角色界面美化与需求审计(2026-10-08)

  • 志愿者自身资料使用绿色分组卡片,家属自身资料与家庭关联使用蓝色布局;基本资料、账号、服务意愿分组,审核与关系确认提示更清楚,小屏单列。
  • 前端禁止未确认同意时输入身份证/生日/民族/微信;前后端草稿均只保留基础资料,旧未确认草稿回读不暴露敏感字段。正式旧步骤1/2接口仍保留兼容,不声称已完成全接口签署门控。
  • 列表与只读详情身份证/手机号/医保号统一掩码,异常长度也不回显全号。授权编辑仍使用原始值;普通联系方式存储及全量列表响应仍需后续整改。
  • 民族选项补拼音排序,配偶提示改为最后提交时确认;草稿读取失败支持保留当前输入重试,关闭时保存失败保持表单打开。浏览器强退/刷新时离线缓存仍未实现。
  • 本次48项前端、53项健康后端测试通过。前后端构建与健康检查通过;采集与家庭关联代码无类型报错,整仓其他模块原有报错保留。
  • 完整对照见《信息采集需求对照审计.md》。七步表单完整不等同OCR、真正签署、低龄例外、角色代录、家属自动关联及初筛业务闭环全部交付。