📋 照护计划完成情况检查 — 规则文档
1数据来源
▼| 表名 | 来源 | 数据量 | 关键字段 |
|---|---|---|---|
| base_resident_info | 入住协议(轻流) | 4446人 | id_number, caregiver_name, institution, area, admission_date, status, care_level, bed_number |
| biz_care_plans | 照护计划(轻流 appKey: c0uduv881c02) | 2851条(生效) | id_number, plan_date, plan_status |
| base_org_area | 机构休养区映射 | 91条 | institution, area |
关联方式:所有表通过
离院判定:
id_number(身份证号)关联。离院判定:
status = '离院' 视为离院,排除在检查范围外。在住状态包括:在住、请假(外出住院)、请假(其他)。
2规则一:在住检查(全覆盖)
▼检查对象:base_resident_info 中所有非离院老人(status != '离院')
| 条件 | 结果 | 标识 |
|---|---|---|
| 照护计划表中有该老人 plan_status='生效' 的记录 | 已完成 | 绿色行 |
| 照护计划表中无该老人生效状态的记录 | 未完成 | 红色行 |
-- 核心SQL逻辑
SELECT r.*, CASE WHEN p.id_number IS NOT NULL THEN 1 ELSE 0 END AS has_plan
FROM base_resident_info r
LEFT JOIN biz_care_plans p ON r.id_number = p.id_number AND p.plan_status = '生效'
WHERE r.status != '离院'
⚠ 只要有一条生效状态的照护计划即视为完成,不关心计划制定日期。
3规则二:新入住7天内检查
▼检查对象:入住日期在筛选范围内、且入住已满7天的老人
- 入住日期 ≥ 用户设定的起始日期(默认30天前)
- 入住日期 + 7天 ≤ 今天(确保观察期满7天)
| 条件 | 结果 | 标识 |
|---|---|---|
| 有生效计划,且 plan_date ≤ admission_date + 7天 | 7天内完成 | 绿色行 |
| 有生效计划,但 plan_date > admission_date + 7天 | 超期完成 | 黄色行 |
| 无生效计划 | 未完成 | 红色行 |
📅 截止日期计算:截止日期 = 入住日期 + 7天。例如:6月1日入住 → 截止日期6月8日。
plan_date 与该截止日期比较判断完成状态。
plan_date 与该截止日期比较判断完成状态。
-- 核心SQL逻辑
SELECT r.*, ADDDATE(r.admission_date, 7) AS deadline,
CASE
WHEN p.id_number IS NULL THEN '未完成'
WHEN p.plan_date <= ADDDATE(r.admission_date, 7) THEN '7天内完成'
ELSE '超期完成'
END AS completion_status
FROM base_resident_info r
LEFT JOIN biz_care_plans p ON r.id_number = p.id_number AND p.plan_status = '生效'
WHERE r.status != '离院'
AND r.admission_date >= '起始日期'
AND ADDDATE(r.admission_date, 7) <= CURDATE()
4筛选条件
▼| 条件 | 说明 | 适用 |
|---|---|---|
| 机构 | 从 base_org_area 加载,动态联动休养区 | 两者 |
| 休养区 | 根据所选机构联动 | 两者 |
| 检查类型 | 在住检查 / 新入住检查 | 两者 |
| 入住起始日期 | 默认30天前,仅新入住检查时显示 | 新入住 |
🔀 切换检查类型时,入住起始日期筛选项自动显示/隐藏。
5统计口径
▼在住检查统计
| 指标 | 公式 |
|---|---|
| 在住老人 | 非离院老人总数 |
| 已完成 | 照护计划中有生效记录的人数 |
| 未完成 | 照护计划中无生效记录的人数 |
| 完成率 | 已完成 ÷ 在住老人 × 100% |
新入住检查统计
| 指标 | 公式 |
|---|---|
| 新入住(已满7天) | 符合时间范围且已满7天的老人总数 |
| 7天内完成 | plan_date ≤ 入住+7天的人数 |
| 超期完成 | plan_date > 入住+7天的人数 |
| 未完成 | 无生效计划的人数 |
6数据更新机制
▼- 照护计划同步:每日凌晨 04:30 通过 sync_care_plans.py 从轻流全量同步(DIFF-MERGE)
- 入住协议同步:每日凌晨 01:30 通过 sync_resident_info.py 从轻流全量同步(断点续传)
- 检查页面:每次打开页面实时查询数据库,无缓存,数据延迟取决于最近一次同步