互联网+智慧医疗:基于Python打造智慧医院项目之智能分诊

智慧医疗英文简称WIT120,是最近兴起的专有医疗名词,通过打造健康档案区域医疗信息平台,利用最先进的物联网技术,实现患者与医务人员、医疗机构、医疗设备之间的互动,逐步达到信息化。

随着计算机科学技术的飞速发展,现已有非常多的 AI 方法手段应用于医疗服务行业,进而让患者享受安全、便利、优质的诊疗服务!

本文将从大数据+爬虫技术出发,运用Python语言打造优质、便捷、高效的诊疗服务平台,让患者不用为不知挂号哪个诊室而苦恼。

目录

1 项目简介

1.1 项目概述

1.2 前期准备

2 项目分析

2.1 代码详解

2.2 总观代码

2.3 项目运行结果

3 总结展望


1 项目简介

1.1 项目概述

本项目主要是基于Python语言打造智慧医院项目之智能分诊,旨在让患者轻松、便捷地了解其病情的就诊科室,进而实现“人人健康,健康人人”的项目初衷。具体而言,本项目实现过程用到了Python爬虫基础以及正则表达式等相关内容,最后达到的效果是患者输入自己的疾病症状,随即给出疾病对应的就诊科室。
总之,本项目产品是一个比较便捷高效的智能分诊系统;接下来将详细阐述项目产品的创造过程。

1.2 前期准备

因为需要提前了解到各个病情所对应的就诊科室,所以运用了Python爬虫技术获取各种各样的病情对应的科室等信息。

也就是说,需要提前找好一个网站,从这个网站中获取我们想要的信息

在这里,我找到的是一个名为寻医问药的网站,接下来的操作都是基于它来实现的

智能分诊系统的打造用到python语言及部分第三方库

在这里:
Python环境:3.8.2

python编译器:JetBrains PyCharm 2018.1.2 x64

第三方库及模块:requests、re模块、Pyinstaller库

 因为本文大量用到了正则表达式,实际上是比较复杂的,之前做过一篇关于正则表达式的文章,这里给出链接:
https://blog.csdn.net/IT_charge/article/details/105977578

2 项目分析

2.1 代码详解

导入用到的模块及第三方库

import requests
import re

 获取到目标网页并做正则表达式处理

def get_data(url):# 请求网页resp = requests.get(url)# 对于获取到的 HTML 二进制文件进行 'gb2312' 转码成字符串文件html = resp.content.decode('gb2312')# 正则表达式获取期望字符串tag_div = re.findall(r'<div class="illness-ks clearfix">.*?(.*?)<ul class="mod-ill-list pt5">', html, re.S | re.I)[0]tag_a = re.findall(r'<a.*?</a>', tag_div)url = 'http://zzk.xywy.com/'
get_data(url)

 在这里实际上已经将搜索范围减到了很小,但为了更精确获取我们想要的信息,运用否循环我们先来看一下(提前分析HTML源代码得到该网站的信息条数为392,故这里循环392次)

    for i in range(392):print(i)chapter_url = re.findall(r'>(.*?)</a>', tag_a[i])  # [0]print(chapter_url)

通过此运行结果我们得到,比如下标为0的数据、下标为9的数据……都是科室名称而其他都是科室对应的接诊症状

也就是说,接下来我们利用两次for循环将目标锁定到每一具体科室及其接诊症状

