基于大数据的中医药病案分析模型的设计与实现

201 篇文章 0 订阅
179 篇文章 0 订阅

基于大数据的中医病案分析模型的设计与实现

摘要: 目前,我国现有的中医病案信息的网站或APP较多,而且现有的中医病案网站发布的信息良莠不齐,夹杂着大量无用的中医病案信息,这会让医生和患者在使用这些中医病案软件获取中医病案信息时难以分辨有效的信息,药草的效率会很低。如果开发一套Web系统将市面上的中医病案信息通过大数据技术进行存储、计算与智能化分析,将会给医生和患者提供巨大的好处。

本文设计了基于Django的中医病案分析模型系统,本系统的核心功能是通过对头疼可能引起的病症和对不同的病症所用的中草药数据进行采集,并通过Hadoop技术将原始数据存储、计算,并将分析的结果以可视化列表形式展示。

本论文的主要研究工作及取得的成果如下:

  1. 本系统基于Django的编程技术,实现中医病案分析模型的构建。介绍了中医病案分析模型的开发环境和运行平台、Python编程技术。使用MySQL数据库管理整个系统的后台数据。用户可以归还浏览不同类型的中医病案档案,查看个人信息等。
  2. 使用基于Python语言的网络爬虫,爬取了中医病案网站上的中医病案信息。对爬取到的原始数据进行数据清洗后存储到Hadoop上,然后使用分布式运算编程模型和Django对数据计算,最后将结果保存至MySQL中存储分析。

关键词:中医病案 ;Hadoop; django;KNN

1 绪论

1.1研究背景与现状

在如今的互联网时代下,中医病案管理也由传统的线下中医病案会转变为互联网,目前市场上流行的中医病案软件和网站种类繁多,中医病案信息质量也参差不齐,相对比较知名且应用广泛的中医病案信息发布平台有北京同仁堂等。在上述平台中每天都会发布海量的中医病案信息和药草信息,然而由于网络信息存在一定的虛假性,这会给医生和患者带来一定的误导效果,导致网上药草过程的体验不佳。并且由于各平台之间的用户数据不互通,用户需要来回反复的进行注册登录操作,这一过程也会浪费大量时间和精力。

中医西医并重是我们中国政府在医疗界制定的基本方针,中医药具有坚实而广泛的群众基础,社会对于中医人才的需求是长期存在的。大家注意在这次疫情,中医也起到了非常关键的作用。从这一选题出发开展基于大数据的中医病案分析模型的设计与实现。

总而言之,从上述问题可以看出目前互联网中医病案信息平台信息缺乏整合,用户在冗杂的中医病案信息中难以筛选出有效的信息。本论文拟初步研究开发出一套完整的基于Django平台的中医病案平台信息分析系统,本系统主要用于对中医病案信息和公司信息进行采集,通过大数据平台对数据进行存储和计算,将大数据分析结果以可视化形式给用户查询。这样,用户在使用本平台时只需一次注册操作,即可浏览各平台发布的中医病案信息,并且可以根据用户的条件进行筛选,可极大的提高药草效率,给中医病案和医生和患者都带来一定的便利。

1.2论文主要研究工作

为了实时了解各行业最新最热的技术、最火热的岗位、薪资最高的岗位光靠人工收集并采用普通的方式进行分析十分浪费人力物力,并且效率和体验都不好,因此开发一套基于Django的中医病案数据分析系统显得尤为重要。本论文所设计的基于Django平台的中医病案信息分析系统的最核心功能是对海量中医病案信息的列表展示,并将大数据计算分析的结果以科技大屏可视化形式展出,使得用户能够非常直观的获取到当下的行业中医病案信息。

本系统首先需要提供给客户管理和使用的数据。本文使用基于Python语言的Scrapy框架的网络爬虫技术爬取用户使用率较高的中医病案网站上实时的中医病案信息以及公司信息作为数据来源,以此作为大数据分析的关键数据支撑。然后使用Django,生态圈中分布式运算模型Hadoop框架对海量的中医病案信息数据进行数据清洗,数据融合,计算,分析等流程,数据通过处理后持久化到MySQL数据库中存储。在计算出分析结果数据后,使用Django等软件开发技术等框架完成基于Django分析平台系统的后台的开发。

