江海戩 蘇哲 周長勇 辛立強
摘要:??針對急性心肌梗死患者出院后的健康管理問題,本文設(shè)計開發(fā)了一套急性心肌梗死患者的信息化實施方案。整個系統(tǒng)采用B/S架構(gòu),使用Python語言編寫和SQLite進行數(shù)據(jù)存儲,主要功能包括數(shù)據(jù)收集和信息交流兩大類,數(shù)據(jù)收集為收集保存患者數(shù)據(jù),供醫(yī)生在后臺進行數(shù)據(jù)統(tǒng)計和分析,信息交流包含寫文章、發(fā)郵件和進行意見反饋。測試結(jié)果表明,該系統(tǒng)各種功能均表現(xiàn)正常,具有較好的兼容性和穩(wěn)定性。該研究對提高急性心肌梗死患者生存率,促進醫(yī)生和患者出院后的溝通交流具有重要意義。
關(guān)鍵詞:??急性心肌梗死;?隨訪系統(tǒng);?B/S架構(gòu);?Python
中圖分類號:?TP315;?R319?文獻標(biāo)識碼:?A
收稿日期:?2019-06-11;?修回日期:?2019-10-27
基金項目:??青島市科技局基金項目(17-3-3-31-nsh)
作者簡介:??江海戩,男,碩士研究生,主要研究方向為計算機技術(shù)應(yīng)用。
通信作者:??辛立強,男,碩士,副教授,碩士生導(dǎo)師,主要研究方向為計算機技術(shù)應(yīng)用。Email:?xlqiang62@163.com
急性心肌梗死(acute?myocardial?infarction,AMI)是臨床常見的急性心血管疾病,病情重,變化快,死亡率高[1]。中國心血管病防治工作在取得初步成效的同時,又面臨新的嚴峻挑戰(zhàn)[2]。近年來,中國心血管病患病率及死亡率仍處于上升階段,今后10年心血管病患病人數(shù)仍將快速增長[2]。根據(jù)在52個國家進行的INTERHEART研究,與心肌梗死相關(guān)的潛在可糾正危險因素包括吸煙、糖尿病、高血壓、腹型肥胖、蔬菜水果攝入量少、運動少、酒精攝入過多和載脂蛋白(Apo)B/Apo?A比例(5∶1),90%的冠心病歸因于上述危險因素[3]。全球疾病負擔(dān)系列研究表明,改善上述危險因素可減少冠心病發(fā)生率83%~89%,減少冠心病死亡率78%~85%[4]。與西方國家對于該疾病的診療模式相比,我國急性心肌梗死患者數(shù)量眾多,心臟康復(fù)及出院后隨訪工作開展滯后。為了更好的解決該問題,本文設(shè)計開發(fā)了急性心?;颊唠S訪管理系統(tǒng),高效的進行心肌梗死患者隨訪工作。該系統(tǒng)利用計算機大容量的存貯設(shè)備進行數(shù)據(jù)收集存儲和不受空間限制的互聯(lián)網(wǎng)進行醫(yī)患信息交流,有效提高了醫(yī)院服務(wù)水平[5]。同時,結(jié)合目前醫(yī)院信息系統(tǒng)的發(fā)展水平現(xiàn)狀和用戶自身條件,采取B/S架構(gòu)模式構(gòu)造隨訪系統(tǒng),通過實時的對患者血壓、血糖、心率等信息進行收集,不僅起到及時預(yù)防治療的作用,還推進了大數(shù)據(jù)分析對醫(yī)學(xué)研究的進程。
1?系統(tǒng)功能
系統(tǒng)主要功能分為數(shù)據(jù)收集、查寫博客、收發(fā)郵件和進行意見反饋,系統(tǒng)用例圖如圖1所示。該系統(tǒng)分為醫(yī)生、患者和管理員3種訪問方式,分別對應(yīng)不同的系統(tǒng)界面和擁有不同的系統(tǒng)功能,功能結(jié)構(gòu)如圖2所示。
1.1?數(shù)據(jù)收集
患者數(shù)據(jù)收集包含記錄管理患者的基本信息、出院信息、復(fù)診信息、再次住院信息和每日身體各項指標(biāo)?;颊叱踉\時,醫(yī)生登錄系統(tǒng),對患者的身份證號、姓名、性別和年齡等基本信息進行注冊記錄,在患者治療出院后,醫(yī)生可以對患者的出院情況進行記錄管理,例如出院號、出院時間及患者出院時的身體各項指標(biāo)。身體各項指標(biāo)包含了High?density?liptein?cholesterol、Low?density?lipoprotein?chesterol、Brain?natriuretic?peptide、射血分數(shù)、Alanine?aminotransferase和Aspartate?aminotransferase等信息。為進一步調(diào)查分析患者出院后身體健康狀況的變化,患者出院后醫(yī)生和患者可以在系統(tǒng)的每日情況功能模塊中記錄每天服藥、血壓、心率和血糖等信息。部分患者可能在出院后又突發(fā)某些疾病再次住院,詳細的再住院情況往往對醫(yī)生了解患者身體狀況也起到較大作用,由此系統(tǒng)提供再住院模塊功能,由醫(yī)生記錄管理,再住院包含了再次住院的原因和花費等信息。面對部分慢性疾病,僅靠初診診斷不夠,還需要多次復(fù)診進行確認。醫(yī)生可以通過復(fù)診模塊記錄患者復(fù)診時各項身體指標(biāo)情況及醫(yī)生建議和用藥等信息。通過數(shù)據(jù)收集模塊,醫(yī)生可方便在后臺對患者信息進行查看和統(tǒng)計分析,從而進行相關(guān)醫(yī)學(xué)研究。
1.2?查寫博客
查寫博客包含寫文章和查看文章。對文章進行評論、收藏和點贊,更換頭像,填寫簡介,對作者進行關(guān)注,優(yōu)秀文章推送及新消息提醒。
在查寫博客功能中,醫(yī)生可以分享流行病預(yù)防、疾病介紹和手術(shù)心得等相關(guān)文章,供其他醫(yī)生和患者查看學(xué)習(xí);撰寫文章由醫(yī)生完成,可以給文章設(shè)置分享權(quán)限,例如僅自己、僅醫(yī)生和全部。在博客首頁可以查看所有醫(yī)生的文章,在“我的博客”欄中查看和管理自己所寫的文章,通過關(guān)注和收藏等操作,可以快速找到和查看自己感興趣的文章內(nèi)容?;颊咭部梢圆榭次恼?,對文章進行收藏、評論和對醫(yī)生進行關(guān)注等。
1.3?收發(fā)郵件
收發(fā)郵件包含查看郵件、寫郵件、群發(fā)郵件、星標(biāo)郵件、編輯通訊錄、已發(fā)送郵件、草稿箱、垃圾箱和回收站。在收發(fā)郵件中,醫(yī)生與醫(yī)生之間可以進行醫(yī)學(xué)上的信息交流,醫(yī)生對患者可以實現(xiàn)病情解答,相關(guān)信息通知?;颊呖梢越o醫(yī)生發(fā)送郵件進行相關(guān)病情詢問,患者與患者之間可以進行病情交流。
1.4?意見反饋
在意見反饋中,醫(yī)生不僅可以查看回復(fù)患者對醫(yī)院服務(wù)方面的意見和建議,還可以根據(jù)對系統(tǒng)的使用,向管理員提出建議和提出對誤刪信息進行恢復(fù)等操作的申請。管理員不僅可以查看和處理用戶提交的意見和建議,還可以查看系統(tǒng)IP訪問記錄,對各個數(shù)據(jù)庫的數(shù)據(jù)進行查看修改及系統(tǒng)維護。
2?系統(tǒng)架構(gòu)
系統(tǒng)架構(gòu)圖如圖3所示,系統(tǒng)使用B/S架構(gòu),客戶端和服務(wù)器通過HTTP協(xié)議進行數(shù)據(jù)傳輸。在應(yīng)用層上,用戶通過Web頁面實現(xiàn)信息交互和數(shù)據(jù)處理;在處理層上,用戶實現(xiàn)登錄驗證、權(quán)限驗證和數(shù)據(jù)驗證等;在數(shù)據(jù)層上,用戶可實現(xiàn)信息存儲、刪除、修改和查詢。
系統(tǒng)前端主要用HTML5、CSS和JS,使用Bootstrap開源工具包對界面進行美化。前端和后端的數(shù)據(jù)傳輸使用Ajax,傳輸數(shù)據(jù)格式為Json格式[6-8]。系統(tǒng)后端采用Django開源Web框架,用Python進行代碼編寫,并用SQLite3進行數(shù)據(jù)存儲[9-11]。
在Django的app設(shè)計上,分為醫(yī)生和患者兩類,分別對應(yīng)以collection、email、blog和feedback命名的app。
3?功能實現(xiàn)
基于B/S架構(gòu)實現(xiàn)的急性心梗患者隨訪管理系統(tǒng),將數(shù)據(jù)的分析處理集中到服務(wù)器上,使醫(yī)生僅僅通過瀏覽器就可以進行數(shù)據(jù)處理,使用簡單且實用性強[12-14]。通過調(diào)查分析醫(yī)生界面的設(shè)計,選擇用電腦瀏覽器打開的方式,醫(yī)生界面如圖4所示。
用電腦瀏覽器打開該界面,不僅可以為醫(yī)生展示更多的信息和功能,而且由于醫(yī)院電腦設(shè)備齊全,更符合實際應(yīng)用[15-17]。對于患者界面,本研究專門設(shè)計開發(fā)了適合手機瀏覽器打開的網(wǎng)頁,更加方便患者進行訪問,患者界面如圖5所示。
在醫(yī)生界面左側(cè)菜單設(shè)計上,使用bootstrap提供的組件,首先通過css中的link引入下載好的bootstrap.css和bootstraptheme.css,然后在ul標(biāo)簽中添加class="nav?navpills?navstacked?ull",其次在ul下的li標(biāo)簽中添加role="presentation"。通過設(shè)置li中是否含有class="active",決定該菜單是否處于激活狀態(tài)。在li中通過添加a標(biāo)簽,跳轉(zhuǎn)不同的url來實現(xiàn)子版中頁面信息的不同。
由于患者人數(shù)多,每個患者對應(yīng)的信息較為復(fù)雜,為了更好的瀏覽查看每個患者的相關(guān)信息,在醫(yī)生界面中采用表格的方式展示,通過點擊表格中a標(biāo)簽,跳轉(zhuǎn)單獨的界面,展示選中患者的相關(guān)信息。當(dāng)點擊a標(biāo)簽時,后臺在解析url的同時,會取得點擊對象的id和點擊的內(nèi)容(例如點擊可為復(fù)診信息),并通過該id到數(shù)據(jù)庫中篩選出患者對象,然后根據(jù)點擊的內(nèi)容取出對應(yīng)信息,并與模板渲染,最后返回給用戶。
3.1?Form表單驗證
系統(tǒng)采用Form表單來處理各種輸入框下的賬戶、密碼、填寫信息的格式問題以及下拉框和單選框的選擇問題等,每個Form繼承自django_forms.Form并與相應(yīng)的models.py下的類對應(yīng)。當(dāng)用戶將填寫的信息發(fā)往后臺時,F(xiàn)orm下的is_valid函數(shù)將會直接進行信息驗證,如果驗證錯誤,將通過Form下的errors函數(shù)取出自定義的錯誤信息并返回給用戶,如果驗證正確,便可用Form下的cleaned_data函數(shù)中g(shù)et方法取出數(shù)據(jù),進而進行下一步處理。
3.2?URL訪問驗證
面對不同的用戶系統(tǒng)將提供不同的界面訪問,在用戶通過URL進行訪問時,加入信息驗證不僅可以為用戶提供所需要的數(shù)據(jù)信息,還可以使其他用戶的隱私信息得到保障。相對于django下的cookie模塊,用session模塊更加便捷安全,當(dāng)用戶登錄成功后,通過session記錄用戶的身份信息。每次當(dāng)用戶的URL請求發(fā)起后,系統(tǒng)進行分析并在調(diào)用該URL對應(yīng)的視圖函數(shù)之前,通過視圖函數(shù)的裝飾器,用request中session完成信息驗證。
3.3?模板渲染
前端界面布局采用django母版繼承方式,在母版上設(shè)計界面和統(tǒng)一布局后,在相應(yīng)位置留出空間供子版填充,母版上使用{%?block?xxx1?%}{%?endblock?%}進行占位。而對于子版先繼承母版,則在子版頂部使用{%?extends?‘xxx.html?%},并在子版中添加{%?block?xxx1?%}{%?endblock?%},并在其中間加入相應(yīng)內(nèi)容。
前端界面在渲染過程中,需要對后臺傳遞的數(shù)據(jù)進行進一步的加工處理并展示,由此需要前端界面調(diào)用templatetags文件夾下定義的函數(shù)來完成處理。同樣,需要在界面頂端添加{%?load?函數(shù)名?%}以及在界面中添加過濾器,在自定義的函數(shù)進行數(shù)據(jù)處理前,需要添加裝飾器register.simple_tag,并且注冊到tempate庫里面。
3.4?文章編寫
為了使用戶寫文章時得到更好的體驗,在查寫博客功能模塊中,采用KindEditor開源的HTML可視化編輯器,不僅方便用戶編寫文章,而且在一定程度上減小了受到腳本攻擊的可能性。當(dāng)前端在展示從數(shù)據(jù)庫中取得的文章數(shù)據(jù)時,由于html代碼在render之前會先進行轉(zhuǎn)義,所以導(dǎo)致html代碼被當(dāng)成普通字符串處理。使用django.utils.safestring下的mark_safe函數(shù),可正常顯示html代碼。
面對跨站腳本攻擊,縮寫為XSS,對于此問題系統(tǒng)后端通過python中的re模塊編寫,建立白名單過濾策略,對文章內(nèi)容中的標(biāo)簽及屬性進行過濾[18-20]。
4?結(jié)束語
本文主要對急性心?;颊唠S訪管理系統(tǒng)進行研究。急性心肌梗死患者隨訪系統(tǒng)能夠促進醫(yī)生患者交流溝通,保存患者長期隨訪資料,為患者的服藥提供指導(dǎo)。同時,該系統(tǒng)由患者錄入自身健康數(shù)據(jù),增強了疾病診療過程中患者本人的參與感,有利于增加患者服藥依從性及生活方式的改變。這些都是降低急性心肌梗死死亡率的關(guān)鍵手段。根據(jù)患者出院后每天身體的各項指標(biāo),通過BP神經(jīng)網(wǎng)絡(luò)對身體健康狀況做出預(yù)測,建立預(yù)測模型是下一步研究的重點。目前該系統(tǒng)運行較成熟,具有可移植性和擴展性,根據(jù)不同疾病要求,可應(yīng)用到其他慢性疾?。ㄈ缣悄虿。[瘤化療患者)的隨訪,方便推廣,具有一定的社會效益和經(jīng)濟效益。該研究具有廣闊的市場空間。
參考文獻:
[1]?程寶珍,?張小紅,?牛娟.?急診全程優(yōu)化護理在搶救急性心肌梗死患者中的應(yīng)用[J].?護理學(xué)雜志,?2012,?27(5):?9-11.
[2]?胡盛壽,?高潤霖,?劉力生,?等.?《中國心血管病報告2018》概要[J].?中國循環(huán)雜志,?2019,?34(3):?209-220.
[3]?高潤霖.?冠心病疾病負擔(dān)—中國出路[J].?中國循環(huán)雜志,?2017,?32(1):?1-4.
[4]?Ezzati?M,?Vander?Hoom?S,?Rodgers?A,?et?al.?Estimates?of?global?and?regional?potential?health?gains?from?reducing?multiple?major?risk?factors[J].?The?Lancet,?2003,?362(9380):?271-280.
[5]?程維國.?泰安市中心醫(yī)院回訪信息管理系統(tǒng)的設(shè)計與開發(fā)[D].?成都:?電子科技大學(xué),?2014.
[6]?高靜,?段會川.?JSON數(shù)據(jù)傳輸效率研究[J].?計算機工程與設(shè)計,?2011,?32(7):?2267-2270.
[7]?胡章兵,?左良利.?時態(tài)JSON數(shù)據(jù)模型及查詢語言處理[J].?計算機技術(shù)與發(fā)展,?2019,?29(10):?141-145.
[8]?金鳴,?袁嵩,?劉榮.?利用JSON實現(xiàn)客戶端與服務(wù)器端通信[J].?電腦編程技巧與維護,?2018(4):?75-77.
[9]?范文星.?基于Django的網(wǎng)絡(luò)運維管理系統(tǒng)的設(shè)計與實現(xiàn)[J].?計算機科學(xué),?2012,?39(z1):?175-177.
[10]?岳昆,?王曉玲,?周傲英.?Web服務(wù)核心支撐技術(shù):?研究綜述[J].?軟件學(xué)報,?2004,?15(3):?428-442.
[11]?梁效寧,?黃旭,?朱星海.?SQLite數(shù)據(jù)庫文件恢復(fù)提取技術(shù)研究[J].?計算機科學(xué),?2016,?43(12A):?16-19,?25.
[12]?吳大剛,?肖榮榮.?C/S結(jié)構(gòu)與B/S結(jié)構(gòu)的信息系統(tǒng)比較分析[J].?情報科學(xué),?2003,?21(3):?313-315.
[13]?Han?xc.?Design?of?communication?system?based?on?B/S[C]∥2012?International?Symposium?on?Information?Technologies?in?Medicine?and?Education.?Hokkaido,?Japan:?IEEE,?2012:?1089-1093.
[14]?林偉婷.?C/S與B/S架構(gòu)技術(shù)比較分析[J].?科技資訊,?2018,?16(13):?15-16.
[15]?韋慶杰,?劉淑坤.?一種Web應(yīng)用跨瀏覽器兼容性測試方法[J].?計算機工程與應(yīng)用,?2019,?55(5):?55-59.
[16]?劉俊瀟,?張敏言.?電腦瀏覽器交互界面體驗分析[J].?科技視界,?2015(22):?145-147.
[17]?張曉藝.?如何防范基于瀏覽器的網(wǎng)絡(luò)威脅[J].?計算機與網(wǎng)絡(luò),?2019,?45(9):?50-51.
[18]?趙躍華,?胡向濤.?網(wǎng)絡(luò)釣魚攻擊的防御技術(shù)及防御框架設(shè)計[J].?計算機應(yīng)用研究,?2013,?30(6):?1863-1866.
[19]?Upasana?S,?BhattacharyyaD?K,?Kalita?J?K.?A?survey?of?detection?methods?for?XSS?attacks[J].?Journal?of?Network?and?Computer?Applications,?2018,?118(15):?113-143.
[20]?Hiroya?T,?Kenji?Y,?Masahiro?M,?et?al.?Preventing?abuse?of?cookies?stolen?by?XSS[C]∥?2013?Eighth?Asia?Joint?Conference?on?Information?Security.?Seoul,?South?Korea:?IEEE,?2013:?85-89.
Design?and?Implementation?of?Followup?Management?System?for?Patients?with?Acute?Myocardial?Infarction
JIANG?Haijiana,?SU?Zheb,?ZHOU?Changyongb,?XIN?Liqianga
(a.?College?of?Computer?Science?&?Technology;?b.?Affiliated?Hospital,?Qingdao?Universitya,?Qingdao?266071,?China)
Abstract:??In?order?to?address?the?health?management?problems?of?patients?with?acute?myocardial?infarction?after?discharge,?this?paper?designs?and?develops?an?informationization?implementation?plan?for?patients?with?acute?myocardial?infarction.?The?entire?system?uses?the?B/S?architecture,?written?in?Python?and?SQLite?for?data?storage.?The?main?functions?of?the?system?are?divided?into?two?categories:?data?collection?and?information?exchange.?Data?collection?is?to?collect?and?save?patient?data?for?doctors?to?conduct?data?statistics?and?analysis?in?the?background.?Information?exchange?includes?writing?articles,?sending?emails?and?giving?feedback.?The?test?results?show?that?the?various?functions?of?the?system?are?normal,?and?have?excellent?compatibility?and?stability.?This?study?is?of?great?significance?to?improve?the?survival?rate?of?patients?with?acute?myocardial?infarction?and?to?promote?communication?between?doctors?and?patients?after?discharge.
Key?words:??acute?myocardial?infarction;?followup?system;?B/S?architecture;?python