基于Flask的医疗诊断分析系统设计与实现

254 篇文章 0 订阅
168 篇文章 0 订阅

基于Flask的医疗诊断分析系统设计与实现

【摘 要】本文设计了基于Flask的医疗诊断分析系统的设计与实现,本系统的核心功能是通过爬取医疗诊断数据信息的原始数据,并通过Flask技术将原始数据存储、计算,并将分析的结果通过开发Web程序以可视化列表形式展示。

本系统基于Flask的编程技术,实现医疗可视化系统的构建。介绍了医疗可视化系统的开发环境和运行平台、Python编程技术。使用Access数据库管理整个系统的后台数据。用户可以归还查看不同类型的医疗档案,查看个人信息等。管理员拥有更高的权限,主要负责维护整个系统的数据,包括医疗信息,用户信息,部门信息, 诊断信息,公告管理信息,远程就诊档案信息以及系统配置信息等。这种医疗可视化方式,打破了传统的纸质医疗档案医疗可视化方法,提供了一种医疗的、无纸化、信息化的医疗可视化方式这种管理方式保证了信息的时效性和安全性,更加符合不断信息化的医疗的需求。

【关键词】Flask,医疗诊断,可视化,Python

Abstract

This article designs and implements a medical diagnosis analysis system based on Flask. The core function of this system is to crawl the raw data of medical diagnosis data information, store and calculate the raw data through Flask technology, and display the analysis results in a visual list form through the development of a Web program.

This system is based on Flask programming technology to achieve the construction of a medical visualization system. This article introduces the development environment and running platform of medical visualization system, as well as Python programming technology. Use an Access database to manage background data for the entire system. Users can return and view different types of sales files, view personal information, and so on. The administrator has higher permissions and is mainly responsible for maintaining the data of the entire system, including medical information, user information, department information, diagnostic information, announcement management information, remote medical file information, and system configuration information. This medical visualization method breaks the traditional medical visualization method of paper-based medical archives, providing a medical, paperless, and information-based medical visualization method. This management method ensures the timeliness and security of information, and is more in line with the needs of increasingly information-based medical treatment.

Keywords】

Flask, Python, visualization, Supermarket products

目  录

1 绪论

1.1研究背景与现状

1.2论文主要研究工作

2 技术总述

2.1 Pycharm

2.2 Access数据库

2.3  Flask框架

2.4 本章小结

3 Flask医疗可视化分析系统实现

3.1 系统可行性分析

3.1.1可行性研究

3.1.2 经济可行性

3.1.3技术可行性

3.1.4 运行可行性

3.1.5 时间可行性

3.2 系统实现流程

3.3 系统平台架构

3.4 协同过滤分析程序设计

4 后台系统实现

4.1 开发环境与配置

4.1.1 开发环境

4.1.2 框架配置介绍

4.1.3 数据库的设计

4.2 系统功能模块实现

4.2.1登录认证

4.2.2Flask医疗信息管理功能

4.2.3Flask医疗信息Flask看板功能

4.3 本章小结

5系统测试

5.1系统测试方案

5.2系统测试过程

5.3本章小结

6 总结与展望

6.1 系统开发遇到的问题

6.2  总结与展望

参考文献

致  谢

1 绪论

1.1研究背景与现状

随着计算机技术的发展以及互联网快速发展电子医疗也逐渐以智能化的形式走向我们的生活慢慢的代替了传统的线下零售医疗现在的功能也越来越丰富,不仅具有用来购买医疗等传统功能,还可以进行远程医疗医患互动等新型购买方式。

当面对互联网数以亿次的购物产生了大量用户电子诊断的行为数据,我们需要使用这些数据进行Flask分析,计算,将用户对医疗的销量进行可视化处理。这不仅有利于商家对医疗行情的把握,还有利于医患进行各大品牌的筛选,因此设计并开发一套Flask医疗Flask分析系统是非常有必要的。

1.2论文主要研究工作