现代科学技术的进步与发展,加快了医学信息的数字化,医疗系统包括中医系统也在快速的健全和完备,随之而来的是中医病案数据量的急剧突增,如何利用这海量的中医药数据来防控疾病,诊断疾病,提供优化方案,辅助诊治,是当前业内专家高度关注的课题。

2 技术总述

2.1 Django技术

Django是一个开放源代码Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯中药 集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。2019年12月2日,Django 3. 0发布 。

Django是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Dj ango框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性 [2]  。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。其工作流程主要可划分为以下几步:

1.用manage .py runserver 启动Django服务器时就载入了在同一目录下的settings .py。该文件包含了项目中的配置信息,如前面讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Django哪个Python模块应该用作本站的URLConf,默认的是urls .py

2.当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。

3.然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)。

4.最后该view函数负责返回一个HttpResponse对象

2.2 Hadoop技术

随着大数据时代的来临,大数据技术也在不断发展,一般而言大数据技术包括大数据的实时计算和离线计算,实时计算包括如SparkStreaming,Flink等流式处理技术,离线计算包括像Hadoop中的MapReduce。本文使用的是大数据的离线计算方式来处理就业招聘信息。

MapReduce是基于Hadoop核心计算框架; MapReduce的主要原理是将计算按阶段分布在不同机器上处理,从而实现并行计算,可有效提高大数据计算速度和效率。Yarn和HDFS则分布是管理大数据作业和存储大数据的原始数据。

图 2-1 大数据集群机器

一般在大数据程序开发中,常使用MapReduce框架进行数据计算,MR程序需要我们根据job的不同阶段开发相应的作业程序,第一阶段是对所有的数据进行统一处理;第二阶段则是对相同组内的key进行统一处理,最后一个阶段则是编写一个作业管理程序,将上述两个阶段的作业的基本原数据信息提交到集群中管理和发布,最终可通过hadoop命令得到相应的计算结果。

在第一阶段和第二阶段之间,还涉及到了一个Shuffle过程,这个过程较为重要,它会将相同键值的数据汇聚到同一个下一阶段入口统一处理,并且可以设置并行度,这里会将涉及到数据在不同机器的移动计算,这也是大数据能够提高并行计算能力的核心功能实现。

2.3 KNN算法

最近邻(k-Nearest Neighbor,KNN)分类算法,它最初是由 Cover 和 Hart于1968 年提出来的,是一个理论上较为成熟的方法,是比较经典的机器学习算法之一。并且在许多种情况下表现良好,cover 和 Hart 的研究中表明,基于最近邻规则分类的错误率不会高于两倍的最优Bayes错误率,更进一步,该方法的错误率都会渐进收敛到贝叶斯错误率,KMN 方法是贝叶斯方法的近似。KNN 方法非常适合对多模分类和多标签分类的问题。

2.4本章小结

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

3 中医病案管理系统实现

3.1系统功能

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

3.2可行性研究

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

3.2.1 经济可行性

开发系统所涉及到的资料,一般是在中医病案 馆查阅,或是在网上进行查找收集。所需要的一些应用软件也都是在网上可以免费下载的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。

3.2.2 技术可行性

技术可行性是考虑在现有的技术条件下,能否顺利完成开发任务。以及判断现有的软硬件配置是否能满足开发的需求。而本系统采用的是Django开发框架,并非十分困难,所以在技术上是绝对可行的。此外,计算机硬件配置是完全符合发展的需要。

3.2.3 运行可行性

当前计算机信息化的知识已经十分普及了,现在的操作人员也都是对系统环境有很强的适应性,各类操作人员大都是有过培训补充的,因此完全不影响组织结构,所以在运行上也是可行的。

3.2.4 时间可行性

从时间上看,在大四的最后一个学期,在实习工作与完成毕设两件大事相交叉的时间里,结合之前学习的相关知识,并开发系统,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的努力功能基本实现。

