李民璽 馬凱 楊曉東



摘? 要: 本項目旨在提高帕金森病的醫療診斷效率和服務水平、降低誤診漏診率、減輕醫務工作者的工作負擔。該項目采用Python的自然語言處理技術、分層的javaWeb設計模塊,量表評估算法,設計一款基于Web平臺的帕金森病智能輔助診斷系統,采用數據庫、電子病歷、Java編程、網頁編輯技術等技術,構建集帕金森自主評估量表、個人健康檔案、案例庫、醫患對接功能為一體的智能輔助診斷系統。從而達到了提高醫療診斷的效率和服務水平,降低誤診漏診率的目的。
關鍵詞: 帕金森;智能輔助診斷;web平臺;Python
中圖分類號: R443? ? 文獻標識碼: A? ? DOI:10.3969/j.issn.1003-6970.2020.10.009
本文著錄格式:李民璽,馬凱,楊曉東. 基于web平臺的帕金森智能輔助診斷系統[J]. 軟件,2020,41(10):3437
【Abstract】: This project adopts Python natural language processing technology, layered java web design module and scale evaluation algorithm to design an intelligent auxiliary diagnosis system for Parkinsons disease based on Web platform, and adopts database, electronic medical record, Java programming, web page editing technology and other technologies to build a Parkinson's independent evaluation scale, personal health archives, case library, and doctor-patient docking function Intelligent assistant diagnosis system. So as to improve the efficiency and service level of medical diagnosis and reduce the rate of misdiagnosis and missed diagnosis.
【Key words】: Parkinson; Intelligent auxiliary diagnosis; Web platform; Python
0? 引言
隨著社會老齡化,帕金森病的發病率、患病率及致殘率均呈增高的趨勢,現已成為繼腫瘤、心腦血管病之后中老年的“第三殺手”。帕金森病臨床上以體格檢查、化驗檢查與影像檢查為主要的診斷手段,但診斷結果不同程度受到醫生臨床經驗、知識水平和工作狀態等主觀因素的影響,讀片及診斷水平參差不齊,導致漏診誤診,延誤最佳治療時間。
1? 項目研究背景及意義
帕金森綜合癥(PD)是神經內科較為常見的疾病,由腦黑質多巴胺能神經元的變性壞死引起紋狀體多巴胺含量積聚降低,從而導致運動功能障礙?;颊吲R床表現為步態不穩、靜止性震顫、動作變緩、肌張力增加等[1]。
中國目前帕金森病患者人數已達到約200多萬人,約占全球50%。同時,目前帕金森發病呈現年輕化趨勢,臨床治療中不乏低于40歲發病的青年帕金森患者[2]。全球對于帕金森的治療的主要手段為藥物治療,此外,心理輔助治療、良好的康復治療也能起到一定的緩解作用,誠然,早期的藥物治療及相應的輔助治療并不能徹底地干預PD地發作,但推遲藥物治療會對患者的生活質量造成嚴重影響。因此,及早地確診并對之進行干預是針對PD的主要治療方向。
對比我國與西方發達國家的PD患病率不難看出,人均壽命長短與PD患病率有著必然的聯系。研究表明,作為一種典型的老年慢性疾病,帕金森病在老年人群中患病率成倍增加,65歲以上老年人群患病率為1%~2%、85歲以上為3%~5%[3]。隨著我國人口老齡化日趨嚴重,PD患病率必將不斷提升。因此,帕金森智能輔助診斷系統便體現了其重要性,減輕了醫務工作者的工作負擔,提高了PD醫療診斷的效率和服務水平,降低誤診漏診率。
2? 項目研究目標及主要內容
2.1? 項目目標
針對帕金森患者入院診斷流程設計一套智能輔助診斷系統,通過對病歷匯總、帕金森量表智能算法的解析與重構,實現數據的可視化、量表在線評測。醫生通過查詢患者所填量表并進行反饋,達到提前預防、提前決策的目的,提高了診斷的效率和服務水平,降低誤診漏診率。
2.2? 項目內容
本項目采用Python的自然語言處理技術、分層的javaWeb設計模塊、量表評估算法,對帕金森病的相關量表進行智能分析,設計一款基于Web平臺并結合Mysql數據庫的帕金森病智能輔助診斷系統,患者通過患者窗口填寫量表并查看評估結果,及醫生反饋,從而對自己的病情有更明確的認識;醫生通過進入醫生窗口,及時查看病情,更新病歷數據庫并對患者進行反饋。從而達到了提高醫療診斷的效率和服務水平,降低誤診漏診率的目的。
2.2.1? 基于Python的自然語言處理技術
本系統基于機器學習,針對數量龐大的電子病歷,通過大數據分析,并結合自然語言處理技術,對相應的有效病歷數據進行提取、分析、推斷,獲取PD治療信息,評估PD等級。在醫院病歷文本數據庫的基礎上,進行詞典庫的構建。首先,將病歷文本進行中文分詞,將連續的字序列按照相應算法規則重新組合成詞序列。其次,將新的詞序列進行詞性標注與命名實體識別、標注相關語義、語法分析,達到消除詞性兼類歧義及語義分析的目的。最后通過臨床診斷規則對關鍵信息進行提取,實現預測診斷。如圖1為電子病歷自然語言處理技術流程圖。
2.2.2? 分層的javaWeb模式運行流程
用戶首先打開一個login.JSP頁面,這個JSP頁面用于收集用戶輸入的數據[4](使用Form表單實現),如需注冊則跳轉如register.JSP;當用戶單擊提交按鈕時,此JSP頁面被提交到對應的customer.Servlet,此時工作轉向Servlet。
Servlet將提交到的數據進行處理,處理過程如下:首先對數據進行合法性驗證、亂碼處理等,接著實例化customer.DAO,調用DAO的方法進行數據庫數據的更新查詢操作,將DAO返回的數據進行保存,保存的位置可選(request,session等),最后進行頁面的跳轉(結果反饋在list.JSP上)。
在Servlet調用DAO的方法過程中,DAO的處理過程如下:首先連接數據庫(這些操作可以放在DAO的構造函數當中,也可以寫成單獨的方法。本系統則把相關語句封裝在一個xml中),接著處理查詢方法,這里給出基本步驟。先按查詢語句及傳過來的參數進行數據庫的查詢得到一個ResultSet結果集,為了方便將結果返回給Servlet及方便后面的顯示,現將結果進行封裝并以ArraryList或者JSON串,xml串等等的形式返回給servlet。為了進行數據的封裝,這里就需要實例化一個JavaBean,這個JavaBean的字段與數據庫表當中的字段一一對應,并為各個字段添加get(),set()方法。
Serlvet在得到數據后,再將頁面進行跳轉,此時數據已保存下來。我們可以在另外一個JSP頁面當中將數據提取出來,并按一定的格式進行排列。至此,一個完整的查詢操作就完成了。如圖2為本系統部分分層模式圖。
2.2.3? 量表評估算法
以H-Y分級量表為例。H-Y分級量表共5分級,0級無體征;1級單側肢體癥狀;1.5級單側肢體和軀干癥狀;2級雙側肢體癥狀,無平衡障礙;2.5級輕度雙側肢休癥狀,輕度平衡障礙;3級中度雙側肢體癥狀,平衡障礙,許多功能受限;4級癥狀嚴重,功能嚴重受限;5級患者限制在輪椅或床上,需要他人照顧[5]。圖3所示為量表在線測評。
其部分實現代碼如下:
if(score==0)
obj.value="診斷:階段0,無體征,";
else if(score>0&&score<=16.7)
obj.value="診斷:階段1,單側患病,";
else if(score>16.7&&score<=33.4)
obj.value="診斷:階段1.5,單側患病,并影響到中軸的肌肉,";
else if(score>=51&&score<=100)
obj.value="診斷:階段3,雙側患病,有姿勢平衡障礙,后拉試驗陽性,";
else
obj.value="診斷:階段5,不能起床,或生活在輪椅上,";
var x=score/147;
if(x==1)
obj.value=obj.value+"自主神經功能障礙,如吞咽困難,大小便失禁。臥床不起。";
else if(x>=0.9&&x<1)
obj.value=obj.value+"完全依賴他人,不能自理,完全殘疾。";
else if(x>=0.1&&x<0.2)
obj.value=obj.value+"完全獨立。能夠做所有的家務,有一定程度的緩慢、困難或損害??赡苄枰獌杀稌r間。開始意識到有困難。";
else
obj.value=obj.value+"完全獨立。能夠做所有的家務,沒有緩慢、困難或損害?;旧险#瑳]有意識到有什么困難。";
window.location.href="MyJsp.jsp";}
2.2.4? 基于Python接口的JavaWeb平臺設計
使用python進程運行深度學習中訓練的模型,在java應用程序中調用python進程提供的服務。[6]由于醫生患者登陸權限不同,所以設計了不同的登錄界面,頁面簡潔明了,為患者和醫生提供不同的服務。本系統登錄后,為患者和醫生提供了兩個不同登陸界面?;颊呓缑鎯H開放了量表填寫及查看已填量表的功能,在有效記錄診療信息的同時也能防止隱私泄露。醫生界面不僅開放了患者上述功能,還開放了所有患者已填量表的查詢功能,并給患者及時做出反饋,實現數據的有效性和共享性[7],提高了診斷的效率。
3? 系統實現情況
3.1? 網頁的功能結構建模
患者登陸后,用戶登錄時可以自行輸入相關的健康數據[8],并填寫量表,通過網頁將數據傳輸給案例庫并將數據與醫患平臺連接。醫生登錄后,調取案例庫的數據,連接醫患平臺。醫生和患者通過醫患平臺實現數據交互。患者查看評估結果及醫生反饋,對自己的病情有更明確的認識;醫生及時查看患者病情,更新病歷數據庫并對患者進行反饋。從而達到了提高醫療診斷的效率和服務水平,降低誤診漏診率的目的。帕金森智能輔助診斷系統的技術路線如圖4所示。
3.2? 患者信息管理
醫生通過患者健康檔案管理界面,可查詢所有所屬患者信息,包括編號、姓名、性別、年齡、床號、入院日期、主訴、診斷結果、治療方案等[9],并可對患者信息進行編輯與刪除。
目前帕金森病應用的治療手段主要是改善癥狀,但尚不能阻止病情的進展,故患者可以通過本系統建立、儲存終身的電子病歷,為醫生直觀有效地調取、查閱、檢索診療信息提供了便利。不僅極大地提高了工作效率,為醫生提供了利用患者信息的最有效途徑,也可將病情的前后發展進行對比,制定更加合理的診療方案。患者信息管理查詢如圖5所示。