通过运用Flask平台技术,以Flask医疗行为数据作为切入点,基于各个品牌电子医疗数据的特点,设计能够满足各个品牌的电子医疗Flask分析系统。作为一个Flask医疗数据分析系统,通过分析电医疗牌、Flask医疗等信息,可以找出隐藏在数据背后的信息,为更好的优化产品性能,给商家提供大众喜欢的电子医疗类别,给从事医疗的人提供大众购买的趋势,提高用户服务的同时提高订单成交率。
   本系统主要完成Flask医疗Flask分析系统。该系统将完成电子医疗数据的爬取、电子医疗数据的存储、电子医疗数据的分析、电子医疗数据的可视化展示模块等五大板块。

系统的核心是解决海量电子医疗数据文件的存储与计算的任务。系统将采用Flume、HDFS、Access、ECharts、Spring bootFlask及数据可视化技术,通过创建CentOS虚拟机搭建Flask集群环境,使用Pycharm构建PythonWeb可视化展示系统。

2 技术总述

2.1 Pycharm

PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮项目管理、代码跳转、智能提示、自动完成单元测试版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

2.2 Access数据库

   Access数据库是一种财政的数据库系统,可以和Python语紧密的结合使用,被普遍使用在小型网站上,他的安全财政成本低的特点被广泛使用。Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程序之一。

Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。2018年9月25日,最新的微软Office Access 2019在微软Office 2019里发布。

MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。

软件开发人员和数据架构师可以使用Microsoft Access开发应用软件,“高级用户”可以使用它来构建软件应用程序。和其他办公应用程序一样,ACCESS支持Visual Basic宏语言,它是一个面向对象的编程语言,可以引用各种对象,包括DAO(数据访问对象),ActiveX数据对象,以及许多其他的ActiveX组件。可视对象用于显示表和报表,他们的方法和属性是在VBA编程环境下,VBA代码模块可以声明和调用Windows操作系统函数。

2.3  Flask框架

   Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

Flask是目前十分流行的web框架,采用Python编程语言来实现相关功能。它被称为微框架(microframework),“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或Web服务。一般情况下,它不会指定数据库和模板引擎等对象,用户可以根据需要自己选择各种数据库。Flask自身不会提供表单验证功能,在项目实施过程中可以自由配置,从而为应用程序开发提供数据库抽象层基础组件,支持进行表单数据合法性验证、文件上传处理、用户身份认证和数据库集成等功能。Flask主要包括Werkzeug和Jinja2两个核心函数库,它们分别负责业务处理和安全方面的功能,这些基础函数为web项目开发过程提供了丰富的基础组件。Werkzeug库十分强大,功能比较完善,支持URL路由请求集成,一次可以响应多个用户的访问请求;支持Cookie和会话管理,通过身份缓存数据建立长久连接关系,并提高用户访问速度;支持交互式Pythonscript调试,提高用户体验;可以处理HTTP基本事务,快速响应客户端推送过来的访问请求。Jinja2库支持自动HTML转移功能,能够很好控制外部黑客的脚本攻击。系统运行速度很快,页面加载过程会将源码进行编译形成Python字节码,从而实现模板的高效运行;模板继承机制可以对模板内容进行修改和维护,为不同需求的用户提供相应的模板。目前Python的web框架有很多。除了Flask,还有django、Web2py等等。其中Django是目前Python的框架中使用度最高的。但是Django如同Java的EJB(EnterprisePythonBeansPythonEE服务器端组件模型)多被用于大型网站的开发,但对于大多数的小型网站的开发,使用SSH(Struts+Spring+Hibernat的一个PythonEE集成框架)就可以满足,和其他的轻量级框架相比较,Flask框架有很好的扩展性,这是其他Web框架不可替代的。

2.4 本章小结

本章主要分析了系统开发过程中使用到的技术点和框架,通过研究这些技术的原理后,在本设计中加以应用,包括Flask医疗信息采集的爬虫技术,数据持久化存储技术,以及基于Flask框架的系统后台技术,通过预研上述技术点并加以应用从而开发出基于FlaskFlask医疗数据分析系统。