3.3 系统实现流程

(1)明确目的

在设计中医病案信息大数据分析平台初期需要了解如何获取中医病案信息原始数据

是非常基础也是关键的一步。要了解大数据分析平台期望达到什么样的运营效

果,从而在标签体系构建时对数据深度、广度及时效性方面作出规划,确保底层

设计科学合理。

(2)数据采集

只有建立在客观真实的数据基础上,大数据计算分析的结果才有效。在采集

数据时,需要考虑多种维度,比如不同行业中医病案数据、各行业薪资水平数据、行

业就业情况数据、行业中医病案岗位等等,还可以通过行业调研、用户访谈、用户信

息填写及问卷、平台前台后台数据收集等方式获得。

(3)数据清洗

就对于各大中医病案网站或者APP平台采集到的数据而言,可能存在非目标数据、

无效数据及虛假数据,因而需要过滤原始数据,去除一些无用的信息以及脏数据,

便于后续的处理。

(4)特征工程

特征工程能够将原始数据转化为特征,是--些转化与结构化的工作。在这个

步骤中,需要剔除数据中的异常值并将数据标准化。

(5)数据计算

在这一步我们将得到的数据存储到大数据分析平台,通过开发Django,

程序对原始数据进行计算,将不同维度的结果存储到Mysql中。

(6)数据展示

分析结果可以通过大数据后台展示到前端界面,对于普通用户而言,只需.

要登录到该后台系统,就可以获取到中医病案数据分析后的计算结果,从而了解行业

的中医病案情况,对于医生和患者而言可以极大地提高效率。

3.4系统平台架构

在任何信息系统当中有价值的数据都是必不可少的重要部分,如何通过手上

的资源获取得到有价值的数据便是开发系统。首先需要考虑的问题根据系统的功

能设计数据获取和处理的流程以及其实现方法都已经基本上确定获取和处理流

程。

3.5 数据库设计

本系统采用模块化设计理念,面向对象的编程思想,实现系统各个模块的共功能,先将系统的总框架描绘出来,将功能模块嵌入框架中并描绘出流程图,逐步精确[10]。

3.5.1 系统功能模块划分

本系统主要采用Python进行开发,搭配MySQL数据库,根据需进行模块的划分,分配模块的信息输入和输出,最后进行数据库的设计,得出系统的模块划分。

3.5.2系统流程图

系统流程图包括用户上传中医病案数据档案的流程图和管理员对中医病案数据档案进行审核的流程图。

个人用户在注册和登录成功后,需要先进行个人信息的填写,然后通过上传管理人员证照片让管理员认证,认证通过后在个人主页的中医病案数据管理选项中填写中医病案数据管理中医病案数据档案的基本信息,然后上传中医病案数据档案文件供管理员审核,审核通过后即可在系统中浏览,管理自己的中医病案数据管理中医病案数据档案。在未通过认证的情况下不能提交上传中医病案数据档案和浏览他人的中医病案数据档案,以保证用户中医病案数据档案的安全。提交的中医病案数据档案未通过的情况下可以重新提交中医病案数据档案,或者选择他人的中医病案数据档案请求加入,管理员会在后天查看请求并审批。

管理员凭借管理员账号和密码登录管理员后台,可以收到认证请求信息,查看用户上传的认证图片,照片有效给予通过认证,照片无效或者模糊不给予通过认证。在中医病案数据档案审核中,管理员可以查看审核中医病案数据档案的基本信息和中医病案数据管理文件,中医病案数据档案无误后给予审核同伙。同样对于加入中医病案数据档案的请求,管理员查看中医病案数据档案的人设置和中医病案数据档案要求,符合给予同意请求。

3.5.3 设计

个人的基础属性包括用户ID,用户名、性别、密码、出生日期、邮箱账号、手机号,将用户ID设为主键,作为识别信息的唯一标识。个人信息表如表3-1所示。

表3-1个人信息表

字段名称

数据类型

字段大小

必填字段

用户ID

数字

20

用户名

文本

8

密码

数字

2

性别

字符

1

邮箱

数字

20

出生日期

