- docs/requirements/P0 PRD(交付开发·V1) - docs/requirements/服务机构端-P0范围清单、评估机构端-待设计清单 - docs/refs/ 数据字典与接口契约、产品介绍 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2028 lines
149 KiB
Markdown
2028 lines
149 KiB
Markdown
# 投云长护险管理系统 · P0 PRD
|
||
|
||
**交付版本 · 2026-10-11 · 云南投云科技有限公司**
|
||
|
||
> **📝 修订注(2026-10-12 · R1–R9 质疑回填)**:依机构老板 22 条质疑,**把产品能改的直接写进需求**,做不到的如实标注。**改动清单**:①§3.2 待遇状态 **七态 → 十态**(新增 `待起付/等待期`、`复评等待期`、`跨统筹区转移中`;`住院暂停` 补恢复出路);②§3.2 工单状态 **七态 → 八态**(新增 `未遇/扑空`);③新增 **§4.5.1 拒拍出路**、**§4.5.2 拍照分档属地核对**、**§4.9.1 扑空专门形态**;④§5.5.1 新增 **B1-A 垫付台账与结转**、**B1-B 批量导入**;⑤§7.4 字段对照同步+新增 6 个字段;⑥§8.1 新增 `3003/3004` 错误码;⑦新增 **§十三 质疑回填记录**(能改的 vs 做不到的分开列);⑧新增 **§7.3.1 多业务线扩展(R8 预留)**+`elder/order/svc_org` 三表加 `biz_line` 字段(本期恒 `ltci`)、§8.4 增 R8 行;⑨新增 **§13.2b 待补清单(P-9 身份核验缺口)**+§14 增第 8 条对客边界;⑩新增 **§5.5.2 老人个人项目库(`elder_svc` 表,R10)**+§7.2 增 `elder_svc` 表(**22 表 → 23 表**)+§7.4 增 2 个字段+§8.3 增 2 个接口+§9 增验收项。**逐条依据见 §十三。** 其余章节逐字保留。
|
||
|
||
> **📝 修订注(2026-10-14 · 居家护理六流程对齐 · 只补字段不动交互)**:依《居家护理》六份流程文档(流程 01–05+4.5)与 PRD 交叉核对,**补齐流程文档已明确、但 PRD 数据字典缺字段的 5 处硬缺口**(**只补字段、不做功能**,交互细则后补):①`record` 表补 `biz_line` 字段(R8 从三表扩到四表,自费单独计时落点);②`elder` 表补参保核验留痕(`insur_verify_status`/`insur_verify_date`)+缴费年限(`insur_years`)+上门评估五块信息(`need_assess` JSON);③`plan` 表补 `plan_basis`(计划依据/护理服务建议);④`settlement` 表补 `amount_fund`/`amount_self_pay`(个人自付拆分)。**自费服务(当场收款/同意凭证)本期不做、只留字段**(与 §11.2「平台不碰资金」红线一致)。
|
||
|
||
---
|
||
|
||
## 〇、怎么用这份文档(开发先看这里)
|
||
|
||
| 项 | 说明 |
|
||
|---|---|
|
||
| **这份文档是什么** | **本期要开发的东西,全在这里,不用再看别的文档。** 前面的 PRD-00~03、数据字典与接口契约,内容已全部并入本文档 |
|
||
| **本期范围** | **P0 四块**:①待遇档案/②派单工单/③履约留痕/④质控闸门。**二期三块(结算对账/资质人员/院长看板)不做,只留字段** |
|
||
| **本期要交付几个端** | **三个端 + 一套后端**:护理员 APP(安卓)/机构管理后台(Web)/家属端(微信公众号 H5) |
|
||
| **设计总纲(一句话)** | **既满足长护险政策要求,又让机构用得方便、不复杂。两者冲突时——换实现方式,不砍合规、不逼一线硬扛。** |
|
||
| **文档结构** | 第一~三章=全局规则(三端通用);第四~六章=三个端各自的页面;第七章=数据库;第八章=接口;第九章=验收;第十章=不做什么 |
|
||
|
||
### 0.1 先记住这五条,能少走一半弯路
|
||
|
||
1. **硬锁要"点不动",不要"弹提醒"**——提醒会被忽略,点不动才会被遵守。
|
||
2. **锁得少、锁得准**——只锁政策明文要求的,日常照护一律宽松。
|
||
3. **必填自由文本 = 0**——护理员端不许有任何必须打字的字段。
|
||
4. **状态靠人工维护**——本期**没有**医保接口,别按"能自动感知状态"来设计。
|
||
5. **属地差异走配置、不走代码**——新增一个州市=加配置数据,**不改代码、不发版**。
|
||
|
||
### 0.2 术语与技术口径对齐(防歧义)
|
||
|
||
| PRD 里的中文 | 技术口径 |
|
||
|---|---|
|
||
| 老人档案 | `elder` 表,主键 `elder_id` |
|
||
| 服务计划 | `plan` / `plan_item` 两张表 |
|
||
| 工单 | `order` 表,一次服务一条 |
|
||
| 服务留痕 | `record` + `record_item` + `record_photo` + `record_abnormal` |
|
||
| 质控记录 | `qc` 表(可多次退回补正,留历史) |
|
||
| 服务项目 | `svc_national`(L1) / `svc_local`(L2) / `svc_mapping`(L3) / `svc_org`(L4) |
|
||
| 人员与资质 | `staff` 表【预留】 |
|
||
|
||
> **⚠️ 命名纪律(写死)**:**不得使用 `checkin`/`clockin`/`punch` 作为留痕表名**——留痕=`record`。这是合规口径在代码层的落地(不做打卡工具)。
|
||
|
||
---
|
||
|
||
## 一、全局术语与分期用语
|
||
|
||
### 1.1 业务对象术语(全系统统一,不得混用)
|
||
|
||
| 术语 | 定义 | 禁止的说法 |
|
||
|---|---|---|
|
||
| **参保人** | 参加长护险的人员(政策用语) | 不说"客户""用户" |
|
||
| **待遇享受对象** | 已通过评估、正在享受待遇的参保人 | — |
|
||
| **服务对象 / 老人** | 机构实际提供护理服务的人(**界面用"老人"更亲和**) | 正式文书用"参保人" |
|
||
| **护理员** | 执行上门/院内护理服务的一线人员 | 正式文书用"护理服务人员" |
|
||
| **服务项目** | 长护险目录内的护理项目(核心主数据) | 不说"服务内容""护理项" |
|
||
| **服务计划** | 针对某位老人、由机构制定并经确认的周期服务安排 | 不说"护理方案" |
|
||
| **工单** | 计划落地后生成的一次具体服务任务 | 不说"订单""派工单" |
|
||
| **留痕** | 服务执行过程的记录(签到、项目、时长、语音、照片、异常) | **不说"打卡记录"** |
|
||
| **异常上报** | 服务现场发现问题的上报(压疮、呛咳、跌倒等) | 不说"报警" |
|
||
| **质控放行** | 质控员审核后允许该记录进入上报流程 | 不说"通过审核" |
|
||
| **上报池** | 已质控放行、待上报医保的记录集合(**二期**) | — |
|
||
|
||
### 1.2 分期用语(对客材料必须区分)
|
||
|
||
| 说法 | 含义 |
|
||
|---|---|
|
||
| **首期 / P0** | 本次交付的四块 |
|
||
| **二期 / P1** | 结算对账、资质人员、院长看板 |
|
||
| **预留位** | 数据结构与接口已留好,**功能未开发** |
|
||
|
||
---
|
||
|
||
## 二、⭐⭐ 多属地规范(本系统最大的架构特征)
|
||
|
||
> **背景**:**云南实行州(市)级统筹**(云政办规〔2025〕9 号原文),每个州市是**独立统筹区**。系统必须**同时服务昆明机构与其他州市机构**。
|
||
|
||
### 2.1 属地目录两类(规则只有两句)
|
||
|
||
| 地区类型 | 服务项目目录 | 项目数 | 官方代码 |
|
||
|---|---|:---:|:---:|
|
||
| **新建制州市**(曲靖/玉溪/楚雄/文山/西双版纳/大理/临沧 等) | **国家统一目录** | 36 | ✅ 有 |
|
||
| **昆明市**(老试点) | **本地目录** | 45 | ❌ 无 |
|
||
|
||
> **⚠️ 推定项纪律**:七州市中**仅西双版纳有原文明确**"执行国家统一的长护险服务项目目录";其余 6 个州市为**推定**。**签约前须向属地医保机构逐一核实**,不得在正式对客材料中当既定事实写。
|
||
|
||
### 2.2 目录四层结构(数据模型基础)
|
||
|
||
| 层 | 编号前缀 | 内容 | 维护方 | 机构可见 | 可修改 |
|
||
|---|---|---|---|---|---|
|
||
| **L1 国家基准库** | `NAT_` | 国家 36 项 + 官方项目代码 | 我方 | 只读 | ❌ |
|
||
| **L2 属地目录库** | `LOC_` | 每统筹区一套(昆明 45 项;州市直接引用 L1) | 我方 | 只读 | ❌ |
|
||
| **L3 属地↔国家映射表** | `MAP_` | 昆明 45 ↔ 国家 36 逐项映射 | 我方 | **不可见** | ❌ |
|
||
| **L4 机构项目库** | `ORG_` | 机构勾选的项目 + 自填价格 | **机构** | 机构自管 | ✅ 仅价格与启用状态 |
|
||
|
||
### 2.3 属地加载规则(机构无感知)
|
||
|
||
```
|
||
① 机构注册 → 必填【参保地 / 统筹区】
|
||
↓
|
||
② 系统自动加载该统筹区的 L2 属地目录
|
||
↓
|
||
州市机构:看到国家 36 项(含代码)
|
||
昆明机构:看到本地 45 项(系统已内置 L3 映射)
|
||
↓
|
||
③ 机构在属地目录中【勾选】本机构开展的项目 → 【配价】→ 形成 L4 机构项目库
|
||
↓
|
||
④ 派单时 → 读 L4(机构实际开展的项目)
|
||
上报时 → 读 L3 转换出的国家代码(二期对接时生效)
|
||
```
|
||
|
||
### 2.4 ⭐ 五条多属地纪律(写死)
|
||
|
||
1. **属地差异走配置、不走代码**——新增州市=加一份 L2 配置,**不改代码、不发版**;
|
||
2. **属地项目必须可映射**——L2 中每一项都必须在 L3 里有映射;**昆明 45 项中无法映射国家的 5 项,标注"仅属地执行、不可按国家目录上报"**;
|
||
3. **机构不可改目录、不可自创项目**——只能选用+配价。**改目录=合规事故**;
|
||
4. **国家新增项必须显式提示**——昆明目录里没有、国家目录里有的 5 项(**吞咽功能训练/言语功能训练/雾化吸入/压疮预防照护及指导/理发**),在昆明机构勾选界面**必须显式列出并标注"过渡期新增·建议纳入"**,**不得因为本地目录没有就默认隐藏**;
|
||
5. **映射表不进对客材料**——L3 是我方技术资产,对客只说"预置属地目录+国家目录,自动映射"。
|
||
|
||
> **⭐ 昆明 45 项 ↔ 国家 36 项映射统计(已逐项核过)**:完全对应 **19** 项/被合并 **15** 项/近似对应 **6** 项/仅属地 **5** 项 = 45。L3 全量数据见《20261011-昆明45项↔国家36项-逐项映射表》。
|
||
|
||
### 2.5 ⭐ 服务计划的项目数量规则(属地差异,必须内置)
|
||
|
||
| 地区 | 护理方式 | 一级护理 | 二级护理 | 三级护理 | 附加 |
|
||
|---|---|:---:|:---:|:---:|---|
|
||
| **昆明** | 医养结合机构 | ≥18 项 | ≥15 项 | ≥13 项 | 可再选 ≤5 项 |
|
||
| **昆明** | 养老机构 | ≥18 项 | ≥15 项 | ≥13 项 | 可再选 ≤5 项 |
|
||
| **昆明** | 居家(机构上门) | 每周 ≥6 次/月 ≥40 小时 | 每周 ≥5 次/月 ≥36 小时 | 每周 ≥4 次/月 ≥32 小时 | — |
|
||
| **昆明** | 居家(个体护理人员) | ≥15 项 | ≥13 项 | ≥10 项 | 可再选 ≤5 项 |
|
||
| **州市** | 按属地实施细则配置 | **本期不校验** | **本期不校验** | **本期不校验** | — |
|
||
|
||
> **⚠️ 州市规则本期怎么做(已定,写死)**:**州市机构本期不做项数校验**——界面只提示"**州市项数规则待属地实施细则明确**",**不拦、不卡**。
|
||
> **理由**:①各州市实施细则尚未发布,规则无从谈起;②国家 36 项**没有**"一级≥18 项"这类表述,它与昆明 45 项的颗粒度对不上,**照搬昆明=给了错规则**;③项数规则是**配置数据不是代码结构**,细则出来后**补一份配置即可,不改代码、不发版**(属地差异走配置的既定纪律)。
|
||
> **⚠️ 不得的做法**:**不得把昆明规则(18/15/13)照搬给州市机构**——给错规则比不给更糟。
|
||
|
||
> **⚠️ 等级方向(全系统必须写清,不得省略)**:昆明口径**"重度失能一级=失能等级最高级,一级护理=护理级别最高级"**。
|
||
> ⇒ **一级护理要求最高**(≥18 项/每周 6 次),与"一级最轻"的直觉**相反**。**界面上必须写"一级护理(最高级)",不得只写"一级护理"。**
|
||
|
||
---
|
||
|
||
## 三、数据主干、状态机、硬锁、权限
|
||
|
||
### 3.1 数据主干(五个核心对象的关系)
|
||
|
||
```
|
||
┌─────────────┐
|
||
│ ① 老人档案 │ ← 待遇状态(有效期、护理等级、参保地)
|
||
│ ELDER │
|
||
└──────┬──────┘
|
||
│ 1 : N
|
||
┌──────▼──────┐
|
||
│ ② 服务计划 │ ← 周期、项目清单、频次、时长、三方确认
|
||
│ PLAN │
|
||
└──────┬──────┘
|
||
│ 1 : N
|
||
┌──────▼──────┐
|
||
│ ③ 工单 │ ← 某天某次某项目、派给谁、状态
|
||
│ ORDER │
|
||
└──────┬──────┘
|
||
│ 1 : 1
|
||
┌──────▼──────┐
|
||
│ ④ 服务留痕 │ ← 签到/签退、时长、语音、照片、项目执行
|
||
│ RECORD │
|
||
└──────┬──────┘
|
||
│ N : 1(汇总)
|
||
┌──────▼──────┐
|
||
│ ⑤ 质控记录 │ ← 审核结论、放行/退回、异常处理
|
||
│ QC │
|
||
└─────────────┘
|
||
|
||
横向:⑥ 人员与资质(〔二期〕,本期=人工登记)
|
||
出口:⑦ 上报池 → 结算对账(〔二期〕)
|
||
```
|
||
|
||
**三条数据铁律**:
|
||
1. **一次录入、三端同源**——同一事实只录一次,不在别处手工重填;
|
||
2. **不可无痕修改**——任何修改留补正痕迹、保留原值;
|
||
3. **属地字段贯穿**——每个老人档案必带**参保地**,全链路据此取目录与规则。
|
||
|
||
### 3.2 状态机(三个核心对象)
|
||
|
||
**① 老人档案 · 待遇状态(十态)**
|
||
|
||
> **⭐ 2026-10-12 修订(R2·质疑回填)**:原七态,**新增三类真实业务态**——`待起付/等待期`、`复评等待期`、`跨统筹区转移中`,并把 `住院暂停` 补上"恢复"出路。**每一态都必须明确三件事:能否派单 / 能否计费 / 如何恢复**(见下表末三列),避免"状态定义不清 ⇒ 误拦正常业务"。
|
||
|
||
| 状态 | 触发 | 系统动作(硬锁) | 可否派单 | 可否计费 | 如何恢复 |
|
||
|---|---|---|:---:|:---:|---|
|
||
| **待建档** | 签约后未建档 | 提醒倒计时(签约后 1 个月内);超期标红 | ❌ | ❌ | 建档完成 ⇒ 转 `正常享受` |
|
||
| **待起付(等待期/垫付期)** | 待遇已受理、**6 个月等待期未满** | **允许录服务(进"垫付期服务台账")、不计费**(见 §5.5.1 B1-A) | ✅ | ❌ | 等待期满、待遇生效 ⇒ **勾选"结转"** 转 `正常享受`(原垫付记录保留) |
|
||
| **正常享受** | 待遇有效期内 | 允许建档、计划、派单、服务 | ✅ | ✅ | — |
|
||
| **住院暂停** | 老人住院 | ⚠️ **L1 生效:不可新增服务、不可计费**;已有服务保留 | ❌ | ❌ | **出院后人工确认 ⇒ 走"恢复"流程**,校验待遇仍有效 ⇒ 转 `正常享受` |
|
||
| **复评等待期** | 待遇到期、**复评结论未出** | 停止新增服务;**保留已有记录、提示续评进度** | ❌ | ❌ | 复评结论出 ⇒ 按新等级转 `正常享受` 或 `已终止` |
|
||
| **跨统筹区转移中** | 老人**参保地变更**(如昆明→玉溪) | **冻结派单**;触发**目录切换预览**(旧 45 项 → 新属地目录);历史记录**全保留** | ❌ | ❌ | 新参保地确认 ⇒ **重载属地目录** + 重制服务计划 ⇒ 转 `正常享受`(旧记录只读留档) |
|
||
| **死亡** | 老人去世 | 终止一切服务流程;档案转存档 | ❌ | ❌ | 不可恢复 |
|
||
| **长期异地居住** | 迁居外地 | 暂停服务 | ❌ | ❌ | 回迁 ⇒ 人工确认 ⇒ `正常享受` |
|
||
| **待遇到期** | 待遇有效期届满 | 停止新增服务;提示续评 | ❌ | ❌ | 续评通过 ⇒ `正常享受`;未续 ⇒ `已终止` |
|
||
| **已终止** | 协议终止 | 只读归档 | ❌ | ❌ | 不可恢复 |
|
||
|
||
> **⚠️ 状态变更靠人工维护(本期)**:**首期不做医保状态自动同步**(省级接口规范未发布)。系统**只能"提醒该核状态+录后拦派单",不能替代机构发现状态变化**。此条必须写进对客边界说明。**上表"如何恢复"均为"人工确认后系统放行",不是系统自动发现。**
|
||
|
||
> **⭐⭐ 关于"等待期/垫付期"的设计要点(2026-10-12 新增)**:
|
||
> - **为什么要这个态**:长护险有 **6 个月等待期**,机构常在等待期内先垫钱上门。**这段时间的服务"录得进、留得住痕、但不计费"**——若不给状态而一律按"无有效待遇"拦(L1),等于把最需要凭证的一段变成纸面空白。
|
||
> - **与 L1 的关系**:L1(`1001` 无有效待遇不可服务)**只拦"要计费的在享服务"**;`待起付` 态走**独立形态的垫付台账**,**不被误拦**。
|
||
> - **不自动转正**:等待期满**不自动**把垫付记录转为正式记录(计费规则不同,自动转=埋合规雷);改由机构**勾选 + 一键结转**(见 §5.5.1 B1-A)。
|
||
|
||
**② 工单状态(八态)**
|
||
|
||
| 状态 | 说明 | 可否编辑 |
|
||
|---|---|---|
|
||
| **待派单** | 计划已生成工单,未指定护理员 | ✅ |
|
||
| **已派单** | 已指定护理员 | ✅ 可调整(调单) |
|
||
| **服务中** | 护理员已签到 | ❌ |
|
||
| **已完成** | 已签退并留痕 | ❌(仅补正) |
|
||
| **异常** | 服务中上报异常 | ❌ |
|
||
| **已取消** | 请假/轮岗等取消 | ❌(留取消原因) |
|
||
| **逾期未做** | 过了服务时段仍无记录 | ❌(进风险预警) |
|
||
| **未遇(扑空)** | **已到访但未能服务**(老人不在家/拒绝服务/临时改期) | ❌(**到访时间+定位+原因必留**,见 §4.9.1) |
|
||
|
||
> **⭐ 2026-10-12 新增「未遇(扑空)」态**:原口径下"白跑一趟"只能靠**口头说明**,**无佐证 ⇒ 巡查看作"空单废单"**,有被判"虚假服务"的风险。新增此态后,**"到了、没人、怎么处理"三件事都留痕**,把"白跑"从"说不清"变成"有据可查"。**它是异常上报的一个专门子类,不是新流程。**
|
||
|
||
**③ 留痕与质控状态**
|
||
|
||
| 状态 | 说明 |
|
||
|---|---|
|
||
| **草稿** | 服务中未提交(离线也在此状态) |
|
||
| **已提交** | 护理员签退提交 |
|
||
| **待质控** | 进入质控队列 |
|
||
| **已放行** | 质控通过 → 进上报池〔二期〕 |
|
||
| **已退回** | 质控退回,护理员可补正 |
|
||
| **已上报** | 〔二期〕 |
|
||
|
||
### 3.3 六条硬锁(本期实现口径,含降级说明)
|
||
|
||
| # | 硬锁 | 本期实现 | 说明 |
|
||
|---|---|---|---|
|
||
| **L1** | 无有效待遇 → 不能建档/服务 | ✅ **点不动** | 状态人工维护,系统不感知变化。**⚠️ 例外:`待起付(等待期)` 态允许服务,但走垫付台账、不计费**(见 §3.2、§5.5.1 B1-A) |
|
||
| **L2** | 无服务计划 → 不能生成工单 | ✅ **点不动** | — |
|
||
| **L3** | 无有效工单 → 不能录入留痕 | ✅ **点不动** | — |
|
||
| **L4** | 无完整留痕 → 不能进上报池 | ✅ **点不动** | 上报池本身为二期 |
|
||
| **L5** | 无质控放行 → 不能上报 | ✅ 本期以"放行"为准 | 上报动作在二期 |
|
||
| **L6** | 无有效资质 → 不能派该项目的单 | ⚠️ **本期降级:人工登记+派单提示** | **本期不做自动禁派**;二期升级为**自动拦截** |
|
||
|
||
> **⚠️ L6 的对客口径(必须逐字使用)**:
|
||
> **"『无资质不派单』是政策硬要求,但资质库在二期。首期处理方式是『人工登记+派单时系统提示』,不是自动禁派。二期升级为自动拦截。"**
|
||
> **对客材料不得写"系统自动禁派"**——本期做不到。
|
||
|
||
**硬锁的设计纪律**:
|
||
1. **"点不动"优先于"弹提醒"**;
|
||
2. **只锁政策明文要求的 6 条**——日常照护记录方式**一律宽松**;
|
||
3. **锁的位置要"最早"**——在流程起点拦,不在终点拦;
|
||
4. **拦截必须给"怎么解"**——不能只说"不能做",要说"先做什么才能做"(接口的 `hint` 字段)。
|
||
|
||
### 3.4 角色与权限
|
||
|
||
**角色定义**
|
||
|
||
| 角色 | 谁 | 主要场景 |
|
||
|---|---|---|
|
||
| **护理员** | 一线服务人员 | 手机 APP:看任务、干活、留痕 |
|
||
| **组长 / 主管** | 排班与派单负责人 | 后台:排班、派单、调单 |
|
||
| **质控员** | 服务质量把关人 | 后台:建档、计划、审核、异常处理 |
|
||
| **院长** | 机构负责人 | 后台:查看(**本期无看板,只见列表**) |
|
||
| **家属** | 老人家属 | 公众号:查看、可选确认 |
|
||
| **机构管理员** | 系统配置人 | 后台:机构信息、账号权限、属地配置 |
|
||
|
||
**权限矩阵(五角色 × 本期操作)**
|
||
|
||
| 操作 | 护理员 | 组长 | 质控员 | 院长 | 家属 |
|
||
|---|:---:|:---:|:---:|:---:|:---:|
|
||
| 查看今日任务 | ✅ 自己 | ✅ 本组 | ✅ 全部 | ✅ 全部 | — |
|
||
| 签到/签退/录服务 | ✅ | ✅ | — | — | — |
|
||
| 上报服务异常 | ✅ | ✅ | ✅ | — | ✅ 可反馈 |
|
||
| 老人建档 | — | — | ✅ | — | — |
|
||
| 制定/变更服务计划 | — | ✅ | ✅ | — | — |
|
||
| 排班派单/调单 | — | ✅ 本组 | ✅ 全部 | — | — |
|
||
| 质控审核/放行 | — | ✅ 本组 | ✅ 全部 | — | — |
|
||
| 机构项目库配价 | — | — | ✅ | — | — |
|
||
| 查看服务记录 | 自己 | 本组 | 全部 | 全部 | **仅自家老人** |
|
||
| 人员资质维护 | — | — | 〔二期〕 | — | — |
|
||
| 结算申报/对账 | — | — | 〔二期〕 | 〔二期〕 | — |
|
||
| 经营看板 | — | 〔二期〕 | 〔二期〕 | 〔二期〕 | — |
|
||
|
||
**三条权限原则(写死)**:
|
||
1. **最小必要**——护理员只能看/操作**派给自己的任务**;
|
||
2. **家属只见自家、默认只读**;
|
||
3. **院长不改数据**——院长**不设任何数据修改权限**(后端在所有写接口上一律返回 403)。
|
||
|
||
> **⚠️ 第 3 条的修正(详见下方补充 2)**:上述"院长写接口 403"**修正为"仅当账号只持 `director` 时 403"**;**若同时持 `qc`/`leader`/`admin`,按角色并集放行**。**"院长不改数据"的本意是"不许凭身份直接改记录",不是"院长永远不能写"**——院长要能配账号(`admin`)、兼质控时审记录(`qc`)。两处必须一起读。
|
||
|
||
#### 3.4.1 角色补充说明(四条,开发按此实现,不得自行发挥)
|
||
|
||
> **为什么单列这一节**:上面那张矩阵是"业务操作视角",开发照着做还差四件事没说清——**机构管理员归谁管、一个人能不能兼多个角色、敏感字段谁能看、什么叫"本组"**。这四条**逐条定死**,不留解释空间。
|
||
|
||
---
|
||
|
||
**补充 1|机构管理员(`admin`)的归属与权限**
|
||
|
||
| 项 | 规定 |
|
||
|---|---|
|
||
| **它是不是一个独立岗位** | **不是**。它是**"系统配置权限"**,不是业务角色 |
|
||
| **本期由谁担任** | **本期默认由院长(`director`)兼任**——即院长账号同时持有 `director` + `admin` 两个角色(见补充 2) |
|
||
| **它能做什么** | 后台:**机构信息维护、账号新增/停用、角色分配、属地配置**(=B8 系统设置全部) |
|
||
| **它不能做什么** | **不得触碰任何业务数据**(不建档、不定计划、不派单、不审记录)——**配置权与业务权分离**,防止"改配置绕过硬锁" |
|
||
| **单人机构怎么办** | 若机构只有一人(个体护理人员),**该账号可同时持 `admin` + `qc`**;**但其自身录入的业务记录仍须由他人质控**(见补充 2 末尾例外条) |
|
||
|
||
> **⚠️ 落地纪律**:`admin` **只在后台"系统设置"菜单可见**;持 `admin` 但未持 `qc`/`leader` 的账号,**登录后看不到 B1–B4 业务菜单**。
|
||
|
||
---
|
||
|
||
**补充 2|一人多角色规则(小机构必需)**
|
||
|
||
| 项 | 规定 |
|
||
|---|---|
|
||
| **能不能一人多角色** | **能**。**小机构"院长兼质控""组长兼质控"是常态**,不允许多角色=系统用不起来 |
|
||
| **数据怎么存** | `user.role` **改为可存多值**:**逗号分隔字符串**(如 `director,admin`/`leader,qc`);**字段长度 varchar(50)**(足够 5 个角色) |
|
||
| **权限怎么算** | **取并集**——某人持多个角色,则**拥有各角色权限的合并**(如"组长+质控"=能派单**且**能审记录) |
|
||
| **切换角色?** | **不做**。按当前账号**全部角色**计算,**本期不做角色切换器**(避免复杂) |
|
||
| **⚠️ 唯一例外(重要)** | **禁止"自审自放行"**:**同一账号录入的服务记录,不得由该账号自己质控放行**——系统须校验 `record.created_by ≠ qc.operator_id`,否则返回 **`4001`**。<br>**为什么**:这是**"先质控再上报"铁律**的底线,**不因"小机构人手少"而放宽**;机构若只有一人,**必须再配一个能审的人**(哪怕兼职),否则**该记录无法进上报池** |
|
||
| **院长兼质控时,写接口还 403 吗** | **不返回**。按**角色并集判权,不按"院长"身份一刀切** |
|
||
|
||
---
|
||
|
||
**补充 3|字段级权限(敏感信息谁能看)**
|
||
|
||
> 矩阵只到"操作级"(能不能建档),但**同一张档案里不同字段敏感度不同**。以下**三个字段**必须做**字段级控制**:
|
||
|
||
| 字段 | 所属表 | 谁能看 | 规则 |
|
||
|---|---|---|---|
|
||
| **身份证号** `id_card_no` | `staff`/`elder` | **仅 `admin` 与 `qc`** | 列表页**一律掩码**(如 `5301**********1234`);**点"查看完整"才明文**,且**每次查看留痕**(谁、何时、看了谁的) |
|
||
| **手机号** `phone` | `staff`/`elder` | **`admin`/`qc`/`leader`(仅本组)** | 护理员端**只显示"姓氏+称呼"**,**不显示任何手机号**;家属端**一律不返回护理员手机号**(走机构统一联系) |
|
||
| **服务照片** `record_photo` | 留痕 | **`qc`/`leader`(本组)/护理员看自己**;**`director` 可看** | **家属端本期一律不展示**(`visible_to_family` 恒 0) |
|
||
|
||
> **⚠️ 两条落地纪律**:
|
||
> ① **掩码在服务端做,不在前端做**——前端掩码=明文已下发到浏览器,等于没掩码;
|
||
> ② **明文查看必须留痕**(写操作日志表)——对应巡查表·信息管理第 4 条"数据不出机构、访问可追溯"。
|
||
|
||
---
|
||
|
||
**补充 4|"本组"的定义(组织架构)**
|
||
|
||
| 项 | 规定 |
|
||
|---|---|
|
||
| **"本组"指什么** | **一个"护理组"**=**1 名组长 + N 名护理员**,是**派单与质控的最小单位** |
|
||
| **本期怎么建组** | **不单独建"组"表**。**改为**:`staff` 表增加字段 **`group_leader_id`**(该护理员归属的组长),**由 `admin` 在人员管理里指定** |
|
||
| **组长看 "本组" 怎么算** | 组长登录 → **查 `staff` 表中 `group_leader_id = 本人 staff_id` 的护理员** → **只看这些人的任务与记录** |
|
||
| **质控员看 "全部"** | `qc` **不受组限制**,**看本机构全部** |
|
||
| **组长兼质控** | 按**权限并集**——**既是本组组长(管本组派单),又是质控员(审全部记录)** |
|
||
| **没有组长的机构** | **允许为空**——若机构不分组,护理员 `group_leader_id` **留空**,此时**只有 `qc`/`admin` 看全部**;**`leader` 看不到任何人**(提示"您尚未被指派组员,请联系管理员") |
|
||
|
||
> **⭐ 为什么用 `group_leader_id` 而不建"组表"**:**本期是单机构、组数少、结构简单**,一个外键字段就够;**建组表=多一张表、多一套增删改查界面**,**本期不值当**。二期若做"多机构/连锁"(P2),**再升级为独立组织架构模块**——**迁移路径已留**(把 `group_leader_id` 升格为 `group` 表 + 关系表即可,不影响已有数据)。
|
||
|
||
---
|
||
|
||
**补充小节汇总(开发速查)**
|
||
|
||
| # | 事项 | 一句话结论 |
|
||
|:---:|---|---|
|
||
| 1 | 机构管理员归谁 | **不是独立岗位**,本期由**院长兼任**;只管配置、不碰业务 |
|
||
| 2 | 一人多角色 | **允许**,`user.role` 存多值、**权限取并集**;**唯一禁止"自审自放行"**(`4001`) |
|
||
| 3 | 字段级权限 | **身份证仅 admin/qc 明文可见且留痕**;**手机号与照片按端控制**;**掩码在服务端做** |
|
||
| 4 | "本组"定义 | **1 组长 + N 护理员**;**用 `staff.group_leader_id` 实现,不建组表** |
|
||
|
||
|
||
|
||
---
|
||
|
||
## 四、护理员移动端 APP(P0 主战场:③履约留痕)
|
||
|
||
> **形态**:**独立 APP**(安卓为主),**我方统一上架**。
|
||
> **一句话设计目标**:**让一个 50 岁上下、不擅长智能手机的护理员,在老人家里、可能没网的情况下,不学就会、不误操作地完成一次服务记录。**
|
||
|
||
### 4.1 用户画像(**有据可查,非臆测**)
|
||
|
||
| 项 | 数据 | 来源 |
|
||
|---|---|---|
|
||
| 年龄 | **40–59 岁占 83.25%**,30 岁以下仅 2% | 《2025 养老护理员职业现状调研报告》 |
|
||
| 学历 | 初中及以下 **56.13%** | 《2024 报告》 |
|
||
| 性别 | 女性 **89.25%** | 《2025 报告》 |
|
||
| 使用障碍 | 中老年 **82.9% 有使用障碍、仅 24.44% 能独立操作** | CNNIC 第 56 次报告 |
|
||
| 官方自陈 | 昆明医保局承认护理员"**年龄偏大、智能设备操作困难**" | 昆明市医保局公开材料 |
|
||
|
||
**⇒ 设计含义**:**这个群体"学不会"不是态度问题,是能力现实**。任何需要"培训才会用"的设计,都是失败的设计。
|
||
|
||
**三条不可协商的原则**:
|
||
1. **不为留痕而留痕**——记录必须对护理员**自己也**有用;
|
||
2. **不是增加一个系统,是减少她要开的**——替代纸质本、微信群汇报;
|
||
3. **不许比现在更慢**——比现有习惯慢的操作,两周内会被绕过。
|
||
|
||
### 4.2 页面地图(5 个页面,不再多)
|
||
|
||
| 序 | 页面 | 一句话职责 | 进入方式 |
|
||
|:---:|---|---|---|
|
||
| **M1** | **今日任务**(首页) | 今天去哪几家、几点、做什么 | 打开 APP 直接进 |
|
||
| **M2** | **服务执行** | 签到 →(干活)→ 签退,勾项目 | 点 M1 的卡片进入 |
|
||
| **M3** | **异常上报** | 一键上报压疮/呛咳/跌倒等 | M2 内入口+M1 底部 |
|
||
| **M4** | **任务详情** | 老人情况、服务计划、注意事项 | M1 卡片长按/侧滑 |
|
||
| **M5** | **我的** | 我的工时、我的消息、我的资质 | 底部第二栏 |
|
||
|
||
> **⚠️ 刻意不做**:统计报表、排班管理、对话聊天、打字录入、消息广场、积分排名。
|
||
> **底部导航只有两栏**:📋 任务(默认)/👤 我的。**不做第三栏。**
|
||
|
||
### 4.3 M1 今日任务(首页)
|
||
|
||
```
|
||
┌───────────────────────────────────────┐
|
||
│ 今天 10月11日 周六 [王大娘] │ ← 顶部:日期 + 我的名字(大字)
|
||
├───────────────────────────────────────┤
|
||
│ ┌─────────────────────────────────┐ │
|
||
│ │ ⏰ 09:00 李奶奶家 │ │ ← 任务卡片(大卡)
|
||
│ │ 翻身 · 喂饭 · 口腔清洁 │ │ ← 项目摘要(最多 3 项 + 等 N 项)
|
||
│ │ 预计 60 分钟 [ 开始 ] │ │ ← 大按钮
|
||
│ └─────────────────────────────────┘ │
|
||
│ ┌─────────────────────────────────┐ │
|
||
│ │ ⏰ 11:00 张爷爷家 ✅已完成 │ │ ← 已完成卡片(灰底)
|
||
│ └─────────────────────────────────┘ │
|
||
│ ┌─────────────────────────────────┐ │
|
||
│ │ ⏰ 14:30 赵奶奶家 │ │
|
||
│ └─────────────────────────────────┘ │
|
||
│ 今天 3 家 · 已完成 1 家 │ ← 底部汇总(小字)
|
||
└───────────────────────────────────────┘
|
||
```
|
||
|
||
| 元素 | 规则 |
|
||
|---|---|
|
||
| **日期行** | 大字;**当天**,不显示其他日期(不做日历) |
|
||
| **任务卡片** | 按**时间顺序**排列;**待办在前、已完成沉底** |
|
||
| **卡片三要素** | **时间**(大字)+ **老人称呼**(大字)+ **项目摘要**(最多 3 项,多的显示"等 N 项") |
|
||
| **状态分色** | 待办=白底;已完成=灰底+✅;**异常=橙底**;**逾期未做=橙红底** |
|
||
| **主按钮** | **[开始]** —— 唯一的大按钮,**点击即进入 M2** |
|
||
| **已完成卡片** | 不可点进 M2(防重复提交);点进 M4 可看记录 |
|
||
| **底部汇总** | "今天 N 家 · 已完成 M 家",**小字、不可点** |
|
||
|
||
**关键交互规则**
|
||
|
||
| 场景 | 规则 |
|
||
|---|---|
|
||
| **老人住院中** | 卡片**置灰并显示"住院中·暂停服务"**,**[开始] 按钮不可点**(L1 硬锁) |
|
||
| **待遇已到期** | 同上,显示"待遇已到期·请联系机构" |
|
||
| **无任务** | 显示大图+"今天没有任务,好好休息"(**不给空白页**) |
|
||
| **逾期未做** | 卡片转橙红+顶部条提示(**不是责怪语气**,写"这单还没记录,别忘了") |
|
||
|
||
> **⭐ 住院状态显示(已定:显示)**:护理员上门前就知道**别白跑一趟**。**⚠️ 前提**:状态靠**机构人工维护**(本期无接口自动同步),所以提示语**不说"系统检测到住院"**,只说"**住院中·暂停服务**"(事实陈述)。
|
||
|
||
### 4.4 M2 服务执行(核心页面)
|
||
|
||
> **目标:≤4 次点击完成一次服务记录,不打一个字,没网也能做。**
|
||
|
||
**点击路径(严格 ≤4 击)**
|
||
|
||
```
|
||
① 点【开始】(M1)
|
||
↓
|
||
② 【签到】 ← 自动定位+时间,无需输入
|
||
↓
|
||
(干活)
|
||
↓
|
||
③ 【勾选服务项目】← 项目已按计划预勾,她只需"取消没做的"
|
||
↓
|
||
④ 【签退】 ← 自动计算时长
|
||
↓
|
||
完成(自动提交或进离线队列)
|
||
──────────────────────────────
|
||
合计:4 击
|
||
```
|
||
|
||
> **⭐ 关键设计**:**项目默认全部预勾选**。护理员只需"**取消没做的那一项**"。
|
||
> **理由**:计划内项目**绝大多数都会做到**。默认全勾=她多数情况直接点签退(**实际 2 击**)。**这是把"4 击"进一步降成"常态 3 击"的关键。**
|
||
|
||
**页面布局(三段式,不跳页)**
|
||
|
||
```
|
||
┌───────────────────────────────────────┐
|
||
│ ← 李奶奶家 · 翻身·喂饭·口腔清洁 │
|
||
├───────────────────────────────────────┤
|
||
│ ┌───────────────┐ │
|
||
│ │ [ 签 到 ] │ │ ← ① 签到区(超大按钮)
|
||
│ │ 09:02 已定位 │ │
|
||
│ └───────────────┘ │
|
||
├───────────────────────────────────────┤
|
||
│ 本次服务项目(已按计划预选) │ ← ② 项目区
|
||
│ ☑ 协助翻身叩背排痰 📷 需拍照 │ ← 必拍档:显式标 📷
|
||
│ ☑ 协助进食/水及指导 │
|
||
│ ☑ 口腔清洁 │
|
||
│ ☐ 生命体征测量(本次未做) │ ← 她取消勾选的
|
||
│ + 临时加项 │ ← 少用入口
|
||
├───────────────────────────────────────┤
|
||
│ ┌─────────────────────┐ │
|
||
│ │ [ 签 退 ] │ │ ← ③ 签退区
|
||
│ │ 已完成 · 58 分钟 │ │
|
||
│ └─────────────────────┘ │
|
||
└───────────────────────────────────────┘
|
||
```
|
||
|
||
| 元素 | 规则 |
|
||
|---|---|
|
||
| **签到** | **一键**;自动记录**时间+定位**(定位失败不阻塞,标"未获取");**不允许手工改时间** |
|
||
| **项目清单** | 来源=服务计划;**默认全勾**;顺序=计划顺序 |
|
||
| **取消勾选** | 点一下即取消;**取消必拍档会提示** |
|
||
| **签退** | **一键**;自动算时长;**不填任何文字** |
|
||
| **时长** | 系统自动计算;不设最低时长强制(**提示但不拦**) |
|
||
| **提交** | 有网=自动提交;无网=**进离线队列,界面无差别** |
|
||
|
||
### 4.5 ⭐ 拍照分档规则(本期核心设计)
|
||
|
||
| 档 | 适用项目 | 记录方式 | 系统行为 |
|
||
|---|---|---|---|
|
||
| **必拍档** | **沐浴、转移(搬抬类)、导管类(导尿/置管/深静脉置管/气管切开)、鼻饲/喂食(协助进食/水含管饲)、压疮护理** | **强制拍照 + 结构化标签**(压疮专项) | **未拍照 → [签退] 按钮不可点**,提示"这项需要拍一张照片" |
|
||
| **免拍档** | **翻身、喂饭、陪伴聊天、剪指甲、整理床铺、口腔清洁、协助更衣等日常项** | **语音描述 + 家属可选确认** | 不要求拍照;**默认不弹语音**,她可主动录 |
|
||
| **可拍档** | **擦身(擦浴)、协助如厕、失禁照护** | 默认免拍,**出现异常才要求补拍** | 异常上报时引导补拍 |
|
||
|
||
> **⭐ 压疮护理:已定"加",实现方式="照片+结构化标签"(2026-10-11 定)**
|
||
>
|
||
> **为什么加**:①**国家 36 项目录里本就有独立项**「压疮预防照护及指导」(`L0000106020010000`);②**压疮是唯一"照片几乎无法替代"的项目**——严重程度与进展只能靠前后对比图;③**出事时没有照片,机构无法自证不是自己造成的** ⇒ **这一项加的其实是机构的免责能力**。
|
||
>
|
||
> **⚠️ 不能做成"多一项必拍"**(那等于又给一线加活)。正确做法=**拍照后附结构化标签**:
|
||
|
||
| 步骤 | 交互 | 说明 |
|
||
|:---:|---|---|
|
||
| 1 | 拍照 | 与既有必拍流程一致 |
|
||
| 2 | **点选部位** | 9 个常见部位:骶尾部/足跟/髋部/坐骨结节/肩胛部/枕部/耳廓/踝部/其他 |
|
||
| 3 | **点选分期** | 1 期/2 期/3 期/4 期/不可分期/深部组织损伤(**采用临床指南标准分期,不自行发明**) |
|
||
| 4 | (可选)备注 | 一句话描述,可跳过 |
|
||
|
||
> **为什么必须结构化**:**照片只能看,数据才能用**——有了部位+分期,质控端可做"同一部位持续未愈合"预警、导出文书可直接填"压疮情况"栏。**纯照片做不到这两件事。**
|
||
> **⚠️ 纪律**:结构化标签**全部为点选,不打字**;**标签可跳过不填**(只强制拍照,不强制标签)。
|
||
|
||
**三条设计纪律(写死)**:
|
||
|
||
1. **免拍 ≠ 不留痕**——免拍项仍自动记录**四要素**:签到时间、服务时长、项目清单、语音描述(如有)。**四要素齐全即算留痕**;
|
||
2. **分档可配置**——机构可按自身风险偏好**调整哪些项必拍**。默认按上表,**机构可加严、不建议放宽**;
|
||
3. **照片不为"好看"**——**不要求老人摆姿势、不要求面对镜头**。**APP 内不得出现任何"请正面拍摄""请露出老人面部"之类提示**。
|
||
|
||
> **⚠️ 分档默认值的来源与纪律(2026-10-12 新增,S5 回填)**:**上表分档是我方"建议默认值",不是医保规定值。** 签约/上线前**必须与当地医保/服务规范逐项核对后确认**(列入《签约前必办清单》)。**理由**:属地巡查对"哪些项须留照片"的口径不完全一致——**把它做成"可配置"是为了改得动,把它"明示出来"才是消除风险**。**不得用"可配置"三个字把这项风险藏起来。**
|
||
|
||
### 4.5.1 ⭐ 拒拍/无法拍摄的出路(2026-10-12 新增,Q13 回填)
|
||
|
||
> **要解决的真问题**:必拍项**只有"拍"这一条路**时——老人/家属坚决不让拍,护理员**要么强行拍(挨投诉)**,**要么放弃签退(活干不下去)**。**两条路对一线都是死路。** 必须给**第三条路**。
|
||
|
||
| 元素 | 规则 |
|
||
|---|---|
|
||
| **入口** | 必拍项拍照区下方**小字**:【无法拍摄?】 |
|
||
| **点击后** | 弹**原因点选**(不打字,4 选 1):①老人/家属拒绝 ②老人状态不宜拍(如已休息/情绪激动) ③设备故障/无拍摄条件 ④其他 |
|
||
| **选完** | **可直接签退**(解除 `3001` 拦截);该记录打 `is_refused_photo=1`+原因 |
|
||
| **标记后果** | 质控端**显著标出"未拍(原因)"**,进**质控重点关注**;**不视为违规**(这是"如实说明",不是"漏做") |
|
||
| **留痕** | 拒拍动作本身**记入操作日志**,与补正记录同源可查 |
|
||
|
||
> **⭐ 设计要点**:**让"没拍"本身变成一个"有痕的证据"**——比"逼她拍"或"让她拍不了就走不掉"都强。**注意**:`is_refused_photo=1` **不等于免责**,只是**把"为什么没拍"说清楚**;是否认账由医保/机构判定。
|
||
> **与 §4.9 异常上报的区别**:异常上报是"**发现了问题**"(压疮/呛咳);拒拍登记是"**该拍的没拍成**"。**两件事,两个入口,不混。**
|
||
|
||
### 4.5.2 拍照分档的"属地核对清单"(S5·签约前必办)
|
||
|
||
| 步 | 动作 | 产出 |
|
||
|:---:|---|---|
|
||
| 1 | 取当地(统筹区)巡查/服务规范原文 | 一份可引用的官方件 |
|
||
| 2 | 逐项比对"哪些项须留照片" vs 上表默认分档 | 差异清单 |
|
||
| 3 | 差异项在**机构配置层**调整(不改代码) | 配置值 |
|
||
| 4 | 写入签约/上线确认单,双方签字 | 存证 |
|
||
|
||
> **登记落点**:`20261012-签约前必办清单`(含拍照分档核对项)。**未完成此核对,不得对外宣称"拍照分档已符合当地要求"。**
|
||
|
||
> **⭐ 责任划法(R-3 补,2026-10-12)**:
|
||
> - **我方=供"建议值"**(上表默认分档);**机构="核对确认"**(逐项比对、签字)。
|
||
> - **核对遗漏的责任,以签约前《属地核对确认单》签收为界**——签字前发现的差异=协作核对范畴;签字后属地要求变化的=新的适用要求,另行处理。
|
||
> - **交付要求**:**首次交付即支持"分档批量改"**(整批调整,非逐项手调),列入 **P-5 验收**。
|
||
|
||
### 4.6 临时加项(少用但必须有)
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| 入口 | 项目区底部 **[+ 临时加项]**(**小字、不显眼**) |
|
||
| 如何选 | **只能从属地目录里选**(不能自由输入)——保障"不得自创项目" |
|
||
| 记录 | 加项**单独标记**,质控端显示"计划外加项" |
|
||
| 提示 | 选完提示"计划外项目已记录,机构会看到"(**告知,不是警告**) |
|
||
|
||
> **为什么必须有**:护理员现场发现老人需要额外照护,**如果没有入口,她会口头说、然后不记录**——这正是"**发现了没进系统**"的断链点。
|
||
|
||
### 4.7 时长提示(不强制)
|
||
|
||
| 情况 | 系统行为 |
|
||
|---|---|
|
||
| 时长 ≥ 计划时长的 70% | 正常,无提示 |
|
||
| 时长 < 计划时长的 70% | **提示**"本次用时较短,确认要签退吗?"——**可继续**,不拦 |
|
||
| 时长 < 5 分钟 | 提示"用时很短,是否误操作?"——**可继续**,但质控端标黄 |
|
||
|
||
> **⚠️ 两条纪律**:①**不设最低时长硬拦**(硬拦会逼护理员"耗时间"或"造假");②**提示不能带责怪语气**——写"确认要签退吗",**不写"服务时长不足"**。
|
||
>
|
||
> **⭐ 补充基线(2026-10-11)**:国家目录官方电子版**逐项给了「推荐服务时长」**(沐浴 30–60 分钟、常规换药 20–30 分钟、快速血糖 3–5 分钟…)。已提取全 36 项,见
|
||
> `20261011-服务时长参考基线(源自官方电子版).md`。**建议二期或本期末**把它接入为**项目级**时长基线(现表为"计划时长百分比"通用口径,不涉具体项目)。
|
||
> **接入时的红线不变**:仍为**提示级+标签级,不拦截、不扣分**;措辞用"推荐时长",**不得**写成"标准时长/规定时长"。
|
||
|
||
### 4.8 离线逻辑(关键)
|
||
|
||
| 场景 | 行为 |
|
||
|---|---|
|
||
| 完全无网 | **签到/勾选/签退全部可用**;数据进本地队列;**界面无任何"网络异常"红字** |
|
||
| 弱网(有信号但慢) | 同上;不弹"加载中" |
|
||
| 恢复联网 | **后台自动补传**;补传成功**不弹窗打扰**(只在"我的"里显示"已同步") |
|
||
| 补传失败 | 重试 3 次 → "我的"里标"待同步",**提示"回家连上 WIFI 就会自动传"** |
|
||
| 照片 | 本地压缩后存储(**避免占满手机**);补传后**默认保留 7 天**再清理 |
|
||
|
||
> **⭐ 为什么这是硬指标**:老人家里(尤其老旧小区、城中村)**无网/弱网是常态**。**要求"必须联网才能记录"=要求护理员在门口等信号**。
|
||
|
||
### 4.9 M3 异常上报
|
||
|
||
```
|
||
┌───────────────────────────────────────┐
|
||
│ ← 上报异常 │
|
||
├───────────────────────────────────────┤
|
||
│ 这是谁?(自动带入:李奶奶) │ ← 自动,不用选
|
||
│ 什么问题?(点选,可多选) │ ← 九宫格大按钮
|
||
│ ┌──────┬──────┬──────┐ │
|
||
│ │ 压疮 │ 呛咳 │ 跌倒 │ │
|
||
│ ├──────┼──────┼──────┤ │
|
||
│ │ 发热 │ 皮肤破损│ 情绪异常│ │
|
||
│ ├──────┼──────┼──────┤ │
|
||
│ │ 进食困难│ 排泄异常│ 其他 │ │
|
||
│ └──────┴──────┴──────┘ │
|
||
│ 【按住说话】 说一句就行 │ ← 语音,非必填
|
||
│ 📷 拍一张(可选) │
|
||
│ ┌──────────────────┐ │
|
||
│ │ 提交上报 │ │
|
||
│ └──────────────────┘ │
|
||
└───────────────────────────────────────┘
|
||
```
|
||
|
||
| 元素 | 规则 |
|
||
|---|---|
|
||
| **对象** | **自动带入**(从当前任务),不需选择 |
|
||
| **问题分类** | **9 宫格点选**,**点击即选中**,可多选 |
|
||
| **语音说明** | **按住说话**;**非必填**;最长 60 秒;自动转文字(仅内部记录用) |
|
||
| **照片** | **可选**;不强制(**避免吓得不敢报**) |
|
||
| **提交** | 一键;**即时推送**给组长与质控员 |
|
||
|
||
> **⚠️ 关键取舍**:**异常上报"一切可选"(分类必选,其余可选)**——**异常上报的价值在于"报上来",不在于"报得多详细"**。如果要求必填照片、必填描述,**护理员会选择不报**。
|
||
|
||
**提交后**:推送给组长+质控员(APP 推送+后台待办);护理员侧显示"已上报,机构看到了",**不留任务在 APP 里**;异常记录关联到该次留痕;**不影响计划**(改计划是质控员的事,**APP 不提供改计划功能**)。
|
||
|
||
### 4.9.1 ⭐ 未遇(扑空)专门形态(2026-10-12 新增,Q12 回填)
|
||
|
||
> **要解决的真问题**:护理员按时到了、**老人不在家 / 家属临时不让做 / 老人已住院**——原口径下**只能口头跟组长说**,**系统无佐证 ⇒ 巡查看作"空单废单"**,机构被判"虚假服务"的风险落在自己头上。
|
||
|
||
| 元素 | 规则 |
|
||
|---|---|
|
||
| **入口** | M2 服务执行页底部小字:【没见到老人?】 |
|
||
| **点击后** | 弹**原因点选**(不打字,4 选 1):①老人/家属不在家 ②家属临时不同意服务 ③老人已住院/已送医 ④其他 |
|
||
| **随手可留** | **到访时间自动取**、**定位自动取**(证明"我确实来过");可语音补一句(非必填) |
|
||
| **结果** | 工单转 **`not_met`(未遇)**,**不是"已完成"、也不是"逾期未做"**;**不产生服务记录、不计费** |
|
||
| **推送** | 推给组长+质控员,**组长可当场决定**:改期(生成新工单)或作废(留原因) |
|
||
|
||
> **⭐ 与"异常上报"的关系**:**扑空是"异常上报"下的一个专门子类,复用同一套推送与留痕机制,不是新流程**(避免另起一套把 APP 做重)。
|
||
> **与"逾期未做"的区别**:**逾期未做=到点没记录**(可能压根没去);**未遇=去了、有到访时间与定位、但没做成**。**两者性质完全不同,必须分开——这正是"空单废单"能被说清的关键。**
|
||
|
||
### 4.10 M4 任务详情(只读)
|
||
|
||
| 区块 | 内容 |
|
||
|---|---|
|
||
| **老人基本信息** | 称呼、性别、年龄(**不显示身份证号等敏感信息**) |
|
||
| **本次服务计划** | 项目清单、频次、预计时长 |
|
||
| **⚠️ 注意事项** | **醒目区块**:过敏史、吞咽障碍、压疮位置、禁食要求等 |
|
||
| **上次服务** | 时间+项目(**帮她想起来上次做到哪**) |
|
||
| **家属联系人** | 一键拨号(**走隐私号**,不显示真实号码) |
|
||
|
||
**权限**:**纯只读**——**不得在此页修改任何内容**(防误改)。
|
||
|
||
> **⭐ 注意事项区块的填写来源**:**这一块是"该加的专项漏加"的防线**。内容由**质控员在制定服务计划时填写**,**护理员只读**。例:老人有吞咽障碍 → 写"**进食需慢、小口、坐起 90 度,出现呛咳立即停止**"。**这比"系统提示加项"更直接有效**——因为它告诉护理员"怎么做",不只是"要做什么"。
|
||
|
||
### 4.11 M5 我的
|
||
|
||
| 区块 | 内容 | 说明 |
|
||
|---|---|---|
|
||
| **我的工时** | 本月服务次数、总时长 | **不显示金额**(本期无结算) |
|
||
| **我的消息** | 机构通知、异常反馈 | 系统通知+机构群发 |
|
||
| **我的资质** | 资质类型、有效期 | **本期人工登记展示**;〔二期〕做到期提醒 |
|
||
| **同步状态** | "已同步 / N 条待同步" | **离线补传的可见出口** |
|
||
| **设置** | 字号调节、退出登录 | **字号可再放大**(照顾老花) |
|
||
|
||
> **⚠️ 不做**:不做积分、不做排名、不做"服务之星"——**评比会诱发造假**。
|
||
|
||
### 4.12 APP 已定事项
|
||
|
||
| # | 事项 | 定论 |
|
||
|:---:|---|---|
|
||
| 1 | **必拍档是否加"压疮护理"** | ✅ **已定:加**。实现=**照片 + 结构化标签**(部位 9 选项 + 分期 6 选项,均可跳过)。详见 §4.5 |
|
||
| 2 | **APP 名称与图标** | ✅ **开发期占位名"投云长护"**;图标用**青蓝色板+简洁图形**(不用人脸、不用心形)。**上架前再定终名**(改名成本极低) |
|
||
|
||
> **⚠️ APP 名的一个前置问题(上架前必须想清)**:公司与品牌是两套——**公司=云南投云科技有限公司、品牌=滇云守护**。**APP 叫"投云长护"还是"滇云守护",本质是回答"这个 APP 是公司产品线的一员,还是品牌下的一个端口"。** 本期不影响开发。
|
||
|
||
---
|
||
|
||
## 五、机构管理后台(①②④ + 文书/设置)
|
||
|
||
> **本期只做 B1–B4 + B7/B8 精简版**;**B0 院长看板、B5 结算对账、B6 人员资质为二期,本期不在导航中出现**。
|
||
> **一句话设计目标**:**让组长"调单比微信群快",让质控员"日常做完就是合规记录",不用天天补台账。**
|
||
|
||
### 5.1 主导航(登录后,只有 6 项)
|
||
|
||
```
|
||
投云长护 · 机构后台
|
||
┌──────────────────────────────────────┐
|
||
│ 服务对象 排班派单 工单留痕 质控中心 │ ← 4 个主功能
|
||
│ 文书档案 系统设置 │ ← 2 个辅助
|
||
└──────────────────────────────────────┘
|
||
```
|
||
|
||
| 序 | 导航项 | 分期 | 谁用 |
|
||
|:---:|---|:---:|---|
|
||
| 1 | **服务对象**(B1) | **本期** | 质控员 |
|
||
| 2 | **排班派单**(B2) | **本期** | 组长 |
|
||
| 3 | **工单留痕**(B3) | **本期** | 质控员/院长 |
|
||
| 4 | **质控中心**(B4) | **本期** | 质控员 |
|
||
| 5 | **文书档案**(B7 精简版) | **本期** | 质控员 |
|
||
| 6 | **系统设置**(B8 精简版) | **本期** | 机构管理员 |
|
||
|
||
> **⚠️ 本期不出现的导航项**:**院长看板(B0)/结算对账(B5)/人员资质(B6)**。
|
||
> **对客口径**:**"首期就做了这几块,余下二期上"**——**不承诺菜单**。**不做"导航都在、点进去没数据"**。
|
||
|
||
**登录后落在哪(已定)**:**直接落"服务对象"列表页(B1),不做看板首页**。理由:本期机构日常最常进的就是"找人"。
|
||
|
||
**⭐ 登录页的属地信息(多属地提示)**
|
||
|
||
```
|
||
┌──────────────────────────────┐
|
||
│ 投云长护 · 机构后台 │
|
||
│ 机构:XX 养老服务中心 │
|
||
│ 属地:昆明市 │ ← 显示参保地
|
||
│ 目录:昆明市 45 项 │ ← 显示加载了哪套目录
|
||
│ [ 账号 ] [ 密码 ] [ 登录 ] │
|
||
└──────────────────────────────┘
|
||
```
|
||
|
||
> **⭐ 为什么显示"属地"和"目录"**:①让机构**知道自己在哪套规则下**;②**这是多属地能力的可视化**——**对客演示时,这一行就是卖点**;③**属地不可自助修改**(改属地=重新签约)。
|
||
|
||
### 5.2 B1 服务对象
|
||
|
||
```
|
||
┌────────────────────────────────────────────────────────────┐
|
||
│ 服务对象 [+ 新建老人档案] [搜索] │
|
||
├────────────────────────────────────────────────────────────┤
|
||
│ [全部] [正常享受] [住院暂停] [待建档] [待遇到期] ← 状态筛选 │
|
||
├────────────────────────────────────────────────────────────┤
|
||
│ 姓名 护理等级 状态 计划 下次服务 操作 │
|
||
│ 李奶奶 一级(最高) 正常享受 ✓已制定 10-11 09:00 查看 │
|
||
│ 张爷爷 二级 住院暂停 ✓已制定 —(暂停) 查看 │
|
||
│ 赵奶奶 三级 ⚠️待建档 — — 建档 │
|
||
│ 王大爷 一级(最高) 待遇到期 ✓已制定 —(暂停) 查看 │
|
||
└────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
| 字段 | 规则 |
|
||
|---|---|
|
||
| **姓名** | 显示老人称呼(**不显示身份证号**,点进详情才可见且需权限) |
|
||
| **护理等级** | **必须带"(最高级)"标注在一级后** |
|
||
| **状态** | 5 色标签:正常(绿)/住院暂停(橙)/待建档(黄)/待遇到期(橙红)/已终止(灰) |
|
||
| **计划** | 显示"✓已制定"或"—";**未制定的标黄并显示倒计时** |
|
||
|
||
**⭐ 建档(含法定时限倒计时)**
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| **建档时限** | **签约后 1 个月内**(政策要求);顶部显示 **"距建档截止还有 N 天"**,超期标红 |
|
||
| **必填** | 称呼、性别、年龄、参保地、护理等级、待遇有效期、家属联系人 |
|
||
| **注意事项区块** | ⚠️ **醒目区块**:过敏史、吞咽障碍、压疮位置、禁食要求等——**这是 APP 端 M4 的数据来源** |
|
||
| **属地字段** | 参保地**自动取机构属地**(跨属地老人需手工选,并提示规则差异) |
|
||
| **敏感信息** | 身份证号等**加密存储、按权限查看、访问留痕** |
|
||
| **参保核验(第 1 步·前置)** | 建档前先核参保:凭**身份证号+医保参保号**核对参保状态、参保类别(职工/居民)。**本期无医保接口,不做在线核验**——核验以机构线下确认为准、结果记备注留痕;接口发布后升级为在线核验(入站接口预留) |
|
||
| **录入方式(降负担)** | 身份证 **OCR 拍照自动回填**(回填后仍走 18 位+校验位校验,OCR 只是省打字不替代校验);出生日期由身份证带出;地址=**行政区划级联选择+门牌文字/语音**;全表**语音双通道兜底** |
|
||
| **评估结论承载(等级唯一来源)** | 失能等级**只能来自评估结论**:A 路径=**拍照上传评估结论副本(系统自动打水印+时间戳)**;B 路径=官方接口拉取〔接口发布后〕。**禁止**建档人自行"勾选/填写"出等级;**无结论佐证的档案不能转"正常享受"** |
|
||
|
||
> **⚠️ 建档时限来源**:昆医保通〔2025〕27 号第三十四条"建立服务实名制档案,**1 个月内**"。
|
||
|
||
**服务计划(建档后第二步)**
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| **计划时限** | **签约后 5 个工作日内**制定(政策要求);页面显示倒计时 |
|
||
| **计划内容** | 服务项目(**从属地目录中选**)、频次、时长、配比 |
|
||
| **护理方式(决定校验规则)** | **在制定计划时选择**(医养结合/养老机构/居家机构/居家个体)——**它不属老人档案的固定属性**(同一老人换护理方式=换计划),**系统据此套用 §2.5 对应的项数规则**(州市本期无规则,见下) |
|
||
| **项目数量校验** | **按属地规则**:**昆明**=一级≥18 项/二级≥15/三级≥13,居家按周次数与月时长,**不满足则不能提交**;**州市**=**本期不校验**(只提示"州市项数规则待属地实施细则明确"),**不拦不卡** |
|
||
| **目录外提示** | 昆明机构勾选时,**国家新增项(吞咽训练等 5 项)显式列出并标"过渡期新增·建议纳入"** |
|
||
| **三方确认** | 计划需经**家属/长护专员确认**后生效——本期以**系统内确认记录**为准 |
|
||
| **变更留痕** | 计划变更**全程留痕**(谁改、何时改、原值、新值) |
|
||
|
||
> **⭐ 为什么"项目数量校验"是硬要求**:昆明 45 项明确规定了不同护理方式/等级的最低项数,**这是巡查会查的**。系统拦住,比事后被查出来好。
|
||
> **⚠️ 州市为何本期不校验(已定)**:各州市**实施细则未发布**,且国家 36 项**没有项数规则表述**、与昆明 45 项颗粒度对不上 ⇒ **照搬昆明=给错规则**。项数规则属**配置数据**,细则出来后**补配置即可,不改代码**。**界面提示语固定为"州市项数规则待属地实施细则明确"。**
|
||
|
||
### 5.3 B2 排班派单(组长主战场)
|
||
|
||
```
|
||
┌────────────────────────────────────────────────────────────────┐
|
||
│ 排班派单 [日视图 ●] [周视图 ○] 10-11 周六 [← →] │
|
||
├────────────────────────────────────────────────────────────────┤
|
||
│ 09:00 11:00 14:30 16:00 │
|
||
│ 王阿姨 ●李奶奶 ●赵奶奶 │
|
||
│ 刘阿姨 ●张爷爷 ●孙奶奶 │
|
||
│ 陈阿姨 ⚠️ 空缺 │ ← 空缺自动标
|
||
├────────────────────────────────────────────────────────────────┤
|
||
│ ⚠️ 2 个空缺待派 · 1 个时间冲突 · 王阿姨今日 3 单(负荷偏高) │
|
||
└────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
| 元素 | 规则 |
|
||
|---|---|
|
||
| **默认视图** | **日视图**(组长每天实际是按天调的) |
|
||
| **横轴** | 时间段;**纵轴**=护理员 |
|
||
| **卡片** | 显示老人称呼+项目数;点击即**调单面板** |
|
||
| **自动提示** | ① **空缺** ② **时间冲突** ③ **负荷偏高** |
|
||
| **颜色** | 正常=蓝;冲突=红;空缺=橙虚框 |
|
||
|
||
**⭐ 调单:严格 ≤3 步**
|
||
|
||
```
|
||
① 点卡片(或点空缺位)
|
||
↓
|
||
② 弹出「改派给谁」,列出可用护理员(含负荷显示)
|
||
↓
|
||
③ 点选目标护理员 → 确认
|
||
────────────────────────────
|
||
合计:3 步
|
||
```
|
||
|
||
| 环节 | 设计要点 |
|
||
|---|---|
|
||
| **第 2 步** | **只列"可派的人"**:该时段空闲的、有资质的(**本期为提示,非拦**)、不在休假的 |
|
||
| **资质提示** | 〔本期〕**该护理员资质已过期/无该项目资质,请确认** ——**红色提示但可继续**(L6 降级口径) |
|
||
| **负荷显示** | 每个人后面显示"今日已有 N 单",**不排序、不强制** |
|
||
| **确认** | **一次确认即生效**;**自动通知护理员 APP** |
|
||
| **留痕** | 调单记录**谁改的、改前改后、时间**(评查用) |
|
||
|
||
> **⭐ 计时验收标准**:**同一调单操作,"微信群沟通"与"系统操作"各计时,系统不得更慢。** 这是第 7 条硬指标。**如果做不到,组长两周内就会绕过系统。**
|
||
|
||
**批量派单(提效,但非必须)**
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| **一键派单** | 选时间段 → 系统按"同资质 → 历史服务过该老人 → 距离近 → 当日负荷低"**推荐** → 组长确认 |
|
||
| **批量确认** | 推荐的**可整批确认**,也可逐条改 |
|
||
| **⚠️ 纪律** | **推荐 ≠ 自动派**——**必须组长确认**(自动派单一旦出错,责任无法归属) |
|
||
|
||
> **⚠️ 推荐权重说明**:默认权重如上;**不做"熟练度/口碑"排序**(易引发"偏心"质疑)。**这项属现场实测型**——真实排序是否合理,须在机构走访中**观察组长实际派单 10 次**后校准。**不阻塞开发**,代码写成可配置参数。
|
||
|
||
**冲突检测(自动,不可绕过)**
|
||
|
||
| 冲突类型 | 系统行为 |
|
||
|---|---|
|
||
| **同一护理员时间重叠** | **红色警示+不可保存**(硬拦) |
|
||
| **同一老人同时段两次服务** | **红色警示+不可保存**(硬拦) |
|
||
| **跨机构/跨站点冲突** | 本期不做(单机构内检测) |
|
||
| **护理员休假/离职** | 排班表已排除;如手工指定则提示 |
|
||
|
||
> **⚠️ 只有时间冲突硬拦**,其余(负荷、资质、距离)**都只是提示**——**"锁得少、锁得准"**。
|
||
|
||
### 5.4 B3 工单留痕(查看与追溯)
|
||
|
||
**列表筛选**:按老人(默认,最常用)/按时间/按护理员/按状态。
|
||
|
||
**留痕详情(一条记录看全)**
|
||
|
||
```
|
||
┌──────────────────────────────────────────────┐
|
||
│ 李奶奶 · 10-11 09:02–10:00 · 王阿姨 │
|
||
├──────────────────────────────────────────────┤
|
||
│ ✅ 签到 09:02 📍 已定位 │
|
||
│ ✅ 签退 10:00 时长 58 分钟 │
|
||
├──────────────────────────────────────────────┤
|
||
│ 协助翻身叩背排痰 ✔️ 已执行 📷 照片 1 张 │
|
||
│ 协助进食/水及指导 ✔️ 已执行 │
|
||
│ 口腔清洁 ✔️ 已执行 │
|
||
│ 生命体征测量 ✖️ 未执行(计划内) │
|
||
│ ⭐ 临时加项:协助如厕(计划外) │
|
||
├──────────────────────────────────────────────┤
|
||
│ 🎤 语音说明:[播放] │
|
||
│ ⚠️ 异常上报:无 │
|
||
├──────────────────────────────────────────────┤
|
||
│ 质控:待审核 [ 放行 ] [ 退回 ] │
|
||
└──────────────────────────────────────────────┘
|
||
```
|
||
|
||
| 元素 | 规则 |
|
||
|---|---|
|
||
| **照片** | 缩略图+点击放大;**显示拍摄时间**(防事后补拍) |
|
||
| **未执行项** | **显式标出**(这是质控重点) |
|
||
| **临时加项** | **单独标记**"计划外" |
|
||
| **语音** | 可播放;自动转文字(辅助阅读,**不作为正式记录**) |
|
||
| **修改** | **不可直接改**——只能"补正",**保留原值+补正痕迹** |
|
||
|
||
### 5.5 B4 质控中心(质控员主战场)
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────────────────┐
|
||
│ 质控中心 │
|
||
├──────────────────────────────────────────────────────────────┤
|
||
│ 【待我处理】14 项 ← ① 主动推送区(最关键) │
|
||
│ ⚠️ 3 条异常上报待处理 │
|
||
│ 🔴 2 条逾期未做(超 24 小时) │
|
||
│ 🟡 5 条留痕待放行 │
|
||
│ 🟡 2 位老人计划未制定(含倒计时) │
|
||
│ ⚠️ 2 条住院状态老人仍有派单 │
|
||
├──────────────────────────────────────────────────────────────┤
|
||
│ 【待放行队列】 记录列表 → 逐条放行 / 退回 │
|
||
├──────────────────────────────────────────────────────────────┤
|
||
│ 【异常处理台】 异常上报列表 → 处理 / 转派 / 关闭(附处理意见) │
|
||
└──────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
**⭐ 五类主动推送(不等人工查)**
|
||
|
||
| # | 推送项 | 触发条件 | 优先级 |
|
||
|:---:|---|---|:---:|
|
||
| 1 | **异常上报待处理** | 护理员提交异常 | 🔴 高 |
|
||
| 2 | **逾期未做** | 工单过时段仍无记录(**超 24 小时标红**) | 🔴 高 |
|
||
| 3 | **住院状态仍有派单** | 老人状态=住院暂停,但存在待办工单 | ⚠️ 高 |
|
||
| 4 | **计划未制定/超期** | 签约后 5 个工作日未制定计划 | 🟡 中 |
|
||
| 5 | **留痕待放行** | 服务完成未审核 | 🟡 中 |
|
||
|
||
> **⭐ 第 3 条是本系统的一个特色防线**:老人住院了,**如果机构没及时改状态,系统仍然允许派单**(因为状态靠人工维护)。所以这里加一道**"交叉检查"**:**只要挂了住院标记,就回头查有没有未取消的工单**——**用事后校验弥补"状态非自动"的短板**。
|
||
> **⚠️ 注意措辞**:这是**内部质控线索**,对客不说"系统自动发现住院"。
|
||
|
||
**放行与退回**
|
||
|
||
| 操作 | 规则 |
|
||
|---|---|
|
||
| **放行** | 一键;**放行后进"上报池"**〔二期〕;本期放行=记录"质控通过" |
|
||
| **退回** | 必填**退回原因**(下拉选择,不要求打字);**退回后护理员可补正** |
|
||
| **批量放行** | 支持;但**异常记录、未执行项记录不可批量放行**(必须逐条看) |
|
||
| **全量+分级** | **不是抽检**——所有记录都过质控队列,**异常与高危级别不允许跳过** |
|
||
|
||
> **⚠️ 为什么"全量而不是抽检"**:抽检是**监管方的**做法;**机构自己的质控必须是全量的**——因为出问题时,**"我们抽检了没抽到"不是理由**。
|
||
|
||
**异常处理**
|
||
|
||
| 环节 | 规则 |
|
||
|---|---|
|
||
| 收到 | 即时推送(组长+质控员同时收到) |
|
||
| 判断 | 质控员判断:**需改计划?需上报医保?需联系家属?** |
|
||
| 处理 | 记录处理意见(**下拉+可选补充**,不强制打字) |
|
||
| 联动 | ⚠️ **如判断需加专项 → 联动到服务计划变更**(对应"该加的专项漏加"防线) |
|
||
| 关闭 | 处理完关闭,**全过程留痕** |
|
||
|
||
> **⭐ 这个联动是关键**:**护理员发现压疮 → 上报 → 质控员判断需加压疮护理 → 直接改计划 → 下次派单自动带出该项目**。**这一条链走通,"发现了没进系统"的断链就补上了。**
|
||
|
||
> **质控超时提醒(已定)**:**设**,默认阈值 **24 小时**,**每天最多提醒 1 次**,且**不阻塞任何流程**(未放行只影响"能否上报",不影响护理员接单与服务)。属**现场实测型**——真实值须问机构质控岗"您现在多久看一次服务记录";做成**机构可在 B8 自行配置**的项。
|
||
|
||
### 5.5.1 ⭐ B1–B4 交互细则(开发按此实现,逐条不省)
|
||
|
||
> **这一节补的是"字段级校验 + 边界态 + 反馈"**——上面说了"有什么",这里说**"填错/漏填/状态不对时系统怎么办"**。**完整版见 `PRD-02 机构管理后台` §3.5/§4.6/§5.4/§6.6**,本节为交付开发用的收口版。
|
||
|
||
**【B1 服务对象】**
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| **建档必填校验** | 身份证 **18 位+校验位算法**;出生日期**由身份证自动带出**(手改须填原因);参保地默认取机构属地、**跨属地须二次确认**;待遇止 > 起 |
|
||
| **身份证防重** | 同机构内 `id_card_no` **不可重复建档**;命中已有档案⇒**提示"已有档案,是否查看"**(不报错,避免重复建档=档案管理扣分) |
|
||
| **建档连锁动作** | 保存成功⇒自动生成档案号+状态转"正常享受"+倒计时切"距计划截止 N 天"+待办出现"制定服务计划" |
|
||
| **防误操作** | **档案不可物理删除**,只能"终止";**变更护理等级须二次确认+必填原因** |
|
||
| **边界态** | 无档案⇒空状态+大按钮(不留白表格);超期⇒行标红+顶部红条;住院中⇒"制定计划/派单"按钮**置灰**并提示"住院期间不可新增服务" |
|
||
|
||
**【B1-A 垫付期台账与"结转"】(2026-10-12 新增,Q7 回填)**
|
||
|
||
> **背景**:长护险有 **6 个月等待期**,机构常先垫钱上门。这段服务**录得进、留得住痕、但不计费**。
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| **录得进** | `待起付(等待期)` 态下**允许派单、允许服务、允许留痕**(`record.is_prepaid=1`) |
|
||
| **不计费** | `is_prepaid=1` 的记录 `billable=0`,**不进结算池、不进医保可见的上报池** |
|
||
| **不误拦** | L1(`1001`)**只拦"要计费的在享服务"**;等待期走垫付台账,**不被误拦** |
|
||
| **结转入口** | 待遇生效(转 `正常享受`)后,档案页出现**〔结转垫付期服务〕**按钮 |
|
||
| **结转规则** | 机构**勾选**若干垫付记录 ⇒ 一键生成对应**正式服务记录**;**原垫付记录永久保留**(只读),两套并存;**不自动转**(计费规则不同,自动转=埋合规雷) |
|
||
| **原始时间戳(R-1 补,2026-10-12)** | **结转不改变原始时间戳**:转正后的记录,其**签到时间、定位、照片仍为该次服务的原始值**(**不改为"结转日"**),仅新增 **"来源=垫付台账(`is_prepaid=1`)"** 标记。**目的**:①不踩"无有效待遇不能服务"硬锁;②不制造虚假"补正痕迹"。 |
|
||
| **留痕** | 结转动作**记操作日志**(谁、何时、结转了哪几条) |
|
||
|
||
> **⭐ 设计要点**:**等待期恰是最需要台账的阶段**——机构垫了钱要留证、要跟家属交代、要跟医保说清"这段是我先做的"。做成**独立台账 + 手动结转**,既不违反"无待遇不能结算",又不让这段服务变纸面空白,**还不埋"自动算钱算错"的雷**。
|
||
|
||
**【B1-B 数据初始化 · 批量导入】(2026-10-12 新增,Q17 回填)**
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| **支持对象** | **参保人档案、护理员档案、服务项目配价** 三类均支持 **Excel 批量导入** |
|
||
| **模板** | 系统提供**标准模板**(含必填列、格式说明);**模板下载**在导入页 |
|
||
| **校验** | 导入前**逐行校验**(身份证 18 位+校验位、必填非空、参保地合法、项目须在属地目录内);**错误行不写入、生成错误报告**(行号+原因) |
|
||
| **重复处理** | 命中已有 `id_card_no` ⇒ **标"已存在"**,由机构选"跳过/更新",**不静默覆盖** |
|
||
| **上限** | 单次导入 **[待定·建议 ≤2000 行]**(开发联调时定);超限提示分批 |
|
||
| **留痕** | 每次导入**记操作日志**(导入人、时间、成功/失败条数、文件名) |
|
||
|
||
> **⭐ 为什么必须有**:机构手里的老人/护理员名单**本来就在 Excel 里**——若只能一条条手录,**上线第一周就劝退**。**"换新账本,不用手抄几百个名字"是能否落地的关键一环。**
|
||
|
||
**【B1-C 老人个人项目库】(2026-10-12 新增,R10)**
|
||
|
||
> **触发**:机构提出"床位护理 + 居家护理"双线,且要求**目录能按老人维度适配**——即同一机构里,不同老人应有各自长期固定的服务项目组合,派单时直接带入,而不是每次从机构大目录重新挑一遍。
|
||
|
||
**它与"服务计划"的分工(先讲清,防两套数据打架)**:
|
||
|
||
| 结构 | 回答的问题 | 性质 | 变化频率 |
|
||
|---|---|---|---|
|
||
| **`elder_svc` 老人个人项目库** | 这个老人**长期能做 / 常做**哪些项目 | **稳定底表**(派单带入源) | 低(老人能力变了才改) |
|
||
| **`plan` / `plan_item` 服务计划** | 这个周期内**按什么规格**执行(频次/时长/拍照档/护理方式) | **周期生效的正式安排**(版本化) | 中(随评估等级、周期调整) |
|
||
|
||
**关系一句话**:**派单时先读 `elder_svc` 带入"该老人常做项目"当默认勾选,再叠加 `plan` 的规格(频次/时长/拍照档)落成工单。** `elder_svc` 只回答"做哪些",`plan` 只回答"怎么做"——**两者不互相替代、不重复存。**
|
||
|
||
**核心规则**:
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| **归属** | 一张 `elder_svc` 挂在一位老人 `elder_id` 下(**一人一份**,一账号一老人天然一致) |
|
||
| **项目来源** | 只能从**本机构 L4 项目库(`svc_org`)**里勾选,**不可自创、不可写机构目录外的项目**(与 `plan_item` 同纪律) |
|
||
| **数量约束** | **沿用 §2.5 属地项数规则**(昆明按护理等级 ≥13/15/18 项,附加 ≤5 项)——**不是无上限自由堆**,防止"个人项目库"绕过属地合规 |
|
||
| **默认带入** | 制定服务计划时,**一键"从个人项目库带入"**,自动生成 `plan_item` 初稿;派单时再按 `plan` 展开 |
|
||
| **护理方式切换** | 老人换护理方式(如居家 → 机构)= **重制个人项目库**(因 §2.5 项数规则按护理方式套用),**旧库只读留档**(同"计划变更留旧版"纪律) |
|
||
| **变更留痕** | 增删项目**全程留痕**(谁、何时、原值、新值)——与计划变更同标准 |
|
||
| **可空** | 老人可不维护个人项目库;此时制定计划仍从 L4 手动勾选(**回退路径不变**,新能力是**可选加速**,不是**新增强制步骤**) |
|
||
|
||
**交互落地(后台)**:
|
||
- 老人档案页新增「**个人项目库**」区块;未维护时显"未设置,制定计划时手动选";
|
||
- 制定/续计划弹层新增「**从个人项目库带入**」按钮——**点了带入可改**(带入只是初稿,最终仍以计划为准);
|
||
- 质控员 / 管理员可编辑(与"制定/变更服务计划"同权限,见 §3.4 权限表),护理员端**只读**。
|
||
|
||
> **⭐ 为什么这么做**:你要的"按老人维度适配",本质是"**每个老人的默认项目清单**"。直接做成独立 `elder_svc` 底表,①**不污染** `plan` 的"周期生效 + 版本化"语义;②**派单带入**省掉"每次重新挑一遍";③**可空**保证老机构、老流程**零迁移成本**。**"双线机构"尤其受益**——床位线和居家线可以各维护各的老人清单,互不串。
|
||
|
||
**【B2 排班派单】**
|
||
|
||
**派单前置校验(按序跑,前 5 条硬拦、6–7 条仅提示、第 8 条可见性过滤)**:
|
||
|
||
| 序 | 校验 | 不通过 |
|
||
|:---:|---|---|
|
||
| 1 | 工单状态=待派单/已派单 | 拒绝 |
|
||
| 2 | 老人状态=正常享受 | **硬拦**(L1) |
|
||
| 3 | 有有效计划 | **硬拦**(L2) |
|
||
| 4 | 护理员当班未休假 | **硬拦** |
|
||
| 5 | 时间不冲突 | **硬拦**(`2001`) |
|
||
| 6 | 有该项目/等级资质 | **仅提示**(`1006`,红字可继续,L6 降级) |
|
||
| 7 | 属组长本组 | **不出现该人选**(过滤,非报错) |
|
||
|
||
- **"可派的人"列表**:只给**事实**(姓名/今日 N 单/资质状态),**不排序**——排序=暗示,组长会盲从;
|
||
- **调单严格 3 步**:点卡片(弹层不跳页)→点"改派给谁"→点人确认(**即时生效+自动推 APP+写留痕**);**不弹二次确认**(高频操作,且可改回);
|
||
- **批量派单**:推荐**必须人工确认**,**不做一键全派**;**B-1 权重未取值时不显示推荐列**(宁可不给,不给错的);
|
||
- **边界态**:今日无排班⇒空状态+"生成工单";全是空缺⇒顶部黄条+空缺位橙虚框;调单时**原护理员已签到⇒不允许调**(提示已开始,如需处理走异常上报)。
|
||
|
||
**【B3 工单留痕】**(含**补正**的正确做法)
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| **补正(本页最易做错)** | **原记录永久保留**,补正产生**新增更正说明**,两条并列;**❌ 不给"编辑"按钮直接改** |
|
||
| **不能补正什么** | **签到时间、定位、照片本身**——**这三项是"服务发生过"的证据,结构上不可动** |
|
||
| **补正次数** | 不限但每次留痕;同记录补正 **≥3 次⇒自动进质控重点** |
|
||
| **照片** | 后台 `qc`/`leader`(本组)/`director` 可看;**默认不可下载**;**家属端一律不展示** |
|
||
| **时间线** | 按时间倒序,**逾期未做显式占一行**("少做一次"比"做错"更需被看见) |
|
||
| **导出** | **必须记操作日志**+文件**带水印**(机构名+时间+操作人) |
|
||
|
||
> **⚠️ 为什么这么严**:巡查表违法违规查处类明确列"**伪造、变造服务记录**"。**给一个"随便改"的按钮,就是把机构架在火上。**
|
||
|
||
**【B4 质控中心】**
|
||
|
||
**放行前"对账自检"(按序,任一不通过不放行)**:
|
||
|
||
| 序 | 检查 | 不通过 |
|
||
|:---:|---|---|
|
||
| 1 | 留痕四要素齐(时间/项目/时长/护理员) | `1004` |
|
||
| 2 | 必拍项已拍 | `3001` |
|
||
| 3 | 状态=待质控 | 幂等提示"已放行" |
|
||
| 4 | **放行人 ≠ 记录录入人** | **`4001`** 自审自放行 |
|
||
|
||
- **退回原因用下拉**(6 选项,不要求打字——质控员可能也是 50 岁);
|
||
- **批量放行的安全边界**:有**异常/未执行项/临时加项/时长异常/补正过**的,**一律不可批量**——**批量是为省手,不是为省眼**;
|
||
- **五类推送必须有"消除条件"**(否则列表只长不消,两周后就被无视);
|
||
- **时效可视**:每条待放行记录显示"已等待 X 小时",超阈值(默认 24h,**待走访回填**)标黄、超 2 倍标红;**提醒不阻塞流程**;
|
||
- **边界态**:全部处理完⇒显示"✅ 今日已清空"(不留空表格);待处理 >50⇒分批+总数提示;已被他人认领⇒标"处理中(张质控)"避免重复处理。
|
||
|
||
---
|
||
|
||
### 5.6 B7 文书档案(精简版)
|
||
|
||
| 功能 | 说明 |
|
||
|---|---|
|
||
| **一人一档** | 每位老人的档案(基本信息+服务计划+全部服务记录+异常记录) |
|
||
| **导出即合规版式** | 导出对齐**国家 2026 版文书**格式(第 9 条硬指标) |
|
||
| **按需检索** | 按老人/时间导出 |
|
||
| **协议期满移交** | 支持整包导出 |
|
||
|
||
> **⭐ 措辞纪律(写死,所有界面文案适用)**:**本模块不得出现"迎检""应对巡查""守住分值""检查前准备"等表述。** **正确表述**:**"日常留痕,随时可导出"**。理由:巡查是监管方的评价动作,**把它说成"要应对的事",等于承认平时没做好**。
|
||
> **本期不做**:电子签章、公文流转、模板自定义 —— **留二期**。
|
||
|
||
### 5.7 B8 系统设置(精简版)
|
||
|
||
| 分组 | 内容 |
|
||
|---|---|
|
||
| **机构信息** | 名称、地址、法人、联系方式、**参保地(只读)** |
|
||
| **属地与目录** | 显示当前属地与加载的目录(**只读**);**国家新增项提示开关**(默认开) |
|
||
| **账号与权限** | 新增/停用账号、分配角色(护理员/组长/质控员/院长,**可多选**,见 §3.4.1 补充 2)、**指定护理员归属组长**(下拉选本机构组长,可留空=未分组,见 §3.4.1 补充 4) |
|
||
| **服务项目与配价** | **L4 机构项目库**:从属地目录勾选 + 配价 |
|
||
| **对接档位** | 显示当前档位(A 人工登记/B 文件导入导出);**C 档预留,显示"待接口发布"** |
|
||
| **拍照分档配置** | 机构可**加严**必拍项(**不建议放宽**,界面会提示) |
|
||
| **质控提醒配置** | 质控超时提醒阈值(默认 24 小时) |
|
||
|
||
**⭐ 服务项目与配价(多属地的落地页)**
|
||
|
||
```
|
||
┌────────────────────────────────────────────────────────────┐
|
||
│ 服务项目与配价 属地:昆明市 → 加载:昆明市目录(45项) │
|
||
├────────────────────────────────────────────────────────────┤
|
||
│ [全部] [生活照护] [医疗护理] ← 按属地目录分类 │
|
||
├────────────────────────────────────────────────────────────┤
|
||
│ ☑ 头面部清洁、梳理 ¥XX /次 [启用●] │
|
||
│ ☑ 温水擦浴 ¥XX /次 [启用●] │
|
||
│ ☐ 会阴护理 ¥XX /次 [停用○] │
|
||
├────────────────────────────────────────────────────────────┤
|
||
│ ⭐ 国家目录新增项(本地方案未含,建议纳入) │
|
||
│ ☐ 吞咽功能训练 国家代码 L0000204030010000 │
|
||
│ ☐ 言语功能训练 国家代码 L0000204040010000 │
|
||
│ ☐ 压疮预防照护及指导 国家代码 L0000106020010000 │
|
||
│ (以上为过渡期新增,纳入后可按国家目录上报) │
|
||
└────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
| 规则 | 说明 |
|
||
|---|---|
|
||
| **项目来源** | **只能从属地目录勾选**(不可自创、不可自由输入) |
|
||
| **配价** | 机构自填价格;**公示价=备案价=上传价须一致**(三价一致,二期校验,本期提示) |
|
||
| **启用/停用** | 停用的项目不参与派单 |
|
||
| **国家新增项区** | ⭐ **独立区块、显式列出**——即使本地目录没有,**也要让机构看见并可选** |
|
||
| **属地切换** | **不可自助**——变更属地须联系我方(属重新配置) |
|
||
|
||
### 5.8 后台权限与已定事项
|
||
|
||
| 操作 | 组长 | 质控员 | 院长 | 机构管理员 |
|
||
|---|:---:|:---:|:---:|:---:|
|
||
| 服务对象建档/改计划 | — | ✅ | — | — |
|
||
| 排班派单/调单 | ✅ **本组** | ✅ 全部 | — | — |
|
||
| 工单留痕查看 | **本组** | ✅ 全部 | ✅ 全部 | — |
|
||
| 质控放行/退回 | ✅ **本组** | ✅ 全部 | — | — |
|
||
| 文书导出 | — | ✅ | ✅ | — |
|
||
| 系统设置(B8) | — | — | — | ✅ |
|
||
|
||
> **⚠️ 四条口径(与 §3.4.1 一致)**:① **"本组"=查 `staff.group_leader_id = 本人 staff_id` 的护理员**,不分组时组长看不到任何人;② **机构管理员不碰业务数据**,只在 B8 系统设置里有权限;③ **"院长无修改权限"修正为"仅当只持 `director` 时写接口 403"**,兼 `qc`/`admin` 按并集放行;④ **一人可兼多角色**,**唯一禁止"自审自放行"**(`4001`)。
|
||
|
||
---
|
||
|
||
## 六、家属轻量端(微信公众号)
|
||
|
||
> **形态**:**微信公众号**(不做独立 APP、不做小程序)。**服务号优先**,**菜单 → H5 页面**。
|
||
> **一句话设计目标**:**让家属"偶尔看一眼"就够——不装 APP、不打卡、不被派任务。**
|
||
|
||
### 6.1 ⭐ 三条铁律(本端最重要的设计约束)
|
||
|
||
1. **零任务**——**不做每日打卡、不做强制确认、不做任何"必须完成"的事**;
|
||
2. **默认只读**——家属**没有任何修改权限**(可"反馈",但改不了任何记录);
|
||
3. **只看得见自家**——**只能看自己关联的老人**。
|
||
|
||
> **⚠️ 第 1 条的实践依据**:已有公开报道——某些地区要求家属"**每日线上打卡 1 小时**",**操作困难、怨声载道**。
|
||
> **我方判断**:**家属是"外援",不是"员工"**。**给家属派任务,是把机构的责任转嫁给家属**。
|
||
|
||
### 6.2 页面地图(3 个页面,不再多)
|
||
|
||
| 序 | 页面 | 一句话职责 | 是否必须 |
|
||
|:---:|---|---|:---:|
|
||
| **F1** | **我家老人** | 老人基本情况、当前服务计划(只读) | ✅ |
|
||
| **F2** | **服务记录** | 谁来过、做了什么、多久(只读) | ✅ |
|
||
| **F3** | **确认与反馈** | 可选确认某次服务 / 留言反馈 | ⭕ 可选 |
|
||
|
||
**公众号菜单**:`[ 我家老人 ]` `[ 服务记录 ]` `[ 有问题找机构 ]`——**只有三个菜单项**。
|
||
|
||
**首次进入:绑定老人(仅一次)**
|
||
|
||
```
|
||
┌──────────────────────────────────┐
|
||
│ 绑定家里的老人 │
|
||
│ 请输入老人姓名 + 手机号后 4 位 │
|
||
│ [ 姓名 ] [ 手机号后4位 ] │
|
||
│ [ 绑 定 ] │
|
||
│ 温馨提示:绑定后,您可以查看 │
|
||
│ 老人的服务记录。如绑定不成功, │
|
||
│ 请联系机构。 │
|
||
└──────────────────────────────────┘
|
||
```
|
||
|
||
| 规则 | 说明 |
|
||
|---|---|
|
||
| **绑定方式** | 姓名 + 手机号后 4 位(**不用验证码,简化**) |
|
||
| **绑定失败** | 提示"请联系机构核对信息" |
|
||
| **可绑几位** | 允许多人绑同一位老人 |
|
||
| **解绑** | 需联系机构 |
|
||
| **⚠️ 防泄露** | 姓名+手机号后 4 位**已足以防止随机猜测**;**不做"输入身份证"这类高门槛验证** |
|
||
|
||
### 6.3 F1 我家老人
|
||
|
||
| 字段 | 规则 |
|
||
|---|---|
|
||
| **老人称呼** | 只显示称呼,**不显示身份证、住址等敏感信息** |
|
||
| **护理等级** | **必须写"一级护理(最高级)"** |
|
||
| **服务计划** | 项目+频次;**只读** |
|
||
| **服务人员** | 显示**姓名**(本期 `staff` 表**无"工号"字段**,不做工号;**不显示手机号**,走机构统一联系) |
|
||
| **不显示** | 价格、费用、限额、基金支付比例——**家属端不涉及钱** |
|
||
|
||
### 6.4 F2 服务记录
|
||
|
||
```
|
||
┌───────────────────────────────────┐
|
||
│ 李奶奶的服务记录 │
|
||
├───────────────────────────────────┤
|
||
│ 今天 10-11 │
|
||
│ ┌─────────────────────────────┐ │
|
||
│ │ 09:02–10:00 王阿姨 · 58 分钟 │ │
|
||
│ │ 翻身叩背、进食、口腔清洁 │ │
|
||
│ │ [知道啦 ○] │ │ ← 可选确认
|
||
│ └─────────────────────────────┘ │
|
||
│ 昨天 10-10 │
|
||
│ ┌─────────────────────────────┐ │
|
||
│ │ 09:15–10:05 王阿姨 · 50 分钟 │ │
|
||
│ │ 翻身叩背、进食、擦浴 │ │
|
||
│ │ ✅ 已确认 │ │
|
||
│ └─────────────────────────────┘ │
|
||
└───────────────────────────────────┘
|
||
```
|
||
|
||
| 元素 | 规则 |
|
||
|---|---|
|
||
| **排序** | 时间倒序(最新的在最上) |
|
||
| **每条显示** | 日期、时间段、**服务人员姓名**、**时长**、**服务项目清单** |
|
||
| **照片** | ⚠️ **本期一律不展示**——见 §6.7 |
|
||
| **异常** | 如有异常上报,显示"已向机构反馈"(**不展示异常细节**,避免家属过度焦虑) |
|
||
| **服务人员** | 显示姓名;**如由多位护理员服务,如实显示实际那个人**(对不上号=信任问题) |
|
||
|
||
> **⭐ 家属端最实在的一件事**:**看到"计划里有的项目,实际做了没有"。** 例:计划含"生命体征测量",某天记录里标"未执行"——**家属能看到**。
|
||
> **⚠️ 但措辞要格外小心**:**不呈现为"护理员没做",而呈现为"本次未执行"**——因为"未执行"可能是老人当时状态不适合,原因在机构侧。
|
||
|
||
### 6.5 F3 确认与反馈
|
||
|
||
**可选确认(与拍照分档配套)**
|
||
|
||
```
|
||
┌───────────────────────────────────┐
|
||
│ 10-11 09:02–10:00 │
|
||
│ 王阿姨上门做了:翻身叩背、进食、口腔清洁 │
|
||
│ 您知道这次服务吗? │
|
||
│ [ ✅ 知道啦 ] [ 有疑问 ] │
|
||
│ (不点也没关系) │ ← 明确告知"非必须"
|
||
└───────────────────────────────────┘
|
||
```
|
||
|
||
| 规则 | 说明 |
|
||
|---|---|
|
||
| **是否必须** | **完全可选**——不点,**不影响服务记录成立** |
|
||
| **点击"知道啦"** | 记为该次服务的**家属确认**(软证据) |
|
||
| **点击"有疑问"** | 跳转到反馈,**通知机构**(走独立通道,不进异常上报流程) |
|
||
| **明确告知** | **必须显示"不点也没关系"**——否则等同于隐性派任务 |
|
||
| **次数限制** | 一条记录只能确认一次 |
|
||
|
||
> **⭐ 为什么"不点也没关系"必须写在界面上**:**我们承诺零任务,就必须把这句话写出来。** 否则家属会认为"是不是应该点",**那就变成了软性任务**。
|
||
|
||
**反馈(有问题找机构)**
|
||
|
||
| 项 | 规则 |
|
||
|---|---|
|
||
| **入口** | 菜单第三项 + 每次服务记录下方 |
|
||
| **形式** | **可选分类**(服务态度/时间不准/项目没做/其他)+ **可选文字或语音** |
|
||
| **必填** | **只有分类必选** |
|
||
| **响应** | 通知机构(组长+质控员);**机构应在 24 小时内响应**(内部要求,非对外承诺) |
|
||
| **闭环** | 机构处理后,家属端显示"已处理" |
|
||
| **⚠️ 边界** | **反馈不是投诉受理**——不承诺处理时效、不替代医保投诉渠道 |
|
||
|
||
### 6.6 边界(写死,本端最容易出事)
|
||
|
||
| 项 | 边界 |
|
||
|---|---|
|
||
| **费用** | **家属端完全不涉及钱**——不显示价格、不显示限额、不显示基金支付比例、不做账单 |
|
||
| **评价** | **不做星级评分**——评分会让护理员为好评而"讨好"或"摆拍" |
|
||
| **异常细节** | 不展示异常上报的具体内容(只显示"已向机构反馈") |
|
||
| **真人联系** | **不提供护理员个人手机号**;联系走机构 |
|
||
| **医疗建议** | **不给任何医疗判断或建议** |
|
||
| **替代官方** | 家属端**不是官方渠道**——待遇查询、评估申请等仍走官方 |
|
||
|
||
**⭐ 隐私号(与全站口径一致)**:**真实号码永不展示**(全站统一,无开关)。**家属→机构**通过机构统一电话;**家属→护理员不提供**。
|
||
|
||
### 6.7 措辞纪律(本端专属,写死)
|
||
|
||
| # | 规则 | 反例 | 正例 |
|
||
|:---:|---|---|---|
|
||
| 1 | **不写"未做",写"本次未执行"** | "护理员没做翻身" | "本次未执行" |
|
||
| 2 | **不写"迟到",写实际时间** | "护理员迟到了" | "09:15 到达" |
|
||
| 3 | **不写"缺勤"** | "今天没人来" | "今天暂无服务记录" |
|
||
| 4 | **不出现"监督""考核""举报"** | "您可以监督护理员" | — |
|
||
| 5 | **"知道啦"不设默认勾选** | 默认已勾选 | 必须主动点 |
|
||
| 6 | **不承诺任何时效** | "我们会在 2 小时内处理" | "我们会尽快处理" |
|
||
| 7 | **等级必带"(最高级)"** | "一级护理" | "一级护理(最高级)" |
|
||
|
||
### 6.8 家属端已定事项
|
||
|
||
| # | 事项 | 定论 |
|
||
|:---:|---|---|
|
||
| 1 | **照片对家属可见** | **本期不给**:字段 `visible_to_family` **恒为 0**,后台**不建开关**,家属端**一律不展示服务照片**。核心判断:**这个口子一旦开就回不去**——家属看惯了照片,某次因隐私或疏忽没拍,反而会被理解成"没做"。二期若要开,须先定照片保留期限与打码规则 |
|
||
| 2 | **"知道啦"是否显示确认人姓名** | **显示**,格式 **"姓氏+关系"**(如"张女士(女儿)"),**不显示全名、不显示手机号**。多位子女时能避免重复追问,也让机构知道谁来对接的 |
|
||
|
||
---
|
||
|
||
## 七、数据库设计(23 张表)
|
||
|
||
> **通用字段**(每张表都有,下文不再重复):`created_at`/`created_by`/`updated_at`/`updated_by`/`is_deleted`(**本期一律软删除,不物理删**)。
|
||
|
||
### 7.1 表总览(23 张)
|
||
|
||
| # | 表名 | 中文 | 本期用途 |
|
||
|:---:|---|---|---|
|
||
| 1 | `org` | 机构 | 机构信息、属地、账号根 |
|
||
| 2 | `user` | 账号 | 登录账号(后台四角色) |
|
||
| 3 | `staff` | 人员 | 护理员/医护基础信息+**资质字段预留** |
|
||
| 4 | `elder` | 老人档案 | 待遇状态、等级、参保地 |
|
||
| 5 | `elder_status_log` | 待遇状态变更日志 | **状态变更留痕** |
|
||
| 6 | `elder_svc` | 老人个人项目库 | **老人长期可做/常做项目清单(派单带入源,R10)** |
|
||
| 7 | `plan` | 服务计划(头) | 周期、等级、护理方式、确认信息 |
|
||
| 8 | `plan_item` | 服务计划(项) | 计划内含哪些项目、频次、时长 |
|
||
| 9 | `svc_national` | 国家基准库 | 国家 36 项+官方代码 |
|
||
| 10 | `svc_local` | 属地目录库 | 昆明 45 项;州市引用 L1 |
|
||
| 11 | `svc_mapping` | 属地↔国家映射 | **机构不可见** |
|
||
| 12 | `svc_org` | 机构项目库 | 机构勾选+配价 |
|
||
| 13 | `order` | 工单 | 一次服务任务 |
|
||
| 14 | `record` | 服务留痕(主) | 签到签退、时长、语音、状态 |
|
||
| 15 | `record_item` | 留痕项目明细 | 每个项目的"做了/没做/免拍" |
|
||
| 16 | `record_photo` | 留痕照片 | 照片存储引用 |
|
||
| 17 | `record_abnormal` | 异常上报 | 9 宫格分类+语音+照片 |
|
||
| 18 | `qc` | 质控记录 | 放行/退回、异常处理 |
|
||
| 19 | `report` | 上报池 | 【预留】R4,建表不写业务数据 |
|
||
| 20 | `settlement` | 结算 | 【预留】R1,建表不写业务数据 |
|
||
| 21 | `dict_abnormal_type` | 异常分类字典 | 9 宫格配置 |
|
||
| 22 | `dict_photo_tier` | 拍照分档字典 | 必拍/免拍/可拍配置 |
|
||
| 23 | `loc_config` | 统筹区配置 | 含目录来源(昆明 45 / 州市 36) |
|
||
|
||
### 7.2 核心表字段定义
|
||
|
||
**`org` 机构表**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 | 标记 |
|
||
|---|---|:---:|---|---|
|
||
| `org_id` | varchar(32) | ✅ | 机构 ID(主键) | 【系统】 |
|
||
| `org_name` | varchar(100) | ✅ | 机构全称(**须与备案名称一致**) | 【本期】 |
|
||
| `org_type` | varchar(20) | ✅ | `medical_care`(医养结合)/`nursing_home`(养老机构)/`home_care`(居家上门)/`home_individual`(居家个体) | 【本期】 |
|
||
| `credit_code` | varchar(18) | ✅ | 统一社会信用代码 | 【本期】 |
|
||
| `loc_code` | varchar(12) | ✅ | **参保地/统筹区代码**(决定加载哪套目录) | 【本期】 |
|
||
| `loc_name` | varchar(50) | ✅ | 统筹区名称(冗余,便于展示) | 【本期】 |
|
||
| `svc_source` | varchar(10) | ✅ | 本机构目录来源:`national`/`local` | 【本期】 |
|
||
| `license_no` | varchar(50) | ○ | 定点服务机构编号 | 【本期】 |
|
||
| `address` | varchar(200) | ✅ | 机构地址 | 【本期】 |
|
||
| `contact_name` / `contact_phone` | varchar | ✅ | 联系人/电话 | 【本期】 |
|
||
| `bed_count` | int | ○ | **床位备案数**(机构护理类必填) | 【本期】 |
|
||
| `sign_date` | date | ○ | 定点服务协议签订日(建档倒计时基准) | 【本期】 |
|
||
|
||
**`user` 账号表**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 | 标记 |
|
||
|---|---|:---:|---|---|
|
||
| `user_id` | varchar(32) | ✅ | 账号 ID | 【系统】 |
|
||
| `org_id` | varchar(32) | ✅ | 所属机构 | 【本期】 |
|
||
| `login_name` | varchar(50) | ✅ | 登录名(手机号) | 【本期】 |
|
||
| `real_name` | varchar(30) | ✅ | 真实姓名 | 【本期】 |
|
||
| `role` | varchar(50) | ✅ | **角色(可多值,逗号分隔)**:`nurse`/`leader`/`qc`/`admin`/`director`;如 `director,admin`、`leader,qc`。**判权=并集**(见 §3.4.1 补充 2) | 【本期】 |
|
||
| `staff_id` | varchar(32) | ○ | 关联 `staff` 表(护理员角色必填) | 【本期】 |
|
||
| `status` | varchar(10) | ✅ | `active`/`disabled` | 【本期】 |
|
||
|
||
> **⚠️ 权限落地纪律**:**角色写在后端权限校验,不在界面做开关**。**仅当账号只持 `director` 时,写接口返回 403**;**若同时持 `qc`/`leader`/`admin`,按角色并集放行**(§3.4.1 补充 2)。
|
||
|
||
**`staff` 人员表(含 R2 预留)**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 | 标记 |
|
||
|---|---|:---:|---|---|
|
||
| `staff_id` | varchar(32) | ✅ | 人员 ID | 【系统】 |
|
||
| `org_id` | varchar(32) | ✅ | 所属机构 | 【本期】 |
|
||
| `name` | varchar(30) | ✅ | 姓名 | 【本期】 |
|
||
| `id_card_no` | varchar(18) | ✅ | 身份证号(**实名制**,加密存储) | 【本期】 |
|
||
| `person_code` | varchar(20) | ○ | **医保人员编码**(LN+6位区划+6位顺序;**字段留余量**) | 【预留】R4 |
|
||
| `phone` | varchar(15) | ✅ | 手机号(APP 登录用) | 【本期】 |
|
||
| `job_type` | varchar(20) | ✅ | `nurse`/`nurse_medical`/`manager` | 【本期】 |
|
||
| `work_type` | varchar(10) | ✅ | `fulltime`/`parttime` | 【本期】 |
|
||
| `entry_date` / `leave_date` | date | ○ | 入职/离职日 | 【本期】 |
|
||
| `employ_status` | varchar(10) | ✅ | `on_job`/`leave`/`transfer` | 【本期】 |
|
||
| `cert_type` / `cert_no` / `cert_level` / `cert_expire` / `cert_status` | varchar/date | ○ | **资质五字段**(本期**人工录入**) | **【预留】R2** |
|
||
| `cert_verify_url` | varchar(200) | ○ | 联网查验结果留痕 | **【预留】R2** |
|
||
| **`group_leader_id`** | varchar(32) | ○ | **归属组长**(=该护理员所在"组"的组长 `staff_id`;本组界定的唯一依据,见 §3.4.1 补充 4)。**可为空=机构未分组** | 【本期】 |
|
||
|
||
> **⚠️ 本期数据不空转纪律**:**`cert_*` 字段本期就要人工录入**——签约机构手上都有证书信息,**先录进去,二期直接可用**。
|
||
> **⚠️ 界面纪律**:本期 `cert_*` 字段**只在精简版人员管理里可填可看**,**不做到期提醒、不做禁派拦截**(那是二期)。
|
||
|
||
**`elder` 老人档案表(① 待遇档案)**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 | 标记 |
|
||
|---|---|:---:|---|---|
|
||
| `elder_id` | varchar(32) | ✅ | 老人 ID | 【系统】 |
|
||
| `org_id` | varchar(32) | ✅ | 所属机构 | 【本期】 |
|
||
| **`loc_code`** | varchar(12) | ✅ | **参保地/统筹区**(全链路取目录依据) | 【本期】 |
|
||
| `name` | varchar(30) | ✅ | 姓名 | 【本期】 |
|
||
| `gender` | char(1) | ✅ | `M`/`F` | 【本期】 |
|
||
| `birth_date` | date | ✅ | 出生日期(系统算年龄) | 【本期】 |
|
||
| `id_card_no` | varchar(18) | ✅ | 身份证号(加密) | 【本期】 |
|
||
| `phone` | varchar(15) | ○ | 联系电话 | 【本期】 |
|
||
| `address` | varchar(200) | ✅ | 居住地址(服务上门用) | 【本期】 |
|
||
| `guardian_name` / `guardian_phone` | varchar | ○ | 紧急联系人 | 【本期】 |
|
||
| `insur_no` | varchar(30) | ✅ | **医保参保号** | 【本期】 |
|
||
| `insur_type` | varchar(10) | ✅ | `employee`/`resident` | 【本期】 |
|
||
| `insur_years` | int | ○ | **缴费年限**(参保核验时登记,流程 01 第 1 步) | 【本期】 |
|
||
| `insur_verify_status` | varchar(20) | ○ | **参保核验状态**:`verified`/`unverified`——**本期无医保接口,核验以机构线下确认为准**,结果记此字段留痕;接口发布后升级在线核验 | 【本期】 |
|
||
| `insur_verify_date` | date | ○ | 参保核验日期(留痕) | 【本期】 |
|
||
| `assess_level` | varchar(20) | ✅ | **失能等级**:`sev_1`(重度一级·**最高级**)/`sev_2`/`sev_3` | 【本期】 |
|
||
| `care_level` | varchar(20) | ✅ | **护理等级**:`care_1`(一级·**最高级**)/`care_2`/`care_3` | 【本期】 |
|
||
| `assess_date` | date | ✅ | 评估结论日期 | 【本期】 |
|
||
| `assess_org` | varchar(100) | ○ | 评估机构名称 | 【本期】 |
|
||
| `benefit_start` / `benefit_end` | date | ✅ | **待遇有效期起止** | 【本期】 |
|
||
| `treat_status` | varchar(20) | ✅ | **待遇状态**(见 §7.4) | 【本期】 |
|
||
| `status_source` | varchar(10) | ✅ | `manual`/`api`——**本期恒 `manual`** | **【预留】R5** |
|
||
| `status_change_date` | date | ○ | 状态最后变更日 | 【本期】 |
|
||
| `hosp_start` / `hosp_end` | date | ○ | **住院起止日**(`住院暂停` 时必填) | 【本期】 |
|
||
| `photo_tier_override` | json | ○ | 机构对本老人拍照分档的**加严覆盖**(**只能加严**) | 【本期】 |
|
||
| `need_assess` | json | ○ | **上门需求评估五块信息**(流程 02 第 2 步采集,供第 3 步制定计划引用):`living_env`(居住环境)/`care_condition`(照护条件)/`svc_demand`(服务项目诉求)/`special_risk`(特殊风险)/`time_preference`(时间偏好)。**结构化 JSON 承载,非纯文本备注** | 【本期】 |
|
||
| `note` | text | ○ | 备注(**含"注意事项"区块内容**) | 【本期】 |
|
||
|
||
> **⚠️ 等级显示纪律**:`assess_level`/`care_level` 在界面上**必须带"最高级"字样**,**不允许前端省略**。
|
||
> **⚠️ 认知衰退边界**:`assess_level` 只反映**日常活动 6 项**自评+正式评估结论;**认知/感知觉 7 项须上门评估,系统不筛**。此口径须出现在任何展示等级的页面注脚。
|
||
|
||
**`elder_status_log` 待遇状态变更日志**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|---|---|:---:|---|
|
||
| `log_id` | varchar(32) | ✅ | 主键 |
|
||
| `elder_id` | varchar(32) | ✅ | 老人 ID |
|
||
| `from_status` / `to_status` | varchar(20) | ✅ | 变更前后状态 |
|
||
| `change_reason` | varchar(200) | ✅ | **变更原因(必填,不允许空)** |
|
||
| `source` | varchar(10) | ✅ | `manual`/`api` |
|
||
| `operator_id` | varchar(32) | ✅ | 操作人 |
|
||
| `evidence_file` | varchar(200) | ○ | 佐证材料(如出院小结照片路径) |
|
||
| `changed_at` | datetime | ✅ | 变更时间 |
|
||
|
||
> **⚠️ 关键设计**:**待遇状态每一次变更都必须写一条日志,`change_reason` 强制必填**。
|
||
> **理由**:`treat_status` 直接决定"能不能服务、能不能计费"。**如果不留痕,"住院期间照做"这类问题将无法追溯**。**这条日志是机构自己的护身符。**
|
||
|
||
**`elder_svc` 老人个人项目库(R10,派单带入源)**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 | 标记 |
|
||
|---|---|:---:|---|---|
|
||
| `elder_svc_id` | varchar(32) | ✅ | 主键 | 【系统】 |
|
||
| `elder_id` / `org_id` | varchar(32) | ✅ | 老人/机构 | 【本期】 |
|
||
| `svc_id` | varchar(32) | ✅ | **引用 L4 `svc_org.org_svc_id`**(只从本机构项目库选) | 【本期】 |
|
||
| `svc_name_snapshot` | varchar(100) | ✅ | **项目名快照**(同 `plan_item` 纪律,防目录改名) | 【本期】 |
|
||
| `svc_code_snapshot` | varchar(20) | ○ | **国家代码快照**(上报基准,二期用) | 【预留】R4 |
|
||
| `care_mode` | varchar(20) | ✅ | **护理方式**(`inst_medical`/`inst_nursing`/`home_org`/`home_individual`)——**换方式=重制个人项目库** | 【本期】 |
|
||
| `is_active` | tinyint | ✅ | 是否启用(软停用不物理删) | 【本期】 |
|
||
|
||
> **⚠️ 关键设计(三条,写死)**:
|
||
> 1. **`elder_svc` 只存"做哪些",`plan` 只存"怎么做"**——前者是长期稳定底表(派单带入源),后者是周期生效的正式安排(频次/时长/拍照档)。**两者不互相替代、不重复存规格字段**。
|
||
> 2. **项目只能从 L4 选**——`svc_id` 必须落在本机构 `svc_org` 内,**不可自创、不可写机构目录外项目**(与 `plan_item` 同纪律,防"个人项目库"绕开属地合规)。
|
||
> 3. **`care_mode` 是硬键**——老人换护理方式(居家→机构)必须**重制**个人项目库(因 §2.5 项数规则按护理方式套用),**旧库只读留档**(同"计划变更留旧版"纪律)。**可空**:老人可不维护,此时制定计划仍从 L4 手动勾选。
|
||
|
||
**`plan` 服务计划表(② 服务计划)**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 | 标记 |
|
||
|---|---|:---:|---|---|
|
||
| `plan_id` | varchar(32) | ✅ | 计划 ID | 【系统】 |
|
||
| `elder_id` / `org_id` | varchar(32) | ✅ | 老人/机构 | 【本期】 |
|
||
| `plan_period_start` / `plan_period_end` | date | ✅ | **计划周期** | 【本期】 |
|
||
| `care_level` | varchar(20) | ✅ | 计划对应护理等级(**改等级须重新制定计划**) | 【本期】 |
|
||
| `care_mode` | varchar(20) | ✅ | `inst_medical`/`inst_nursing`/`home_org`/`home_individual` | 【本期】 |
|
||
| `item_count` | int | ✅ | **计划项目数**(系统按属地规则校验) | 【本期】 |
|
||
| `item_count_rule` | varchar(100) | ○ | 校验依据快照(如"昆明·医养结合·一级护理 ≥18 项") | 【本期】 |
|
||
| `extra_item_count` | int | ○ | 附加项数(**≤5**) | 【本期】 |
|
||
| `week_freq` / `month_hours` | int | ○ | 居家类的**每周次数/每月小时数** | 【本期】 |
|
||
| `plan_status` | varchar(20) | ✅ | `draft`/`active`/`changed`/`ended` | 【本期】 |
|
||
| `confirm_elder` / `confirm_guardian` | tinyint | ○ | 确认(0/1,**可选,不强制**) | 【本期】 |
|
||
| `confirm_time` | datetime | ○ | 确认时间 | 【本期】 |
|
||
| `plan_basis` | json | ○ | **计划依据**(流程 02 第 3 步结构化留痕"定计划参考了什么"):护理服务建议的**来源机构/建议方向/建议项目/日期**。评估/经办侧给的**外部参考**,机构据实录入,证明"计划不是凭空定的" | 【本期】 |
|
||
| `change_from_plan_id` | varchar(32) | ○ | **变更来源计划**(**旧计划不删**) | 【本期】 |
|
||
|
||
> **⚠️ 计划变更纪律**:**改计划=新建一条计划 + 指向旧计划**,**绝不原地改**。
|
||
> **理由**:政策要求"服务与计划相吻合"。若原地改,历史工单会突然"对上"一个当时不存在的计划——**这恰恰是"篡改数据"的典型形态**。**留旧版=留证据。**
|
||
|
||
**`plan_item` 计划项目明细表**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 | 标记 |
|
||
|---|---|:---:|---|---|
|
||
| `plan_item_id` / `plan_id` | varchar(32) | ✅ | 主键/计划 ID | 【系统】/【本期】 |
|
||
| `svc_id` | varchar(32) | ✅ | **引用 `svc_local` 或 `svc_national` 的 ID** | 【本期】 |
|
||
| `svc_name_snapshot` | varchar(100) | ✅ | **项目名快照**(防目录改名后历史计划显示错乱) | 【本期】 |
|
||
| `svc_code_snapshot` | varchar(20) | ○ | **国家代码快照**(上报基准,二期用) | 【预留】R4 |
|
||
| `freq_type` | varchar(20) | ○ | `daily`/`weekly_n`/`monthly_n`/`as_needed` | 【本期】 |
|
||
| `freq_value` | int | ○ | 频次值 | 【本期】 |
|
||
| `duration_min` | int | ○ | **单次时长(分钟)** | 【本期】 |
|
||
| `photo_tier` | varchar(10) | ✅ | **拍照档位**:`must`/`optional`/`free` | 【本期】 |
|
||
| `caution_note` | text | ○ | **注意事项**(显示在 APP M4) | 【本期】 |
|
||
| `is_medical` / `need_cert` | tinyint | ✅ | 是否医疗护理类/是否要求持证 | 【本期】 |
|
||
|
||
> **⚠️ `svc_name_snapshot` 不是冗余,是必需**:目录会更新。**快照保证历史计划与历史留痕永远显示当时的项目名**,否则三年前的服务记录会突然"变成"另一个项目名——**这在稽核中是致命的**。
|
||
|
||
**服务项目四层表(L1–L4)**
|
||
|
||
`svc_national`(L1 · 36 项):`nat_id`/`nat_code`(**17 字符**,字段留余量 `varchar(20)`)/`nat_name`/`nat_category`(`life`/`medical`)/`nat_sub_category`/`recommend_staff`/`recommend_duration`/`is_medical`/`version`
|
||
|
||
`svc_local`(L2):`loc_id`/`loc_code`/`local_item_name`/`local_category`/`svc_time`/`min_freq`/`staff_qual`/`is_medical`/`source_doc`/`map_status`(`mapped`/`local_only`)
|
||
|
||
`svc_mapping`(L3 · **机构不可见**):`map_id`/`loc_id`/`nat_id`(**可空=无法映射**)/`map_type`(`one_to_one`/`many_to_one`/`partial`/`local_only`/`national_only`)/`map_note`/`status`(`confirmed`/`pending`)
|
||
|
||
`svc_org`(L4):`org_svc_id`/`org_id`/`src_type`/`src_id`/`is_enabled`/`price`【预留R1】/`price_effective`【预留R1】/`is_new_national`
|
||
|
||
> **⚠️ 五条多属地纪律在表结构上的落地**:
|
||
> 1. **走配置不走代码** → 新增州市=插一行 `loc_config` + 一批 `svc_local`,**代码零改动**;
|
||
> 2. **必须可映射** → `svc_mapping` 保证每项可追;`map_status = local_only` 的项**上报时自动排除**;
|
||
> 3. **机构不可改目录** → `svc_org` **只有 `is_enabled` 和 `price` 可改**,其余只读;
|
||
> 4. **国家新增项显式提示** → `is_new_national = 1` 的项**独立区块显示**;
|
||
> 5. **映射表不对外** → `svc_mapping` 表**不提供任何机构侧接口**。
|
||
|
||
**`order` 工单表(③ 派单工单)**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 | 标记 |
|
||
|---|---|:---:|---|---|
|
||
| `order_id` | varchar(32) | ✅ | 工单 ID | 【系统】 |
|
||
| `elder_id` / `org_id` | varchar(32) | ✅ | 老人/机构 | 【本期】 |
|
||
| `plan_id` | varchar(32) | ✅ | **来源计划**(L2 硬锁落地) | 【本期】 |
|
||
| `service_date` | date | ✅ | **服务日期** | 【本期】 |
|
||
| `time_slot_start` / `time_slot_end` | datetime | ✅ | **服务时段**(用于冲突检测) | 【本期】 |
|
||
| `assignee_id` | varchar(32) | ○ | 派给谁(`staff_id`) | 【本期】 |
|
||
| `assign_time` | datetime | ○ | 派单时间 | 【本期】 |
|
||
| `assign_mode` | varchar(20) | ○ | `manual`/`batch_recommend`(**批量必须人工确认**) | 【本期】 |
|
||
| `order_status` | varchar(20) | ✅ | **工单状态**(见 §7.4) | 【本期】 |
|
||
| `item_list` | json | ✅ | 本次工单项目的快照 | 【本期】 |
|
||
| `need_photo` | tinyint | ✅ | 本次是否含必拍项 | 【本期】 |
|
||
| `cancel_reason` | varchar(200) | ○ | 取消原因(已取消必填) | 【本期】 |
|
||
| `reschedule_log` | json | ○ | **调单记录** | 【本期】 |
|
||
| `qualification_check` | varchar(20) | ○ | 资质校验结果(**本期恒 `unchecked`**) | **【预留】R2** |
|
||
| **`billable`** / **`price_snapshot`** / **`settle_period`** | varies | ○ | 可计费/服务时点价/结算周期 | **【预留】R1** |
|
||
| `exception_flag` | tinyint | ○ | 是否异常费用 | **【预留】R6** |
|
||
|
||
> **⚠️ 一种硬冲突、其余软提示**:派单/调单时,**只对"同一 `assignee_id` 且 `time_slot` 重叠"返回硬错误(拒绝保存)**;其余情况**一律只返回提示、不拦**。
|
||
> **理由**:**拦截要准,不能把便利性拦掉。** 组长宁愿微信群说一句就改了,也不会忍受系统处处拦住。
|
||
|
||
**`record` 服务留痕表(③ 履约留痕)**
|
||
|
||
| 字段 | 类型 | 必填 | 说明 | 标记 |
|
||
|---|---|:---:|---|---|
|
||
| `record_id` | varchar(32) | ✅ | 留痕 ID | 【系统】 |
|
||
| `order_id` | varchar(32) | ✅ | **来源工单**(L3 硬锁落地) | 【本期】 |
|
||
| `elder_id` / `assignee_id` | varchar(32) | ✅ | 老人/护理员 | 【本期】 |
|
||
| `checkin_time` | datetime | ✅ | **签到时间(系统自动取,不允许手工改)** | 【本期】 |
|
||
| `checkout_time` | datetime | ○ | **签退时间(同上)** | 【本期】 |
|
||
| `duration_min` | int | ○ | 实际时长(**系统算,人不能改**) | 【本期】 |
|
||
| `checkin_lat` / `checkin_lng` | decimal(10,6) | ○ | 签到定位(**定位失败不阻塞**) | 【本期】 |
|
||
| `locate_status` | varchar(20) | ✅ | `ok`/`failed`/`denied`(**失败照常可提交**) | 【本期】 |
|
||
| `record_status` | varchar(20) | ✅ | **留痕状态**(见 §7.4) | 【本期】 |
|
||
| `voice_file` | varchar(200) | ○ | 语音备注(免拍档留痕四要素之一) | 【本期】 |
|
||
| `offline_flag` | tinyint | ✅ | 是否离线创建 | 【本期】 |
|
||
| `client_md5` | varchar(32) | ✅ | **客户端指纹**(防重复上传、防篡改) | 【系统】 |
|
||
| `submit_time` | datetime | ○ | 提交时间 | 【系统】 |
|
||
| `actual_duration_tier` | varchar(10) | ○ | 时长档位(**<5 分钟标黄**) | 【系统】 |
|
||
| `biz_line` | varchar(20) | ✅ | **业务线**:本期恒 `ltci`(长护险)。**预留 `self_pay`(自费)等分线位**——自费服务须落在留痕层单独计时、单独记账,与待遇服务**两条时间线不重叠**(见 §7.3.1 R8 与流程 04 第 4 步) | 【预留】R8 |
|
||
|
||
> **⚠️ 三条硬设计(都是合规点)**:
|
||
> 1. **签到签退时间、时长一律系统取,接口不接受客户端传入这两个值**——防"补录时间";
|
||
> 2. **定位失败不阻塞提交**——老人家里弱网是常态,**不能因为定位不到就不让干活**;
|
||
> 3. **时长不设"最低时长硬拦"**,只记 `actual_duration_tier`,**由质控看,不由系统罚**。
|
||
|
||
**`record_item` 留痕项目明细表**:`record_item_id`/`record_id`/`svc_id`/`exec_result`(**`done`/`undo_not_done`(本次未执行)/`undo_refused`(老人拒绝)**)/`undo_reason`/`extra_flag`/`photo_required`
|
||
|
||
> **⚠️ 措辞纪律落到数据层**:`exec_result` 的枚举值**必须是 `undo_not_done`(本次未执行)而不是 `not_done`(未做)**。
|
||
> **理由**:**"未做"含指责意味,"本次未执行"是事实陈述**——这条在字段命名层就要卡住,不让前端有机会写"未做"。
|
||
|
||
**`record_photo` 留痕照片表**:`photo_id`/`record_id`/`svc_id`/`file_path`(**压缩后 ≤500KB**)/`file_size`/`visible_to_family`(**本期恒 0**)/`upload_batch`/`keep_until`(**补传后至少 7 天**)
|
||
|
||
**`record_abnormal` 异常上报表**:`abnormal_id`/`record_id`/`elder_id`/`reporter_id`/`abnormal_type`(**9 宫格,必选**)/`abnormal_desc`(可选)/`voice_file`/`has_photo`/`notify_status`/`handle_status`/`handle_result`/`link_plan_change`
|
||
|
||
> **⚠️ "一切可选、分类必选"的落地**:**只有 `abnormal_type` 是必填,其余全可选**。**宁要一条没人名没照片的异常,也不要一条没报上来的压疮。**
|
||
|
||
**`qc` 质控记录表(④ 质控闸门)**:`qc_id`/`record_id`/`qc_type`(`normal`/`auto_push`/`recheck`)/`push_reason`(**五类**)/`qc_result`/`qc_note`(**退回时必填**)/`qc_staff_id`/`qc_time`/`pass_time`/`first_qc_id`
|
||
|
||
> **⚠️ 全量非抽检(落库层面保证)**:**每一条 `record_status = submitted` 的留痕,都必须生成一条 `qc` 记录**(定时任务扫描生成)。
|
||
> **理由**:抽检=总有漏的;而**"先质控再上报"是国家明文**。**全量生成 qc 记录,是把"不抽检"从人工承诺变成数据结构。**
|
||
|
||
### 7.3 二期预留表(本期建表,不写入业务数据)
|
||
|
||
**`report` 上报表**:`report_id`/`record_id`/`order_id`/`report_status`/`report_time`/`official_no`(**官方受理号**)/`loc_code`/`nat_code_snapshot`/`adapter_result`
|
||
|
||
**`settlement` 结算表**:`settle_id`/`org_id`/`settle_period`/`amount_total`/`amount_passed`/`amount_rejected`/**`amount_fund`(基金支付部分)/`amount_self_pay`(个人自付部分)**/`submit_date`/`pay_date`/`exception_reason`/`handle_deadline`
|
||
|
||
> **⚠️ 个人自付拆分(流程 05 对齐)**:长护险基金支付 70%(职工)/ 50%(居民),**个人自付 30% / 50%**。结算时须**分开记、分开展示**——`amount_fund`=待医保结算的基金部分,`amount_self_pay`=待老人自付的应收部分(由机构向老人/家属直接收取,不走基金)。**与"自费项目"是两回事**:个人自付=待遇内个人掏的部分;自费项目=目录外、100% 自购。
|
||
|
||
### 7.3.1 ⭐ 多业务线扩展(R8 预留 · 2026-10-12 新增)
|
||
|
||
> **问题**:机构不止有长护险业务,还有**自费陪护、居养(养老机构)、民政补贴**等其他业态。**本系统是"长护险这一条业务线的专业账本",不是机构全业务 ERP**——但须**结构上留口子**,避免将来"多业务"变成"推倒重来"。
|
||
|
||
**① 定位(写死,不膨胀)**:
|
||
- **本期只做长护险这一条线**(`biz_line` 恒 `ltci`),把这条线的合规账做扎实。
|
||
- **不把其他业务硬塞进长护险规则**——自费不需要评估等级、民政补贴走民政通口径、居养走民政系统,各是各的规则,**混在一个状态机里会把长护险的账弄脏**。
|
||
|
||
**② 预留方式(只留结构,不改本期逻辑)**:
|
||
- 在 `elder`/`order`/`svc_org`/`record` **四表加 `biz_line` 字段**(默认恒 `ltci`)——**这是"开一条新线"的锚点,不是"本期实现多业务"**。**`record` 表加 `biz_line` 是流程 04 自费服务"单独计时、不走基金"的落点**:自费服务与待遇服务同在一张 `record` 表,靠 `biz_line` 区分两条时间线。
|
||
- 二期若机构确有需求,则**按业务线挂不同"规则包"**:`ltci` 挂"评估等级+待遇状态+36/45 目录+六条硬锁";`self_pay` 挂"不要求等级、不拦派单、只记账";`civil_subsidy` 挂"补贴目录+民政通口径";`residence` 挂"居养管理"。
|
||
|
||
**③ 三条不可越界的线(软件管不了,须靠机构+规则)**:
|
||
1. **资金不能串**:长护险基金(政府管)与自费(老板自己的钱)**财务上必须分开**,系统只能"分开记、分开展示",**"该不该混着花"是合规问题,系统拦不住人**。
|
||
2. **政府接口各走各的**:长护险走医保平台、民政补贴走民政通、居养走民政系统——**三条接口是三个政府系统**,系统可预留对接位,**接口何时通由政府定,我方不承诺**。
|
||
3. **业务线优先级由机构定**:同一老人可能同时有"长护险档案"和"自费档案",**哪个优先、能不能叠加**,是机构的经营决策,系统只忠实记录。
|
||
|
||
**④ 对客口径(一句可用)**:"这个系统管的是你长护险这条线;你另外的自费/居养/补贴业务,我们在同一个账号里给你**预留了分线位置**,但**先别把三套规则揉在一起**——揉在一起,长护险的合规账就脏了。"
|
||
|
||
### 7.4 状态机 ↔ 字段值对照
|
||
|
||
**待遇状态 `elder.treat_status`(十态)**
|
||
|
||
| 值 | 中文 | 可否新建计划 | 可否派单 | 可否服务 | 可否计费 |
|
||
|---|---|:---:|:---:|:---:|:---:|
|
||
| `pending_file` | 待建档 | ✅ | ❌ | ❌ | ❌ |
|
||
| `waiting_period` | **待起付(等待期/垫付期)** | ✅ | ✅ | ✅(**仅垫付台账**) | ❌ |
|
||
| `active` | 正常享受 | ✅ | ✅ | ✅ | ✅ |
|
||
| `hosp_pause` | 住院暂停 | ❌ | ❌ | ❌ | ❌ |
|
||
| `review_waiting` | **复评等待期** | ❌ | ❌ | ❌ | ❌ |
|
||
| `transferring` | **跨统筹区转移中** | ❌ | ❌ | ❌ | ❌ |
|
||
| `dead` | 死亡 | ❌ | ❌ | ❌ | ❌ |
|
||
| `long_away` | 长期异地居住 | ❌ | ❌ | ❌ | ❌ |
|
||
| `benefit_expired` | 待遇到期 | ❌ | ❌ | ❌ | ❌ |
|
||
| `terminated` | 已终止 | ❌ | ❌ | ❌ | ❌ |
|
||
|
||
> **接口层强制**:任何创建 `order` 的请求,**先校验 `elder.treat_status ∈ {active, waiting_period}`**,不满足**直接拒绝**(不是警告)。**这就是 L1 的代码落地。** **⚠️ 新增 `waiting_period` 是唯一例外**:允许创建 `order`,但该 `order` 生成的 `record` **标记 `is_prepaid=1`**,**不计入结算池**(`billable=0`)。**L1 拒绝逻辑不变,只是把等待期从"一律拒"改为"允许但隔离"。**
|
||
|
||
**工单状态 `order.order_status`(八态)**:`to_assign`(待派单)/`assigned`(已派单)/`serving`(服务中)/`done`(已完成)/`abnormal`(异常)/`cancelled`(已取消)/`overdue`(逾期未做)/**`not_met`(未遇·扑空)**
|
||
|
||
**留痕状态 `record.record_status`(六态)**:`draft`/`submitted`/`pending_qc`/`passed`/`returned`/`reported`〔二期〕
|
||
|
||
> **⭐ 2026-10-12 新增字段(供开发建表/改表)**:
|
||
> - `record.is_prepaid`(`tinyint(1)` 默认 0)——**垫付台账标记**;为 1 的记录 `billable=0`。
|
||
> - `record.is_refused_photo`(`tinyint(1)` 默认 0)——**拒拍/无法拍摄标记**;与 `refuse_photo_reason` 配套(见 §4.5.1)。
|
||
> - `record.refuse_photo_reason`(`varchar(50)`)——拒拍原因枚举(见 §4.5.1)。
|
||
> - `order.not_met_reason`(`varchar(50)`)——扑空原因枚举;`order.not_met_at`(`datetime`)到访时间;定位沿用签到定位字段。
|
||
> - `elder.prev_loc_code`(`varchar(20)`)——**跨统筹区转移前的参保地**,用于"转移中"态展示与目录切换预览。
|
||
> - `elder.transfer_confirm_at`(`datetime`)——转移确认时间(人工确认后写入)。
|
||
> - `elder_svc.care_mode`(`varchar(20)`)——**个人项目库护理方式键**(R10,换方式=重制库)。
|
||
> - `elder_svc.is_active`(`tinyint(1)` 默认 1)——个人项目库启用状态(软停用不物理删)。
|
||
|
||
---
|
||
|
||
## 八、接口契约
|
||
|
||
> **三端(APP/后台/家属端)共用同一套后端接口。** 本节定义**语义契约**(谁调、传什么、返什么、什么情况拒),不定义传输协议细节。
|
||
> **统一响应结构**(所有接口):
|
||
|
||
```json
|
||
{
|
||
"code": 0, // 0=成功;非0=失败(见 8.1)
|
||
"message": "成功", // 面向开发;错误时给可读原因
|
||
"data": { }, // 业务数据
|
||
"hint": "" // ⚠️ 面向用户的"怎么解"提示(硬锁拒绝时必须返回)
|
||
}
|
||
```
|
||
|
||
### 8.1 统一错误码表
|
||
|
||
| code | 含义 | 前端处置 |
|
||
|:---:|---|---|
|
||
| `0` | 成功 | — |
|
||
| `1001` | **无有效待遇,不可服务**(L1) | 显示 `hint`,禁止进入服务页 |
|
||
| `1002` | **无有效计划,不可派单**(L2) | 引导"先制定计划" |
|
||
| `1003` | **无有效工单,不可录痕**(L3) | 拒绝提交 |
|
||
| `1004` | **留痕不完整,不可进上报池**(L4) | 列出缺什么 |
|
||
| `1005` | **未质控放行,不可上报**(L5) | 提示先质控 |
|
||
| `1006` | **资质不匹配(本期仅提示,不拦截)**(L6) | **仅提示,允许继续** |
|
||
| `2001` | 派单时间冲突(同人同时段重叠) | **硬拒**,提示换人或改时 |
|
||
| `2002` | 计划项目数不满足属地规则 | **仅提示**,可保存 |
|
||
| `3001` | 必拍项未拍照,不可签退 | 硬拒,引导拍照;**提供【无法拍摄?】出路**(见 §4.5.1,选原因即放行) |
|
||
| `3002` | 定位失败(**非错误,仅标记**) | 允许提交 |
|
||
| `3003` | **未遇(扑空)已登记**(非错误,状态变更) | 工单转 `not_met`,推组长决策 |
|
||
| `3004` | **垫付期记录不可计费**(非错误,仅标记) | `billable=0`,允许提交 |
|
||
| `4001` | 越权:非本机构/非本人数据;**或"自审自放行"**(同一账号录入的记录不得由本人质控放行,见 §3.4.1 补充 2) | 403 |
|
||
|
||
> **⚠️ `1006` 的设计是刻意的**:**资质校验本期返回"提示级"而不是"拒绝级"**。这样**二期只需把 `1006` 从"提示"改成"硬拒"**,前端代码基本不用动——**这就是"预留位"在接口层的价值**。
|
||
|
||
### 8.2 本期接口清单(40+ 接口)
|
||
|
||
**A · 待遇档案(①)**
|
||
|
||
| 接口 | 方法 | 说明 | 关键校验 |
|
||
|---|---|---|---|
|
||
| `/elder/create` | POST | 新建老人档案 | 建档时限倒计时;`loc_code` 必填 |
|
||
| `/elder/detail` | GET | 档案详情 | 权限:本机构 |
|
||
| `/elder/status/change` | POST | **变更待遇状态** | **`change_reason` 必填**;写 `elder_status_log` |
|
||
| `/elder/status/log` | GET | 状态变更历史 | 只读 |
|
||
| `/elder/list` | GET | 老人列表(后台 B1) | 支持按状态/等级筛 |
|
||
|
||
**B · 服务计划(②)**
|
||
|
||
| 接口 | 方法 | 说明 | 关键校验 |
|
||
|---|---|---|---|
|
||
| `/plan/create` | POST | 制定计划 | **项目数按属地规则校验**(`2002` 提示级) |
|
||
| `/plan/change` | POST | **变更计划(新建+指向旧)** | **不原地改**;旧计划转 `changed` |
|
||
| `/plan/detail` | GET | 计划详情 | 含 `item_list` |
|
||
| `/plan/confirm` | POST | 老人/家属确认 | 可选 |
|
||
| `/svc/local/list` | GET | **按参保地加载属地目录** | 昆明→45项;州市→36项 |
|
||
| `/svc/org/list` | GET | 机构项目库 | — |
|
||
| `/svc/org/config` | POST | 勾选+配价 | **只允许改 `is_enabled`/`price`** |
|
||
| `/svc/org/new-national` | GET | **国家新增项列表** | 昆明机构**必须显式展示** |
|
||
|
||
**C · 老人个人项目库(R10)**
|
||
|
||
| 接口 | 方法 | 说明 | 关键校验 |
|
||
|---|---|---|---|
|
||
| `/elder-svc/list` | GET | 某老人的个人项目库 | 权限:本机构 |
|
||
| `/elder-svc/save` | POST | 增删个人项目库(整表覆盖) | **`svc_id` 必须落在本机构 `svc_org` 内**;`care_mode` 变更=重制(旧库留档);写操作日志 |
|
||
|
||
**C · 派单工单(③)**
|
||
|
||
| 接口 | 方法 | 说明 | 关键校验 |
|
||
|---|---|---|---|
|
||
| `/order/generate` | POST | 由计划生成工单 | **L2**:无计划拒绝 |
|
||
| `/order/assign` | POST | 派单 | **L1**:待遇非 `active` 拒绝;`2001` 时间冲突硬拒;`1006` 资质提示 |
|
||
| `/order/reassign` | POST | 调单 | 记 `reschedule_log`;**≤3 步** |
|
||
| `/order/batch-recommend` | GET | 批量推荐 | **仅返回推荐,必须人工确认** |
|
||
| `/order/today` | GET | 护理员今日任务(M1) | 仅本人 |
|
||
| `/order/cancel` | POST | 取消工单 | `cancel_reason` 必填 |
|
||
| `/order/detail` | GET | 工单详情(M4) | 含**注意事项区块** |
|
||
|
||
**D · 履约留痕(③)**
|
||
|
||
| 接口 | 方法 | 说明 | 关键校验 |
|
||
|---|---|---|---|
|
||
| `/record/checkin` | POST | 签到 | **服务器取时间**;定位失败不阻塞(`3002`) |
|
||
| `/record/item/save` | POST | 保存项目执行 | `exec_result` 枚举 |
|
||
| `/record/photo/upload` | POST | 上传照片 | **压缩校验 ≤500KB**;返回 `photo_id` |
|
||
| `/record/checkout` | POST | 签退提交 | **必拍未拍拒绝**(`3001`);计算时长 |
|
||
| `/record/offline/sync` | POST | **离线补传** | `client_md5` 去重;**静默不弹窗** |
|
||
| `/record/detail` | GET | 留痕详情 | — |
|
||
| `/abnormal/report` | POST | **异常上报** | 仅 `abnormal_type` 必填 |
|
||
| `/abnormal/list` | GET | 异常列表(后台 B4) | 主动推送来源 |
|
||
|
||
**E · 质控闸门(④)**
|
||
|
||
| 接口 | 方法 | 说明 | 关键校验 |
|
||
|---|---|---|---|
|
||
| `/qc/pending/list` | GET | 待质控列表(含主动推送) | **全量**,非抽检 |
|
||
| `/qc/detail` | GET | 质控详情 | 含留痕全文与照片 |
|
||
| `/qc/pass` | POST | 放行 | 写 `qc_result=passed`、`pass_time` |
|
||
| `/qc/return` | POST | 退回 | **`qc_note` 必填** |
|
||
| `/qc/exception/link` | POST | **异常联动改计划** | 生成新 `plan_id` 并回填 `link_plan_change` |
|
||
|
||
**F · 家属端(③)**
|
||
|
||
| 接口 | 方法 | 说明 | 关键校验 |
|
||
|---|---|---|---|
|
||
| `/family/bind` | POST | 绑定(姓名+手机号后4位) | **只看自家** |
|
||
| `/family/elder` | GET | 我家老人信息 | 过滤 `visible_to_family` |
|
||
| `/family/records` | GET | 服务记录列表 | **不返回价格字段** |
|
||
| `/family/ack` | POST | **可选确认** | **非必做,不记录"未确认"为异常** |
|
||
| `/family/feedback` | POST | 反馈 | — |
|
||
|
||
### 8.3 硬锁在接口层的落点总表(L1–L6)
|
||
|
||
| 锁 | 接口 | 触发条件 | 结果 |
|
||
|---|---|---|---|
|
||
| **L1** | `/order/assign`、`/record/checkin` | `elder.treat_status ≠ active` | `1001` **拒绝** |
|
||
| **L2** | `/order/generate` | 无 `plan_status=active` 的计划 | `1002` **拒绝** |
|
||
| **L3** | `/record/*` | 无有效 `order` | `1003` **拒绝** |
|
||
| **L4** | `/qc/pass` | 留痕缺必填要素 | `1004` **拒绝** |
|
||
| **L5** | `/report/*`〔二期〕 | 无 `qc_result=passed` | `1005` **拒绝** |
|
||
| **L6** | `/order/assign` | `staff.cert_status ≠ valid` | `1006` **仅提示,不拒绝**(**二期改硬拒**) |
|
||
|
||
### 8.4 ⭐ 二期预留位落地对照(R1–R6,逐项核对)
|
||
|
||
> **本节证明"只加不改"是可验证的**——二期每项功能,都能在本期表结构里找到它要用的字段。
|
||
|
||
| # | 二期功能 | 本期已建的字段/表 | 二期要新增的 | **要改的** |
|
||
|:---:|---|---|---|---|
|
||
| **R1** | 结算对账 | `order.billable`/`price_snapshot`/`settle_period`;`svc_org.price` | `settlement` 表、申报页、导出格式 | **无** |
|
||
| **R2** | 资质人员 | `staff.cert_*` 五字段;`order.qualification_check` | 到期提醒任务、禁派逻辑、资质管理页 | **无**(`1006` 改硬拒属逻辑开关) |
|
||
| **R3** | 院长看板 | 数据层可直接聚合现有表 | 聚合视图、图表页 | **无** |
|
||
| **R4** | 上报池与接口 | `report` 表;`order`/`plan_item` 的 `official_no`/`loc_code`/代码快照 | 适配层实现、上报页 | **无** |
|
||
| **R5** | 医保状态同步 | `elder.status_source` | 接口实现 | **无**(只改字段值来源) |
|
||
| **R6** | 异常费用 | `order.exception_flag`/`exception_reason`/`handle_deadline` | 异常处理页、超时提醒 | **无** |
|
||
| **R8** | 多业务线 | `elder.biz_line`/`order.biz_line`/`svc_org.biz_line`/`record.biz_line`(本期恒 `ltci`) | 业务线规则包、分线档案、分线记账 | **无**(本期只留字段,不改逻辑) |
|
||
|
||
**接口契约层预留**
|
||
|
||
| 预留项 | 本期定义(写死) | 二期 |
|
||
|---|---|---|
|
||
| **适配层输入输出格式** | **按国家编码规范定稿**(机构编码 13 位 `LH`+区划+序号、人员编码 14 位 `LN`+区划+序号、**项目代码 17 字符**) | 直接实现 |
|
||
| **A/B/C 三档** | A 人工登记/B 文件导入导出【本期】/C 专线前置机【预留】 | 实现 C 档 |
|
||
| **错误码 `1006`** | **提示级**(不拦) | 改**拒绝级** |
|
||
|
||
> **⚠️ 项目代码位数说明**:原写"14 位"系归纳有误。**经专项复核定型为 17 字符**,且**仅内部逻辑推演、未与官方原件对照** ⇒ **正式上报前必须以官方电子版核对**。详见《20261011-国家36项代码复核报告》。**字段长度一律按 `varchar(20)` 设计,留余量。**
|
||
|
||
---
|
||
|
||
## 九、数据安全与留痕(合规条款的工程落地)
|
||
|
||
> 这一节不是"技术选型",是**政策明文要求在本系统的落地方式**。
|
||
|
||
| 要求(政策) | 工程实现 |
|
||
|---|---|
|
||
| **一人一档** | `elder` 表 + 全链路 `elder_id` 外键,`order`/`record`/`qc` 均可回溯到人 |
|
||
| **实名制管理** | `staff.id_card_no` 加密存储、唯一约束;`user` 绑定 `staff_id` |
|
||
| **不可伪造/变造** | ①`checkin/checkout` 服务器取时;②`elder_status_log` 必填原因;③`record` 软删除不物理删;④`client_md5` 防重复提交 |
|
||
| **记录与计划/数据/考勤相吻合** | `plan_item` → `order.item_list` → `record_item` **三级快照一致** |
|
||
| **材料调取** | 全表导出接口,按老人/时间段/项目导出,**导出即合规版式** |
|
||
| **数据保留** | 照片 `keep_until`(补传后 ≥7 天),业务数据软删除保留 |
|
||
| **隐私号** | 家属端接口**一律不返回护理员真实手机号** |
|
||
|
||
> **⚠️ 一条容易忽略的工程纪律**:**`record` 与 `qc` 表一律软删除**——`is_deleted` 置 1,**原始记录永久保留**。
|
||
> **理由**:长护险数据是**基金支付凭证**。若允许物理删除,"事后删记录"就变成可能。**软删除="不可无痕修改"的最后一道工程防线。**
|
||
|
||
---
|
||
|
||
## 十、验收条款
|
||
|
||
### 10.1 12 条易用性硬指标(**验收圣经**,每个页面都要回指)
|
||
|
||
| # | 硬指标 | 验收方式 | 本期 |
|
||
|:---:|---|---|:---:|
|
||
| 1 | 完成一次服务记录 **≤4 次点击** | 计数验收 | ✅ |
|
||
| 2 | **必填自由文本 = 0** | 走查 | ✅ |
|
||
| 3 | **离线可用+自动补传** | 断网实测 | ✅ |
|
||
| 4 | 关键字号 **≥20pt**、不做多层菜单 | 走查 | ✅ |
|
||
| 5 | **首屏即任务** | 走查 | ✅ |
|
||
| 6 | **误操作可撤销**、录错不直接扣钱 | 功能验收 | ✅ |
|
||
| 7 | 组长**调单 ≤3 步**、不比微信群慢 | 计时验收 | ✅ |
|
||
| 8 | **异常主动推送** | 触发验证 | ✅ |
|
||
| 9 | **导出即合规版式** | 导出比对国家 2026 版文书 | ✅ |
|
||
| 10 | 院长看板**只放三块** | 走查 | **〔二期〕** |
|
||
| 11 | 家属端**零任务** | 走查 | ✅ |
|
||
| 12 | **最小必要留痕** | 规则验收 | ✅ |
|
||
|
||
> **本期验收 11 条**(第 10 条随院长看板延至二期)。
|
||
|
||
**验收方式定义(避免扯皮)**
|
||
|
||
| 方式 | 具体做法 |
|
||
|---|---|
|
||
| **计数验收** | 真人从"打开 APP"到"提交一次服务记录",**实际点击数 ≤4** |
|
||
| **走查验收** | 逐屏人工检查,打勾确认 |
|
||
| **断网实测** | 飞行模式下完成一次完整服务记录,联网后确认自动补传成功 |
|
||
| **计时验收** | 同一调单操作,"微信群沟通"与"系统操作"各计时,系统**不得更慢** |
|
||
| **规则验收** | 构造规则用例(高风险项不拍照能否提交/日常项不拍照能否提交) |
|
||
|
||
### 10.2 分端专项验收
|
||
|
||
**护理员 APP 端**
|
||
|
||
| # | 条款 | 验收方式 |
|
||
|:---:|---|---|
|
||
| 1 | ≤4 击(常态预勾选时为 3 击) | 实测 |
|
||
| 2 | M2/M3 **无任何必填文本输入框** | 走查 |
|
||
| 3 | 飞行模式下完成完整服务记录;联网自动补传 | 断网实测 |
|
||
| 4 | 正文 ≥20pt;**页面层级 ≤2** | 走查 |
|
||
| 5 | 打开 APP **直接进 M1**,登录态保持 | 走查 |
|
||
| 6 | 误点签退 → **10 秒内可撤销** | 功能验收 |
|
||
| 12 | 必拍档未拍照 → 不可签退;免拍档未拍照 → **可正常签退** | 规则验收 |
|
||
| **A1** | **新用户 10 分钟内独立完成一次记录**(不给培训、只给手机) | 真人实测(**本端最硬的一条**) |
|
||
| A2 | 住院状态老人卡片置灰且不可开始 | 构造用例 |
|
||
| A3 | 定位失败不阻塞签到 | 关闭定位权限实测 |
|
||
| A4 | 照片本地压缩后单张 ≤500KB | 技术验收 |
|
||
| A5 | 异常上报全程 ≤30 秒(不含拍照) | 计时验收 |
|
||
|
||
> **⭐ A1 说明**:**如果新护理员需要培训才会用,说明设计失败了**。建议上线前找**未接触过系统的真实护理员**实测。
|
||
|
||
**机构后台端**
|
||
|
||
| # | 条款 | 方式 |
|
||
|:---:|---|---|
|
||
| 7 | 从点卡片到改派生效 **≤3 步**;与微信群计时对比**不更慢** | 实测 |
|
||
| 8 | 护理员提交异常 → **组长/质控员 10 秒内**收到推送 | 触发验证 |
|
||
| 9 | 导出档案 → 逐项比对**国家 2026 版文书**格式 | 走查 |
|
||
| 6 | 调单可撤销;放行可撤回(**限时 10 分钟内**) | 功能验收 |
|
||
| B1 | **登录后 1 屏内看到"待我处理"事项** | 走查 |
|
||
| B2 | 本期不出现的功能**在导航中完全不存在**(不是置灰) | 走查 |
|
||
| B3 | 一级护理显示为"一级护理(最高级)" | 走查 |
|
||
| B4 | 昆明机构登录可见"国家新增项"区块 | 构造用例(以昆明属地登录) |
|
||
| B5 | 州市机构登录**只看到 36 项**、无映射提示 | 构造用例 |
|
||
| B6 | 计划项目数不满足属地规则 → **不可提交** | 构造用例 |
|
||
| B7 | 留痕记录**不可直接改**,只能补正且保留原值 | 技术验收 |
|
||
| B8 | **老人个人项目库**:项目只能从本机构 L4 选;`care_mode` 变更=重制(旧库只读留档);制定计划可"一键带入"且可改 | 构造用例+技术验收 |
|
||
|
||
**家属端**
|
||
|
||
| # | 条款 | 方式 |
|
||
|:---:|---|---|
|
||
| 11 | **无任何"必须完成"的交互**;"知道啦"默认不勾选、可跳过;界面显式写"不点也没关系" | 走查 |
|
||
| 4 | 字号 ≥20pt(**家属中含老年人,字号尤其重要**) | 走查 |
|
||
| F1 | **绑定成功率**:模拟 20 位家属,**≥18 位一次成功** | 真人实测 |
|
||
| F2 | 家属**看不到非关联老人**(换绑测试、URL 手工改参测试) | 安全验收 |
|
||
| F3 | 照片**默认不可见** | 走查 |
|
||
| F4 | 家属端**任何页面均无价格/金额字样** | 走查(搜"元""费用""限额"零命中) |
|
||
| F5 | 家属端**无评分/星级组件** | 走查 |
|
||
| F6 | 反馈提交后**机构端 10 秒内可见** | 触发验证 |
|
||
| F7 | 措辞检查:**"未做""迟到""缺勤""监督""举报"零命中** | 走查 |
|
||
|
||
---
|
||
|
||
## 十一、不做什么(写死,防后续加需求)
|
||
|
||
### 11.1 全系统不做的(红线)
|
||
|
||
| 不做 | 理由 |
|
||
|---|---|
|
||
| 做评估机构 | 不参与失能等级评估、不出评估结论 |
|
||
| 碰基金资金 | 不经手长护基金、不做资金池 |
|
||
| 替代官方系统 | 官方 APP/省平台是"只对接",不替代 |
|
||
| 卖老人数据 | 平台不对外提供老人原始数据 |
|
||
| 承诺结果 | 不承诺遴选通过、不承诺巡查得分、不承诺不被罚 |
|
||
| 用广告法禁用词 | 不用"最/第一/国家级"等 |
|
||
|
||
### 11.2 护理员 APP 不做的
|
||
|
||
| 不做 | 理由 |
|
||
|---|---|
|
||
| 打字录入 | 与"必填自由文本 = 0"矛盾 |
|
||
| 排班/调班 | 属组长职责,APP 上做会乱 |
|
||
| 查看/修改服务计划 | 属质控职责;**防一线改计划绕过合规** |
|
||
| 统计报表、排行榜 | 与"干活现场"无关,且评比诱发造假 |
|
||
| 家属沟通功能 | 隐私号转接由机构侧统一处理 |
|
||
| 服务评价(护理员评老人) | **伦理风险**,坚决不做 |
|
||
| 积分、勋章、打卡日历 | 把照护变成游戏,**方向错** |
|
||
| 支付/收款相关 | 本期无结算,且平台不碰资金 |
|
||
|
||
### 11.3 机构后台不做的
|
||
|
||
| 不做 | 理由 |
|
||
|---|---|
|
||
| 院长看板(B0) | 二期;**本期不做空首页** |
|
||
| 结算对账(B5) | 二期 |
|
||
| 人员资质管理(B6) | 二期;本期**只在排班时提示** |
|
||
| 自动派单(无人确认) | 出错无法归属责任 |
|
||
| 抽检式质控 | 机构质控必须全量 |
|
||
| 自定义服务项目 | 合规红线 |
|
||
| 属地自助切换 | 属重新配置 |
|
||
| 员工绩效排名 | 评比诱发造假,且与长护合规无关 |
|
||
| "迎检"类功能与话术 | 措辞纪律 |
|
||
|
||
### 11.4 家属端不做的
|
||
|
||
| 不做 | 理由 |
|
||
|---|---|
|
||
| 每日打卡/签到 | **核心红线**(已有反面案例) |
|
||
| 强制确认 | 同上 |
|
||
| 星级评分 | 诱发摆拍与讨好,且不真实 |
|
||
| 费用/账单展示 | 家属端不涉及钱 |
|
||
| 在线支付 | 平台不碰资金 |
|
||
| 展示护理员手机号 | 隐私号原则 |
|
||
| 医疗建议 | 合规红线 |
|
||
| 展示异常细节 | 避免过度焦虑 |
|
||
| 替代官方渠道 | 不做评估申请、待遇查询入口 |
|
||
| 家属上传照片/视频 | 与"零任务"矛盾,且涉隐私 |
|
||
|
||
---
|
||
|
||
## 十二、遗留待确认(**均不阻塞开发**)
|
||
|
||
| # | 事项 | 影响 | 处置 |
|
||
|:---:|---|---|---|
|
||
| 1 | 各州市实施细则是否另行细化服务项目 | 属地目录库内容 | 签约前逐一核实;**推定不影响结构** |
|
||
| 2 | 昆明 45 项是否已更新 | 属地目录库内容 | 建议 0871-65919196 核实 |
|
||
| 3 | ⚠️ **国家项目代码须官方电子版最终确认** | 二期上报准确性 | **仅影响二期上报**(P0 不含上报);字段已按 `varchar(20)` 留余量 |
|
||
| 4 | 照片**保留期限**(政策要求 vs 机构成本) | 存储策略 | 有地方要求"保存 10 年";**按属地要求配置化,不当统一硬编码** |
|
||
| 5 | 派单推荐权重、质控提醒阈值 | 配置值 | **已有默认值,可直接开发**;走访后只改配置、不改代码 |
|
||
|
||
> **⚠️ 处理原则**:**这 5 项都不阻塞 P0 开发**——前 4 项是"数据内容"和"配置值",不是"结构"。**唯第 3 项须在真正对接上报前收口**(属二期)。
|
||
|
||
---
|
||
|
||
## 十三、⭐ 本轮质疑回填记录(2026-10-12)
|
||
|
||
> **本节回答一件事**:机构老板的 22 条质疑里,**哪些我们改了 PRD(能改就改)、哪些是产品客观做不到(如实说明)。**
|
||
> **原则**:**能改的写进需求;做不到的不硬撑。** 本节只记"改了什么",不重复需求正文。
|
||
|
||
### 13.1 已改入 PRD 的(产品能做的 —— 已写进需求)
|
||
|
||
| # | 质疑 | 改动落点 | 性质 |
|
||
|:---:|---|---|---|
|
||
| **R1** | Q7 等待期 6 个月空窗,服务"录不进" | **新增 `待起付(等待期)` 态**(§3.2)+**垫付台账与结转**(§5.5.1 B1-A)+字段 `is_prepaid`(§7.4) | 能改,已改 |
|
||
| **R2** | Q8 状态颗粒度不够(复评中/跨市搬家/住院回来) | **新增 `复评等待期`、`跨统筹区转移中` 两态**,**`住院暂停` 补"恢复"出路**(§3.2、§7.4),状态由七态 → **十态** | 能改,已改 |
|
||
| **R3** | Q12 临时加单/取消/**白跑一趟**无佐证 | **新增工单态 `未遇(扑空)`**(§3.2)+**异常上报子形态**(§4.9.1)+字段 `not_met_reason/not_met_at`(§7.4) | 能改,已改 |
|
||
| **R4** | Q13 必拍项**只有"拍"一条路**,不让拍就卡死 | **新增拒拍出路**(§4.5.1):选原因即放行+`is_refused_photo` 标记 + `3001` 出口 | 能改,已改 |
|
||
| **R5** | Q14 拍照分档**依据谁**、属地不一致怎么办 | **明示"默认值须属地核对"**+**属地核对清单**(§4.5.2);分档本就可配置(§4.5 纪律 2) | 能改,已明示 |
|
||
| **R6** | Q17 几百人资料**谁录** | **参保人/护理员/项目配价 Excel 批量导入**(§5.5.1 B1-B) | 能改,已改 |
|
||
| **R7** | Q2 等级变动联动 | **`跨统筹区转移中`/`复评等待期` 均绑"重制计划"动作**;限额联动属二期院长看板 | 部分改,已改骨架 |
|
||
| **R8** | 机构不止长护险业务 | **多业务线预留 `biz_line`**(§7.3.1):本期恒 `ltci`,只留字段不动逻辑 | 能改,已留口子 |
|
||
| **R9** | 履约留痕**身份核验**怎么做 | **PRD 现无身份核验机制(缺口)**:谁在现场、是不是本人,需补"扫脸/人证一致/签字"三类核验方式与字段(见下表 ⚠️ 待补) | ⚠️ 缺口,待补 |
|
||
| **R10** | 目录能否**按老人维度**适配(双线机构诉求) | **新增 `elder_svc` 老人个人项目库**(§5.5.2 B1-C)+`elder_svc` 表(§7.2,**22→23 表**)+2 字段(§7.4)+2 接口(§8.2 C)+验收 B8(§10.2)。**床位线明确 P0 不做**,仅保留 `bed_count` 备案数占位 | 能改,已改 |
|
||
| **R11** | 居家护理六流程与 PRD 字段缺位对齐(2026-10-14) | **只补字段、不做功能**:①`record.biz_line`(R8 三表→四表)②`elder.insur_years`/`insur_verify_status`/`insur_verify_date`/`need_assess` ③`plan.plan_basis` ④`settlement.amount_fund`/`amount_self_pay`。**自费服务(收款/同意凭证)本期不做、只留字段** | 能改,已补字段 |
|
||
|
||
> **说明**:**R1–R6 全部为"设计已定",开发排期须按此更新**(此前 `开发排期与模块拆分(第5步)` 未含这 6 项,须回填工时)。**R9 为新增待补项,尚未进需求正文**——待确认后补入 §4.5(履约留痕拍照)+§7.4(字段)+验收指标。
|
||
|
||
### 13.2 产品客观做不到的(如实说明,不硬撑)
|
||
|
||
| # | 质疑 | 为什么做不到 | 对客正确表述 |
|
||
|:---:|---|---|---|
|
||
| **N1** | Q3 昆明/省级**接口何时发**、时间表 | **接口规范发布权在统筹区经办机构**,非我方可控;昆明在省级平台(易联众建) | "**具备按医保部门统一接口规范对接的条件**",**不给日期、不说"已接通"** |
|
||
| **N2** | Q6 **备案价**来源口径 | `昆医保通〔2025〕27号` 提三价一致,但**备案价取值口径未获公开原文** | "**备案价口径须回官方原件核实**";系统侧只做三价不一致拦截 |
|
||
| **N3** | Q10 **昆明经办认不认**"补正" | **行政认可与否由经办机构定**,非产品能力 | "系统侧原值永久保留、只增更正说明";**认不认须与医保核** |
|
||
| **N4** | Q11 昆明**认不认国家 2026 版文书** | 同上,**属地采纳权在医保** | "导出模板可按国家文书双向适配";**采纳与否须核** |
|
||
| **N5** | Q4 **等保备案 / 公司存续** | **公司资质与商务层面事项**,非产品模块 | 由公司另出**书面材料**,产品文档不代答 |
|
||
| **N6** | Q15 昆明**逐项计价口径** | 属属地政策,未获逐项原文 | 系统只算时长、**不参与报账**;计价口径须核 |
|
||
| **N7** | Q20 **有上线客户吗** | **没有就是没有** | **如实说**:首个客户(玉溪自红)在实施阶段;用**对冲包**补信任(见 §14.3) |
|
||
| **N8** | Q19/Q21/Q22 报价/SLA/退出条款 | **商务决策**,不是产品能力 | 由商务出**书面条款**,产品文档不代答 |
|
||
|
||
> **⭐ 一句话**:**上表 8 条不是"我们没做",是"这事不由我方单方面定"。** 对客时**如实说"这部分要一起找医保/由公司出材料"**,比硬答更可信。
|
||
|
||
### 13.2b ⭐ 待补清单(已识别缺口 · 尚未进需求正文)
|
||
|
||
> **本节回答一件事**:哪些是"产品能做、但当前 PRD 还没定义"的缺口。**待补 ≠ 做不到**,是**尚未设计、留待确认后补入**。补入后移出本节。
|
||
|
||
| # | 缺口 | 现状 | 待补内容(确认后补入 §4.5 / §7.4 / 验收) |
|
||
|:---:|---|---|---|
|
||
| **P-9** | **履约留痕·身份核验** | 现有 PRD **只有"拍照留痕",没有"谁在现场、是不是本人"的核验机制** | 三选一或组合:①**扫脸核验**(护理员/老人人脸比对,需第三方识别或医保 APP 能力);②**人证一致**(身份证号+姓名比对+签字);③**签字确认**(护理员+老人/家属电子签名)。须补字段:核验方式、核验结果、核验时间、经办人,并明确**无网络/老人无法扫脸的兜底**(如家属代签+拍照佐证)。**注意:是否可调用医保 APP 扫脸,须与统筹区经办机构确认,非我方可自行定** |
|
||
|
||
> **原则**:**P-9 是"待补"不是"已做"**。对客表述="**身份核验的落地方式,正在与医保/机构确认核验手段**",**不得说"已实现扫脸"**。
|
||
|
||
### 13.3 需商务/公司配合出书面材料的(产品侧无法单独收口)
|
||
|
||
| # | 事项 | 归属 | 建议动作 |
|
||
|:---:|---|---|---|
|
||
| **B-1** | **首个客户对冲包**(POC 试运行 / 首年实施费减免 / 达标付费) | 商务 | 三选一或组合,**写进报价与合同** |
|
||
| **B-2** | **等保备案现状、公司后续维护存续** | 公司 | 出**书面承诺/资质说明** |
|
||
| **B-3** | **SLA、驻场、响应时限、退款、试用期数据条款** | 商务 | 写入**服务合同附件** |
|
||
| **B-4** | **拍照分档属地核对**(§4.5.2) | 实施 | 列入**签约前必办清单**,双方签字 |
|
||
|
||
---
|
||
|
||
## 十四、对客边界说明(**六条,逐字可用**)
|
||
|
||
1. **首期范围**:本期交付**待遇档案/派单工单/履约留痕/质控闸门**四块;**结算对账、人员资质、院长看板为二期**。
|
||
2. **资质校验**:**"无资质不派单"是政策要求,但资质库在二期**。首期=**人工登记+派单时提示**,**不是自动禁派**。
|
||
3. **医保状态同步**:首期**不做自动同步**。状态**由机构人工维护**,系统只能"提醒该核状态+录后拦派单",**不能替你发现状态变化**。
|
||
4. **接口对接**:首期按**"人工登记+文件导入导出"**设计,**预留专线口**。**不得表述为"已接通医保系统"**——正确表述是"**具备按医保部门统一接口规范对接的条件**"。
|
||
> **背景事实(昆明现状,写死)**:昆明长护险信息系统已于 **2025-01-01 切换到云南省医疗保障信息平台**,定点护理机构的护理员是**直接用「云南医保服务平台」APP 手工录入**服务数据(签到/签退、扫脸、定位、拍照、**服务项目与时长明细**)。**系统只自动算开始/结束时间,项目明细靠护理员护理完成后手工选择、手工录入**,机构须 **T+2 内**上传。⇒ **这不是"系统间自动传递",而是"护理员在医保 APP 上人肉录入"**。故我方系统 P0 **不接医保直连、不自动同步评估/服务数据**,是符合昆明现行事实的正确边界,**不得误设计成"自动同步医保数据"的接口**。
|
||
5. **结算数据**:首期**不自动生成结算申报数据**;服务记录可导出,**申报仍按现行方式人工办理**。
|
||
6. **巡查与评分**:本系统只做**日常留痕与国家文书查阅项对照**,**不预测巡查评分、不承诺合格**;判定权在统筹地区医疗保障经办机构。
|
||
7. **本轮新增能力(2026-10-12)**:**等待期垫付台账、十态待遇状态、扑空登记、拒拍出路、批量导入**等,均为**"需求已写定、开发中"**;**对客不得表述为"现已上线可验收"**。
|
||
8. **身份核验(2026-10-12 新增待补)**:**首期不承诺"扫脸/人证识别"**。系统当前只做**拍照留痕**,**"谁在现场、是不是本人"的核验机制仍在确认中**。对客正确表述="**身份核验的落地方式正在与医保/机构确认**",**不得说"已实现扫脸核验"**。
|
||
|
||
---
|
||
|
||
**云南投云科技有限公司**
|
||
编制:滇小构|2026-10-11(P0 PRD · 交付开发版 · V1)|2026-10-12 按 22 条质疑回填修订|2026-10-14 居家护理六流程字段对齐(只补字段)
|