分享一个基于Spring Boot的面向社区的智能化健康管理系统的设计与实现(源码、调试、LW、开题、PPT)
💕💕作者:计算机源码社
💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询
💕💕Java项目
💕💕微信小程序项目
💕💕Android项目
💕💕Python项目
💕💕PHP项目
💕💕ASP.NET项目
💕💕Node.js项目
💕💕选题推荐
项目实战|springboot面向社区的智能化健康管理系统
文章目录
- 1、选题背景
- 2、研究目的和意义
- 3、系统功能设计
- 4、系统页面设计
- 5、参考文献
- 6、核心代码
1、选题背景
随着社会老龄化的加剧和居民健康意识的提升,社区居民对便捷、高效、智能化的健康管理服务需求日益增加。传统的社区健康管理方式由于缺乏系统化和智能化的支持,往往难以满足居民对个性化健康服务的需求,且信息流转效率低下、管理分散,导致社区医疗资源无法得到充分利用。为了应对这些挑战,基于Spring Boot的面向社区的智能化健康管理系统应运而生。该系统旨在通过信息化手段集成社区居民、医生和管理者之间的健康管理流程,涵盖了从健康问诊、体检预约到病情预测、健康档案管理等多个功能模块。通过构建一个智能化的平台,系统能够有效提升社区医疗服务的响应速度和管理效率,实现对居民健康的全方位监控和管理,帮助社区更好地应对公共健康挑战,提升居民的健康生活质量。
2、研究目的和意义
基于Spring Boot的面向社区的智能化健康管理系统的开发旨在满足社区居民日益增长的健康管理需求,提升社区医疗服务的效率与质量。随着人口老龄化趋势的加剧和慢性病患者数量的增加,传统的健康管理方式已经难以应对复杂且多样化的社区健康需求。该系统通过信息化和智能化手段,将医生、社区居民和管理员有效连接,实现健康问诊、体检预约、健康档案管理等功能的一体化管理。开发此系统的目的是提供一个高效的健康管理平台,使居民能够便捷地获取医疗服务,医生能够及时了解患者的健康状况,并为社区管理者提供精准的健康数据分析和管理工具,从而提升社区整体健康管理水平。
开发基于Spring Boot的面向社区的智能化健康管理系统具有重要的社会和实际应用价值。首先,该系统能够显著提高社区医疗资源的利用率,通过体检预约、健康问诊等功能,实现医疗资源的合理配置,减少居民等待时间,提升医疗服务的效率。其次,系统通过健康档案和病情预测功能,为医生提供全面的患者健康数据,支持个性化医疗服务的开展,有助于疾病的早期发现和干预,降低医疗风险。此外,系统的健康评级和数据分析功能,能够帮助社区管理者更好地了解居民的健康状况,制定针对性的健康干预措施,预防重大公共健康事件的发生。总之,该系统不仅为社区居民提供了便利的健康管理工具,也为推动智慧社区建设和提升公共健康管理水平奠定了坚实基础。
3、系统功能设计
基于Spring Boot的面向社区的智能化健康管理系统功能模块设计涵盖了管理员、社区居民和医生三类角色的核心需求。系统通过多功能模块的整合,提供了一体化的健康管理解决方案,旨在提升社区健康服务的智能化和信息化水平。以下是该系统的主要功能模块介绍:
1. 医生管理模块
医生信息管理:管理员可以新增、修改和删除医生信息,确保医生信息的准确性和实时更新。包括医生的基本信息、专业领域、执业证书等内容。
2. 社区居民管理模块
居民信息管理:管理员可以管理社区居民的基本信息,包括姓名、年龄、性别、联系方式等,方便后续的健康管理和跟踪。
健康档案管理:为每位居民建立个人健康档案,记录其体检结果、就诊历史、病史等重要健康数据,方便医生进行诊断和后续跟踪。
3. 健康问诊管理模块
在线问诊:社区居民可以通过系统进行在线问诊,医生可以根据居民的健康档案和问诊情况,提供专业的医疗建议或进一步检查的指引。
问诊记录管理:记录并管理每次问诊的详细情况,包括问诊时间、医生建议、开具的处方等,形成居民的问诊历史,方便医生后续参考。
4. 体检类型管理模块
体检项目管理:管理员可以设置和管理不同类型的体检项目,如常规体检、专项检查等,确保居民能够根据需求选择合适的体检类型。
5. 体检预约管理模块
体检预约:社区居民可以在线预约体检,选择体检项目、体检时间和体检医院。
预约管理:管理员可以查看和管理所有居民的体检预约信息,包括预约状态、取消预约、预约更改等。
6. 医院信息管理模块
医院信息录入与管理:管理员可以录入和管理与社区合作的医院信息,包括医院的名称、地址、联系方式、可提供的体检项目等,方便居民在体检预约时进行选择。
医院评级与反馈:居民在完成体检后,可以对医院的服务进行评级和反馈,系统将收集这些信息供管理者参考和改进。
7. 健康档案管理模块
个人健康档案查询:社区居民和医生可以查看健康档案,了解居民的健康历史、体检结果、病史记录等,支持医疗决策。
档案更新与维护:医生可以根据每次体检和问诊结果,实时更新居民的健康档案,确保健康数据的持续性和准确性。
8. 健康评级管理模块
健康评级:系统根据居民的健康档案数据和最新的体检结果,生成健康评级,并提供健康报告和建议,帮助居民了解自身健康状况。
9. 病情预测管理模块
个性化健康建议:根据预测结果,系统可以为居民提供个性化的健康建议,如生活方式调整、定期体检提醒等,帮助居民预防疾病发生。
该系统通过多个功能模块的有机整合,提供了社区居民、医生和管理员之间的高效互动平台,旨在提升社区健康管理的智能化水平,满足居民的健康需求,优化社区医疗资源的利用。
4、系统页面设计







