孫敏琦 潘媛媛
摘要:隨著移動醫(yī)療技術(shù)的發(fā)展,人們熱衷于通過手機(jī)查詢疾病信息。為了防患精神障礙疾病患者在常規(guī)用藥過程中發(fā)生藥品不良反應(yīng)(Adverse Drug Reaction,ADR),采用FP-Growth算法對ADR風(fēng)險(xiǎn)因素進(jìn)行挖掘,設(shè)計(jì)一種基于Android平臺的精神障礙患者用藥不良反應(yīng)預(yù)警的App。算法根據(jù)精神障礙患者ADR報(bào)告的最新數(shù)據(jù),挖掘頻繁出現(xiàn)的ADR-藥品-用藥人群組合,提取滿足最小支持度和最小置信度閾值的強(qiáng)關(guān)聯(lián)規(guī)則。根據(jù)強(qiáng)關(guān)聯(lián)規(guī)則對用戶輸入的一系列用藥信息進(jìn)行預(yù)測判斷,以移動可視化界面的形式反饋給用戶,保障患者全過程安全用藥。
關(guān)鍵詞:藥品不良反應(yīng)預(yù)警;精神障礙;FP-Growth算法;關(guān)聯(lián)規(guī)則;移動醫(yī)療
中圖分類號:TP311 ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)13-0132-03
1 引言
根據(jù)中國疾控中心精神衛(wèi)生中心公示的一系列數(shù)據(jù)顯示,在中國總數(shù)超過1億數(shù)量的各類精神疾病患者中,有約640萬人患精神分裂癥,110萬人有雙相情感障礙。最新的一項(xiàng)涵蓋5萬多人的調(diào)查顯示,新冠肺炎疫情期間約有35%的公眾存在不同程度的情緒反應(yīng)。其中,居家的社區(qū)嚴(yán)重精神障礙患者的心理問題加重[1],老年人和一線工作人員等特殊人群的心理健康狀況受到多方關(guān)注。目前,全球范圍內(nèi)受精神健康問題困擾的人群逐年增加。據(jù)統(tǒng)計(jì),截至今年,已有超十億人受到不同程度精神健康疾病的困擾,平均每40秒就有一人因受到精神疾病困擾而導(dǎo)致自殺?;疾÷嗜找嫔仙木裾系K疾病在我國存在著巨大的“治療缺口”,由于抗精神病藥品的藥理作用比較廣泛,不僅單純作用于神經(jīng)系統(tǒng)發(fā)揮作用,對泌尿、消化、心血管系統(tǒng)和皮膚及附屬器官也會產(chǎn)生影響[2],從而引起一系列藥品不良反應(yīng),對下一步的疾病治療造成阻礙。
藥品不良反應(yīng)是指在正常用法、用量下使用合格藥品時(shí)出現(xiàn)的與用藥目的無關(guān)或意外的有害反應(yīng)。由于醫(yī)護(hù)人員在常規(guī)給患者使用藥品進(jìn)行診療時(shí),引起理想治療效果以外的不良反應(yīng)現(xiàn)象非常常見,為防止藥品不良反應(yīng)事件頻頻發(fā)生,部分學(xué)者展開了預(yù)警研究。葉明全[3]等人提出結(jié)合概念層次樹和多層關(guān)聯(lián)規(guī)則的挖掘方法,自頂向下或自底向上找出不同概念層次上ADR臨床癥狀與用藥人群、用藥情況等組合之間的強(qiáng)關(guān)聯(lián)規(guī)則,生成ADR預(yù)警規(guī)則庫,準(zhǔn)確度達(dá)到89%。賀小紅[4]等人基于多維表達(dá)式(multi-dimensional expressions,MDX)對數(shù)據(jù)進(jìn)行切片、切塊、鉆取等聯(lián)機(jī)分析處理,并用filter函數(shù)挑選出頻繁項(xiàng)集進(jìn)而提取關(guān)聯(lián)規(guī)則。熊代琴[5]等人先對可能產(chǎn)生ADR的單因素進(jìn)行篩查和共線性檢驗(yàn),再對影響因素使用多因素二元logistic回歸分析生成LR模型,基于該模型預(yù)測ADR發(fā)生風(fēng)險(xiǎn)。王艷[6]等人采用非條件最小二乘法進(jìn)行參數(shù)估計(jì),發(fā)現(xiàn)ARIMA為較優(yōu)模型,只需內(nèi)生變量即可進(jìn)行建模而不需要考慮其他變量,可操作性好。張成[7]等人用貝葉斯置信傳播神經(jīng)網(wǎng)絡(luò)(BCPNN)挖掘舒金健藥丸ADR/AE風(fēng)險(xiǎn)預(yù)警信號,采用傾向評分法控制平衡混雜因素,可以很好地克服在獲取數(shù)據(jù)較少情況下因估計(jì)誤差大而致假陽性率高這一問題。
盡管引起精神類疾病的因素日益增多,較高的發(fā)病率伴隨的卻是只有不到20%的治療率。得到治療的患者又因?yàn)榫窦膊¢g容易共患,治療期間可能因?yàn)榘l(fā)生共患反過來影響藥物治療的選擇,這就需要及時(shí)調(diào)整用藥情況,規(guī)避再次產(chǎn)生藥品不良反應(yīng)的風(fēng)險(xiǎn)。因此,本研究提出一種基于移動平臺的用藥不良反應(yīng)預(yù)警App,幫助精神障礙患者在用藥前期避免不良反應(yīng)的發(fā)生。
2 基于FP-Growth的關(guān)聯(lián)規(guī)則挖掘算法
2.1 支持度和置信度
設(shè)I={i1,i2,…,im}是一個總項(xiàng)集,其中包含m個不同項(xiàng)目,D={r1,r2,…,rm}為事務(wù)數(shù)據(jù)庫,每個事務(wù)ri(i=1,2,…,n)均對應(yīng)I上的一個子集,滿足ri?I,記為R。設(shè)X,Y為I中不同的項(xiàng)集,當(dāng)X?Y,稱其為一條關(guān)聯(lián)規(guī)則,項(xiàng)集X為先決條件,項(xiàng)集Y為關(guān)聯(lián)結(jié)果[8]。衡量關(guān)聯(lián)規(guī)則是否標(biāo)準(zhǔn)常用以下兩個指標(biāo):支持度(support)和置信度(confidence)。支持度是事務(wù)數(shù)據(jù)集D中同時(shí)出現(xiàn)項(xiàng)集X、Y的概率,置信度是指在出現(xiàn)項(xiàng)集X的事務(wù)數(shù)據(jù)集D中,項(xiàng)集B是同時(shí)出現(xiàn)的概率。式(1)、(2)分別為支持度和置信度的公式概念。
Support(X?Y)=P(X,Y)=[|{R|X?Y?R,R?D}|D] ? ? ? ? ? (1)
Confidence(X?Y)=P(Y|X)=[PX,YPX]=[SupportX?YSupportX] ? ?(2)
支持度從“數(shù)量”角度篩選普遍存在的關(guān)聯(lián)規(guī)則,如果X和Y同時(shí)出現(xiàn)得非常頻繁,說明X和Y總是相關(guān)的。置信度是反映關(guān)聯(lián)規(guī)則可靠性的評價(jià)指標(biāo),Confidence(X?Y)越接近1說明兩者關(guān)聯(lián)性越強(qiáng)。當(dāng)關(guān)聯(lián)規(guī)則同時(shí)滿足最小支持度和最小置信度時(shí),稱其為“強(qiáng)關(guān)聯(lián)規(guī)則”。
2.2 FP-Growth算法流程
關(guān)聯(lián)規(guī)則算法用來挖掘數(shù)據(jù)集內(nèi)部的相關(guān)聯(lián)性,考慮到Apriori算法需要對候選項(xiàng)集里的每一項(xiàng)各掃描一次,在數(shù)據(jù)集量很大時(shí),算法存在效率低、運(yùn)行時(shí)間長的缺點(diǎn),本研究采用更加高效的FP-Growth算法,將數(shù)據(jù)集化為FP-tree這一數(shù)據(jù)結(jié)構(gòu),尋找頻繁項(xiàng)集的過程便是對這棵樹進(jìn)行操作的過程。
采用FP-Growth算法挖掘關(guān)聯(lián)規(guī)則的流程如圖1所示,其具體步驟如下:
1)遍歷事務(wù)數(shù)據(jù)集D,統(tǒng)計(jì)每個項(xiàng)目的出現(xiàn)次數(shù),設(shè)定最小支持度MinS,剔除小于MinS的項(xiàng)目,對剩余的頻繁項(xiàng)降序排序。
2)再次遍歷事務(wù)數(shù)據(jù)庫,對排序后的頻繁項(xiàng)建立頻繁項(xiàng)頭表,同時(shí)建立FP-tree,根節(jié)點(diǎn)記為NULL,讀入頻繁項(xiàng)集并將其添加到一條已存在的路徑中,若該路徑不存在則新建一條路徑。
3)對于每個頻繁項(xiàng),按照頻繁項(xiàng)表自下而上的順序訪問FP-tree,找尋該頻繁項(xiàng)的前綴路徑和路徑計(jì)數(shù)值,生成條件模式基。
4)利用條件模式基構(gòu)建相應(yīng)頻繁項(xiàng)的條件FP-tree,遞歸調(diào)用樹結(jié)構(gòu),若是單路徑結(jié)構(gòu),跳至步驟5);若是多路徑結(jié)構(gòu)則不斷迭代調(diào)用樹的過程,直到形成單路徑為止。
5)每一次遞歸都要對前綴路徑中的支持度計(jì)數(shù)減1和刪除小于最小支持度的項(xiàng)目,把條件頻繁項(xiàng)集和該頻繁項(xiàng)取并集生成最終的頻繁模式。
2.3 FP-Growth算法應(yīng)用案例
以蕪湖市某三甲醫(yī)院精神科室2016~2020年統(tǒng)計(jì)的藥品不良反應(yīng)記錄為例。對初始的1916條記錄進(jìn)行數(shù)據(jù)預(yù)處理,先清除異常和重復(fù)的數(shù)據(jù),由于FP-Growth算法只能處理布爾型數(shù)據(jù),為保證數(shù)據(jù)格式標(biāo)準(zhǔn)化,將字符型數(shù)據(jù)二值化處理,得到可用于實(shí)驗(yàn)的1800條記錄,即1800個事務(wù)組成的事務(wù)數(shù)據(jù)集,主要包括:序列號、性別、年齡、所患疾病名稱、用藥名稱、ADR名稱、ADR結(jié)果。表1為精神障礙患者用藥不良反應(yīng)二值化前的事務(wù)數(shù)據(jù)集。
通過FP-Growth算法挖掘預(yù)處理后的頻繁項(xiàng)集,性別、年齡、所患疾病名稱、用藥名稱作為先決條件,ADR名稱作為關(guān)聯(lián)結(jié)果,尋找ADR、藥品和用藥人群之間的關(guān)聯(lián)關(guān)系。設(shè)最小支持度為0.02,最小置信度為0.75,提取所有置信度達(dá)0.5以上的關(guān)聯(lián)規(guī)則組成預(yù)警規(guī)則集,表2為置信度較高的10條關(guān)聯(lián)規(guī)則。當(dāng)患者是女性且患有精神分裂癥時(shí),由數(shù)據(jù)挖掘的分析結(jié)果可知,預(yù)警規(guī)則集給出4條預(yù)警信息,分別是精神分裂癥女性服用利培酮片有81%的可能發(fā)生自主神經(jīng)功能紊亂,精神分裂癥女性服用氯氮平片有81%的可能發(fā)生心律異常;精神分裂癥女性服用阿立哌唑片有80%的可能發(fā)生錐體外系反應(yīng);精神分裂癥女性服用利培酮片有76%的可能發(fā)生錐體外系反應(yīng)。
3 基于FP-Growth的精神障礙患者ADR預(yù)警App設(shè)計(jì)
本App以Android Studio作為開發(fā)平臺,采集服務(wù)和服務(wù)端采用Intellij IDEA集成開發(fā)環(huán)境并使用同一個MySQL數(shù)據(jù)庫系統(tǒng)。開發(fā)過程先后經(jīng)過對軟件功能分析與設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、客戶端設(shè)計(jì)和后臺管理功能設(shè)計(jì)。軟件提供健康檔案、用藥記錄、藥品不良反應(yīng)預(yù)警和健康報(bào)告功能,圖2為軟件總體功能模塊設(shè)計(jì)圖。
3.1 健康檔案模塊
用戶首次登錄時(shí)需先注冊賬號,軟件推送“我的資料”界面,在其中填寫姓名、年齡、性別、身高、體重和手機(jī)號。圖3為App首頁界面,“健康檔案”模塊可從首頁進(jìn)入,如圖4所示,每一條檔案信息包括姓名、性別、年齡、疾病,可對其進(jìn)行添加、刪除、修改操作??紤]到軟件的使用人群不全是精神障礙患者和醫(yī)護(hù)人員,有替他人預(yù)測用藥不良反應(yīng)風(fēng)險(xiǎn)的可能,所以這里再次記錄性別、年齡信息。
3.2 用藥記錄模塊
用戶輸入藥名,用藥時(shí)間一欄同步手機(jī)當(dāng)前時(shí)間,也可以自行調(diào)整。對于一天多次用藥的情況,以天為單位合并數(shù)據(jù),最終形成每日的用藥記錄。圖5為錄入藥名和用藥時(shí)間的頁面設(shè)計(jì)。
3.3 精神障礙用藥ADR預(yù)警模塊
收集從醫(yī)院獲取到精神障礙患者藥品不良反應(yīng)數(shù)據(jù)預(yù)處理,采用基于FP-Growth算法的數(shù)據(jù)挖掘關(guān)聯(lián)規(guī)則的方法,構(gòu)建抗精神障礙藥品不良反應(yīng)早期預(yù)警模型,將此模型數(shù)據(jù)導(dǎo)入到MySQL數(shù)據(jù)庫中。用戶使用軟件時(shí),只需輸入疾病和患者的年齡、性別、用藥名稱,系統(tǒng)在預(yù)警模型數(shù)據(jù)庫中搜索對應(yīng)的不良反應(yīng),結(jié)合置信度大小分析不良反應(yīng)的風(fēng)險(xiǎn)程度并反饋給用戶。系統(tǒng)規(guī)定置信度達(dá)0.80以上的不良反應(yīng)屬于高風(fēng)險(xiǎn),置信度在0.65~0.80內(nèi)的不良反應(yīng)屬于較高風(fēng)險(xiǎn),置信度在0.50~0.65內(nèi)為中風(fēng)險(xiǎn)不良反應(yīng)。預(yù)警界面如圖6所示。
3.4 健康報(bào)告模塊
考慮到部分抗精神障礙藥品具有單一性和不可調(diào)整性,患者短期內(nèi)找不到可替代現(xiàn)成的、會導(dǎo)致不良反應(yīng)的藥品,不得不服用現(xiàn)有藥物,這將導(dǎo)致預(yù)警系統(tǒng)推送不良反應(yīng)的發(fā)生風(fēng)險(xiǎn)和情況描述。軟件整理預(yù)警系統(tǒng)分析出的藥品不良反應(yīng)情況,形成日報(bào)和周報(bào)。日報(bào)通過選擇日期,顯示某天是否有不良反應(yīng)的發(fā)生,周報(bào)收集一周的預(yù)警信息,沒有發(fā)生不良反應(yīng)給出“優(yōu)”等級,發(fā)生1或2次不良反應(yīng)給出“良”等級,不良反應(yīng)發(fā)生2次以上則是“差”等級。圖7、圖8分別為健康周報(bào)、健康日報(bào)的設(shè)計(jì)界面。
4 結(jié)束語
本文在研究國內(nèi)外藥品不良反應(yīng)預(yù)警相關(guān)算法的基礎(chǔ)上,針對目前精神障礙患者人群擴(kuò)張、疾病種類和藥品數(shù)量增多的現(xiàn)狀和實(shí)際需求設(shè)計(jì)開發(fā)了一款基于FP-Growth算法的精神障礙患者用藥不良反應(yīng)預(yù)警App。算法根據(jù)精神障礙患者用藥不良反應(yīng)的呈報(bào)數(shù)據(jù),挖掘頻繁出現(xiàn)的ADR-藥品-用藥人群組合,提取滿足最小支持度和最小置信度的強(qiáng)關(guān)聯(lián)規(guī)則。軟件根據(jù)關(guān)聯(lián)規(guī)則智能預(yù)警不良反應(yīng)的發(fā)生風(fēng)險(xiǎn),為用戶提供健康檔案、健康報(bào)告和智能預(yù)警功能,以達(dá)到令患者在用藥前期防控到位、提高疾病治療效果的目的,若將其利用到精神障礙疾病臨床治療上,其應(yīng)用前景和作用是巨大的。
參考文獻(xiàn):
[1] 李世明,楊雀屏,馮為,等.常態(tài)化疫情防控下社區(qū)嚴(yán)重精神障礙患者管理服務(wù)現(xiàn)狀與建議[J].中國公共衛(wèi)生管理,2021,37(6):764-766.
[2] 莊紅艷,劉珊珊,果偉,等.某精神??漆t(yī)院115例新的藥品不良反應(yīng)的回顧性分析[J].中國藥房,2018,29(23):3259-3263.
[3] 葉明全,蘇洋,童九翠.基于多層關(guān)聯(lián)規(guī)則挖掘的ADR風(fēng)險(xiǎn)檢測與預(yù)警研究[J].池州學(xué)院學(xué)報(bào),2020,34(3):23-26.
[4] 馮秀珍,賀小紅,馮變玲.基于關(guān)聯(lián)規(guī)則的ADR預(yù)警系統(tǒng)及實(shí)證研究[J].科技管理研究,2012,32(9):194-197.
[5] 熊代琴,馬雪英,滕亮,等.利用全面觸發(fā)工具建立住院患兒頭孢菌素類藥品不良反應(yīng)主動監(jiān)測預(yù)警模型[J].中國藥物警戒,2021,18(7):663-668.
[6] 王艷,張麗.自回歸移動平均模型在藥品不良反應(yīng)監(jiān)測預(yù)警中的應(yīng)用[J].臨床醫(yī)學(xué)研究與實(shí)踐,2018,3(21):7-8,14.
[7] 張成,李盼盼,王連心,等.基于自發(fā)呈報(bào)系統(tǒng)舒筋健腰丸不良反應(yīng)/事件預(yù)警分析[J].中國中藥雜志,2020,45(15):3533-3538.
[8] 陳玲萍.基于FP-Growth的高校學(xué)業(yè)預(yù)警系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].無線互聯(lián)科技,2018,15(24):39-40,45.
【通聯(lián)編輯:謝媛媛】