欢迎光临
我们一直在努力

【Springboot】智慧医养大数据公共服务平台(源码+文档+部署讲解等)

🔥【Java 圈顶流大神!】CSDN 博客专家 + 阿里云专家双 buff 叠满!公司资深架构师亲驻!全网狂揽 5 万 + 死忠粉!专注 Java 技术深耕 + 毕业设计实战落地,高校老师 / 讲师 / 同行看过来 —— 这波合作绝对让你直呼 “捡到宝”!​

💥【毕设救星!告别烂大街模板!】​

不管你是卡壳的 Javaweb 项目、难啃的小程序开发,还是 Python 数据可视化、SSM/SpringBoot 框架搭建,甚至 Vue/HTML/Jsp/PHP 全栈需求,咱全是纯手写高含金量代码!拒绝千篇一律的 “僵尸模板”,每一行代码都适配学生学习逻辑,二次开发轻松上手,答辩时导师都得夸你 “功底扎实”!​

📚【学习 & 求职硬核资源库炸了!】​

简历模板直接给你 “面试加分款”!学习资料覆盖从入门到精通全阶段,面试题库更是刷完就能 “手撕面试官”!技术咨询秒回不拖沓,文档编写 / 论文降重直接给你 “学术级优化”,长期答辩答疑辅导更是全程护航 —— 哪怕你是 “答辩小白”,经咱腾讯会议一对一精讲,也能变身 “答辩王者”,轻松 hold 住全场!​

⚠️ 别划走!文末联系方式赶紧存!​

这波资源错过绝对拍大腿!先收藏!先收藏!先收藏!(重要的事说三遍)不管是毕设选题卡壳、文档写不下去,还是代码 bug 卡到崩溃,随时来问!​

🌟 想瞅更多神仙案例?翻主页!​

项目全是 “定制级水准”,不管是学习提升还是毕设通关,跟着李小陆工作室,绝对让你在同学里 “卷” 出重围,求职时 “赢在起跑线”!​

获取项目源码,请关注❤点赞收藏并私信博主,谢谢-

1. 引言

1.1 编写目的

本文档是智慧医养大数据公共服务平台个人健康档案系统的软件需求规约说明书。本文档详细描述了系统的功能需求、性能需求、设计约束以及质量属性等内容,为系统的设计、开发、测试和验收提供依据。

**预期读者**:

  • 项目经理: 了解项目范围和功能需求
  • 系统分析师: 进行系统设计
  • 开发人员: 进行系统开发
  • 测试人员: 编写测试用例
  • 客户/用户: 确认需求符合预期

1.2 项目背景

1.2.1 项目背景说明