这里以呼吸科为例,其科室及症状对应下标为0~9之间,在得到的chapter_url1字符串中再运用正则表达式提取信息

    for huxi in range(9):                # 呼吸科chapter_url1 = re.findall(r'>(.*?)</a>', tag_a[huxi])for huxia in chapter_url1:print(huxia)if '' == huxia:huxiKS = re.findall(r'>(.*?)</a>', tag_a[0])[0]print('建议您的就诊科室为:',huxiKS)

 同理,锁定每一科室及其接诊症状的下标范围,比如消化内科(9,18)、心内科(18,28)……

    for xiaohua in range(9,18):          # 消化内科chapter_url2 = re.findall(r'>(.*?)</a>', tag_a[xiaohua])for xiaohuaa in chapter_url2:if symptom == xiaohuaa:xiaohuaKS = re.findall(r'>(.*?)</a>', tag_a[9])[0]print('建议您的就诊科室为:', xiaohuaKS)for xinnei in range(18,28):            # 心内科chapter_url3 = re.findall(r'>(.*?)</a>', tag_a[xinnei])for l in chapter_url3:if symptom == l:xinneiKS = re.findall(r'>(.*?)</a>', tag_a[18])[0]print('建议您的就诊科室为:',xinneiKS)

 按照这一思路将网站内涉及到的26个科室全部写出来,最后再通过用户输入症状得出对应的结果

symptom = input("请输入您的症状:")

2.2 总观代码