日期/时间

手机号

数字

11

删除状态

字符

1

医生和患者的分析数据档案信息表主要存储个人中医病案数据档案的基础信息,但用户角色的信息其实是在角色表中,并且在用户-角色关联表中标注了该用户的角色信息,在用户角色表中存储了角色的相关信息,并将角色ID设为唯一主键来识别信息,如表4-2所示。

表3-2 角色信息表

字段名称

数据类型

字段大小

必填字段

角色ID

数字

20

角色名称

文本

50

角色权限字符串

文本

1

显示顺序

数字

20

数据范围

文本

11

角色状态

数字

1

删除标志

数字

1

3.6 Hadoop程序设计

原始的中医病案信息数据一般信息较为冗杂,且很难看出规律,因此我们需要将数据存储在HDFS上,数据在多台机器上保存了n份,保证了原始数据的高可用。然后通过Django框架开发程序,将海量的原始数据计算过程分成一个个的job提交到yarn上管理执行。

Hadoop确保每个reducer的输入都是按键排序的。系统执行排序的过程

(即将map输出作为输入传给reducer)称为shuffle。下面是Hadoo计算

最重要的shuffle原理,可以看出具有同key的Mapper端输出将会汇向同一

Reducer端,从而达到分布式计算的效果。如图3-3所示

图3-1 Django的shuffle原理

本文中如需分析目前中医病案网站上的各行各业的中医病案岗位总量情况,首先需要定义一个任务中的核心逻辑,需要在代码中对每条中医病案数据的里程字段过滤,下面为分析任务的主要逻辑代码。

表3-3 mapper任务的主要逻辑

admin.site.site_title = "中医病案管理可视化系统"

admin.site.site_header = "中医病案管理可视化系统"

class ExportExcelMixin(object):

    def export_as_excel(self, request, queryset):

        meta = self.model._meta

        field_names = [field.name for field in meta.fields]

        response = HttpResponse(content_type='application/msexcel')

        response['Content-Disposition'] = f'attachment; filename={meta}.xlsx'

        wb = Workbook()

        ws = wb.active

        ws.append(field_names)

        for obj in queryset:

            for field in field_names:

                data = [f'{getattr(obj, field)}' for field in field_names]

            row = ws.append(data)

        wb.save(response)

        return response

    export_as_excel.short_description = '导出Excel'

@admin.register(Case_item)

class Case_item_Admin(admin.ModelAdmin, ExportExcelMixin):

    list_display = ("name",  "case_id", "pingfen", "text","itype","zuozhe",)

    actions = ['export_as_excel']

    search_fields = ("name",  "pingfen", "text","itype","zuozhe",)

    list_filter = ['itype']

@admin.register(Users)

class Users_Admin(admin.ModelAdmin, ExportExcelMixin):

    list_display = ("username", "email", "password","jianjie","set","age",)

    actions = ['export_as_excel']

    search_fields = ("username",  "email", "jianjie","set",)

@admin.register(PingLun)

class PingLun_Admin(admin.ModelAdmin, ExportExcelMixin):

    list_display = ("case", "biaoqian","data",)

    actions = ['export_as_excel']

    search_fields = ("case", "biaoqian",)

@admin.register(Borrowing)

class Borrowing_Admin(admin.ModelAdmin, ExportExcelMixin):

    list_display = ("user", "case", "data","status","data_new")

    actions = ['export_as_excel']

    search_fields = ("user",  "case", )

    list_filter = ['status']

再编写完Mapper任务和reducer任务的业务代码后,还需要定义一个主类用于管理上述的作业,Hadoop框架会将上述的Mapper和Reducer任务拆分为一个个的job并提交到yarn上管理执行。下表3-4为中医病案信息所属品种adoop作业管理类的主要逻辑。

3-4 所属类别Django作业管理类

#这个是搜索函数,搜索提交的值跟中医病案 名称做模糊搜索后返回用户

@login_required

def sousuo(request):

    if request.method == 'POST':

        error = {}

        data = request.POST

        name = data.get('name', '')

        datas = models.Case_item.objects.filter(name__icontains=name)

        return render(request, 'book/sousuo.html', locals())