随着我国人口老龄化趋势加剧和居民健康意识的提升,个人健康管理需求日益增长。传统的纸质健康档案管理方式存在以下问题:

  • **信息分散**: 体检报告、病历记录、运动饮食数据等信息分散在不同医疗机构和个人手中
  • **缺乏追踪**: 无法有效追踪个人健康指标的变化趋势
  • **智能化不足**: 缺少智能分析和个性化健康建议
  • **数据孤岛**: 医疗机构之间数据不互通,重复检查浪费资源
  • **专业性壁垒**: 普通用户难以理解专业医疗术语和报告
  • 本项目旨在构建一个集健康档案管理、智能健康分析、健康科普、数据导入导出于一体的综合性健康管理平台,为用户、医护人员、健康管理师提供便捷的健康管理工具。

    1.2.2 项目目标

    • 建立统一的个人健康档案管理平台
    • 实现多角色协同的健康管理模式
    • 提供智能化的健康风险评估和分析
    • 促进健康知识科普和传播
    • 支持多种格式的数据导入导出

    1.3 定义、首字母缩写词和缩略语

    术语

    定义/说明

    PHR

    Personal Health Record,个人健康档案

    EHR

    Electronic Health Record,电子健康档案

    BMI

    Body Mass Index,身体质量指数

    收缩压

    Systolic Blood Pressure,血压的高压值

    舒张压

    Diastolic Blood Pressure,血压的低压值

    RESTful API

    符合REST架构风格的Web API

    RBAC

    Role-Based Access Control,基于角色的访问控制

    1.4 参考资料

  • GB/T 28828-2012 《个人健康档案基本架构与数据标准》
  • WS 445-2014 《电子病历基本数据集》
  • 《中国高血压防治指南(2018年修订版)》
  • 《中国成人糖尿病预防指南(2023年版)》
  • 《中国居民膳食指南(2022)》
  • ISO/IEC 25010:2011 系统与软件质量模型
  • 《软件工程 — 软件需求规格说明》GB/T 9385-2008
  • 1.5 文档概述

    本文档共分为4个主要部分:

    • **第1章 引言**: 说明文档编写目的、项目背景、术语定义等
    • **第2章 综合描述**: 描述产品前景、主要功能、用户特征和约束条件
    • **第3章 详细需求描述**: 详细说明系统的功能需求、性能需求、数据库需求等
    • **第4章 附录**: 提供用例图、流程图、数据字典等辅助资料

    __________________________________________________

    2. 综合描述

    2.1 产品前景

    2.1.1 业务需求

    **BR1: 个人健康档案管理**

    用户需要一个统一的平台来管理所有健康相关信息,包括体检报告、病历记录、运动饮食数据等,并能够长期追踪健康状态变化。

    **BR2: 智能健康分析**

    系统需要根据用户的健康数据自动进行风险评估,提供科学的健康建议,帮助用户及时发现潜在健康问题。

    **BR3: 专业医疗支持**

    医护人员和健康管理师需要便捷的工具来查看和管理患者/客户的健康信息,提供专业的健康指导服务。

    **BR4: 健康知识获取**

    用户需要便捷地获取权威、可靠的健康知识,提升健康素养。

    **BR5: 健康数据互通**

    支持从其他系统导入健康数据,打破数据孤岛,实现数据的互联互通。

    2.1.2 业务机会

  • **政策支持**: 国家大力推进"健康中国2030"战略,鼓励发展互联网+医疗健康
  • **市场需求**: 个人健康管理市场规模持续扩大,用户付费意愿提升
  • **技术成熟**: 大数据、云计算等技术日益成熟,可以实际应用
  • **用户痛点**: 现有解决方案功能单一,用户体验差,存在改进空间
  • 2.1.3 业务目标和成功标准

    业务目标

    成功标准

    时间框架

    用户规模

    注册用户数达到10万+

    上线后12个月

    用户活跃度

    月活跃用户(MAU)达到3万+

    上线后12个月

    数据规模

    健康档案记录数达到100万+

    上线后12个月

    用户满意度

    用户满意度评分≥4.5分(满分5分)

    持续监测

    系统可用性

    系统可用率≥99.5%

    持续监测

    2.2 产品功能

    系统主要包含以下功能模块:

    2.2.1 功能模块概览

    功能模块架构图

    2.2.2 核心功能说明

    **F1. 用户管理**

    • 支持用户注册、登录、找回密码
    • 多角色管理:普通用户、医护人员、健康管理师、系统管理员
    • 个人信息完善:基本信息、医疗信息、紧急联系等
    • 医护人员专属信息:职称、执业证书、所属机构等

    **F2. 健康档案管理**

    • 体检报告录入和管理
    • 支持血压、血糖、血脂、尿酸等多项指标
    • 健康档案历史记录,支持版本追溯
    • 档案权限控制,保护用户隐私

    **F3. 智能健康分析**

    • 自动分析最新健康数据
    • 多维度评分:血压、血糖、血脂、尿酸
    • 风险等级判定:低危、中危、高危
    • 生成个性化健康建议

    **F4. 生活方式管理**

    • 饮食记录:记录三餐及加餐,计算营养成分
    • 运动记录:记录运动项目、时长、强度、消耗卡路里
    • 数据统计和趋势分析

    **F5. 健康科普**

    • 权威健康知识文章发布
    • 支持图文并茂的内容展示
    • 用户可浏览、收藏、讨论科普内容
    • 浏览量统计和热门文章推荐

    **F6. 数据导入**

    • 支持Excel批量导入健康数据
    • 支持JSON格式数据导入
    • 提供标准模板下载
    • 导入记录追踪和错误日志

    2.3 用户特征

    2.3.1 用户角色

    本系统服务于以下四类用户:

    **角色1: 普通用户**

    • 人员数量: 主要用户群体,预计占比90%+
    • 年龄范围: 18-80岁
    • 技术水平: 基本的计算机和手机操作能力
    • 教育背景: 初中及以上
    • 职业背景: 各行各业
    • 主要需求:
    • 记录和管理个人健康数据
    • 查看健康分析报告
    • 获取健康知识
    • 与他人交流健康经验

    **角色2: 医护人员**

    • 人员数量: 预计占比5-8%
    • 年龄范围: 25-60岁
    • 技术水平: 熟练使用各类医疗信息系统
    • 教育背景: 医学专业本科及以上
    • 职业背景: 医生、护士等
    • 主要需求:
    • 查看和管理患者健康档案
    • 提供专业医疗建议
    • 远程健康咨询
    • 健康数据分析

    **角色3: 健康管理师**

    • 人员数量: 预计占比2-3%
    • 年龄范围: 25-55岁
    • 技术水平: 熟练使用各类管理系统
    • 教育背景: 营养学、护理学、公共卫生等专业
    • 职业背景: 健康管理机构从业人员
    • 主要需求:
    • 管理客户健康档案
    • 制定健康管理方案
    • 跟踪健康改善进度
    • 提供健康指导服务

    **角色4: 系统管理员**

    • 人员数量: 少量,1-3人
    • 年龄范围: 25-45岁
    • 技术水平: 精通系统管理和运维
    • 教育背景: 计算机相关专业
    • 职业背景: IT运维人员
    • 主要需求:
    • 系统配置和维护
    • 用户权限管理
    • 数据安全管理
    • 系统监控和优化
    2.3.2 用户使用场景

    **场景1: 用户记录体检报告**

    张女士今年45岁,刚做完年度体检。她登录系统,点击"体检报告管理",录入体检编号、体检时间、血压、血糖、血脂等指标,并上传体检报告文件。系统自动分析这些数据并生成健康分析报告。

    **场景2: 用户查看健康趋势**

    李先生想了解自己近半年的血压变化趋势。他进入"健康分析"模块,查看血压趋势图表,发现血压有上升趋势,系统建议他控制饮食、增加运动,并预约医生进行复查。

    **场景3: 医生远程查看患者健康档案**

    王医生的患者赵先生因工作原因无法到医院复诊。王医生通过系统查看赵先生的最新健康档案,包括最近的血糖监测数据和用药记录,然后通过系统给出调整用药的建议。

    **场景4: 健康管理师批量导入客户数据**

    健康管理师小刘服务的社区进行了集体体检,她收到了包含100位居民体检数据的Excel文件。她登录系统,选择"数据导入",上传Excel文件,系统自动解析并导入所有体检数据,节省了大量手工录入时间。

    2.4 约束条件

    2.4.1 技术约束

    **TC1: 开发技术栈**

    • 后端必须使用Spring Boot框架
    • 前端必须使用Vue.js框架
    • 数据库使用MySQL

    **TC2: 兼容性要求**

    • 支持主流浏览器:Chrome、Firefox、Edge、Safari
    • 支持PC端和移动端访问
    • 兼容Windows、Mac、Linux操作系统

    **TC3: 第三方服务依赖**

    • 地图服务依赖高德地图API

    **TC4: 开发环境**

    • Java 8+
    • Node.js 12+
    • MySQL 8.0+
    2.4.2 业务约束

    **BC1: 法规遵从**

    • 符合《网络安全法》
    • 符合《数据安全法》
    • 符合《个人信息保护法》
    • 符合《医疗健康数据安全管理规范》

    **BC2: 数据隐私**

    • 健康数据加密存储
    • 严格的访问权限控制
    • 数据不得用于商业用途(用户授权除外)
    • 用户有权删除个人数据

    **BC3: 医疗免责**

    • 系统提供的健康建议仅供参考
    • 不能替代医生的专业诊断
    • 需明确免责声明
    2.4.3 运营约束

    **OC1: 成本约束**

    • 项目总预算:30万元
    • 服务器成本:2万元/年
    • AI API调用成本:1万元/年

    **OC2: 时间约束**

    • 项目开发周期:6个月
    • 第一版上线时间:2025年6月

    **OC3: 人员约束**

    • 开发团队:5-8人
    • 运维团队:1-2人

    2.5 假设和依赖关系

    2.5.1 假设

    **A1: 用户假设**

    • 假设用户具备基本的计算机/手机操作能力
    • 假设用户能够准确录入健康数据
    • 假设用户愿意长期使用系统记录健康数据

    **A2: 技术假设**

    • 假设第三方API服务稳定可靠
    • 假设网络环境良好,支持实时数据传输
    • 假设服务器资源充足,能够支撑用户增长

    **A3: 数据假设**

    • 假设用户提供的健康数据真实有效
    • 假设导入的外部数据格式规范
    • 假设医疗知识库数据准确权威
    2.5.2 依赖关系

    **D1: 外部依赖**

    • 依赖高德地图API提供地图服务
    • 依赖第三方短信服务商提供验证码服务

    **D2: 内部依赖**

    • 健康分析功能依赖体检报告数据
    • 风险评估功能依赖完整的用户健康档案

    **D3: 数据依赖**

    • 依赖标准的医疗术语和编码体系
    • 依赖权威的健康参考标准(如血压、血糖正常值范围)

    __________________________________________________

    3. 详细需求描述

    3.1 功能需求

    3.1.1 用户管理模块

    **FR1.1 用户注册**

    • **功能描述**: 新用户可以通过系统注册账号
    • **输入**: 手机号、验证码、密码
    • **处理**: 验证手机号唯一性,验证码正确性,密码强度检查
    • **输出**: 注册成功/失败提示
    • **前置条件**: 手机号未被注册
    • **后置条件**: 创建用户账号,初始化用户信息
    • **优先级**: 高

    **FR1.2 用户登录**

    • **功能描述**: 已注册用户可以登录系统
    • **输入**: 账号、密码或手机号、验证码
    • **处理**: 验证账号密码/验证码,生成Token
    • **输出**: 登录成功跳转首页/登录失败提示
    • **前置条件**: 用户已注册
    • **后置条件**: 用户处于登录状态,获得访问权限
    • **优先级**: 高

    **用例图**

    图2-1 系统用例图

    **FR1.3 个人信息管理**

    • **功能描述**: 用户可以查看和编辑个人信息
    • **输入**: 姓名、性别、生日、身高、体重、联系方式等
    • **处理**: 数据验证,更新数据库
    • **输出**: 保存成功/失败提示
    • **前置条件**: 用户已登录
    • **后置条件**: 个人信息已更新
    • **优先级**: 高

    **FR1.4 角色权限管理**

    • **功能描述**: 系统根据用户角色分配不同权限
    • **角色类型**:
    • 普通用户:管理自己的健康档案
    • 医护人员:查看和管理患者健康档案
    • 健康管理师:管理客户健康档案,制定健康方案
    • 系统管理员:管理所有用户和系统配置
    • **处理**: 基于RBAC的权限控制
    • **优先级**: 高

    **用户信息字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    用户ID

    Long

    主键,自增

    yonghuzhanghao

    用户账号

    String(50)

    唯一

    mima

    密码

    String(100)

    MD5加密

    yonghuxingming

    用户姓名

    String(50)

    role

    角色

    String(20)

    用户/医护人员/健康管理师/管理员

    touxiang

    头像

    String(200)

    图片URL

    xingbie

    性别

    String(10)

    男/女

    shoujihaoma

    手机号码

    String(20)

    birthday

    生日

    Date

    age

    年龄

    Integer

    idcard

    身份证号

    String(20)

    address

    地址

    String(200)

    emergencyContact

    紧急联系人

    String(50)

    emergencyPhone

    紧急联系电话

    String(20)

    medicalHistory

    既往病史

    Text

    familyHistory

    家族病史

    Text

    allergyHistory

    过敏史

    Text

    medicationHistory

    用药史

    Text

    bloodType

    血型

    String(10)

    A型/B型/AB型/O型

    height

    身高(cm)

    Decimal(5,2)

    weight

    体重(kg)

    Decimal(5,2)

    bmi

    BMI

    Decimal(5,2)

    自动计算

    professionalTitle

    职称

    String(50)

    医护人员/管理师专用

    licenseNumber

    执业证书号

    String(50)

    医护人员/管理师专用

    organization

    所属机构

    String(100)

    医护人员/管理师专用

    department

    科室/部门

    String(50)

    医护人员/管理师专用

    specialty

    专业领域

    String(100)

    医护人员/管理师专用

    workYears

    从业年限

    Integer

    医护人员/管理师专用

    profile

    个人简介

    Text

    医护人员/管理师专用

    addtime

    注册时间

    DateTime

    自动生成

    3.1.2 健康档案管理模块

    **FR2.1 体检报告管理**

    **FR2.1.1 添加体检报告**

    • **功能描述**: 用户可以录入体检报告信息
    • **输入**: 体检编号、体检项目、体检时间、血压、血糖、血脂、尿酸、报告文件等
    • **处理**: 数据验证,文件上传,保存数据库
    • **输出**: 保存成功/失败提示
    • **前置条件**: 用户已登录
    • **后置条件**: 体检报告已保存
    • **优先级**: 高

    **FR2.1.2 查看体检报告**

    • **功能描述**: 用户可以查看自己的体检报告列表和详情
    • **输入**: 查询条件(时间范围、体检项目等)
    • **处理**: 从数据库查询数据,分页展示
    • **输出**: 体检报告列表和详情
    • **前置条件**: 用户已登录
    • **后置条件**: 无
    • **优先级**: 高

    **FR2.1.3 编辑体检报告**

    • **功能描述**: 用户可以修改体检报告信息
    • **输入**: 修改后的体检报告数据
    • **处理**: 数据验证,记录修改历史,更新数据库
    • **输出**: 修改成功/失败提示
    • **前置条件**: 用户已登录,报告存在
    • **后置条件**: 体检报告已更新,历史记录已保存
    • **优先级**: 中

    **FR2.1.4 删除体检报告**

    • **功能描述**: 用户可以删除体检报告
    • **输入**: 体检报告ID
    • **处理**: 软删除,记录删除历史
    • **输出**: 删除成功/失败提示
    • **前置条件**: 用户已登录,报告存在
    • **后置条件**: 体检报告标记为已删除
    • **优先级**: 低

    **体检报告字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    报告ID

    Long

    主键,自增

    tijianbianhao

    体检编号

    String(50)

    tijianxiangmu

    体检项目

    String(200)

    tijianshijian

    体检时间

    Date

    shoushuoya

    收缩压(高压)

    String(20)

    mmHg

    shuzhangya

    舒张压(低压)

    String(20)

    mmHg

    xuetang

    血糖

    String(20)

    mmol/L

    xuezhi

    血脂

    String(20)

    mmol/L

    niaosuan

    尿酸

    String(20)

    μmol/L

    baogaowenjian

    报告文件

    String(200)

    文件URL

    beizhu

    备注

    Text

    yonghuxingming

    用户姓名

    String(50)

    yonghuzhanghao

    用户账号

    String(50)

    userid

    用户ID

    Long

    外键

    addtime

    创建时间

    DateTime

    自动生成

    **FR2.2 健康档案历史记录**

    • **功能描述**: 系统自动记录健康档案的所有修改历史
    • **记录内容**: 表名、记录ID、操作类型、操作人信息、旧数据、新数据、变更字段、IP地址、时间
    • **用途**: 数据追溯、审计、数据恢复
    • **优先级**: 高

    **健康档案历史字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    历史记录ID

    Long

    主键,自增

    tableName

    表名

    String(50)

    recordId

    记录ID

    Long

    userId

    用户ID

    Long

    operationType

    操作类型

    String(20)

    INSERT/UPDATE/DELETE

    operatorId

    操作人ID

    Long

    operatorName

    操作人姓名

    String(50)

    operatorRole

    操作人角色

    String(20)

    oldData

    旧数据

    Text

    JSON格式

    newData

    新数据

    Text

    JSON格式

    changeFields

    变更字段

    String(500)

    逗号分隔

    ipAddress

    IP地址

    String(50)

    addtime

    操作时间

    DateTime

    自动生成

    3.1.3 健康分析模块

    **FR3.1 健康分析**

    **FR3.1.1 生成健康分析报告**

    • **功能描述**: 系统根据用户最新的体检数据自动生成健康分析报告
    • **输入**: 用户ID
    • **处理**:
  • 获取用户最新体检数据
  • 根据医学标准评估各项指标
  • 计算综合评分
  • 判定风险等级
  • 生成个性化健康建议
    • **输出**: 健康分析报告
    • **前置条件**: 用户有体检数据
    • **后置条件**: 保存分析报告
    • **优先级**: 高

    **健康分析流程图**

    图3-1 健康分析业务流程图

    **评分标准**

    血压评分标准:

    收缩压(mmHg)

    舒张压(mmHg)

    评分

    评估结果

    <120

    <80

    100

    理想血压

    120-129

    80-84

    85

    正常血压

    130-139

    85-89

    70

    正常高值

    140-159

    90-99

    50

    1级高血压

    160-179

    100-109

    30

    2级高血压

    ≥180

    ≥110

    10

    3级高血压

    血糖评分标准:

    空腹血糖(mmol/L)

    评分

    评估结果

    <6.1

    100

    正常

    6.1-6.9

    70

    空腹血糖受损

    7.0-8.0

    50

    糖尿病(轻度)

    8.1-10.0

    30

    糖尿病(中度)

    >10.0

    10

    糖尿病(重度)

    血脂评分标准:

    总胆固醇(mmol/L)

    评分

    评估结果

    <5.2

    100

    正常

    5.2-6.2

    70

    边缘升高

    6.2-7.2

    50

    升高

    >7.2

    30

    严重升高

    尿酸评分标准:

    尿酸(μmol/L)

    性别

    评分

    评估结果

    <420

    100

    正常

    <360

    100

    正常

    420-540

    60

    升高

    360-480

    60

    升高

    >540

    20

    严重升高

    >480

    20

    严重升高

    风险等级判定:

    综合评分

    风险等级

    90-100

    低危

    70-89

    中危

    <70

    高危

    **健康分析字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    分析ID

    Long

    主键,自增

    yonghuzhanghao

    用户账号

    String(50)

    yonghuxingming

    用户姓名

    String(50)

    jiankangqingkuang

    健康情况

    Text

    fengxianDengji

    风险等级

    String(20)

    低危/中危/高危

    xueyaPinggu

    血压评估结果

    String(100)

    xuetangPinggu

    血糖评估结果

    String(100)

    xuezhiPinggu

    血脂评估结果

    String(100)

    niaosuanPinggu

    尿酸评估结果

    String(100)

    zonghePingfen

    综合评分

    Integer

    0-100

    fenxishijian

    分析时间

    DateTime

    jiankangfenxi

    健康分析详情

    Text

    jiankangJianyi

    健康建议

    Text

    shujuLaiyuan

    数据来源

    String(100)

    userid

    用户ID

    Long

    外键

    addtime

    创建时间

    DateTime

    自动生成

    **FR3.2 健康风险评估**

    • **功能描述**: 对用户健康状况进行多维度风险评估
    • **评估维度**: 血压、血糖、血脂、尿酸
    • **输出**: 各维度评分、总评分、风险等级、风险因素列表、健康建议
    • **优先级**: 高

    **健康风险评估字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    评估ID

    Long

    主键,自增

    userId

    用户ID

    Long

    外键

    yonghuzhanghao

    用户账号

    String(50)

    yonghuxingming

    用户姓名

    String(50)

    age

    年龄

    Integer

    gender

    性别

    String(10)

    bloodPressureScore

    血压评分

    Decimal(5,2)

    bloodSugarScore

    血糖评分

    Decimal(5,2)

    bloodLipidScore

    血脂评分

    Decimal(5,2)

    uricAcidScore

    尿酸评分

    Decimal(5,2)

    totalScore

    总评分

    Decimal(5,2)

    riskLevel

    风险等级

    String(20)

    低危/中危/高危

    riskFactors

    风险因素列表

    Text

    JSON格式

    suggestions

    健康建议

    Text

    assessmentTime

    评估时间

    DateTime

    assessorId

    评估人ID

    Long

    addtime

    创建时间

    DateTime

    自动生成

    3.1.4 生活方式管理模块

    **FR4.1 饮食记录管理**

    **FR4.1.1 添加饮食记录**

    • **功能描述**: 用户可以记录每日饮食
    • **输入**: 饮食类型、餐次、饮食详情、营养成分、记录日期、备注
    • **处理**: 数据验证,保存数据库
    • **输出**: 保存成功/失败提示
    • **前置条件**: 用户已登录
    • **后置条件**: 饮食记录已保存
    • **优先级**: 中

    **FR4.1.2 查看饮食记录**

    • **功能描述**: 用户可以查看饮食记录列表和统计
    • **输入**: 查询条件(时间范围、餐次等)
    • **处理**: 从数据库查询数据,计算营养汇总
    • **输出**: 饮食记录列表和营养统计图表
    • **前置条件**: 用户已登录
    • **后置条件**: 无
    • **优先级**: 中

    **饮食记录字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    记录ID

    Long

    主键,自增

    yonghuzhanghao

    用户账号

    String(50)

    yonghuxingming

    用户姓名

    String(50)

    yinshileixing

    饮食类型

    String(50)

    canci

    餐次

    String(20)

    早餐/午餐/晚餐/加餐

    yinshijilu

    饮食记录

    Text

    kaluli

    卡路里(千卡)

    Decimal(6,2)

    danbai

    蛋白质(克)

    Decimal(6,2)

    zhifang

    脂肪(克)

    Decimal(6,2)

    tanshui

    碳水化合物(克)

    Decimal(6,2)

    jiluriqi

    记录日期

    Date

    beizhu

    备注

    Text

    userid

    用户ID

    Long

    外键

    addtime

    创建时间

    DateTime

    自动生成

    **FR4.2 运动记录管理**

    **FR4.2.1 添加运动记录**

    • **功能描述**: 用户可以记录运动情况
    • **输入**: 运动项目、运动时长、运动内容、消耗卡路里、运动强度、平均心率、打卡日期
    • **处理**: 数据验证,保存数据库
    • **输出**: 保存成功/失败提示
    • **前置条件**: 用户已登录
    • **后置条件**: 运动记录已保存
    • **优先级**: 中

    **FR4.2.2 查看运动记录**

    • **功能描述**: 用户可以查看运动记录列表和统计
    • **输入**: 查询条件(时间范围、运动项目等)
    • **处理**: 从数据库查询数据,计算运动汇总
    • **输出**: 运动记录列表和运动统计图表
    • **前置条件**: 用户已登录
    • **后置条件**: 无
    • **优先级**: 中

    **运动记录字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    记录ID

    Long

    主键,自增

    yundongxiangmu

    运动项目

    String(100)

    yundongshizhang

    运动时长

    String(50)

    yundongneirong

    运动内容

    Text

    xiaohaoKaluli

    消耗卡路里(千卡)

    Integer

    yundongQiangdu

    运动强度

    String(20)

    低/中/高

    xinlv

    平均心率(次/分)

    Integer

    dakariqi

    打卡日期

    Date

    yonghuzhanghao

    用户账号

    String(50)

    yonghuxingming

    用户姓名

    String(50)

    userid

    用户ID

    Long

    外键

    addtime

    创建时间

    DateTime

    自动生成

    3.1.5 健康科普模块

    **FR7.1 科普文章管理**

    **FR7.1.1 发布科普文章**

    • **功能描述**: 管理员/医护人员可以发布健康科普文章
    • **输入**: 标题、图片、知识简介、科普内容
    • **处理**: 数据验证,保存数据库
    • **输出**: 发布成功/失败提示
    • **前置条件**: 用户已登录且有发布权限
    • **后置条件**: 科普文章已发布
    • **优先级**: 中

    **FR7.1.2 浏览科普文章**

    • **功能描述**: 所有用户可以浏览健康科普文章
    • **输入**: 查询条件(分类、关键词)
    • **处理**: 从数据库查询,更新浏览量
    • **输出**: 文章列表和详情
    • **前置条件**: 无
    • **后置条件**: 浏览量+1
    • **优先级**: 中

    **FR7.1.3 收藏文章**

    • **功能描述**: 用户可以收藏感兴趣的科普文章
    • **输入**: 文章ID
    • **处理**: 保存收藏记录
    • **输出**: 收藏成功提示
    • **前置条件**: 用户已登录
    • **后置条件**: 收藏记录已保存
    • **优先级**: 低

    **科普文章字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    文章ID

    Long

    主键,自增

    biaoti

    标题

    String(200)

    tupian

    图片

    String(200)

    图片URL

    zhishijianjie

    知识简介

    Text

    kepuneirong

    科普内容

    Text

    富文本

    faburiqi

    发布日期

    DateTime

    clicktime

    最近点击时间

    DateTime

    clicknum

    浏览量

    Integer

    默认0

    addtime

    创建时间

    DateTime

    自动生成

    3.1.6 数据导入导出模块

    **FR6.1 数据导入**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    帖子ID

    Long

    主键,自增

    title

    帖子标题

    String(200)

    主帖子有标题

    content

    帖子内容

    Text

    parentid

    父节点ID

    Long

    回复帖子有父ID

    userid

    用户ID

    Long

    外键

    username

    用户名

    String(50)

    avatarurl

    头像

    String(200)

    isdone

    状态

    String(20)

    开放/关闭

    addtime

    发布时间

    DateTime

    自动生成

    **FR6.1.1 Excel数据导入**

    • **功能描述**: 用户可以通过Excel批量导入健康数据
    • **支持数据类型**: 运动记录、饮食记录、体检报告
    • **输入**: Excel文件、数据类型、目标用户ID(可选)
    • **处理**:
  • 验证文件格式
  • 解析Excel内容
  • 逐行验证数据
  • 批量插入数据库
  • 记录导入结果
    • **输出**: 成功数量、失败数量、错误日志
    • **前置条件**: 用户已登录
    • **后置条件**: 数据已导入,导入记录已保存
    • **优先级**: 高

    **权限规则**:

    • 普通用户: 只能导入到自己的账户
    • 医护人员/健康管理师: 可以选择目标用户导入
    • 管理员: 必须选择目标用户导入

    **FR6.1.2 JSON数据导入**

    • **功能描述**: 支持通过API接口导入JSON格式数据
    • **输入**: JSON数据、数据类型、目标用户ID(可选)
    • **处理**: 与Excel导入类似
    • **输出**: 成功数量、失败数量
    • **前置条件**: 用户已登录
    • **后置条件**: 数据已导入,导入记录已保存
    • **优先级**: 中

    **FR6.1.3 下载导入模板**

    • **功能描述**: 提供标准格式的导入模板下载
    • **输入**: 数据类型
    • **处理**: 生成Excel模板文件
    • **输出**: Excel文件下载
    • **前置条件**: 用户已登录
    • **后置条件**: 无
    • **优先级**: 中

    **数据导入记录字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    记录ID

    Long

    主键,自增

    userId

    目标用户ID

    Long

    导入到哪个用户

    sourceSystem

    来源系统

    String(50)

    excel/json/api

    dataType

    数据类型

    String(50)

    运动/饮食/体检

    importMethod

    导入方式

    String(20)

    file/api

    fileName

    文件名

    String(200)

    fileType

    文件类型

    String(20)

    excel/json

    totalRecords

    总记录数

    Integer

    successRecords

    成功记录数

    Integer

    failedRecords

    失败记录数

    Integer

    errorLog

    错误日志

    Text

    status

    状态

    String(20)

    processing/success/partial/failed

    operatorId

    操作人ID

    Long

    operatorName

    操作人姓名

    String(50)

    importTime

    导入时间

    DateTime

    addtime

    创建时间

    DateTime

    自动生成

    **FR6.2 数据导出**

    **FR6.2.1 健康档案导出**

    • **功能描述**: 用户可以导出自己的健康档案数据
    • **输入**: 导出范围(时间范围、数据类型)
    • **处理**: 查询数据,生成Excel文件
    • **输出**: Excel文件下载
    • **前置条件**: 用户已登录
    • **后置条件**: 无
    • **优先级**: 中
    3.1.7 系统管理模块

    **FR7.1 权限管理**

    **FR7.1.1 角色管理**

    • **功能描述**: 管理员可以定义和管理角色
    • **输入**: 角色名称、角色描述、权限配置
    • **处理**: 保存角色信息和权限关系
    • **输出**: 保存成功/失败提示
    • **前置条件**: 管理员已登录
    • **后置条件**: 角色信息已保存
    • **优先级**: 高

    **FR7.1.2 菜单管理**

    • **功能描述**: 管理员可以配置系统菜单和功能
    • **输入**: 菜单名称、路径、图标、父菜单、排序
    • **处理**: 保存菜单信息
    • **输出**: 保存成功/失败提示
    • **前置条件**: 管理员已登录
    • **后置条件**: 菜单信息已保存
    • **优先级**: 中

    **FR7.1.3 用户授权**

    • **功能描述**: 管理员可以为用户分配角色和权限
    • **输入**: 用户ID、角色列表
    • **处理**: 保存用户角色关系
    • **输出**: 授权成功/失败提示
    • **前置条件**: 管理员已登录
    • **后置条件**: 用户权限已更新
    • **优先级**: 高

    **FR7.2 操作日志**

    • **功能描述**: 系统自动记录用户的所有操作
    • **记录内容**: 操作类型、操作表、操作内容、操作时间、IP地址、用户信息
    • **用途**: 审计、追溯、安全监控
    • **优先级**: 高

    **操作日志字段表**

    字段名

    字段说明

    数据类型

    必填

    备注

    id

    日志ID

    Long

    主键,自增

    userId

    用户ID

    Long

    username

    用户名

    String(50)

    role

    角色

    String(20)

    operationType

    操作类型

    String(50)

    增删改查

    tableName

    操作表

    String(50)

    recordId

    记录ID

    Long

    operationContent

    操作内容

    Text

    ipAddress

    IP地址

    String(50)

    operationTime

    操作时间

    DateTime

    addtime

    创建时间

    DateTime

    自动生成

    **FR7.3 系统配置**

    • **功能描述**: 管理员可以配置系统参数
    • **配置项**: 系统名称、LOGO、首页轮播图、底部信息、邮件配置、短信配置等
    • **优先级**: 中

    **FR7.4 图表统计**

    • **功能描述**: 提供多维度的数据统计图表
    • **统计内容**:
    • 用户增长趋势
    • 健康档案数量统计
    • 健康指标分布
    • 风险等级分布
    • 活跃用户统计
    • **图表类型**: 折线图、柱状图、饼图、雷达图等
    • **优先级**: 中

    3.2 性能需求

    3.2.1 响应时间

    功能

    响应时间要求

    备注

    用户登录

    ≤2秒

    90%的请求

    页面加载

    ≤3秒

    首屏加载

    数据查询

    ≤3秒

    普通查询

    数据保存

    ≤2秒

    单条记录

    健康分析

    ≤5秒

    复杂计算

    数据导入

    ≤30秒

    100条记录

    3.2.2 并发性能

    指标

    要求

    备注

    并发用户数

    ≥500

    同时在线

    最大并发请求

    ≥1000 TPS

    峰值

    数据库连接池

    50-200

    可配置

    3.2.3 容量需求

    资源

    初期

    1年后

    3年后

    用户数

    5,000

    50,000

    200,000

    健康档案数

    10,000

    500,000

    2,000,000

    数据库大小

    500MB

    10GB

    50GB

    日志大小

    100MB/月

    1GB/月

    5GB/月

    图片/文件存储

    1GB

    50GB

    200GB

    3.3 数据库需求

    3.3.1 数据库类型

    • **MySQL 8.0+**: 主数据库,存储关系型数据
    3.3.2 数据库设计原则

  • **范式化**: 核心表遵循第三范式
  • **冗余设计**: 适当冗余提高查询效率(如用户姓名)
  • **索引优化**: 为常用查询字段建立索引
  • **分区策略**: 大表按时间分区(如日志表)
  • **备份策略**: 每日全量备份,每小时增量备份
  • **归档策略**: 超过3年的数据归档到历史库
  • 3.3.3 核心数据表

    **主要数据表清单**:

  • yonghu – 用户表
  • tijianbaogao – 体检报告表
  • jiankangfenxi – 健康分析表
  • health_risk_assessment – 健康风险评估表
  • health_indicator – 健康指标表
  • health_record_history – 健康档案历史表
  • yinshijilu – 饮食记录表
  • yundongjilu – 运动记录表
  • zhishikepu – 健康知识科普表
  • discusszhishikepu – 科普讨论表
  • data_import_record – 数据导入记录表
  • operation_log – 操作日志表
  • users – 系统用户表
  • role – 角色表
  • menu – 菜单表
  • user_authorization – 用户授权表
  • storeup – 收藏表
  • config – 配置表
  • token – Token表
  • *详细字段说明见各功能模块的字段表*

    3.4 设计约束

    3.4.1 技术约束

    • **开发语言**: 后端Java 8+,前端JavaScript ES6+
    • **开发框架**: 后端Spring Boot 2.2.2,前端Vue.js 2.6
    • **数据库**: MySQL 8.0+
    • **ORM框架**: MyBatis Plus
    • **UI框架**: Element UI 2.13
    • **图表库**: ECharts 5.4
    • **文件上传**: 支持图片、PDF、Excel等格式
    3.4.2 接口约束

    • **API规范**: RESTful API设计
    • **数据格式**: JSON格式
    • **编码**: UTF-8
    • **HTTP方法**: GET、POST、PUT、DELETE
    • **响应格式**: 统一的响应格式(code、message、data)

    {   "code": 0,   "msg": "success",   "data": {} }

    3.4.3 浏览器兼容性

    • Chrome 80+
    • Firefox 75+
    • Edge 80+
    • Safari 13+
    • 不支持IE浏览器

    3.5 质量属性

    3.5.1 可用性(Availability)

    • **系统可用率**: ≥99.5%
    • **计划内停机**: ≤4小时/月
    • **故障恢复时间**: ≤30分钟
    3.5.2 安全性(Security)

    • **身份认证**: 基于Token的身份认证
    • **权限控制**: 基于角色的访问控制(RBAC)
    • **数据加密**: 密码MD5加密,敏感数据AES加密
    • **SQL注入防护**: MyBatis预编译
    • **XSS防护**: 输入过滤,输出转义
    • **CSRF防护**: Token验证
    • **HTTPS**: 生产环境强制HTTPS
    3.5.3 可维护性(Maintainability)

    • **代码规范**: 遵循阿里巴巴Java开发手册
    • **代码注释**: 关键代码有注释
    • **日志记录**: 关键操作和异常记录日志
    • **版本控制**: 使用Git进行版本管理
    • **文档完善**: API文档、数据库文档、部署文档
    3.5.4 可扩展性(Scalability)

    • **水平扩展**: 支持负载均衡,多服务器部署
    • **模块化设计**: 功能模块解耦,易于扩展
    • **插件机制**: 预留扩展接口
    • **数据库扩展**: 支持主从复制,读写分离
    3.5.5 易用性(Usability)

    • **界面友好**: 简洁直观的UI设计
    • **操作便捷**: 3次点击内完成主要操作
    • **提示明确**: 操作结果有明确提示
    • **帮助文档**: 提供在线帮助和使用手册
    • **响应式设计**: 适配不同屏幕尺寸
    3.5.6 可靠性(Reliability)

    • **数据备份**: 每日全量备份
    • **异常处理**: 完善的异常捕获和处理
    • **事务管理**: 关键操作使用事务保证数据一致性
    • **容错机制**: 外部服务调用失败有降级方案

    核心代码

    package com.controller;

    import java.util.List;
    import java.util.Map;

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;

    import com.entity.HealthRecordHistoryEntity;
    import com.service.HealthRecordHistoryService;
    import com.utils.PageUtils;
    import com.utils.R;

    import javax.servlet.http.HttpServletRequest;

    /**
    * 健康档案历史版本
    */
    @RestController
    @RequestMapping("/healthRecordHistory")
    public class HealthRecordHistoryController {
    @Autowired
    private HealthRecordHistoryService healthRecordHistoryService;

    /**
    * 列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request) {
    Long userId = (Long) request.getSession().getAttribute("userId");
    String role = (String) request.getSession().getAttribute("role");

    if (!"管理员".equals(role)) {
    params.put("userId", userId);
    }

    PageUtils page = healthRecordHistoryService.queryPage(params);
    return R.ok().put("data", page);
    }

    /**
    * 获取指定记录的历史版本
    */
    @RequestMapping("/record/{tableName}/{recordId}")
    public R getRecordHistory(@PathVariable("tableName") String tableName,
    @PathVariable("recordId") Long recordId) {
    List<HealthRecordHistoryEntity> list = healthRecordHistoryService.getRecordHistory(tableName, recordId);
    return R.ok().put("data", list);
    }

    /**
    * 信息
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id) {
    HealthRecordHistoryEntity history = healthRecordHistoryService.selectById(id);
    return R.ok().put("data", history);
    }
    }

    视频详细讲解

    👇👇👇

    【Springboot】智慧医养大数据公共服务平台https://www.bilibili.com/video/BV1mqCdB2Eir/?spm_id_from=333.1387.upload.video_card.click&vd_source=03bdbe4c11e488e8655a6a1c6dcd16d2

    系统展示

    获取项目源码,请关注❤点赞收藏并私信博主,谢谢-

    赞(0)
    未经允许不得转载:171主机测评 » 【Springboot】智慧医养大数据公共服务平台(源码+文档+部署讲解等)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址