import requests
import redef get_data(url):# 请求网页resp = requests.get(url)# 对于获取到的 HTML 二进制文件进行 'gb2312' 转码成字符串文件html = resp.content.decode('gb2312')# 正则表达式获取期望字符串tag_div = re.findall(r'<div class="illness-ks clearfix">.*?(.*?)<ul class="mod-ill-list pt5">', html, re.S | re.I)[0]tag_a = re.findall(r'<a.*?</a>', tag_div)# print(tag_a)# for i in range(392):#     print(i)#     chapter_url = re.findall(r'>(.*?)</a>', tag_a[i])  # [0]#     print(chapter_url)# print(tag_a)symptom = input("请输入您的症状:")for huxi in range(9):                # 呼吸科chapter_url1 = re.findall(r'>(.*?)</a>', tag_a[huxi])for huxia in chapter_url1:# print(huxia)if symptom == huxia:huxiKS = re.findall(r'>(.*?)</a>', tag_a[0])[0]print('建议您的就诊科室为:',huxiKS)for xiaohua in range(9,18):          # 消化内科chapter_url2 = re.findall(r'>(.*?)</a>', tag_a[xiaohua])for xiaohuaa in chapter_url2:if symptom == xiaohuaa:xiaohuaKS = re.findall(r'>(.*?)</a>', tag_a[9])[0]print('建议您的就诊科室为:', xiaohuaKS)for xinnei in range(18,28):            # 心内科chapter_url3 = re.findall(r'>(.*?)</a>', tag_a[xinnei])for l in chapter_url3:if symptom == l:xinneiKS = re.findall(r'>(.*?)</a>', tag_a[18])[0]print('建议您的就诊科室为:',xinneiKS)for xueye in range(28,36):               # 血液科chapter_url4 = re.findall(r'>(.*?)</a>', tag_a[xueye])for xueyea in chapter_url4:# print(l)if symptom == xueyea:xueyeKS = re.findall(r'>(.*?)</a>', tag_a[28])[0]print('建议您的就诊科室为:',xueyeKS)for neifenmi in range(36,44):            # 内分泌科chapter_url5 = re.findall(r'>(.*?)</a>', tag_a[neifenmi])for neifenmia in chapter_url5:if symptom == neifenmia:neifenmiKS = re.findall(r'>(.*?)</a>', tag_a[36])[0]print('建议您的就诊科室为:',neifenmiKS)for shenjingnei in range(44,53):           #  神经内科chapter_url6 = re.findall(r'>(.*?)</a>', tag_a[shenjingnei])for shenjingneia in chapter_url6:if symptom == shenjingneia:shenjingneiKS = re.findall(r'>(.*?)</a>', tag_a[44])[0]print('建议您的就诊科室为:',shenjingneiKS)for shennei in range(53,61):           # 肾内科chapter_url7 = re.findall(r'>(.*?)</a>', tag_a[shennei])for shenneia in chapter_url7:if symptom == shenneia:shenneiKS = re.findall(r'>(.*?)</a>', tag_a[53])[0]print('建议您的就诊科室为:',shenneiKS)for yichuanbing in range(61,77):       # 遗传病科chapter_url8 = re.findall(r'>(.*?)</a>', tag_a[yichuanbing])for yichuanbinga in chapter_url8:if symptom == yichuanbinga:yichuanbingKS = re.findall(r'>(.*?)</a>', tag_a[61])[0]print('建议您的就诊科室为:',yichuanbingKS)for waike in range(77,87):                # 外科chapter_url9 = re.findall(r'>(.*?)</a>', tag_a[waike])for waikea in chapter_url9:if symptom == waikea:waikeKS = re.findall(r'>(.*?)</a>', tag_a[77])[0]print('建议您的就诊科室为:',waikeKS)for guke in range(87,95):                # 骨外科chapter_url10 = re.findall(r'>(.*?)</a>', tag_a[guke])for gukea in chapter_url10:if symptom == gukea:gukeKS = re.findall(r'>(.*?)</a>', tag_a[87])[0]print('建议您的就诊科室为:',gukeKS)for shenjingwai in range(95,104):                 # 神经外科chapter_url11 = re.findall(r'>(.*?)</a>', tag_a[shenjingwai])for shenjingwaia in chapter_url11:if symptom == shenjingwaia:shenjingwaiKS = re.findall(r'>(.*?)</a>', tag_a[95])[0]print('建议您的就诊科室为:',shenjingwaiKS)for xinxiongwai in range(104,112):                 # 心胸外科chapter_url12 = re.findall(r'>(.*?)</a>', tag_a[xinxiongwai])for xinxiongwaia in chapter_url12:if symptom == xinxiongwaia:xinxiongwaiKS = re.findall(r'>(.*?)</a>', tag_a[104])[0]print('建议您的就诊科室为:',xinxiongwaiKS)for gandanwai in range(112,120):                 # 肝胆外科chapter_url13 = re.findall(r'>(.*?)</a>', tag_a[gandanwai])for gandanwaia in chapter_url13:if symptom == gandanwaia:gandanwaiKS = re.findall(r'>(.*?)</a>', tag_a[112])[0]print('建议您的就诊科室为:',gandanwaiKS)for miniao in range(120,129):                 # 泌尿外科chapter_url14 = re.findall(r'>(.*?)</a>', tag_a[miniao])for miniaoa in chapter_url14:if symptom == miniaoa:miniaoKS = re.findall(r'>(.*?)</a>', tag_a[120])[0]print('建议您的就诊科室为:',miniaoKS)for gangchang in range(129,138):                 # 肛肠科chapter_url15 = re.findall(r'>(.*?)</a>', tag_a[gangchang])for gangchanga in chapter_url15:if symptom == gangchanga:gangchangKS = re.findall(r'>(.*?)</a>', tag_a[129])[0]print('建议您的就诊科室为:',gangchangKS)for zhengxing in range(138,147):                 # 整形科chapter_url16 = re.findall(r'>(.*?)</a>', tag_a[zhengxing])for zhengxinga in chapter_url16:if symptom == zhengxinga:zhengxingKS = re.findall(r'>(.*?)</a>', tag_a[138])[0]print('建议您的就诊科室为:',zhengxingKS)for er in range(147,156):                 # 儿科chapter_url17 = re.findall(r'>(.*?)</a>', tag_a[er])for era in chapter_url17:if symptom == era:erKS = re.findall(r'>(.*?)</a>', tag_a[148])[0]print('建议您的就诊科室为:',erKS)for fuchan in range(156,203):                 # 妇产科chapter_url18 = re.findall(r'>(.*?)</a>', tag_a[fuchan])for fuchana in chapter_url18:if symptom == fuchana:fuchanKS = re.findall(r'>(.*?)</a>', tag_a[156])[0]print('建议您的就诊科室为:',fuchanKS)for pifu in range(204, 221):  # 皮肤科chapter_url19 = re.findall(r'>(.*?)</a>', tag_a[pifu])for pifua in chapter_url19:if symptom == pifua:pifuKS = re.findall(r'>(.*?)</a>', tag_a[204])[0]print('建议您的就诊科室为:', pifuKS)for zhongyi in range(223, 247):  # 中医科chapter_url20 = re.findall(r'>(.*?)</a>', tag_a[zhongyi])for zhongyia in chapter_url20:if symptom == zhongyia:zhongyiKS = re.findall(r'>(.*?)</a>', tag_a[223])[0]print('建议您的就诊科室为:', zhongyiKS)for wuguan in range(247, 274):  # 五官科chapter_url21 = re.findall(r'>(.*?)</a>', tag_a[wuguan])for wuguana in chapter_url21:if symptom == wuguana:wuguanKS = re.findall(r'>(.*?)</a>', tag_a[248])[0]print('建议您的就诊科室为:', wuguanKS)for nan in range(274, 292):  # 男科chapter_url22 = re.findall(r'>(.*?)</a>', tag_a[nan])for nana in chapter_url22:if symptom == nana:nanKS = re.findall(r'>(.*?)</a>', tag_a[274])[0]print('建议您的就诊科室为:', nanKS)for chuanran in range(292, 311):  # 传染科chapter_url23 = re.findall(r'>(.*?)</a>', tag_a[chuanran])for chuanrana in chapter_url23:if symptom == chuanrana:chuanranKS = re.findall(r'>(.*?)</a>', tag_a[292])[0]print('建议您的就诊科室为:', chuanranKS)for jingshen in range(311, 327):  # 精神科chapter_url24 = re.findall(r'>(.*?)</a>', tag_a[jingshen])for jingshena in chapter_url24:if symptom == jingshena:jingshenKS = re.findall(r'>(.*?)</a>', tag_a[311])[0]print('建议您的就诊科室为:', jingshenKS)for jizhen in range(328, 342):  # 急诊科chapter_url25 = re.findall(r'>(.*?)</a>', tag_a[jizhen])for jizhena in chapter_url25:if symptom == jizhena:jizhenKS = re.findall(r'>(.*?)</a>', tag_a[328])[0]print('建议您的就诊科室为:', jizhenKS)for zhongliu in range(343, 350):  # 肿瘤科chapter_url26 = re.findall(r'>(.*?)</a>', tag_a[zhongliu])for zhongliua in chapter_url26:if symptom == zhongliua:zhongliuKS = re.findall(r'>(.*?)</a>', tag_a[343])[0]print('建议您的就诊科室为:', zhongliuKS)url = 'http://zzk.xywy.com/'
get_data(url)