3 Flask医疗可视化分析系统实现

3.1 系统可行性分析

3.1.1可行性研究

通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。

3.1.2 经济可行性

开发系统所涉及到的资料,一般是在图书馆查阅,或是在网上进行查找收集。开发过程使用到的IDE一般也是开源的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。

3.1.3技术可行性

从技术可行性而言,由于本人一直是计算机相关专业,在大学期间也一直学习的就是计算机和Flask相关技术,如Flask,Python,HTML等,这次毕设更是对自己的专业知识的一次实际应用,使自己对知识的理解更加深厚,因此从技术可行性而言也是没有问题的。

3.1.4 运行可行性

由于本人在日常学习的过程中也会经常使用到本文设计中所设计的计算框架,这些框架的版本都是经过本人的经验和查阅资料后确定的,另外本文使用的是个人笔记本开发,不使用大量的服务器资源,因此运行可行性是满足的。

3.1.5 时间可行性

从时间上看,由于本人很早就确立了论文的题目,因此很早就开始了基础技术的研究,有了一定的基础理论支撑,然后开发程序的时间也是足够的,并且预留了一定的时间去修复整个系统的BUG,因此从时间上来说是完全可行的。

3.2 系统实现流程

通过前面的功能分析可以将基于FlaskFlask医疗数据分析系统的研究与实现的功能主要包括用户登录医疗信息管理数据分析等内容。后台管理是针对已登录的用户看到满意的电子医疗数据分析而设计的。

(1)明确目的

在设计Flask医疗信息Flask分析平台初期需要了解如何获取Flask医疗信息原始数据是非常基础也是关键的一步。要了解Flask分析平台期望达到什么样的运营效果,从而在标签体系构建时对数据深度、广度及时效性方面作出规划,确保底层设计科学合理。

(2)数据采集

只有建立在客观真实的数据基础上,Flask计算分析的结果才有效。在采集数据时,需要考虑多种维度,比如不同厂商Flask医疗数据、不同品牌销量数据、不同价位的销量数据等等,还可以通过行业调研、用户访谈、用户信息填写及问卷、平台前台后台数据收集等方式获得。

(3)数据清洗

就对于各大Flask医疗网站或者APP平台采集到的数据而言,可能存在非目标数据、无效数据及虚假数据,因而需要过滤原始数据,去除一些无用的信息以及脏数据,便于后续的处理。

(4)特征工程

特征工程能够将原始数据转化为特征,是一些转化与结构化的工作。在这个步骤中,需要剔除数据中的异常值并将数据标准化。

(5)数据计算

 在这一步我们将得到的数据存储到Flask分析平台,通过开发MapReduce程序对原始数据进行计算,将不同维度的结果存储到Access中。

(6)数据展示

 分析结果可以通过Flask后台展示到前端界面,对于普通用户而言,只需要登录到该后台系统,就可以获取到Flask医疗数据分析后的计算结果,从而了解行业的Flask医疗情况,对于用户而言可以非常清晰的分析出各大品牌的Flask医疗情况

3.3 系统平台架构

在任何信息系统当中有价值的数据都是必不可少的重要部分如何通过手上的资源获取得到有价值的数据便是开发系统首先需要考虑的问题根据系统的功能设计数据获取和处理的流程以及其实现方法都已经基本上确定获取和处理流程。

由于Flask开发需要搭建集群环境,而集群环境一般都要求位于同一局域网内的多台机器,由于多台机器从购买和维护的成本的角度上而言都是比较昂贵的,这对于普通开发者而言是一笔不小的费用,因此本文拟使用Vmware虚拟机搭建Flask集群环境。
      Vmware可以提供用户开发、测试、部署新的应用程序的最佳解决方案。Vmware具有不同系统内核的多个版本的工具包镜像,如Ubuntu,CentOS等,本文选择CentOS版本的镜像,CentOS是免费的、开源的、可以重新分发的开源操作系统,是Linux发行版之一。而Flask集群即HDFS集群和YARN集群又依赖于Linux内核,因此选择CentOS版本的镜像最为合适,这样即可在独立的服务器上实现Flask集群的部署。

