基于甲亢分期预测模型的Web医疗服务系统
   来源:智能计算机与应用     2018年09月09日 20:12

...强烈情感的人物模型.原则是所选择的人物模型一定要能打动你自...

张碧莹 王梅

文章编号: 2095-2163(2018)03-0006-05中图分类号: 文献标志码: A

摘要: 关键词: (School of Computer Science and Technology, Donghua University, Shanghai 201620, China)

Abstract: In view of the present higher incidence of hyperthyroidism disease, according to its characteristics of disease development, hyperthyroidism stage forecast model is put forward. Based on the open source Rocket.Chat remote communication software, the article realizes the real-time interactive exchange platform for patients and doctors. Further, this article will insert the hyperthyroidism stage forecast model into the interactive communication platform, design a doctor recommended algorithm based on the mapping rules of hyperthyroidism stage with doctor title, doctor department and doctor appointment-time. This algorithm reasonably distributes the physician resources to the patients on different degrees of the disease, not only balances the matching proportion of doctors and patients, but also improves the medical care efficiency of the hospital.

Key words:

收稿日期: 引言

隨着社会经济的发展与人民生活水平的提高,人们越来越关注自己的健康,均希望获得便捷和高质量的医疗保健服务[1]。然而,由于优质医疗资源的就医限制以及医疗资源的分布差异,致使目前的医疗服务难以普遍地满足病人需求。在这种情况下,远程医疗服务系统应运而生[2]。远程医疗服务系统借助于远程通信技术、电子、计算机技术实现专家与病人、专家与医务人员之间异地“面对面”的会诊,对于充分发挥大型医疗中心的技术优势、提升诊疗效率与效果具有重要意义[3]。

本文针对目前发病率较高的甲亢疾病,根据其疾病发展特点,提出了甲亢分期预测模型,并基于开源Rocket.Chat远程沟通软件,实现了患者与医生实时互动的交流平台。进一步,本文将甲亢分期预测模型嵌入互动交流平台中,提出了基于预测结果的医生资源推荐算法,将医师资源合理分配给不同患病程度的患者,不仅平衡了医生与患者的匹配比例,同时提高了医院的就诊效率。论文使用302名不同阶段的甲亢患者用户和63名不同级别的医生用户进行病情预测模拟和医生推荐模拟实验,验证了本文方法的有效性。

1相关工作

国外早在80年代就已开始对Web医疗服务系统的研发。目前,国内也出现了不少相关研究,如李殿奎等人[4]研发的基于Web方式的社区医疗服务系统和张胤等人[5]设计的基于Web平台的医疗自助服务系统。在这些已有的系统中,通常仅提供了面向患者用户的服务,往往缺少面向医生的服务和医患交流的平台。由于医生与患者之间缺少方便沟通的渠道,且大多数患者存在择优与从众心理,使得用户往往仅凭个人判断提交医生选择,导致预约中患者与医师的分配比例严重失衡,一部分医生就诊压力过大,一部分医生却无患可治[6]。

Rocket.Chat作为功能最丰富的 Slack开源产品之一,是一个基于Web平台的远程沟通软件,其功能包括:单人/群组聊天、媒体嵌入、文件上传、语音视频通话等等[7]。本文将甲亢分期预测模型与Rocket.Chat系统结合,不仅为医生和患者提供了在线交流平台,同时根据甲亢疾病特点实现了基于模型的辅助预测和医师推荐,患者可使用系统进行方便快捷的医生预约,医生可通过辅助预测对患者进行更加精确有效的病情诊断。

2系统框架设计与功能模块

本系统在Rocket.Chat开源代码的基础上内联基于预测模型的医疗服务系统,通过划分医生和患者2种用户角色,实现医生与患者间的在线互动、病情预测、医疗资源推荐以及在线预约的系统功能。

本系统的框架分为3层结构,包括有:data数据层、biz业务层和Web表示层。其中,数据层用于存储用户的基本信息、聊天记录、上传文件以及血检指标、预约记录等数据。表示层由控制器controller和视图层view组成,系统通过视图层的界面与用户进行交互,并通过控制器将接口数据交由指定的业务模块处理,通过划分 UI 界面向不同角色的用户展示不同的信息和操作接口,用户可根据需求发送不同的业务请求。业务层将重点管控系统的业务逻辑,本系统的业务层由2部分组成。一部分是基于Rocket.Chat系统的业务模块,包括群组聊天、视频通话等;另一部分是基于医疗服务系统的业务模块。具体来说,面向医生用户的业务有提交诊断、添加健康记录等,面向患者用户的业务有甲亢分期预测、医疗资源推荐及在线预约。

研究中,各业务模块的关键设计功能可分述如下:

(1)在線互动。该模块基于Rocket.Chat开源系统,主要包括添加好友、单人会话、群体会话、语音通话、多人视频通话等子功能。

(2)医生服务。该模块主要包括查看患者预约信息、添加日记、查看患者健康记录、添加诊断、添加患者健康记录等功能。

(3)病情预测。该功能主要为患者预测其甲亢病情阶段。用户从界面输入待预测指标数据,系统调用预测模型对患者数据进行预测,最后将患者指标和预测结果同时返回至用户界面。

(4)医师推荐。该功能将根据患者的病情预测结果为其推荐预约医生。用户通过点击“推荐”按钮触发该功能,系统从数据库中读取用户的预测结果,并调用推荐算法筛选出最契合患者病情的医生对象,再将医生的简介、可预约时间等基本信息展示至用户界面。

(5)线上预约。该功能为患者提供预约医生服务。用户通过点击按钮确认时间、留言等预约信息,系统将保存预约信息至数据库,并将其推送至被预约医生的系统界面,患者同时可在自己的事件界面中查看预约信息。

3系统关键技术

本文针对上述系统功能模块的实现提出了2种具有代表性的关键技术,一种是病情预测模块中针对甲亢疾病应用的分期预测模型,一种是医师推荐模块中基于预测结果研发的推荐算法。下面对这2种关键技术进行详细分析论述。

3.1甲亢分期预测模型

经临床医学研究发现,甲状腺疾病的临床诊断和治疗与血清中的促甲状腺素TSH、游离三碘甲腺原氨酸FT3和游离甲状腺素FT4以及甲状腺受体抗体TRAB的变化密切相关[8]。在甲亢患者的治疗过程中,其血清指标FT3、FT4最先恢复正常,而后是指标TSH恢复正常,指标TRAB往往在治愈后才会由阳性转变为阴性[9]。基于这一重要认知,本文将甲亢疾病的病情发展按照指标变化情况划分为7个阶段,分别是:发病、临床缓解、生化缓解、免疫缓解、免疫治愈、再燃、复发,并依据各阶段指标变化规律设计了如下阶段判定函数:

(1)发病(function1):判断样本数据的FT3、FT4指标是否偏高,TSH指标是否偏低。如果满足则返回1,否则返回0。

(2)临床缓解(function2):判断样本数据的FT3、FT4是否均为正常,如果满足则返回1,否则返回0。

(3)生化缓解(function3):判断样本数据的FT3、FT4、TSH是否均为正常,如果满足返回1,否则返回0。

(4)免疫缓解(function4):判断样本数据的FT3、FT4、TSH、TRAB是否均为正常,如果满足则返回1,否则返回0。

(5)免疫治愈(function5):判断样本数据所有指标是否均为正常,如果正常,则进一步判断患者前2次预测结果是否均处于免疫缓解阶段或前一次预测结果是否处于免疫治愈阶段。若满足则返回1,否则返回0。

(6)再燃(function6):判断样本数据是否处于发病阶段,如果是,则进一步判断患者前一次预测结果是否处于缓解阶段或再燃阶段,若满足则返回1,否则返回0。

(7)复发(function7):判断样本数据是否处于发病阶段,如果是,则进一步判断患者前一次预测结果是否处于免疫治愈阶段或复发阶段,若满足则返回1,否则返回0。

基于上述判定函数,本文研发设计了甲亢分期预测算法,其算法思路为:依次使用各阶段判定函数处理输入数据,按判定顺序取其最后一个结果为1的阶段输出。研究推得,算法调试后的具体流程可见如下。