2.3 项目运行结果

 

 

 只要是输入病情症状,就会智能推荐就医门诊,是不是分快捷方便呢?

当然,我们还可以用Pyinstaller库打包,让这一便捷系统被更多人用到

回车运行 

 顺着代码提示的打包exe文件所在文件夹地址,找到它

双击运行,看一下结果是否一样

 

至此,已全部探索完毕。

项目源码及Pyinstaller库打包后的exe文件已上传至百度网盘
链接: https://pan.baidu.com/s/1dYPhbjYIyIun-6wmG_Irxw
提取码: cwub 

3 总结展望

以上是简单实现了患者病情症状对应的就医科室,当然可以改进的地方有很多:比如增加对应挂号科室的挂号费用、主任医师等等。总之,在大数据背景下,人类的生活越来越数字化、信息化、现代化。

随着计算机科学技术的发展,在不久的将来医疗行业将融入更多人工智慧、传感技术等高科技,使医疗服务走向真正意义的智能化,推动医疗事业的繁荣发展。在中国新医改的大背景下,智慧医疗正在走进寻常百姓的生活。

以上就是“互联网+智慧医疗”在医疗服务方面的项目实现的全部内容。


版权声明:本专栏全部为CSDN博主「IT_change」的原创文章,遵循 CC 4.0 BY-SA 版权协议。
                  转载请附上原文出处链接及本声明。

感谢阅读 ! 感谢支持 !  感谢关注 !

希望本文能对读者学习和理解“互联网+”技术有所帮助,并请读者批评指正!

2020年5月底于山西大同

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33666.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在线付费问诊互联网医院智慧医疗系统包含哪些功能