3.4 协同过滤分析程序设计

再编写完Mapper任务代码后需要再定义一个reducer类用于处理协同过滤 过程的业务逻辑用于统计数量下面为协同过滤任务的主要逻辑代码

3-3 数据库模型

# 创建模型

class RolesUsers(db.Model):

    __tablename__ = 'roles_users'

    id = db.Column(db.Integer, primary_key=True)

    user_id = db.Column('user_id', db.Integer, db.ForeignKey('user.id'))

    role_id = db.Column('role_id', db.Integer, db.ForeignKey('role.id'))

    def __repr__(self):

        return "<{} 用户 {} 权限>".format(self.user_id,self.role_id)

class Role(db.Model, RoleMixin):

    __tablename__ = 'role'

    id = db.Column(db.Integer(), primary_key=True)

    name = db.Column(db.String(80), unique=True)

    description = db.Column(db.String(255))

    def __repr__(self):

        return "<{} 权限>".format(self.name)

class User(db.Model, UserMixin):

    __tablename__ = 'user'

    id = db.Column(db.Integer, unique=True, primary_key=True)

    username  = db.Column(db.String(255))

    email = db.Column(db.String(255), unique=True)

    password = db.Column(db.String(255))

    active = db.Column(db.Boolean())

    confirmed_at = db.Column(db.DateTime())

    roles = db.relationship('Role', secondary='roles_users',

                         backref=db.backref('user', lazy='dynamic'))

    def __repr__(self):

        return "<{} 用户>".format(self.username)

class Case_item(db.Model):

    __tablename__ = 'Case_item'

    id = db.Column(db.Integer, unique=True, primary_key=True)

    name = db.Column(db.String(520),name='城市')

    parentName = db.Column(db.String(520),name='省份')

    clinicName = db.Column(db.String(520), name='诊所名称')

    openingTime = db.Column(db.String(520), name='上班时间')

    diagnosisType1 = db.Column(db.String(520), name='科室')

    address = db.Column(db.String(520), name='地址')

    district = db.Column(db.String(520), name='城区')

    isMedicalInsurance = db.Column(db.String(520), name='是否医保')

    def __repr__(self):

        return "<{} 数据>".format(self.clinicName)

if __name__ == '__main__':

    # db.drop_all()

    db.create_all()

    # 设置flask-security

    user_datastore = SQLAlchemySessionUserDatastore(db.session, User, Role)

    security = Security(app, user_datastore)

    user_datastore.create_role(name='admin',description='管理员')

    user_datastore.create_role(name='User', description='普通用户')

    db.session.commit()

    new_user = user_datastore.create_user(username='admin', password='root123456',email='123@qq.com',active=True)

    normal_role = user_datastore.find_role('admin')

    db.session.add(new_user)

    user_datastore.add_role_to_user(new_user, normal_role)

    db.session.commit()

还需要定义一个主类用于管理上述的作业,Flask框架会将上述的分析协同过滤任务拆分为一个个的job,并提交到python上管理执行下表3-4Flask医疗信息所属种类分析作业管理类的主要逻辑

3-4 爬虫作业管理类

with open('result.txt','r+',encoding='utf-8') as f:

    data = f.read()

info = json.loads(data)