为待预测的样本数据,由FT3、FT4、TSH、TRAB这4个指标组成;HistroyResult[]为按时间升序排序的历史预测结果数组;resultlist用于保存7个阶段判定函数的结果,function1~7分别代表上述7个阶段判定函数。[BT5]3.2]医生推荐算法本文研发设计了一种基于3.1节的甲亢分期预测模型的医生推荐算法。图2为算法设计流程图。该算法结合医生职称、科室及可预约时间等信息对医生对象进行筛选和加权处理,最后通过权值排序选出所获权值最高的医生作为推荐结果。算法主要分为职称筛选、科室加权、可预约时间加权、权值排序这4个步骤。各步骤内容可详述如下。[PS张碧莹2.EPS;S*2;X*2,BP#][HT6H][ST6HZ][WT6HZ][JZ]图2]推荐算法流程图[JZ]Fig. 2]Recommendation algorithm flow chart[HT5SS][ST5BZ][WT5BZ]]](1)职称筛选。该步骤按职称为不同阶段的患者筛选医生。将职称为主任医师的医生分配给发病、再燃和复发阶段患者,而职称为副主任医师的医生将分配给临床缓解、免疫缓解、生化缓解和免疫治愈阶段患者。(2)科室加权。该步骤按科室为医生对象分配权值。首先将医生科室划分为4类:核医学、内分泌、普通外科及其它科室,然后依据患者病情轻重程度,制定了各阶段科室加权规则,对其表述如下:① 发病阶段:核医学>内分泌>普外>其它。② 临床缓解阶段:内分泌>核医学>普外>其它。③ 生化缓解阶段:内分泌>普外>核医学>其它。④ [JP3]免疫缓解阶段:普外>内分泌>核医学>其它。[JP]⑤ [JP3]免疫治愈阶段:其它>普外>内分泌>核医学。[JP]⑥ 再燃阶段:内分泌>核医学>普外>其它。⑦ 复发阶段:核医学>普外>内分泌>其它。最后,依据该规则为上一步骤筛选出的医生分配权值。(3)可预约时间加权。该步骤按可预约时间为医生对象分配权值。首先计算医生对象的全部可预约时间,然后比较可预约时间与当前时间的时间差,按权值与时间差成反比的规则为医生对象分配权值。(4)权值排序。该步骤对上述2个加权步骤中医生对象所得的权值进行降序排序,并返回医生对象。至此可得,该算法的具体流程如下所示。

为医生对象数组;Index为患者的预测结果;title_select()函数为上述职称筛选步骤;depart_weight()函数为上述科室加权步骤;Appoint_time用于保存医生的可预约时间;sort()函数执行的是上述权值排序步骤。[LL][BT4]4]系统实验与分析本系统实验使用了302个不同阶段的甲亢患者用户和63个医生用户进行病情预测模拟和医生推荐模拟实验。实验结果如下:各阶段患者人数与推荐医生人数分布情况如图3所示。从图3中可以看出,发病阶段的患者较多,缓解及治愈阶段的人数逐级递减,各阶段推荐医生的人数分布较为均匀。 [PS张碧莹3.EPS;S*2;X*1,BP#][HT6H][ST6HZ][WT6HZ][JZ]图3]甲亢各阶段患者与医生人数统计[JP3][JZ]Fig. 3]The number of patients and doctors in hyperthyroidism stages[JP][HT5SS][ST5BZ][WT5BZ]]]基于3.2节中提出的推荐算法,本实验统计了各阶段被推荐医生的职称、科室及平均预约时间差的分布情况。其中,平均预约时间差的计算方法为:Davg=〖SX(〗∑〖DD(〗n〖〗i=1〖DD)〗〖JB((〗可预约日期-预约当天日期〖JB))〗〖〗医生人数〖SX)〗[JY](1)]]统计结果可见表1。经对比发现,不同职称的医生按阶段划分得较为明显,不同科室的医生在每个阶段中分布均较为均匀,各阶段平均预约时间差均较小,且最大值不超过3天。由此说明,该算法推荐的可预约时间较靠前,能够满足用户对诊疗时间的实际需求。综上所述,该推荐算法对于平衡医师分配比例具有一定成效,此实验结果证明了这种基于模型的医生推荐算法的确能够提高医疗服务系统的智能性。[FL)][HT6H][ST6HZ][WT6HZ][JZ]

結束语本文实现了一个基于Rocket.Chat开源平台的Web医疗服务系统,提出了一种基于患者血检指标变化规律的甲亢分期预测模型,设计了一种基于模型预测结果的医生推荐算法,实现了基于模型和推荐算法的病情预测、医师推荐和在线预约功能。目前,本文实现的医疗服务系统还存在一定的不足,病情预测功能仅支持甲亢疾病,推荐算法的规则也较为简单。在接下来的研究中,将会在推荐算法中加入基于医生评价的推荐规则,开发其它病种的病情预测服务,进一步优化系统的功能与性能。[HS2][HT5H]

参考文献[HT][WT6B1][ST6BZ][HT6SS][1] [ZK(#〗[HJ*2] 汪鹏, 吴昊, 罗阳,等. 医疗大数据应用需求分析与平台建设构想[J]. 中国医院管理, 2015, 35(6):40-42.[2] 杨友春, 毛琦敏, 周丽君,等. 远程医疗系统与技术研究进展[J]. 电子工程师, 1999(3):7-10.[3] 陈疆. 基于Web的远程医疗系统的研究与实现[D]. 长沙:中南大学, 2008.[4] 李殿奎, 赵铁铭, 曲若梅. 基于Web方式的社区医疗服务系统的设计与实现[J]. 佳木斯大学学报(自然科学版), 2002, 20(1):95-98.[5] 张胤, 尹长青. 基于Web服务的医疗自助服务系统的设计与实现[J]. 电脑知识与技术, 2015, 11(32):69-70,73.[6] M·G·曼宁, M·J·E·明尼蒂, I·G·劳森,等. 患者互动式医疗保健系统和数据库:中国, CN103688263A[P]. 2014-03-26.[7] Rocket.Chat. Open source communication [EB/OL]. [2018].https://rocket.chat.[8] 李尔凡, 严海燕, 钟丽玲,等. 常用甲状腺功能检测指标不同组合模式的临床诊断价值[J]. 医学信息(上旬刊), 2011, 24(7):4150-4152.[9]李淑珍, 沈炜英,杨荫宇,等. 甲状腺激素浓度对估计甲亢病情程度的意义[J]. 广西医学, 1993,15(5):403-405.[ZK)][FL)][HT5SS][ST5BZ][WT5BZ][CDF46][HT5SS][ST5BZ][WT5BZ](上接第5页)[FL(2K2][HT6SS][ST6BZ][WT6B1][11][ZK(#]HONG Yu, ZHANG Jianfeng, MA Bin, et al. Using cross-entity inference to improve event extraction[C]// Proceedings of 49th Annual Meeting of ACL. Portland, Oregon, USA: Association for Computational Linguistics, 2011: 1127-1136.[12]CHEN Yubo, XU Liheng, LIU Kang, et al. Event extraction via dynamic multi-pooling convolutional neural networks[C]//Proceedings of 53rd ACL. Beijing, China: Association for Computational Linguistics, 2015: 167-176.[13]NGUYEN T H, GRISHMAN R. Event detection and domain adaptation with convolutional neural networks[C]// Proceedings of 53rd ACL. Beijing, China: Association for Computational Linguistics, 2015: 365-371.[14]NGUYEN T H, GRISHMAN R. Modeling skip-grams for event detection with convolutional neural networks[C]// Proceedings of 2016 Conference on Empirical Method in Natural Language Processing. Austin, Texas, USA: Association for Computational Linguistics, 2016: 886-891.[15]FENG Xiaocheng, HUANG Lifu, TANG Duyu, et al. A language independent neural network for event detection[C]// Proceedings of 54th Annual Meeting of ACL. Berlin, Germany: Association for Computational Linguistics, 2016: 66-71.[16]LIU Shulin, CHEN Yubo, LIU Kang, et al. Exploiting argument information to improve event detection via supervised attention mechanisms[C]//Proceedings of 55th ACL. Vancouver, Canada: Association for Computational Linguistics, 2017: 1789-1798.[17][JP2]BENGIO Y, DUCHARME R, VINCENT P. A neural probabilistic language model[J]//Journal of Machine Learning Research, 2000, 3(6):932-938.[JP][18]MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[J]. arXiv preprint arXiv:1310.4546, 2013.[19]COLLOBERT R, WESTON J, BOTTOU L, et al. Natural language processing (almost) from scratch[J]. arXiv preprint arXiv:1103.0398,2011.[20]HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computing, 1997, 9(8): 1735-1780.[21]CHO K,van MERRIENBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[C]//proceedings of EMNLP 2014. Doha, Qatar: Association for Computational Linguistics, 2014: 1724-1734.[22]NGUYEN T H, CHO K. GRISHMAN R. Joint event extraction via recurrent neural networks [C]//Proceedings of NAACL-HLT 2016. San Diego, California, USA: Association for Computational Linguistics, 2016: 300-309.[23]YANG Bishan, MITCHELL T M. Joint extraction of events and entities within a document context[C]// Proceedings of NAACL-HLT 2016. San Diego, California, USA: Association for Computational Linguistics, 2016: 289-299.[24]LIAO Shasha. GRISHMAN R. Can document selection help semi-supervised learning? A case study on event extraction[C]//proceedings of the 49th ACL. Oregon, Portland, USA: Association for Computational Linguistics, 2011: 260-265.[25]ZHU Zhu, LI Shoushan, ZHOU Guodong, et al. Bilingual event extraction: A case study on trigger type determination[C]// proceedings of the 52nd ACL. Baltimore, USA: Association for Computational Linguistics, 2014: 842-847.[26]LIU Shulin, CHEN Yubo, HE Shizhu, et al. Leveraging frame Net to improve automatic event detection[C]//Proceedings of 54th ACL. Berlin, Germany: Association for Computational Linguistics, 2016: 2134-2143.[27]CHEN Yubo, LIU Shulin, ZHANG Xiang, et al. Automatically labeled data generation for large scale event extraction[C]//Proceedings of 55th ACL. Vancouver, Canada: Association for Computational Linguistics, 2017: 409-419.[28]ZENG Ying, FENG Yansong, MA Rong, et al. Scale up event extraction learning via automatic training data generation[J]. arXiv preprint arXiv:1712.03665,2018.[ZK)][FL)]

医生 患者 文章