1概述

运营看板面向总部运营人员,以机构为单位汇总四大业务(护理、评估、不良事件、照护计划)的核心指标,支持按任意列排序对比。

数据截止时间:每日凌晨更新(依赖 cron 定时任务,各业务独立分析后落表)。

业务指标数据来源时间维度
护理漏测本周完成率 / 上周完成率biz_leak_check_result每周(凌晨分析生成)
评估漏评年度完成率biz_assessment_analysis当前自然年
不良事件件数 / 发生率biz_adverse_events日期范围可选(空=全部)
照护计划覆盖率biz_care_plans + base_resident_info当前状态
💡 设计原则:各业务时间维度独立(护理按周、评估按年、不良事件可按日期范围、照护计划按当前状态),不设统一日期筛选,避免跨业务时间逻辑冲突。

2在住人数定义

定义:所有非离院人员,包含"在住"+"请假(其他)"+"请假(外出住院)"。

SQL:SELECT COUNT(*) FROM base_resident_info WHERE status != '离院'

status 取值大约人数是否计入"在住"
在住2,710✅ 计入
请假(其他)3✅ 计入
请假(外出住院)63✅ 计入
离院1,671❌ 不计入
📊 当前总计约 2,776 人(21 家机构),作为护理/评估/不良事件发生率的计算分母。

3护理完成率

数据来源:biz_leak_check_result 表的 week_data JSON 字段。

两周定义

  • 本周(week_data → "0"):分析脚本执行日所在的那一周(周一到周日)
  • 上周(week_data → "1"):上一整周(周一到周日)

由每日凌晨 analyze_db.py 自动计算,页面不做日期筛选。

达标判定(per 人)

  • 护理等级 0~3 级:当周至少测量 1 天
  • 护理等级 4 级:当周至少测量 2 天
  • 达标 → status = "ok";未达标 → status = "miss"

完成率计算

该机构 status="ok" 的人数 ÷ 该机构在住人数(status ≠ 离院)× 100%

SQL 提取:JSON_UNQUOTE(JSON_EXTRACT(week_data, '$."0".status')) = 'ok'

⚠️ 注意:部分机构显示 0% 可能是因为该机构的护理数据尚未接入系统(如南通银城护理院、益居护理院等),而非实际完成率真的为零。

4评估完成率

数据来源:biz_assessment_analysis,仅统计在住人员(status ≠ 离院)。

完成判定

  • 每人需在当前自然年完成 12 项必查评估
  • 如果评估记录中最新的评估年份 = 当前年份 → 判定为"已完成"(is_complete = 1
  • 如果最新评估年份 ≠ 当前年份(或完全未评估)→ 判定为"漏评"

完成率计算

该机构 is_complete=1 的人数 ÷ 该机构在住人数 × 100%

数据由凌晨 analyze_assessment.py 生成,每日更新。

SQL 逻辑

SELECT r.institution, COUNT(DISTINCT a.id_number), SUM(is_complete=1)
FROM base_resident_info r JOIN biz_assessment_analysis a ON r.id_number = a.id_number
WHERE r.status != '离院' GROUP BY r.institution

5不良事件

数据来源:biz_adverse_events 表,按 event_time 字段过滤。

两列指标

说明计算方式
不良事件数该机构在选定日期范围内的不良事件件数COUNT(*) WHERE event_time BETWEEN start AND end
不良事件发生率同一范围内,事件数 ÷ 在住人数事件数 ÷ 在住人数 × 100%

日期筛选

  • 默认留空 = 展示全部历史事件(自系统接入以来的累计数)
  • 选择开始/结束日期后,只统计该范围内的事件
  • 日期输入控件位于表格上方右侧的白色卡片中
⚠️ 重要:不良事件是"出了事才记录"的指标,与护理/评估/照护计划的"完成率越高越好"不同。此指标不参与红绿颜色标识。

6照护计划完成率

数据来源:base_resident_info(在住人员)LEFT JOIN biz_care_plans(照护计划记录)。

完成判定

  • 在住人员在 biz_care_plans 表中有记录 → 算"已完成"
  • 在住人员无记录 → 算"未完成"

覆盖率计算

有计划记录的人数 ÷ 在住人数 × 100%

此数据反映当前状态,不涉及日期范围筛选。

SQL 逻辑

SELECT r.institution, COUNT(DISTINCT r.id_number) as total,
COUNT(DISTINCT c.id_number) as has_plan
FROM base_resident_info r LEFT JOIN biz_care_plans c ON r.id_number = c.id_number
WHERE r.status != '离院' GROUP BY r.institution

7颜色标识规则

以下指标按完成率高低自动着色(仅适用于"越高越好"的指标:护理、评估、照护计划)。

颜色范围含义
绿色≥ 80%良好 — 该机构此项指标达标
黄色60% ~ 79.9%警告 — 需要关注
红色< 60%较差 — 需要重点跟进
灰色无数据 / 0 人不适用 — 该机构无此业务数据
⚠️ 不良事件不参与红绿着色(事件数不等于好坏,需结合发生率综合分析)。发生率列同样不做颜色标识。