for result in info:

    for dicts in result['cities']:

        id = dicts['id']

        areaId = dicts['areaId']

        name = dicts['name']

        pinyin = dicts['pinyin']

        parentName = dicts['parentName']

        url = 'https://www.pinganwj.com/clinicPage/list.do'

        m = 'cityCode={}&pageSize=10&pageNo=1&districtCode=&deptIds=&keyWords=&qualifications='.format(areaId)

        headers = {

            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36",

            "Cookie": "JSESSIONID=D1BF5CBB3D3E745ED6AF7BE774F9E878; Hm_lvt_6eb1f32a7e5e5372441c92ebd6eeac33=1679192693; areaId={}; areaPinyin={}; Hm_lpvt_6eb1f32a7e5e5372441c92ebd6eeac33=1679193649".format(areaId,pinyin)

        }

        h = requests.get(url=url+'?'+m,headers=headers,verify=False)

        info_json = h.json()

        totalPages = info_json['result']['totalPages']

        for resu in info_json['result']['results']:

            if not models.Case_item.query.filter(and_(models.Case_item.clinicName==resu['clinicName'],

                                                      models.Case_item.address == resu['address'],

                                                      )).all():

                models.db.session.add(

                    models.Case_item(

                        name = name,

                        parentName = parentName,

                        clinicName = resu['clinicName'],

                        openingTime = resu['openingTime'],

                        diagnosisType1 = resu['diagnosisType1'],

                        address = resu['address'],

                        district = resu['district'],

                        isMedicalInsurance = resu['isMedicalInsurance']

                    )

                )

                models.db.session.commit()

        if totalPages < 2:

            continue

        for page in range(2,totalPages+1):

            url = 'https://www.pinganwj.com/clinicPage/list.do'

            m = 'cityCode={}&pageSize=10&pageNo={}&districtCode=&deptIds=&keyWords=&qualifications='.format(areaId,page)

            headers = {

                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36",

                "Cookie": "JSESSIONID=D1BF5CBB3D3E745ED6AF7BE774F9E878; Hm_lvt_6eb1f32a7e5e5372441c92ebd6eeac33=1679192693; areaId={}; areaPinyin={}; Hm_lpvt_6eb1f32a7e5e5372441c92ebd6eeac33=1679193649".format(

                    areaId, pinyin)

            }

            h = requests.get(url=url + '?' + m, headers=headers, verify=False)

            info_json = h.json()

            totalPages = info_json['result']['totalPages']

            for resu in info_json['result']['results']:

                if not models.Case_item.query.filter(and_(models.Case_item.clinicName == resu['clinicName'],

                                                          models.Case_item.address == resu['address'],

                                                          )).all():

                    models.db.session.add(

                        models.Case_item(

                            name=name,

                            parentName=parentName,

                            clinicName=resu['clinicName'],

                            openingTime=resu['openingTime'],

                            diagnosisType1=resu['diagnosisType1'],

                            address=resu['address'],

                            district=resu['district'],

                            isMedicalInsurance=resu['isMedicalInsurance']

                        )

                    )

                    models.db.session.commit()

4 后台系统实现

本文设计的基于FlaskFlask医疗信息分析系统的后台系统采用的是Flask框架实现的,这是一种MVC模式的开发框架,通过在表现层接收前端传入的参数,将在Controller进行逻辑分发,再调用Service进行不同业务的处理,最后去操作数据库进行数据的CRUD,从而实现指定的功能。前端使用的是JSP展示,页面展示使用Echarts技术,在数据持久层使用的是Access数据库。本文将在第四章介绍本系统后台的搭建过程,技术选型,以及后台代码配置等,最后以具体页面的详情图描述了本系统的常用的基本功能。

4.1 开发环境与配置

4.1.1 开发环境

本系统设计基于 B/S 架构,其中服务器包括应用服务器和数据库服务器。 这种架构模式,使用户只需要在有网络的地方即可通过浏览器访问,而不需要再安装客户端软件,交互性更强。基于FlaskFlask医疗信息分析平台使用Pycharm 集成开发工具。而系统运行配置时,选择应用 本地来部署 Web 服务器来保障平台的正常运行, 本地是Apache的核心项目,其技术先进、性能稳定并且开源免费, 因而被普遍应用 。 本系统的主要开发环境以及开发工具如表 4-1 所示。

表4-1 系统开发环境和工具