#主页,data4为推荐数据,data2为评分最高的前50个

@login_required

def index(request):

    if request.method == 'GET':

        username = request.user.username

        name = request.GET.get('name', '')

        if not name:

            data2 = models.Case_item.objects.all().order_by('-pingfen')[:40]

        else:

            data2 = models.Case_item.objects.filter(name__icontains=name).all()

        return render(request, 'book/index.html', locals())

@login_required

def myjieyue(request):

    if request.method == 'GET':

        list_data = []

        datas = models.Borrowing.objects.filter(user=request.user).filter(status='分析中')

        for data in datas:

            list_data.append(data)

        return render(request, 'book/borrowing_all.html', locals())

def stopwordslist():

    stopwords = [

        line.strip() for line in open(

            os.path.dirname(

                os.path.abspath(__file__)) +

            os.sep +

            'stopwords.txt',

            'r',

            encoding='utf-8').readlines()]

    return stopwords

import jieba

import random

@login_required

def keshihua(request):

    if request.method == 'GET':

        datas = models.Case_item.objects.all()

        #中医病案 种类分析

        types1 = [resu.itype for resu in datas]

        types_set = list(set(types1))

        types_set.sort()

        types_name = []

        types_count = []

        for resu in types_set:

            types_name.append(resu)

            types_count.append(types1.count(resu))

        #中医病案 分析

        chubans = []

        for resu in datas:

            for resu1 in resu.zuozhe.split('/'):

                if '中药 ' in resu1:

                    chubans.append(resu1.strip())

                    break

        chuban_set = list(set(chubans))

        chuban_set.sort()

        chuban_name = []

        chuban_count = []

        for resu in chuban_set:

            chuban_name.append(resu)

            chuban_count.append(chubans.count(resu))

        #评论数前十中医病案

        pingluns_data = datas.order_by('-count')[:10]

        books_name = []

        books_count = []

        for resu in pingluns_data:

            books_name.append(resu.name.replace('\n','').strip())

            books_count.append(resu.count)

        # 中药

        stopwords = stopwordslist()

        a = [da1.biaoqian for da1 in random.sample(list(models.PingLun.objects.all()),k=300)]

        b = ' '.join(a)

        c = jieba.lcut(b)

        values = []

        for key in c:

            if key.strip():

                if key.strip() not in stopwords:

                    values.append(key.strip())

        list11 = list(set(values))

        datas6_1 = []

        for resu1 in list11:

            datas6_1.append({"name": resu1, "value": values.count(resu1)})

        datas6_1.sort(key=lambda xx: xx['value'], reverse=True)

        datas6_1 = datas6_1[:100]

        print(datas6_1)

        return render(request, 'book/keshihua.html', locals())

任务主类编写成功后并提交到Hadoop环境上,通过Hadoop命令执行该作业。

4 后台系统实现

基于Django中医病案信息分析平台的基本业务功能是采用Django框架实现的, 在本文的第四章将详细介绍后台系统的实现部分,包括详细阐述了系统功能模块的具体实现,并展示说明了部分模块的功能界面。

4.1 开发环境与配置

4.1.1 开发环境

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

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

项目

系统环境及版本

硬件环境

Windows 64 位操作系统

Python

Python2.6

数据库

MySql

开发工具

Pycharm

项目架构

Django

4.1.2 框架配置介绍 

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

图4-1 后台的配置文件

4.2 数据库的设计

数据库设计是系统设计中特别重要的一部分。数据库的好坏决定着整个系统的好坏,并且,在之后对数据库的系统维护、更新等功能中,数据库的设计对整个程序有着很大的影响。

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

用户的属性包括用户编号、用户名、密码和性别、注册账号的时间。用户实体属性图如图4-2所示:

图4-2 用户实体属性图

根据以上分析,各个实体之间有一定的关系,使实体与实体可以联系起来,建立成整个系统的逻辑结构,本系统中,普通用户通过对中医病案信息的管理,使中医病案信息与用户实体存在对应关系。