伴随着互联网的发展&#xff0c;互联网医疗的互联网医院应运而生。在线付费问诊能够完成快捷的线上医疗服务板块&#xff0c;让有需求的用户能够只需求通过渠道就能够完成医疗问诊过程&#xff0c;大大提高了用户在治病就医方面的体验感&#xff0c;同时也能缓解线下门诊科室就…

智慧医疗时代的数据标注如何更精准?

随着我国经济的不断增长&#xff0c;以及生命科学的迅速发展&#xff0c;国人预期寿命有了显著的提升。2019年&#xff0c;国人预期寿命达到了77.3岁&#xff0c;比1960年提高了33岁。人们的健康需求在人口老龄化等一系列因素的影响下持续增长&#xff0c;这意味着卫生系统将面…

医疗行业售前100问之第3问:医院的常用信息系统有哪些?

医院内网的常用信息系统&#xff1a; 公认的医院核心信息系统有4个&#xff1a;HIS、EMR、PACS、LIS。 HIS&#xff08;医院管理信息系统&#xff09; 简称HIS&#xff0c;以财务信息、病人信息和物资信息为主线&#xff0c;通过对信息的收集、存储、传递、统计、分析、综合查…

医疗行业的新选择:智能医疗管理模板

随着社会的发展&#xff0c;医疗行业也在不断地进步与发展&#xff0c;信息化已经成为医疗行业的重要一环。智能医疗管理应用作为新型医疗管理工具&#xff0c;已经成为中小型医院、门诊、美容机构等企业的必备软件之一。该应用包括患者管理、预约管理、诊断管理、住院管理、财…

医疗知识图谱问答系统探究(一)

这是 阿拉灯神丁Vicky 的第 23 篇文章 1、项目背景 为通过项目实战增加对知识图谱的认识&#xff0c;几乎找了所有网上的开源项目及视频实战教程。 果然&#xff0c;功夫不负有心人&#xff0c;找到了中科院软件所刘焕勇老师在github上的开源项目&#xff0c;基于知识图谱的医…

QA智能问答

是基于检索的还是基于生成式回答的是开放领域的还是限定领域的 问答系统分为开放领域和限定领域的智能问答系统 面向学生的智能聊天机器人 包含以下两个部分 问答模块聊天对话模块解决学生提出的问题与学生闲聊基于规则实现基于深度学习实现数据库为15个关于新生的问题公开…

浪潮信息助力医院智慧医疗建设走得既稳又快

在智慧医疗时代下&#xff0c;浪潮信息作为优质的大数据服务商&#xff0c;正在持续为医疗机构打造场景化、个性化数据基础设施&#xff0c;不断强化在医疗卫生领域的投入&#xff0c;让智慧医疗有“数”可依。日前&#xff0c;浪潮信息出席了2022中华医院信息网络大会&#xf…

互联网医院源码|互联网医院软件体现智慧医疗的优势

现在大家看病一般都会直接在互联网医院平台上去就诊&#xff0c;每次大家需要看病时&#xff0c;可以在手机上直接去预约指定的医生&#xff0c;同城周边的所有医院都是可以去直接选择的&#xff0c;这样也可以去帮助大家节省很多的看病时间&#xff0c;在互联网医院软件中所具…

医疗智能BI助你建立智慧医院

基于“智慧医院”的海量数据&#xff0c;虽看上去冗繁复杂&#xff0c;但却极具价值。通过对这些数据进行存储、清洗和挖掘&#xff0c;能够创造出极大的价值。医疗智能BI助你建立智慧医院&#xff0c;应用医疗智能BI不仅能够提升医疗服务运行效率和质量&#xff0c;还能满足患…

智慧医疗基础平台-02

医疗业务-区域卫健 区域医疗生态系统是一个不断完善不断演化的生态圈&#xff0c;从全民健康平台到的智慧卫生城市&#xff0c;再到健康大脑&#xff0c;内涵和外延不断的扩展。 1、全员健康信息平台 构建省、市、县&#xff08;区&#xff09;三级卫生信息云服务平台&#…

(完整项目系统)智能问诊,智慧医疗健康管理,智能药物推荐系统,智能食疗推荐,疾病诊断分析系统,医疗健康机器人系统