项目

系统环境及版本

硬件环境

Windows 64 位操作系统

开发语言

Python

Web服务器

本地

数据库

Access

开发工具

Pycharm

项目架构

Flask

4.1.2 框架配置介绍 

本系统使用集成开发工具 Pycharm进行开发, 由于 Pycharm中Tomcat配置详细资料有很多, 不做详细赘述, 本文主要介绍 Flask 框架及 Shiro 框架的配置。首先需要在项目中中引入各框架以及数据库连接等所需要的 jar 包。

4.1.3 数据库的设计

整个系统的最重要的一部分就是对数据持久层的设计,因为整个系统的每个操作,包括注册登录,查询,展示其实都是对数据库的操作,因此如何设计一个健壮,扩展性强的数据库是非常必要的。

根据功能模块的划分结果可知,本系统的用户由于使用账号和密码进行登录,因此在本系统中需要分别进行数据记录。首先根据如下6个数据实体:用户、医疗信息等数据库表。

4.2 系统功能模块实现

4.2.1登录认证

当用户执行登陆操作时,后台会从前端传过来的参数中拿到用户名和密码,并查询数据库,通过findUserByName方法查询该用户的密码字段,再将查询的结果和前端传过来的密码参数字段进行比对,如果相同,则匹配成功用户直接跳转到登录成功后的欢迎界面;如果匹配失败则需提前前端继续输入正确的密码直到登录成功。用户登录具体流程如时序图如4-2所示。

图4-2登录认证流程图

Flask医疗信息Flask分析系统的用户登录界面如下图所4-3所示:

图4-3用户登录界面

登陆成功后,系统会成功跳转至首页,在首页中,位于上方的横栏是对本系统的基本信息的描述和欢迎登录效果,另外登录用户的用户名也会显示在首页中,可直接表明用户已成功登录。左侧则是本系统的导航菜单,可折叠展示,较为方便,右方则为欢迎页效果。Flask医疗信息Flask分析系统的首页界面如下图所4-4所示:

图4-4Flask医疗信息Flask系统首页界面

4.2.2Flask医疗信息管理功能

Flask医疗信息管理功能是对Flask医疗信息进行查询,删除等操作的功能集合,Flask医疗信息管理功能使用到了Flask医疗信息表t_tv, Flask医疗信息表t_tv的主要数据字段,结构,类型及描述如下表4-2所示。

表4-2 Flask医疗信息表字段

字段名称

数据类型

是否允许为空

描述

id

int

不允许

自增主键,唯一ID

title

String

允许

医疗标题

price

String

允许

医疗价格

brand

String

允许

所属品牌

model

String

允许

子品类

shop_name

String

允许

医院名称

comment_count

String

允许

评论数

url

String

允许

医疗详情URL

crawl_date

String

允许

时间

Flask医疗信息Flask分析系统的Flask医疗信息管理功能界面如下图所4-5所示:

图4-5 医疗分析信息界面

图4-6 分布信息管理菜单界面

Flask医疗信息管理

功能流程功能图如图3-6所示:

图4-6Flask医疗信息管理功能流程图

 通过“Flask医疗信息管理”按钮,进入Flask医疗信息界面,用户可以看到Flask医疗列表,例如:电医疗牌、所在商铺名称、医疗售价、医疗数量、医疗详情、医疗时间的详细信息。通过此界面,用户可以对电子医疗数据信息进行删除管理操作。

4.2.3Flask医疗信息Flask看板功能

数据可视化模块就是对我们采集和计算的分析结果的展示。数据分析模块的数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式进行展示,从而形象直观地表达数据蕴含的信息和规律。

Flask医疗信息Flask数据管理界面如图4-7所示。

图4-7 Flask医疗信息Flask数据管理界面