如需要源码,可以扫取文章下方二维码联系咨询
5、参考文献
[1] 洪浩,朱海蛟,姜珺. 基于物联网技术的医院信息管理系统 [J]. 自动化技术与应用, 2024, 43 (06): 107-111. DOI:10.20033/j.1003-7241.(2024)06-0107-05.
[2] 邵兴华. 医院电子票据系统的设计与实现 [J]. 电子元器件与信息技术, 2024, 8 (03): 63-66. DOI:10.19772/j.cnki.2096-4455.2024.3.016.
[3] 李明飞,年晓莹. 基于云仿真平台的医院HIS系统数据安全多方计算协议 [J]. 信息技术, 2024, (02): 180-184. DOI:10.13274/j.cnki.hdzj.2024.02.029.
[4] 潘光球. 医院信息管理系统与数据库安全管理策略研究 [J]. 信息与电脑(理论版), 2023, 35 (21): 202-204.
[5] 袁翰超. 大数据背景下医院信息管理系统应用策略——评《信息分析方法及医学应用》 [J]. 科技管理研究, 2023, 43 (19): 264.
[6] 白艳文. 医院信息管理系统的数据安全管理分析 [J]. 电子技术, 2023, 52 (08): 331-333.
[7] 田斌. 基于SSM框架的宠物医院系统设计 [J]. 无线互联科技, 2023, 20 (14): 69-71.
[8] 王群,贾潇璇,吴佳豪,等. 基于LC-BIM的智慧医院建设集成项目管理研究 [J]. 四川建材, 2023, 49 (07): 212-214.
[9] 陶皓. 基于物联网技术的智慧医院系统设计 [J]. 数字通信世界, 2023, (04): 83-85.
[10] 王辉,吕培栋. 基于数据安全的医院系统容灾建设 [J]. 信息技术与信息化, 2023, (02): 51-54.
[11] 徐培国. 基于B/S架构的医院信息管理系统HIS设计 [J]. 电子技术, 2023, 52 (02): 56-57.
[12] 仲伟家. 掌上智慧医院系统设计与管理 [J]. 淮北职业技术学院学报, 2023, 22 (01): 112-116. DOI:10.16279/j.cnki.cn34-1214/z.2023.01.001.
[13] 张兴兴. 基于微信小程序的医院患者服务管理系统设计 [J]. 信息与电脑(理论版), 2023, 35 (03): 144-146.
[14] 王向晨. 计算机网络框架下医院信息管理系统应用策略[C]// 上海筱虞文化传播有限公司. Proceedings of 2022 Academic Forum on Engineering Technology Application and Construction Management(ETACM 2022)(VOL.1). 河北省邯郸市汇丰实业总公司;, 2022: 3. DOI:10.26914/c.cnkihy.2022.052638.
[15] 李训栋,崔琦,陈豪. 基于C/S架构的医院信息管理系统优化设计 [J]. 电子技术与软件工程, 2022, (17): 173-177.
[16] 聂伟. 大数据时代医院信息管理系统建设路径探讨构架 [J]. 财经界, 2022, (24): 45-47. DOI:10.19887/j.cnki.cn11-4098/f.2022.24.040.
[17] 马金凤,周蒙,孙浩,等. 一种基于Eclipse的社区医院设备管理系统设计 [J]. 中国科技信息, 2022, (15): 63-66.
[18] 张蕊. 医院信息管理系统的数据库安全策略 [J]. 集成电路应用, 2022, 39 (06): 120-121. DOI:10.19339/j.issn.1674-2583.2022.06.047.
[19] 胡诗玮. 基于无线移动网络的医院信息管理系统设计 [J]. 微型电脑应用, 2022, 38 (05): 142-144.
[20] 王何娟. 医院计算机信息管理系统的维护策略研究 [J]. 科技风, 2022, (13): 47-49. DOI:10.19392/j.cnki.1671-7341.202213016.
6、核心代码
/*** 体检预约* 后端接口* @author * @email */
@RestController
@RequestMapping("/tijianyuyue")
public class TijianyuyueController {@Autowiredprivate TijianyuyueService tijianyuyueService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,TijianyuyueEntity tijianyuyue,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("shequjumin")) {tijianyuyue.setJuminzhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<TijianyuyueEntity> ew = new EntityWrapper<TijianyuyueEntity>();PageUtils page = tijianyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tijianyuyue), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,TijianyuyueEntity tijianyuyue, HttpServletRequest request){EntityWrapper<TijianyuyueEntity> ew = new EntityWrapper<TijianyuyueEntity>();PageUtils page = tijianyuyueService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, tijianyuyue), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( TijianyuyueEntity tijianyuyue){EntityWrapper<TijianyuyueEntity> ew = new EntityWrapper<TijianyuyueEntity>();ew.allEq(MPUtil.allEQMapPre( tijianyuyue, "tijianyuyue")); return R.ok().put("data", tijianyuyueService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(TijianyuyueEntity tijianyuyue){EntityWrapper< TijianyuyueEntity> ew = new EntityWrapper< TijianyuyueEntity>();ew.allEq(MPUtil.allEQMapPre( tijianyuyue, "tijianyuyue")); TijianyuyueView tijianyuyueView = tijianyuyueService.selectView(ew);return R.ok("查询体检预约成功").put("data", tijianyuyueView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){TijianyuyueEntity tijianyuyue = tijianyuyueService.selectById(id);tijianyuyue = tijianyuyueService.selectView(new EntityWrapper<TijianyuyueEntity>().eq("id", id));return R.ok().put("data", tijianyuyue);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){TijianyuyueEntity tijianyuyue = tijianyuyueService.selectById(id);tijianyuyue = tijianyuyueService.selectView(new EntityWrapper<TijianyuyueEntity>().eq("id", id));return R.ok().put("data", tijianyuyue);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody TijianyuyueEntity tijianyuyue, HttpServletRequest request){tijianyuyue.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(tijianyuyue);tijianyuyueService.insert(tijianyuyue);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody TijianyuyueEntity tijianyuyue, HttpServletRequest request){tijianyuyue.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(tijianyuyue);tijianyuyueService.insert(tijianyuyue);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody TijianyuyueEntity tijianyuyue, HttpServletRequest request){//ValidatorUtils.validateEntity(tijianyuyue);tijianyuyueService.updateById(tijianyuyue);//全部更新return R.ok();}/*** 审核*/@RequestMapping("/shBatch")@Transactionalpublic R update(@RequestBody Long[] ids, @RequestParam String sfsh, @RequestParam String shhf){List<TijianyuyueEntity> list = new ArrayList<TijianyuyueEntity>();for(Long id : ids) {TijianyuyueEntity tijianyuyue = tijianyuyueService.selectById(id);tijianyuyue.setSfsh(sfsh);tijianyuyue.setShhf(shhf);list.add(tijianyuyue);}tijianyuyueService.updateBatchById(list);return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){tijianyuyueService.deleteBatchIds(Arrays.asList(ids));return R.ok();}}
💕💕作者:计算机源码社
💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕如需要源码,可以扫取文章下方二维码联系咨询
相关文章:
分享一个基于Spring Boot的面向社区的智能化健康管理系统的设计与实现(源码、调试、LW、开题、PPT)
💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…...
【扒代码】reduction参数是什么
model DensityMapRegressor(in_channels256, reduction8)reduction 参数在 DensityMapRegressor 类中用于决定模型在上采样过程中的层级配置。具体来说,它决定了上采样过程中使用多少个 UpsamplingLayer,从而影响输出的分辨率。 reduction 参数的作用 …...
Python,Spire.Doc模块,处理word、docx文件,极致丝滑
Python处理word文件,一般都是推荐的Python-docx,但是只写出一个,一句话的文件,也没有什么样式,就是36K。 再打开word在另存一下,就可以到7-8k,我想一定是python-docx的问题,但一直没…...
redis的安装与命令
一、redis与memcache总体对比 1.性能 Redis:只使用单核,平均每一个核上Redis在存储小数据时比Memcached性能更高。 Memcached:可以使用多核,而在100k以上的数据中,Memcached性能要高于Redis。 2.内存使用效率 Mem…...
【C++】特殊类设计类型转换
目录 💡前言一,特殊类设计1. 请设计一个类,不能被拷贝2. 请设计一个类,只能在堆上创建对象3. 请设计一个类,只能在栈上创建对象4. 请设计一个类,不能被继承5. 请设计一个类,只能创建一个对象(单…...
为git 命令行 设置代理环境变量
http://t.csdnimg.cn/cAxkg 国内需要修改pinoko根目录下gitconfig文件,添加 [http]proxy http://127.0.0.1:1080 [https]proxy https://127.0.0.1:1080或者通过命令行配置: git config --global http.proxy http://127.0.0.1:1080 git config --glo…...
自定义linux某些常见配置
1.当前路径 echo "PS1\u\h:\w\$ " >> /etc/profile source /etc/profile 2.ssh使能 1.开启openssh 2.权限赋予chown root.root /var/empty/ 3.开发板作为server echo "PermitRootLogin yes" >> /etc/ssh/sshd_config 3开机自启动脚本 1.init…...
告别手动操作!KeyMouseGo实现自动化工作流
前言 在这个快节奏的时代,我们每天都在与电脑打交道,重复着那些繁琐而单调的操作;你是否曾想过,能让电脑自己完成这些任务,而你则悠闲地喝着咖啡,享受着生活?今天,就让我们一起揭开一…...
大型语言模型微调 新进展-4篇 论文
1. Brevity is the soul of wit: Pruning long files for code generation 发布时间:2024-06-29链接:https://arxiv.org/abs/2407.00434机构:伦敦大学学院 (UCL) 本研究针对大型语言模型的代码生成任务中的数据清理问题进行了探索。研究发现…...
专业课140+杭电杭州电子科技大学843信号与系统考研经验电子信息与通信工程真题,大纲,参考书。
顺利上岸杭电,由于专业课考的不错140,群里不少同学希望分享一点经验,回头看看这一年考研复习,确实有得有失,总结一下自己的专业课复习经验,希望对大家有帮助,基础课考的没有专业好,而…...
php 中 (0 == ‘abc‘) 为真
https://andi.cn/page/621653.html...
MacOS Anaconda 安装教程及虚拟环境创建
一、下载 Anaconda 1、Anaconda 官网 2、清华大学开源软件镜像站 点 Date 按时间排序,根据自己 Mac 芯片类型下载对应最新版本的。 Intel 芯片的下载 x86_64 版本的Apple m1 芯片的下载 arm64 版本的 二、安装 Anaconda 将安装包下载到本地后,双击安…...
Mac快速配置ADB环境变量
ADB是进行 Androd 开发时很常用的调试工具,Android SDK 中就包含了该工具,所以如果安装了SDK那只需要在环境变量中配置 Android SDK 的路径即可,本文的环境配置也基于这种场景。 如果需要独立下载 ADB 工具,请参考下面网址&#x…...
Kylin的工作原理及使用分享
前言 在当今信息爆炸的时代,企业和研究机构每天都在生成和收集大量的数据。这些数据中蕴藏着巨大的商业价值和研究潜力,但要从中提取出有用的信息却并非易事。传统的数据处理和分析技术在面对如此庞大的数据量时,往往难以提供快速和有效的响…...
python 使用seleniumwire获取响应数据
seleniumwire 是一个在 Selenium WebDriver 基础上扩展的库,它允许你在使用 Selenium 进行网页自动化测试或爬虫时捕获和修改 HTTP 请求和响应。这对于需要分析网页数据或进行更复杂的网络交互的自动化任务特别有用。 以下是如何使用 seleniumwire 来获取响应数据的…...
用C语言实现双向链表
目录 一.双向链表的结构 二. 双向链表的实现 1. 在List.h中结构体的定义和各函数的声明 1.1 结构体(节点)的定义 1.2 各函数的声明 2. 在List.c中各函数的实现 2.1 初始化 LTInit 2.2 尾插 LTPushBack 2.3 打印 LTPrint 2.4 头插 LTPushFron…...
Github 2024-08-10 Rust开源项目日报Top10
根据Github Trendings的统计,今日(2024-08-10统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Python项目1Turbo:下一代前端开发工具链 创建周期:977 天开发语言:Rust协议类型:MIT LicenseStar数量:25308 个Fork数量:1713 …...
深入解析 ESLint 配置:从零到精通
深入解析 ESLint 配置:从零到精通 ESLint 是一个强大的代码检查工具,主要用于识别 JavaScript 和其他支持的语言中的常见编程错误,并强制执行一致的编码风格。自2013年6月由Nicholas C. Zakas创建以来,ESLint 已成为前端开发中不…...
BTC连续拉涨,击碎空头幻想
原创 | 刘教链 隔夜BTC继续拉涨,急破6万刀,“过了黄洋界,险处不须看”,一度逼近63k,目前暂于61-62k区间休整。从8月5日极限插针下探49k,仅仅3天多时间,就连续拉涨到了61k,总涨幅接近…...
【Spring】Sping笔记01
参考学习:b站浪飞yes ---------------------------------------------------- # 一、Spring 引入 **事务实现** java public class EmployeeServiceImpl implements IEmployeeService { public void save(Employee employee){ // 打开资源 /…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