4.3 系统功能模块实现

4.3.1登录认证

用户登录时需要在登录界面输入用户名、密码进行身份认证,要求必须是表单认证、校验。具体流程如时序图如4-2所示。

图4-2登录认证流程图

中医病案管理系统的用户登录界面如下图所4-3所示:

图4-3用户登录界面

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

图4-4中医病案信息系统首页界面

4.3.2中医病案信息管理功能

中医病案信息管理功能是对中医病案信息进行查询,删除等操作的功能集合,中医病案信

息管理功能使用到了中医病案信息表t_ device,中医病案信息表t_device的主要数据字段,结构,类型及描述如下表4-2所示。

表4-2 中医病案信息表字段

字段名称

数据类型

是否允许为空

描述

id

int

不允许

自增主键,唯一ID

name

String

允许

所在分类名称

company

String

允许

中药名称

company_size

String

允许

中药规模

education

String

允许

中药价格

experience

String

允许

中医病案年限

industry

String

允许

使用年份

recruiter

String

允许

中药厂商

salary

String

允许

中药健康

中医病案管理系统的中医病案信息管理功能界面如下图所4-5所示:

中医病案信息管理

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

图4-6 中医病案信息管理功能流程图

 通过“中医病案信息管理”按钮,进入中医病案信息管理界面,用户可以看到中医病案信息列表,例如:中医病案 名称、所属类别、数量、中医病案要求、中医病案 价格、中医病案时间的详细信息。通过此界面,用户可以对中医病案信息进行删除管理操作。

4.3.3中医病案信息大数据看板功能

数据可视化模块就是对我们采集和计算的分析结果的展示。数据分析模块的

数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结

构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式

进行展示,从而形象直观地表达数据蕴含的信息和规律。

图4-7 中医病案信息分析界面

中医病案信息大数据分析可视化开发的难点并不在于图表类型的多样化,而在于如何能在简单的一页之内让用户读懂中医病案数据之间的层次与关联,这就关系到布局、色彩、图表、动效的综合运用。如排版布局应服务于业务,避免为展示而展示;配色一般以深色调为主,注重整体背景和单个视觉元素背景的一致性。本文使用Echarts中地图、线条等组件,将分析结果较为直观的展示给平台用户,使得用户能够简便的获取有效的信息。

4.4 本章小结

本章主要分析了基于Django的中医病案信息分析系统开发过程中使用到的技术和具体的实现步骤,这其中主要介绍了基于Django框架的中医病案管理系统的搭建环境和开发步骤,包括程序中的一些数据库配置等。前端页面采用的是HTML和CSS实现。

5 总结与展望

5.1 系统开发遇到的问题 

由于基于Django中医病案信息分析平台是由本人独立开发,因此在系统设计和业务逻辑方面更多地借鉴了目前市场上较为流行的框架和技术点,包括大数据技术,很多是不熟悉没接触过的,在开发过程中不断学习新知识。另外由于本人的时间和精力的原因,在系统开发过程中有很多地方可能并不能够完全尽如人意,还有许多需要补充的功能与模块。

5.2 总结与展望 

大数据中医病案信息系统是在对相关管理范畴进行详细调研后,确定了系统涉及的领域,包括数据库设计、界面设计等,是一个具有实际应用意义的管理系统。根据本毕业设计要求,经过四个多月的设计与开发,大数据中医病案信息系统基本开发完毕。其功能基本符合用户的需求。
    为保证有足够的技术能力去开发本系统,首先本人对开发过程中所用到的工

具和技术进行了认真地学习和研究,详细地钻研了基于Python的网络爬虫技术

以及Echarts, CSS, HTML等前端开发技术,同时还研究了大数据开发技术Django, HDFS, Django等。

从中医病案数据大数据分析平台需求分析开始,到整体框架的设计以及各个详细功能的设计具体实现,最后基于Django平台的中医病案信息分析系统的基础架构和详细功能已经大致开发完毕,并将其部署在本地服务器当中运行,用户可以登录使用该系统进行中医病案信息的筛选,同时查询大数据的分析结果。