Flask医疗信息Flask分析可视化看板的功能较为丰富,由图可知,用户在登录本系统后,可以很清楚的读懂目前市场上的电子医疗行情,如什么品牌的Flask医疗最高,那个价格区间的Flask医疗最高等等,这对用户而言是十分关注的,因此如何开发出美观的可视化界面也是一项不可或缺的工作。本文使用了图形,表格,地图等各种方式联动数据,十分直观。另外本文使用了Echarts中地图、线条等组件,将分析结果较为直观的展示给平台用户,使得用户能够简便的获取有效的信息。

4.3 本章小结

本章主要分析了基于FlaskFlask医疗分析系统的设计与实现系统开发过程中使用到的技术和具体的实现步骤,这其中主要介绍了Flask医疗Flask分析平台的搭建环境和开发步骤,包括程序中的一些数据库配置等。前端页面采用的是JSP实现。

5系统测试

系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现系统潜在的问题,保证系统的正常运行[26]

管理人员财政管理系统已经基本完成,系统已经实现的功能满足了用户和管理员的需求,为了检验系统是否能安全有效运行和查找系统存在的问题,将对系统进行全面的测试[27]。

5.1系统测试方案

分别对用户和管理员进行测试。测试用户功能,使用新账号在系统上完成注册登录、上传信息、进行认证、财政档案审核、加入财政档案、管理财政档案、退出登录等操作。预计可以成功的实现以上的所有操作。

测试管理员功能。登录管理员账号,对其用户测试时新用户发出的请求进行查看、审核、删除、认证等请求。并在日志中查看操作记录,成功退出登录。预计管理员测试结果能成功完成用户发送的请求并在操作日记中查看到操作记录。因为本系统需要管理员对用户认证用户才可以进行财政档案上传和加入财政档案,所以用户测试和管理员测试需要同时进行。

5.2系统测试过程

(1)使用用户名为admin手机号18846439535密码为123123的账号进行注册,管理员可在用户列表中查看用户admin的个人信息。

预计结果:成功注册,管理员可以看见admin的用户信息。

测试结果:成功注册。管理员可以看见admin的用户信息。

(2)使用户名admin的账号进行登录。管理员使用管理员账号登录。

预计结果:用户和管理员成功登录。

测试结果:用户和管理员成功登录。

(3)用户上传自己的管理人员证照片和管理人员信息提交认证,管理员在管理人员认证页面可以收到认证信息并给予通过认证。

预计结果:成功上传信息,管理员通过认证。

试结果:成功上传信息,管理员通过认证。

(4)用户上传身份证照片和用户本人照片申请财政管理认证,管理员收到财政管理认证申请,可以查看提交的照片并通过认证。

预计结果:成功认证。

测试结果:成功认证。

(5)用户填写财政档案名为456的财政档案信息,上传财政档案文件,提交审核,管理员收到审核请求,查看财政档案信息和财政档案文件,给予审核通过。

预计结果:审核通过。

测试结果:审核通过。

(6)用户浏览其他财政档案并选择一个加入,并查看用户已加入的财政档案列表。

预计结果:加入成功,并显示在加入的财政档案列表中。

测试结果:加入成功,并显示在加入的财政档案列表中。

(7)管理员对其用户名为admin的用户进行停用操作。

预计结果:admin用户显示在停用名单中且不能登录。

测试结果:admin用户显示在停用名单中且不能登录。

(8)财政档案名为456的财政档案进行审核操作。

预计结果:在财政管理列表中财政档案名为456的财政档案状态显示已审核

测试结果:在财政管理列表中财政档案名为456的财政档案状态显示未审核

(9)启用用户admin财政档案456。

预计结果:用户admin显示在用户列表中,财政档案456状态为正常。

测试结果:用户admin显示在用户列表中,财政档案456状态为正常。

(10)统计分析中可以查看以上测试的操作。

预计结果:在统计分析中可以查看到相关的操作。

测试结果:在统计分析中可以查看到相关的操作。

(11)用户admin可以重新登录并退出,管理员退出系统。

预计结果:可以重新登录并退出,管理员成功退出。

