Files
teatea-pension/output/doc/AI赋能智慧养老系统需求报告分析文档.md

44 KiB
Raw Blame History

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 应用开发实训案例。