参考文献

[1]季杰,陈强仁,朱东.基于互联网大数据的中医病案智能分析平台的设计和实现[J].内江科技,2020,41(05):47-48.

[2]朱慧雯,田骏,张涛,蒋卫祥.基于互联网大数据的中医病案数据智能分析平台的设计与实现[J].软件,2020,41(03):99-101.

[3]于涛.大尹格庄金矿井下通风环境感知与大数据分析平台研究开发[J].有色金属(矿山部分),2021,73(05):142-146.

[4]汪杰,王春华,李晓华,余克莉莎.煤炭行业大数据分析云平台设计研究[J].煤炭工程,2021,53(09):187-192.

[5]周怡燕.基于Django的数据分析平台构建研究[J].自动化与仪器仪表,2021(05):123-127.

[6]邱灵峰,黄荣.大数据审计平台体系建设构想[J].中国管理信息化,2021,24(17):97-98.

邓宇杰,郑和震,陈英健.长江大保护时空大数据云平台建设需求分析[J].水利规划与设计,2021(09):12-15.

[7]孙也.生产制造中医病案 大数据分析平台技术[J].电子技术与软件工程,2021(16):178-179.

张晓伟.基于云平台的大数据信息安全保护策略分析[J].信息记录材料,2021,22(08):185-187.

[8]李军,王涛.基于Django分析技术的网络运维平台应用与开发[J].电脑编程技巧与维护,2021(07):112-114.

[9]Chi Dianwei,Tang Chunhua,Yin Chen. Design and Implementation of Hotel Big Data Analysis Platform Based on Django and Spark[J]. Journal of Physics: Conference Series,2021,2010(1):

[10]Costa Rogério Luís de C.,Moreira José,Pintor Paulo,dos Santos Veronica,Lifschitz Sérgio. A Survey on Data-driven Performance Tuning for Big Data Analytics Platforms[J]. Big Data Research,2021,25(prepublish):


Design and Implementation of a Traditional Chinese Medicine Medical Record Analysis Model Based on Big Data

At present, there are many websites or apps for traditional Chinese medicine medical record information in China, and the information published on these websites is mixed with a large amount of useless traditional Chinese medicine medical record information. This makes it difficult for doctors and patients to distinguish effective information when using these traditional Chinese medicine medical record software to obtain traditional Chinese medicine medical record information, and the efficiency of herbs will be very low. If a web system is developed to store, calculate, and intelligently analyze traditional Chinese medicine medical record information on the market through big data technology, it will provide huge benefits to doctors and patients.

This article designs a traditional Chinese medicine medical record analysis model system based on Django. The core function of this system is to collect data on possible symptoms caused by headaches and Chinese herbal medicines used for different diseases. The raw data is stored and calculated using Hadoop technology, and the analysis results are displayed in a visual list form.

The main research work and achievements of this paper are as follows:

1. This system is based on Django's programming technology to achieve the construction of a traditional Chinese medicine medical record analysis model. Introduced the development environment and running platform of the traditional Chinese medicine medical record analysis model, as well as Python programming technology. Use MySQL database to manage the backend data of the entire system. Users can return and browse different types of traditional Chinese medicine medical records, view personal information, etc.

2. Web crawler based on Python language crawled the TCM medical record information on the TCM medical record website. Clean the raw data crawled and store it on Hadoop. Then, use a distributed computing programming model and Django to calculate the data, and finally save the results to MySQL for storage and analysis.

Key words: Traditional Chinese Medicine Medical Record; Hadoop; django; mysql


谢  辞

时光飞逝,四年的本科生生涯即将结束。在这四年的时光里,有遇到难题时的手足无措,有获得专业进步时的开心。经历了许多的事情,自己也在不知不觉中成长了很多,心中充盈最多的仍是感激。

首先感谢我的导师,她严谨的治学态度深深地影响每位同学。我要感谢我的父母,他们总是默默的付出,在生活上给与我最大的帮助,在学习上也给我很多建议。

最后,由衷的感谢各位评审老师在百忙之中抽出时间来参与我的论文评审和答辨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值