测试结果:可以重新登录并退出,管理员成功退出。

5.3本章小结

本章主要对财政财政管理系统的各个功能进行了完整的测试,测试结果和预计结果吻合,该系统可以正常使用。


6 总结与展望

6.1 系统开发遇到的问题

(1)本系统的开发有助于那些有梦想的医疗分析人员,但是本人的能力和经验有限,医疗可视化分析系统也受多种因素影响,所以本系统并不完美,日后在个人能力允许下会继续升级系统,将其更加的完善创造更大的作用。
  (2) 由于基于FlaskFlask医疗信息分析平台是由人独立开发,因此在系统设计和业务逻辑方面更多地借鉴了目前市场上较为流行的框架和技术点包括Flask技术很多是不熟悉没接触过的在开发过程中不断学习新知识另外由于本人的时间和精力的原因系统开发过程中有很多地方可能并不能够完全尽如人意,还有许多需要补充的功能与模块

6.2  总结与展望


    为保证有足够的技术能力去开发本系统,首先本人对开发过程中所用到的工具和技术进行了认真地学习和研究,详细地钻研了基于Python的Flask框架以及 Echarts,CSS,HTML等前端开发技术。
    然后从Flask医疗数据Flask分析平台需求分析开始 ,到整体框架的设计以及各个详细功能的设计具体实现,最后基于Flask平台的Flask医疗信息分析系统的基础架构和详细功能已经大致开发完毕,并将其部署在Tomcat服务器当中运行,用户可以登录使用该系统进行Flask医疗信息的筛选,同时查询Flask的分析结果。

参考文献

[1] 中国电子医疗市场数据发布报告2020Q1&2020Q2e[A]. 上海艾瑞市场咨询有限公司.艾瑞咨询系列研究报告(2020 年第6期) [C]: 上海艾瑞市场咨询有限公司,2020:25.

[2] 刘维维,电信行业中基于数据仓库和数据挖掘技术的决策支持系统[D]中国科技信息,2006(07):180-181.

[3] 岳亚娜孟凡胜医疗社交营销对策浅析[J]科技经济导刊2021,2901);169-170

[4] 任宏伟基于异常检测技术的数据防爬系统设计与应用.中国科学院大学(工程管理与信息技术学院).2016.

[5] 倪星字,基于Flask云计算平台的构建[J],微型电脑应用,2020,36(12);103-105.

[6] 王玻璇MapReduce 下差分隐私保护技术研究与实现[D]南京邮电大学,2020.

[7] 郑楠,我国开放政府数据的价值增值方式解析[J]新西部(理论版)2016(13):68.

[8]叶惠仙,基于HaopHle技术的Flask医疗网站数据分析研究口,网络安全技术与应用,202012)77-79.

[9] An efficient approach for land record classiffication and information retrieval in data warehouse. International journal of Computers and Applications 2021.(1)

[10]王佳珙Flask平台下调度算法及其改进策略研究[D]北京邮电大学,2016.

[11]张兴,基于Flask的云存储平台的研究与实现[D]电子科技大学.2013.

致  谢

在大学的校园里,我度过了难忘的学习生活。在这期间,我从周围的老师和同学身上学到了很多知识,并且建立了深厚的感情。

四年时间过的飞快,已经到了书写自己毕业论文的节点,回想过去的四年,充满了无数的欢乐,也学习了不少专业知识,这也更加丰富了我的大学生活。因此我要我的学院里的每一位教师,是你们教会了我的专业知识,让我具有了一技之长,同时还要感谢指导老师对我毕业设计的指导。

然后,感谢给子我帮助的朋友们,是你们让我的学习生涯更加温暖,让我能更加坚定的追求自己想要的生活。两年来,我们一起相互支持彼此的信念,一起学习新的知识,起解决遇到的各种问题, 不管我们选择的道路最终是否能够达到自己的理想,但愿我们能够友谊长存。

最后,我要感谢父母,是你们培养了我。

附  录

附录正文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值