人工智能问诊&#xff0c;智慧医疗健康管理&#xff0c;智能药物推荐系统&#xff0c;智能食疗推荐&#xff0c;疾病诊断分析系统&#xff0c;医疗健康机器人系统 人工智能健康管理系统&#xff0c;语音交互&#xff0c;智能分析疾病&#xff0c;包含8000疾病智能分析&#xf…

互联网+智慧医疗:基于Python打造公益智慧医院项目之智能问答系统

智慧医疗英文简称WIT120&#xff0c;是最近兴起的专有医疗名词&#xff0c;通过打造健康档案区域医疗信息平台&#xff0c;利用最先进的物联网技术&#xff0c;实现患者与医务人员、医疗机构、医疗设备之间的互动&#xff0c;逐步达到信息化。 随着计算机科学技术的飞速发展&am…

使用python模拟简单客服机器人

使用python模拟简单客服机器人 文章目录 使用python模拟简单客服机器人1.安装MYSQL与Navicat1.1安装教程1.2数据导入数据库 2.开始搭建机器人2.1 连接数据库2.2 索引设置2.3 信息匹配2.4 问题关键字匹配2.5 编写主函数 3.结果展示4.鼠鼠的一些话 本次案例的背景为拥有一个装载用…

基于QT实现的在线群聊天

引言&#xff1a;由于自身的喜好和在校时的无聊&#xff0c;就产生了自己使用QT设计一个聊天app的想法。在产生这个想法和实现这些功能的过程中&#xff0c;遇到了很多的困难&#xff0c;但经过查询资料&#xff0c;查看文档等&#xff0c;也解决了这些问题&#xff0c;在自己的…

媲美ChatGPT的Bard你用了吗,看起来还不错!

在这个技术日新月异的时代&#xff0c;人工智能已成为我们生活中不可或缺的一部分。聊天机器人&#xff0c;以其独特的表现形式&#xff0c;备受人们追捧。在这里&#xff0c;笔者要向大家推荐几个不错的聊天机器人网站&#xff0c;其中包括Google Bard。看看他自己怎么模仿某位…

Google Bard使用初体验,与ChatGPT比较到底怎么样

文章目录 Google Bard 介绍如何使用Google bardbard和ChatGPT3.5的区别 本文讲述了Google bard的入门教程和使用技巧&#xff0c;并且与竞争对手ChatGPT进行了一个全方面的比较。这是 Google 不能输的战役&#xff0c;也是全面 AI 的时刻。 Google Bard 介绍 Google Bard已经于…

使用谷歌的kaptcha进行验证码验证

使用谷歌的kaptcha进行验证码验证 我的实现思路 1. jsp页面发出请求到Controller 1. Controller层接收请求去寻找对应的验证码视图 1. 验证码视图层生成验证码 1. 返会给jsp页面进行验证码显示 具体实现 引入jar包 <!--谷歌验证码生成 jar--><dependency><…

谷歌二次验证 Google Authenticator

后台登录要搞令牌&#xff0c;类似于steam令牌、企鹅令牌等等 开启Google的登陆二步验证&#xff08;即Google Authenticator服务&#xff09;后用户登陆时需要输入额外由手机客户端生成的一次性密码。 实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责…

Google验证码Kaptcha的详细过程

使用Google验证码&#xff1a;Kaptcha 1.首先是导入jar包 2.第二步 配置jar包中的KaptchaServlet的路径 <!--配置google的验证码返回一个图片--><servlet><servlet-name>KaptchaServlet</servlet-name><servlet-class>com.google.code.kaptch…

谷歌公开测试Google Bard聊天机器人【无需排队,全面公测】

&#x1f951; Welcome to Aedream同学 s blog! &#x1f951; https://bard.google.com/ 更新&#xff01;&#xff01;&#xff01;&#xff01; bard全面放开了&#xff0c;可以用起来了&#xff0c;只需要满足网络就可以。 缺陷是暂时不支持中文 经过多年的谨慎发展&…