44 KiB
AI赋能智慧养老系统项目需求分析与概要设计报告
| 文档属性 | 内容 |
|---|---|
| 文档版本 | V3.0 |
| 文档类型 | 完整需求分析与概要设计报告 |
| 适用场景 | JavaEE 应用开发实训与智慧养老机构照护管理 |
| 系统形态 | 后台管理端 + 移动端 App + 家属服务端 |
| 建设策略 | 一期核心落地,二期业务增强,三期 AI 规则预警 |
| 编制日期 | 2026-07-01 |
一、项目概述
1.1 建设背景
随着养老服务数字化程度不断提升,养老机构需要通过信息化系统对老人档案、入住退住、床位房间、健康照护、护理任务、应急事件、设备运维、家属沟通和运营数据进行统一管理。传统线下登记方式存在数据分散、查询低效、过程难追踪、异常响应滞后等问题,难以支撑精细化养老服务管理。
AI赋能智慧养老系统是一套面向养老机构照护场景的综合应用系统,包含后台管理端、移动端 App 和家属服务端。系统通过数字化流程优化养老服务管理,通过规则预警实现轻量级 AI 赋能,并以 JavaEE 应用开发为实训载体,训练学生完成需求分析、系统设计、数据库建模、接口设计、编码实现和测试验收的完整工程能力。
1.2 项目目标
- 建立老人全生命周期管理能力,覆盖建档、入住、床位分配、照护、退住等过程。
- 建立健康照护、护理任务、安全应急、设备运维和家属沟通的一体化业务闭环。
- 建立基于规则的预警中心,对健康异常、用药逾期、护理任务逾期、设备故障和应急事件进行提醒。
- 建立运营数据看板,支撑床位占用、护理质量、健康异常、应急处理和服务满意度统计。
- 以 JavaEE 单体分层架构为基础,保证课程实训可实现、可测试、可验收。
1.3 系统定位
系统定位为“机构照护管理型智慧养老系统”。一期目标是完成机构日常照护管理的核心闭环;二期补充运营服务、家属互动和课程活动能力;三期引入规则预警和风险识别能力,形成具有智能化特征的养老管理系统。
1.4 设计原则
| 原则 | 设计要求 |
|---|---|
| KISS | 采用 JavaEE 单体分层架构,避免课程项目阶段引入不必要的分布式复杂度。 |
| YAGNI | 一期只实现核心照护闭环,二期和三期作为明确规划,不混入一期验收。 |
| DRY | 账号、权限、通知、日志、附件、分页、状态流转和预警规则统一抽象。 |
| SOLID | 模块按业务职责拆分,Controller、Service、Repository、Entity 边界清晰。 |
| 可追踪 | 需求、数据实体、接口、类图、流程图和验收标准之间保持对应关系。 |
二、建设分期与范围边界
2.1 分期建设范围
| 分期 | 建设目标 | 功能范围 | 交付要求 |
|---|---|---|---|
| 一期:核心照护管理 | 建立机构日常照护业务闭环 | 老人档案、入住退住、床位房间、健康记录、护理计划、护理任务、紧急呼叫、设备运维、公告通知、账号权限、数据看板 | 必须可开发、可测试、可验收 |
| 二期:运营服务增强 | 补齐家属服务、运营和活动服务能力 | 用药计划、用药提醒、探访预约、家属端、服务反馈、费用记录、活动课程、活动评价、实训评价 | 作为增强建设范围,可在一期稳定后迭代 |
| 三期:AI 规则预警 | 建立轻量智能提醒能力 | 健康异常预警、用药逾期预警、护理任务逾期预警、设备故障预警、应急事件预警、风险老人识别 | 采用规则引擎和统计分析,不引入复杂模型训练 |
2.2 分期路线图
gantt
title 智慧养老系统分期建设路线图
dateFormat YYYY-MM-DD
axisFormat %m-%d
section 一期核心照护管理
老人档案与入住床位 :a1, 2026-07-01, 10d
健康记录与护理任务 :a2, after a1, 12d
应急事件与设备运维 :a3, after a2, 10d
权限通知与数据看板 :a4, after a3, 8d
section 二期运营服务增强
家属端与探访预约 :b1, after a4, 10d
用药提醒与费用记录 :b2, after b1, 10d
活动课程与服务反馈 :b3, after b2, 8d
section 三期AI规则预警
预警规则中心 :c1, after b3, 8d
风险识别与统计分析 :c2, after c1, 8d
2.3 范围边界
| 范围类型 | 内容 |
|---|---|
| 一期范围内 | 老人全生命周期、床位房间、健康记录、护理任务、应急事件、设备运维、公告通知、权限日志、基础看板。 |
| 二期范围内 | 用药计划、家属端、探访预约、费用记录、服务反馈、活动课程、活动评价。 |
| 三期范围内 | 规则预警、异常提醒、风险老人识别、预警统计。 |
| 明确范围外 | 医保结算、在线支付、第三方硬件协议适配、复杂 AI 模型训练、多机构 SaaS、多租户计费平台。 |
三、用户角色与权限模型
3.1 用户角色
| 角色 | 主要职责 | 核心诉求 |
|---|---|---|
| 系统管理员 | 维护账号、角色、权限、字典、系统参数 | 权限边界清晰,操作可追踪 |
| 机构管理人员 | 查看运营看板、审批入住退住、协调资源 | 快速掌握机构运营状态 |
| 护理主管 | 制定护理计划、分配护理任务、检查任务完成情况 | 护理过程标准化、任务可追踪 |
| 护理人员 | 执行护理任务、巡检打卡、提交护理记录和异常事件 | 移动端操作简单,任务提醒明确 |
| 医护人员 | 维护健康记录、用药计划、健康异常处理建议 | 健康数据连续、异常提醒及时 |
| 维修人员 | 处理设备报修、记录维修结果 | 工单状态清晰,设备位置明确 |
| 老人 | 查看个人信息、活动通知、服务安排 | 信息易读,操作步骤少 |
| 家属 | 查看老人动态、健康记录、护理记录、预约探访、提交反馈 | 及时了解老人状态并参与沟通 |
| 教师/学生 | 基于系统开展 JavaEE 实训、设计和验收 | 业务边界明确,模块可拆分 |
3.2 角色权限图
flowchart LR
Admin[系统管理员] --> P1[账号权限]
Admin --> P2[系统配置]
Manager[机构管理人员] --> P3[运营看板]
Manager --> P4[入住退住审批]
Supervisor[护理主管] --> P5[护理计划]
Supervisor --> P6[任务派发]
Nurse[护理人员] --> P7[护理任务执行]
Nurse --> P8[巡检打卡]
Doctor[医护人员] --> P9[健康记录]
Doctor --> P10[用药计划]
Repair[维修人员] --> P11[维修工单]
Elder[老人] --> P12[个人信息查看]
Family[家属] --> P13[家属端查看]
Family --> P14[探访预约与反馈]
Teacher[教师/学生] --> P15[实训评价]
四、需求分析
4.1 总体需求
系统应围绕“老人入住 -> 档案建档 -> 床位分配 -> 健康记录 -> 护理计划 -> 护理任务 -> 异常预警 -> 应急处理 -> 家属通知 -> 数据看板”的主线构建。后台管理端负责业务配置、数据维护、统计分析和审批处理;移动端 App 支持护理人员现场执行、老人查看信息和家属查看动态;规则预警中心负责对异常数据和逾期任务进行提醒。
4.2 功能需求
| 编号 | 分期 | 模块 | 功能点 | 需求描述 | 验收要点 |
|---|---|---|---|---|---|
| FR-01 | 一期 | 老人全生命周期 | 老人档案管理 | 支持老人基础信息、健康摘要、联系人、入住状态维护。 | 档案可新增、编辑、查询,关键字段校验生效。 |
| FR-02 | 一期 | 老人全生命周期 | 入住登记 | 支持登记入住时间、护理等级、床位、家属联系人。 | 入住后床位状态变为占用,生成入住记录。 |
| FR-03 | 一期 | 老人全生命周期 | 退住办理 | 支持退住申请、退住确认、床位释放。 | 退住后老人状态更新,床位恢复可用。 |
| FR-04 | 一期 | 床位房间管理 | 房间管理 | 支持楼栋、楼层、房间信息维护。 | 房间可按楼层和状态查询。 |
| FR-05 | 一期 | 床位房间管理 | 床位管理 | 支持床位编号、所属房间、床位状态维护。 | 床位状态可在空闲、占用、维修间流转。 |
| FR-06 | 一期 | 健康照护 | 健康记录 | 支持体温、血压、心率、血氧等生命体征记录。 | 健康记录可按老人和时间查询。 |
| FR-07 | 一期 | 健康照护 | 健康档案 | 支持过敏史、慢病信息、健康摘要维护。 | 健康档案与老人档案关联。 |
| FR-08 | 一期 | 护理服务 | 护理等级 | 支持为老人设置护理等级并关联服务标准。 | 护理等级变更有记录。 |
| FR-09 | 一期 | 护理服务 | 护理计划 | 支持按护理等级创建护理计划。 | 护理计划可生成护理任务。 |
| FR-10 | 一期 | 护理服务 | 护理任务 | 支持任务派发、接收、执行、完成和逾期标记。 | 任务状态流转正确,完成记录可追踪。 |
| FR-11 | 一期 | 护理服务 | 巡检打卡 | 支持护理人员巡检打卡并记录异常说明。 | 巡检记录关联护理人员、老人和时间。 |
| FR-12 | 一期 | 安全应急 | 紧急呼叫 | 支持老人或护理人员提交紧急呼叫。 | 呼叫生成应急事件并通知相关人员。 |
| FR-13 | 一期 | 安全应急 | 应急事件处理 | 支持事件接警、派发、处理、完成、归档。 | 应急事件状态可追踪,处理结果可查看。 |
| FR-14 | 一期 | 设备运维 | 设备台账 | 支持设备编号、类型、位置、状态、责任人维护。 | 设备编号唯一,状态变化有记录。 |
| FR-15 | 一期 | 设备运维 | 设备报修 | 支持故障上报、派单、维修记录和完成确认。 | 工单完成后设备状态可恢复正常。 |
| FR-16 | 一期 | 公告通知 | 公告发布 | 支持按角色和范围发布公告。 | 草稿不可见,发布后目标用户可见。 |
| FR-17 | 一期 | 公告通知 | 消息阅读状态 | 支持未读、已读状态维护。 | 用户阅读后状态更新。 |
| FR-18 | 一期 | 账号权限 | 账号角色管理 | 支持账号启停、角色分配、权限控制。 | 停用账号不可登录,角色菜单隔离。 |
| FR-19 | 一期 | 数据可视化 | 基础运营看板 | 展示老人数量、床位占用、护理任务、应急事件、设备状态。 | 看板数据与业务记录一致。 |
| FR-20 | 二期 | 用药管理 | 用药计划 | 支持维护药品名称、剂量、频次、用药时间。 | 用药计划与老人档案关联。 |
| FR-21 | 二期 | 用药管理 | 用药提醒 | 支持按计划生成提醒并记录服药状态。 | 逾期未确认可生成提醒记录。 |
| FR-22 | 二期 | 家属服务 | 家属端信息查看 | 家属可查看授权范围内的老人档案摘要、健康记录、护理记录。 | 家属只能查看绑定老人数据。 |
| FR-23 | 二期 | 家属服务 | 探访预约 | 支持家属提交探访预约,工作人员审核。 | 预约状态可追踪。 |
| FR-24 | 二期 | 家属服务 | 服务反馈 | 支持家属提交服务评价和反馈。 | 反馈可处理、回复和归档。 |
| FR-25 | 二期 | 运营管理 | 费用记录 | 支持记录护理费、床位费、服务费等费用信息。 | 费用记录可按老人和周期查询。 |
| FR-26 | 二期 | 活动课程 | 活动课程发布 | 支持活动课程创建、发布、报名和容量控制。 | 发布后授权用户可查看并报名。 |
| FR-27 | 二期 | 活动课程 | 活动签到评价 | 支持签到、活动评价、参与统计。 | 签到和评价数据可统计。 |
| FR-28 | 三期 | 规则预警 | 预警规则配置 | 支持健康阈值、任务逾期、设备故障等规则配置。 | 启用规则后可参与预警判断。 |
| FR-29 | 三期 | 规则预警 | 预警记录 | 支持生成、确认、处理、关闭预警记录。 | 预警状态完整可追踪。 |
| FR-30 | 三期 | 智能分析 | 风险老人识别 | 根据健康异常、应急事件、护理频次识别高风险老人。 | 风险列表可按规则结果生成。 |
4.3 非功能需求
| 编号 | 类别 | 需求说明 |
|---|---|---|
| NFR-01 | 性能 | 常规列表查询 3 秒内返回;高频列表必须分页;看板统计应避免全表实时扫描。 |
| NFR-02 | 安全 | 所有业务接口必须认证授权;老人健康、费用和家属数据仅授权角色可见。 |
| NFR-03 | 可靠性 | 关键状态流转必须具备幂等或重复提交保护,避免任务、工单、预警重复处理。 |
| NFR-04 | 可用性 | 后台菜单按业务域组织;移动端优先展示待办任务、提醒和老人关键信息。 |
| NFR-05 | 可维护性 | 按业务域拆分 Service,状态枚举和规则判断集中管理,避免散落在控制层。 |
| NFR-06 | 可审计 | 登录、档案修改、入住退住、护理任务、应急事件、费用变更必须记录操作日志。 |
| NFR-07 | 数据备份 | 核心业务数据应支持定期备份和恢复验证。 |
| NFR-08 | 可扩展 | 二期和三期功能通过新增模块扩展,不破坏一期核心数据结构。 |
五、系统建模
5.1 系统上下文图
flowchart LR
Admin[系统管理员] --> Web[后台管理端]
Manager[机构管理人员] --> Web
Supervisor[护理主管] --> Web
Doctor[医护人员] --> Web
Repair[维修人员] --> Web
Nurse[护理人员] --> App[移动端 App]
Elder[老人] --> App
Family[家属] --> FamilyPortal[家属服务端]
Teacher[教师/学生] --> Web
Web --> Server[JavaEE 应用服务]
App --> Server
FamilyPortal --> Server
Server --> DB[(关系型数据库)]
Server --> FileStore[(附件与导出文件)]
Server --> Alert[规则预警中心]
Alert --> Notify[消息通知]
5.2 用例图
flowchart TB
Admin[系统管理员]
Manager[机构管理人员]
Supervisor[护理主管]
Nurse[护理人员]
Doctor[医护人员]
Repair[维修人员]
Elder[老人]
Family[家属]
Teacher[教师/学生]
UC01[账号权限管理]
UC02[老人档案管理]
UC03[入住退住管理]
UC04[床位房间管理]
UC05[健康记录管理]
UC06[用药计划管理]
UC07[护理计划管理]
UC08[护理任务执行]
UC09[巡检打卡]
UC10[紧急呼叫处理]
UC11[设备台账维护]
UC12[维修工单处理]
UC13[公告通知管理]
UC14[家属信息查看]
UC15[探访预约]
UC16[服务反馈]
UC17[费用记录]
UC18[活动课程管理]
UC19[规则预警处理]
UC20[运营数据看板]
Admin --> UC01
Manager --> UC03
Manager --> UC04
Manager --> UC17
Manager --> UC20
Supervisor --> UC07
Supervisor --> UC19
Nurse --> UC08
Nurse --> UC09
Nurse --> UC10
Doctor --> UC05
Doctor --> UC06
Repair --> UC11
Repair --> UC12
Elder --> UC10
Elder --> UC18
Family --> UC14
Family --> UC15
Family --> UC16
Teacher --> UC18
Teacher --> UC20
5.3 业务领域划分图
mindmap
root((智慧养老系统))
核心照护
老人档案
入住退住
床位房间
健康记录
护理任务
应急事件
运营服务
家属端
探访预约
费用记录
服务反馈
活动课程
支撑能力
账号权限
公告通知
操作日志
数据看板
智能能力
规则配置
异常预警
风险识别
预警统计
5.4 总体业务流程图
flowchart TD
Start([开始]) --> Register[老人档案建档]
Register --> CheckIn[入住登记]
CheckIn --> AssignBed[床位分配]
AssignBed --> Health[健康档案与健康记录]
Health --> CarePlan[制定护理计划]
CarePlan --> CareTask[生成护理任务]
CareTask --> Execute[护理执行与巡检打卡]
Execute --> Abnormal{是否异常}
Abnormal -- 否 --> Record[归档服务记录]
Abnormal -- 是 --> Alert[生成预警或应急事件]
Alert --> Handle[处理并通知相关人员]
Record --> Dashboard[更新数据看板]
Handle --> Dashboard
Dashboard --> End([结束])
六、概要架构设计
6.1 总体架构图
flowchart TB
subgraph Client[客户端层]
WebUI[后台管理端 Web]
Mobile[移动端 App]
FamilyUI[家属服务端]
end
subgraph Application[JavaEE 应用服务]
Controller[Controller 表现层]
Auth[认证授权与审计]
Service[Service 业务服务层]
Rule[规则预警组件]
Repository[Repository 数据访问层]
Common[通用组件]
end
subgraph Storage[数据存储层]
DB[(关系型数据库)]
Files[(附件与导出文件)]
end
WebUI --> Controller
Mobile --> Controller
FamilyUI --> Controller
Controller --> Auth
Controller --> Service
Service --> Rule
Service --> Repository
Service --> Common
Rule --> Repository
Repository --> DB
Common --> Files
6.2 功能模块图
flowchart TD
System[AI赋能智慧养老系统]
System --> M1[老人全生命周期]
System --> M2[床位房间管理]
System --> M3[健康照护管理]
System --> M4[护理服务管理]
System --> M5[安全应急管理]
System --> M6[设备运维管理]
System --> M7[家属服务管理]
System --> M8[运营服务管理]
System --> M9[公告通知管理]
System --> M10[规则预警中心]
System --> M11[数据可视化]
System --> M12[账号权限与日志]
M1 --> M101[档案]
M1 --> M102[入住]
M1 --> M103[退住]
M2 --> M201[房间]
M2 --> M202[床位]
M3 --> M301[健康记录]
M3 --> M302[用药计划]
M4 --> M401[护理计划]
M4 --> M402[护理任务]
M5 --> M501[紧急呼叫]
M5 --> M502[应急事件]
M7 --> M701[探访预约]
M7 --> M702[服务反馈]
M10 --> M1001[规则配置]
M10 --> M1002[预警记录]
6.3 模块职责表
| 模块 | 主要职责 | 分期 |
|---|---|---|
| 老人全生命周期 | 档案、入住、退住、联系人、状态管理 | 一期 |
| 床位房间管理 | 楼栋、楼层、房间、床位状态和占用关系 | 一期 |
| 健康照护管理 | 健康档案、生命体征、用药计划和提醒 | 一期/二期 |
| 护理服务管理 | 护理等级、护理计划、任务派发、执行、巡检 | 一期 |
| 安全应急管理 | 紧急呼叫、应急事件、处理闭环、家属通知 | 一期 |
| 设备运维管理 | 设备台账、故障报修、维修派单和归档 | 一期 |
| 家属服务管理 | 家属端查看、探访预约、服务反馈 | 二期 |
| 运营服务管理 | 费用记录、活动课程、评价统计 | 二期 |
| 规则预警中心 | 规则配置、预警生成、确认、处理、关闭 | 三期 |
| 数据可视化 | 床位、护理、健康、应急、设备、费用、活动指标 | 一期/二期/三期 |
| 账号权限与日志 | 账号、角色、权限、审计日志 | 一期 |
七、数据库设计
7.1 核心数据对象
| 数据对象 | 分期 | 关键字段 | 主要关系 |
|---|---|---|---|
| UserAccount | 一期 | user_id, username, password_hash, role_id, status | 关联角色、日志、通知阅读 |
| Role | 一期 | role_id, role_name, permission_codes | 关联用户账号 |
| Elder | 一期 | elder_id, name, gender, age, status, health_summary | 关联入住、床位、健康、护理、应急 |
| FamilyMember | 二期 | family_id, elder_id, name, phone, relation | 关联老人和家属端账号 |
| Room | 一期 | room_id, building, floor, room_no, status | 关联床位 |
| Bed | 一期 | bed_id, room_id, bed_no, status | 关联入住记录 |
| CheckInRecord | 一期 | checkin_id, elder_id, bed_id, checkin_at, checkout_at, status | 关联老人和床位 |
| HealthRecord | 一期 | record_id, elder_id, temperature, blood_pressure, heart_rate, spo2, recorded_at | 关联老人和预警 |
| MedicationPlan | 二期 | plan_id, elder_id, medicine_name, dosage, frequency, start_date, status | 关联用药提醒 |
| MedicationReminder | 二期 | reminder_id, plan_id, remind_time, confirm_status | 关联用药计划 |
| CareLevel | 一期 | level_id, level_name, service_standard | 关联老人和护理计划 |
| CarePlan | 一期 | plan_id, elder_id, level_id, content, status | 生成护理任务 |
| CareTask | 一期 | task_id, plan_id, assignee_id, due_time, status | 关联护理人员和巡检记录 |
| PatrolRecord | 一期 | patrol_id, task_id, elder_id, staff_id, result, checked_at | 关联护理任务 |
| EmergencyEvent | 一期 | event_id, elder_id, caller_id, status, level, result | 关联通知和预警 |
| Device | 一期 | device_id, code, type, location, status, owner_id | 关联维修工单 |
| RepairTicket | 一期 | ticket_id, device_id, reporter_id, assignee_id, status, result | 关联设备和员工 |
| Notice | 一期 | notice_id, title, content, target_scope, publish_status | 关联阅读记录 |
| NoticeRead | 一期 | read_id, notice_id, user_id, read_status, read_at | 关联通知和用户 |
| VisitAppointment | 二期 | appointment_id, elder_id, family_id, visit_time, status | 关联家属和老人 |
| Feedback | 二期 | feedback_id, elder_id, family_id, content, status, reply | 关联家属和处理人 |
| FeeRecord | 二期 | fee_id, elder_id, fee_type, amount, period, status | 关联老人 |
| CourseActivity | 二期 | course_id, title, time, location, capacity, status | 关联报名签到 |
| Enrollment | 二期 | enrollment_id, course_id, elder_id, sign_status | 关联课程和老人 |
| ScoreEvaluation | 二期 | score_id, course_id, elder_id, score, comment | 关联课程和评价 |
| AlertRule | 三期 | rule_id, rule_type, condition_expr, level, enabled | 生成预警 |
| AlertRecord | 三期 | alert_id, rule_id, elder_id, source_type, status, message | 关联老人和业务来源 |
| AuditLog | 一期 | log_id, user_id, action, target_type, target_id, created_at | 记录关键操作 |
7.2 ER 图
erDiagram
ROLE ||--o{ USER_ACCOUNT : grants
USER_ACCOUNT ||--o{ AUDIT_LOG : writes
ELDER ||--o{ FAMILY_MEMBER : has
FAMILY_MEMBER ||--o| USER_ACCOUNT : binds
ELDER ||--o{ CHECKIN_RECORD : has
ROOM ||--o{ BED : contains
BED ||--o{ CHECKIN_RECORD : assigned
ELDER ||--o{ HEALTH_RECORD : owns
ELDER ||--o{ MEDICATION_PLAN : owns
MEDICATION_PLAN ||--o{ MEDICATION_REMINDER : generates
CARE_LEVEL ||--o{ CARE_PLAN : defines
ELDER ||--o{ CARE_PLAN : owns
CARE_PLAN ||--o{ CARE_TASK : generates
STAFF ||--o{ CARE_TASK : executes
CARE_TASK ||--o{ PATROL_RECORD : records
ELDER ||--o{ EMERGENCY_EVENT : triggers
DEVICE ||--o{ REPAIR_TICKET : has
STAFF ||--o{ REPAIR_TICKET : handles
NOTICE ||--o{ NOTICE_READ : tracks
USER_ACCOUNT ||--o{ NOTICE_READ : reads
ELDER ||--o{ VISIT_APPOINTMENT : receives
FAMILY_MEMBER ||--o{ VISIT_APPOINTMENT : books
FAMILY_MEMBER ||--o{ FEEDBACK : submits
ELDER ||--o{ FEE_RECORD : has
COURSE_ACTIVITY ||--o{ ENROLLMENT : includes
ELDER ||--o{ ENROLLMENT : joins
COURSE_ACTIVITY ||--o{ SCORE_EVALUATION : evaluates
ALERT_RULE ||--o{ ALERT_RECORD : creates
ELDER ||--o{ ALERT_RECORD : receives
ELDER {
bigint elder_id PK
string name
string gender
int age
string status
string health_summary
}
ROOM {
bigint room_id PK
string building
string floor
string room_no
string status
}
BED {
bigint bed_id PK
bigint room_id FK
string bed_no
string status
}
CHECKIN_RECORD {
bigint checkin_id PK
bigint elder_id FK
bigint bed_id FK
datetime checkin_at
datetime checkout_at
string status
}
HEALTH_RECORD {
bigint record_id PK
bigint elder_id FK
decimal temperature
string blood_pressure
int heart_rate
int spo2
datetime recorded_at
}
CARE_TASK {
bigint task_id PK
bigint plan_id FK
bigint assignee_id FK
datetime due_time
string status
}
EMERGENCY_EVENT {
bigint event_id PK
bigint elder_id FK
bigint caller_id FK
string level
string status
string result
}
ALERT_RECORD {
bigint alert_id PK
bigint rule_id FK
bigint elder_id FK
string source_type
string level
string status
string message
}
八、核心类设计
8.1 核心领域类图
classDiagram
class Elder {
+Long elderId
+String name
+String status
+String healthSummary
+checkIn(bed)
+checkOut()
}
class Room {
+Long roomId
+String roomNo
+String status
}
class Bed {
+Long bedId
+String bedNo
+String status
+occupy()
+release()
+repair()
}
class CheckInRecord {
+Long checkinId
+Date checkinAt
+Date checkoutAt
+String status
}
class HealthRecord {
+Long recordId
+BigDecimal temperature
+String bloodPressure
+Integer heartRate
+Integer spo2
+isAbnormal()
}
class MedicationPlan {
+Long planId
+String medicineName
+String dosage
+String frequency
+generateReminders()
}
class CarePlan {
+Long planId
+String content
+String status
+generateTasks()
}
class CareTask {
+Long taskId
+Date dueTime
+String status
+accept()
+finish()
+markOverdue()
}
class EmergencyEvent {
+Long eventId
+String level
+String status
+dispatch()
+finish()
}
class AlertRule {
+Long ruleId
+String ruleType
+String conditionExpr
+Boolean enabled
+match(source)
}
class AlertRecord {
+Long alertId
+String level
+String status
+confirm()
+close()
}
Room "1" --> "0..*" Bed
Elder "1" --> "0..*" CheckInRecord
Bed "1" --> "0..*" CheckInRecord
Elder "1" --> "0..*" HealthRecord
Elder "1" --> "0..*" MedicationPlan
Elder "1" --> "0..*" CarePlan
CarePlan "1" --> "0..*" CareTask
Elder "1" --> "0..*" EmergencyEvent
AlertRule "1" --> "0..*" AlertRecord
Elder "1" --> "0..*" AlertRecord
8.2 服务层类图
classDiagram
class AuthService {
+login(username, password)
+checkPermission(userId, permission)
}
class ElderService {
+createElder(cmd)
+updateElder(cmd)
+checkIn(cmd)
+checkOut(elderId)
}
class BedService {
+assignBed(elderId, bedId)
+releaseBed(bedId)
+changeStatus(bedId, status)
}
class HealthService {
+recordHealth(cmd)
+queryTrend(elderId)
}
class CareService {
+createPlan(cmd)
+dispatchTask(cmd)
+finishTask(taskId)
}
class EmergencyService {
+createEvent(cmd)
+dispatch(eventId)
+finish(eventId)
}
class AlertService {
+evaluate(source)
+createAlert(rule, source)
+close(alertId)
}
class DashboardService {
+overview()
+careStats()
+riskStats()
}
ElderService --> BedService
HealthService --> AlertService
CareService --> AlertService
EmergencyService --> AlertService
DashboardService --> ElderService
DashboardService --> CareService
DashboardService --> EmergencyService
九、接口设计
9.1 核心接口族
| 接口族 | 方法与路径示例 | 主要用途 | 分期 | 权限要求 |
|---|---|---|---|---|
| 认证接口 | POST /api/auth/login | 登录并获取会话信息 | 一期 | 所有用户 |
| 老人档案接口 | GET/POST/PUT /api/elders | 老人档案维护 | 一期 | 管理员、工作人员 |
| 入住退住接口 | POST /api/check-ins, PUT /api/check-ins/{id}/checkout | 入住登记与退住办理 | 一期 | 管理员、工作人员 |
| 房间接口 | GET/POST/PUT /api/rooms | 房间维护 | 一期 | 管理员、工作人员 |
| 床位接口 | GET/POST/PUT /api/beds | 床位维护和状态调整 | 一期 | 管理员、工作人员 |
| 健康记录接口 | GET/POST /api/health-records | 生命体征记录和查询 | 一期 | 医护人员、护理人员 |
| 护理等级接口 | GET/POST /api/care-levels | 护理等级维护 | 一期 | 护理主管 |
| 护理计划接口 | GET/POST/PUT /api/care-plans | 护理计划维护 | 一期 | 护理主管 |
| 护理任务接口 | GET/POST/PUT /api/care-tasks | 护理任务派发与执行 | 一期 | 护理主管、护理人员 |
| 巡检接口 | POST /api/patrol-records | 巡检打卡记录 | 一期 | 护理人员 |
| 应急事件接口 | GET/POST/PUT /api/emergency-events | 紧急呼叫和应急事件处理 | 一期 | 护理人员、管理人员 |
| 设备接口 | GET/POST/PUT /api/devices | 设备台账维护 | 一期 | 管理员、维修人员 |
| 工单接口 | GET/POST/PUT /api/repair-tickets | 设备报修处理 | 一期 | 护理人员、维修人员 |
| 公告接口 | GET/POST/PUT /api/notices | 公告发布和阅读状态维护 | 一期 | 工作人员、老人、家属 |
| 看板接口 | GET /api/dashboard/overview | 查询运营统计指标 | 一期 | 管理人员、教师 |
| 用药计划接口 | GET/POST/PUT /api/medication-plans | 用药计划维护 | 二期 | 医护人员 |
| 用药提醒接口 | GET/PUT /api/medication-reminders | 用药提醒和确认 | 二期 | 护理人员、家属 |
| 家属端接口 | GET /api/family/elders/{id}/summary | 家属查看老人摘要 | 二期 | 家属 |
| 探访预约接口 | GET/POST/PUT /api/visit-appointments | 探访预约与审核 | 二期 | 家属、工作人员 |
| 服务反馈接口 | GET/POST/PUT /api/feedback | 服务评价、回复和归档 | 二期 | 家属、工作人员 |
| 费用接口 | GET/POST /api/fee-records | 费用记录和查询 | 二期 | 管理人员、家属 |
| 活动课程接口 | GET/POST/PUT /api/courses | 活动课程发布和维护 | 二期 | 工作人员、教师 |
| 规则接口 | GET/POST/PUT /api/alert-rules | 预警规则配置 | 三期 | 管理员、护理主管 |
| 预警接口 | GET/PUT /api/alerts | 预警确认、处理和关闭 | 三期 | 管理人员、护理人员 |
十、关键业务流程设计
10.1 老人入住流程图
flowchart TD
Start([开始]) --> Create[创建老人档案]
Create --> Check[校验身份证明和联系人]
Check --> ChooseBed[选择房间床位]
ChooseBed --> Available{床位是否可用}
Available -- 否 --> Rechoose[重新选择床位]
Rechoose --> ChooseBed
Available -- 是 --> SetCare[设置护理等级]
SetCare --> Save[生成入住记录]
Save --> Occupy[床位状态改为占用]
Occupy --> Plan[生成初始护理计划]
Plan --> End([完成入住])
10.2 护理任务流程图
flowchart TD
Start([护理计划生效]) --> Generate[生成护理任务]
Generate --> Dispatch[派发给护理人员]
Dispatch --> Accept[护理人员接收]
Accept --> Execute[执行护理]
Execute --> Check{是否发现异常}
Check -- 否 --> Finish[提交完成记录]
Check -- 是 --> Abnormal[提交异常说明]
Abnormal --> Alert[触发预警或应急事件]
Finish --> Archive[归档护理记录]
Alert --> Archive
10.3 健康异常预警流程图
flowchart TD
Start([录入健康记录]) --> LoadRule[加载健康阈值规则]
LoadRule --> Match{是否命中异常规则}
Match -- 否 --> Save[保存健康记录]
Match -- 是 --> CreateAlert[生成健康预警]
CreateAlert --> Notify[通知医护或护理主管]
Notify --> Confirm[确认预警]
Confirm --> Handle[处理并填写结果]
Handle --> Close[关闭预警]
Save --> End([结束])
Close --> End
10.4 紧急呼叫处理流程图
flowchart TD
Call([紧急呼叫]) --> Event[生成应急事件]
Event --> Notify[通知护理人员和管理人员]
Notify --> Dispatch[分派处理人]
Dispatch --> Arrive[到场处理]
Arrive --> NeedFamily{是否通知家属}
NeedFamily -- 是 --> Family[推送家属通知]
NeedFamily -- 否 --> Record[记录处理过程]
Family --> Record
Record --> Finish[完成事件]
Finish --> Archive[事件归档]
10.5 设备报修流程图
flowchart TD
Fault[发现设备故障] --> Ticket[提交维修工单]
Ticket --> Mark[设备状态改为故障]
Mark --> Assign[分配维修人员]
Assign --> Repair[维修处理]
Repair --> Result{是否修复}
Result -- 是 --> Normal[设备恢复正常]
Result -- 否 --> Pending[继续维修或停用]
Normal --> Archive[工单归档]
Pending --> Archive
10.6 家属探访预约流程图
flowchart TD
Start([家属提交预约]) --> CheckTime[校验探访时间]
CheckTime --> Review[工作人员审核]
Review --> Pass{是否通过}
Pass -- 否 --> Reject[驳回并说明原因]
Pass -- 是 --> Confirm[生成预约记录]
Confirm --> Notify[通知家属和护理人员]
Notify --> Visit[到访签到]
Visit --> Finish[预约完成]
十一、状态设计
11.1 床位状态图
stateDiagram-v2
[*] --> Available: 新增床位
Available --> Occupied: 入住分配
Occupied --> Available: 退住释放
Available --> Maintenance: 进入维修
Occupied --> Maintenance: 故障停用
Maintenance --> Available: 维修完成
11.2 护理任务状态图
stateDiagram-v2
[*] --> Pending: 生成任务
Pending --> Assigned: 派发
Assigned --> Accepted: 接收
Accepted --> Processing: 执行
Processing --> Completed: 完成
Assigned --> Overdue: 超时未处理
Accepted --> Overdue: 超时未完成
Overdue --> Completed: 补充完成
Completed --> [*]
11.3 应急事件状态图
stateDiagram-v2
[*] --> Submitted: 呼叫或上报
Submitted --> Dispatched: 分派处理
Dispatched --> Processing: 到场处理
Processing --> Finished: 处理完成
Finished --> Archived: 归档
Submitted --> Cancelled: 误报关闭
Archived --> [*]
Cancelled --> [*]
11.4 预警状态图
stateDiagram-v2
[*] --> Generated: 规则命中
Generated --> Confirmed: 人工确认
Confirmed --> Processing: 处理中
Processing --> Closed: 处理完成
Generated --> Ignored: 判定无需处理
Closed --> [*]
Ignored --> [*]
十二、关键时序设计
12.1 登录鉴权时序图
sequenceDiagram
participant U as 用户
participant C as 客户端
participant A as AuthController
participant S as AuthService
participant R as UserRepository
participant L as AuditLogService
U->>C: 输入账号密码
C->>A: POST /api/auth/login
A->>S: login(username, password)
S->>R: findByUsername(username)
R-->>S: 用户账号与角色
S->>S: 校验密码、状态和权限
S->>L: 记录登录日志
S-->>A: 返回会话与权限
A-->>C: 登录成功
12.2 护理任务执行时序图
sequenceDiagram
participant Supervisor as 护理主管
participant API as CareTaskController
participant S as CareService
participant N as 护理人员
participant A as AlertService
participant DB as Repository
Supervisor->>API: 创建并派发护理任务
API->>S: dispatchTask(cmd)
S->>DB: 保存任务状态为Assigned
N->>API: 接收任务
API->>S: accept(taskId)
S->>DB: 更新状态为Accepted
N->>API: 提交完成记录
API->>S: finishTask(taskId, result)
S->>A: evaluate(taskResult)
A-->>S: 返回预警判断结果
S->>DB: 保存护理记录和任务状态
12.3 用药提醒预警时序图
sequenceDiagram
participant Timer as 定时任务
participant M as MedicationService
participant A as AlertService
participant N as NoticeService
participant DB as Repository
Timer->>M: 扫描到期用药提醒
M->>DB: 查询未确认提醒
DB-->>M: 返回逾期提醒
M->>A: evaluate(medicationReminder)
A->>DB: 生成用药逾期预警
A->>N: 推送提醒给护理人员或家属
N->>DB: 保存通知记录
12.4 紧急呼叫处理时序图
sequenceDiagram
participant E as 老人/护理人员
participant C as 移动端
participant API as EmergencyController
participant S as EmergencyService
participant N as NoticeService
participant A as AlertService
participant DB as Repository
E->>C: 发起紧急呼叫
C->>API: POST /api/emergency-events
API->>S: createEvent(cmd)
S->>DB: 保存应急事件
S->>A: createAlert(event)
S->>N: 通知护理人员和管理人员
API-->>C: 返回事件编号和状态
C->>API: 提交处理结果
API->>S: finish(eventId, result)
S->>DB: 更新事件状态并归档
十三、AI 规则预警设计
13.1 规则预警范围
| 预警类型 | 数据来源 | 示例规则 | 处理对象 |
|---|---|---|---|
| 健康异常预警 | HealthRecord | 体温高于阈值、血压异常、血氧低于阈值 | 医护人员、护理主管 |
| 用药逾期预警 | MedicationReminder | 到点后未确认服药 | 护理人员、家属 |
| 护理任务逾期预警 | CareTask | 超过任务截止时间未完成 | 护理主管 |
| 设备故障预警 | Device, RepairTicket | 设备故障未派单或超时未修复 | 维修人员、管理人员 |
| 应急事件预警 | EmergencyEvent | 高等级应急事件未及时处理 | 管理人员、护理主管 |
| 风险老人识别 | HealthRecord, EmergencyEvent, CareTask | 多次异常记录或频繁应急事件 | 医护人员、机构管理人员 |
13.2 规则引擎处理流程
flowchart TD
Source[业务数据变化] --> Match[匹配启用规则]
Match --> Hit{是否命中}
Hit -- 否 --> End[结束]
Hit -- 是 --> Create[生成预警记录]
Create --> Level[计算预警等级]
Level --> Notify[发送通知]
Notify --> Confirm[人工确认]
Confirm --> Handle[处理预警]
Handle --> Close[关闭或忽略]
十四、部署设计
14.1 部署图
flowchart TB
subgraph UserSide[用户侧]
Browser[后台浏览器]
MobileApp[移动端 App]
FamilyBrowser[家属端浏览器或App]
end
subgraph ServerSide[服务器侧]
WebServer[Web入口或静态资源服务]
JavaApp[JavaEE应用服务]
Scheduler[定时任务与规则扫描]
Database[(关系型数据库)]
FileStorage[(附件与导出文件目录)]
end
Browser --> WebServer
FamilyBrowser --> WebServer
MobileApp --> JavaApp
WebServer --> JavaApp
JavaApp --> Database
JavaApp --> FileStorage
Scheduler --> JavaApp
Scheduler --> Database
14.2 运行约束
| 项目 | 说明 |
|---|---|
| 应用形态 | JavaEE 单体应用,后台、移动端和家属端共用服务端能力。 |
| 数据库 | 关系型数据库保存业务数据、账号权限、日志和统计基础数据。 |
| 定时任务 | 用于扫描用药提醒、护理任务逾期和预警规则。 |
| 安全边界 | 所有业务接口必须经过认证授权,家属端只能访问绑定老人数据。 |
| 日志审计 | 登录、档案修改、入住退住、费用变更、应急事件和预警处理必须记录日志。 |
十五、测试与验收
15.1 测试策略
| 测试类型 | 测试重点 |
|---|---|
| 单元测试 | Service 层业务规则,如床位状态、护理任务状态、应急事件状态、规则预警判断。 |
| 接口测试 | 登录、档案、入住、床位、健康、护理、应急、设备、家属端、预警接口。 |
| 集成测试 | 后台管理端、移动端、家属端、服务层、数据库之间的数据闭环。 |
| 权限测试 | 不同角色访问菜单、接口和敏感数据时的授权边界。 |
| 状态流转测试 | 床位、护理任务、应急事件、预警记录的状态转换合法性。 |
| 验收测试 | 按功能需求编号逐项验证业务输出和流程闭环。 |
15.2 需求追踪矩阵
| 需求编号 | 对应模块 | 设计元素 | 验收场景 |
|---|---|---|---|
| FR-01 | 老人档案 | Elder, ElderService, /api/elders | 新增老人档案并按条件查询 |
| FR-02 | 入住登记 | CheckInRecord, Bed, /api/check-ins | 入住后床位变为占用 |
| FR-03 | 退住办理 | CheckInRecord, BedService | 退住后释放床位 |
| FR-04 | 房间管理 | Room, /api/rooms | 按楼层查询房间 |
| FR-05 | 床位管理 | Bed, BedService, /api/beds | 床位状态正确流转 |
| FR-06 | 健康记录 | HealthRecord, HealthService | 录入生命体征并查询趋势 |
| FR-07 | 健康档案 | Elder.healthSummary | 健康摘要与老人档案关联 |
| FR-08 | 护理等级 | CareLevel | 护理等级变更有记录 |
| FR-09 | 护理计划 | CarePlan, CareService | 护理计划生成任务 |
| FR-10 | 护理任务 | CareTask, CareService | 任务派发、执行、完成 |
| FR-11 | 巡检打卡 | PatrolRecord | 巡检记录关联老人和护理人员 |
| FR-12 | 紧急呼叫 | EmergencyEvent | 呼叫后生成应急事件 |
| FR-13 | 应急处理 | EmergencyService | 事件处理完成并归档 |
| FR-14 | 设备台账 | Device, DeviceService | 设备编号唯一,状态可维护 |
| FR-15 | 设备报修 | RepairTicket | 工单完成后设备恢复正常 |
| FR-16 | 公告发布 | Notice | 发布后目标用户可见 |
| FR-17 | 阅读状态 | NoticeRead | 阅读后状态更新 |
| FR-18 | 账号权限 | UserAccount, Role, AuthService | 停用账号不可登录 |
| FR-19 | 数据看板 | DashboardService | 看板指标与业务数据一致 |
| FR-20 | 用药计划 | MedicationPlan | 用药计划关联老人 |
| FR-21 | 用药提醒 | MedicationReminder, AlertService | 逾期未确认生成提醒 |
| FR-22 | 家属查看 | FamilyMember, 家属端接口 | 家属只看绑定老人 |
| FR-23 | 探访预约 | VisitAppointment | 预约审核状态可追踪 |
| FR-24 | 服务反馈 | Feedback | 反馈可回复归档 |
| FR-25 | 费用记录 | FeeRecord | 按老人和周期查询费用 |
| FR-26 | 活动课程 | CourseActivity | 活动发布并支持报名 |
| FR-27 | 活动评价 | Enrollment, ScoreEvaluation | 签到和评价可统计 |
| FR-28 | 预警规则 | AlertRule | 启用规则参与判断 |
| FR-29 | 预警记录 | AlertRecord | 预警确认、处理、关闭 |
| FR-30 | 风险识别 | AlertService, DashboardService | 生成高风险老人列表 |
| NFR-02 | 安全 | AuthService, 权限模型 | 未授权访问被拒绝 |
| NFR-06 | 审计 | AuditLog | 关键操作记录日志 |
15.3 分期验收标准
| 分期 | 验收标准 |
|---|---|
| 一期 | 老人入住、床位分配、健康记录、护理任务、紧急呼叫、设备报修、公告通知、权限控制和基础看板形成闭环。 |
| 二期 | 家属端、用药提醒、探访预约、服务反馈、费用记录、活动课程和评价统计可正常使用。 |
| 三期 | 规则配置、预警生成、预警处理、风险老人识别和预警统计可追踪、可验证。 |
十六、项目价值与总结
AI赋能智慧养老系统通过后台管理端、移动端 App 和家属服务端协同,覆盖养老机构从入住建档、床位管理、健康照护、护理任务、安全应急、设备运维、家属互动到运营看板的关键业务链路。系统以一期核心照护闭环为基础,二期补齐运营服务能力,三期通过规则预警实现轻量智能化。
从软件工程角度看,本报告补充了系统上下文图、角色权限图、用例图、分期路线图、领域划分图、总体架构图、功能模块图、ER 图、领域类图、服务层类图、流程图、状态图、时序图、规则预警图和部署图,使需求、架构、数据、接口、测试和验收之间具备明确追踪关系。
从课程实训角度看,该项目仍保持 JavaEE 单体分层架构,避免复杂模型训练、硬件协议适配和商业 SaaS 能力带来的过度设计,适合作为完整的软件工程课程项目和 JavaEE 应用开发实训案例。