吳坤:關(guān)于醫(yī)院信息系統(tǒng)開(kāi)發(fā)過(guò)程的思考
軟件工程作為一個(gè)工程學(xué)科,在研發(fā)和構(gòu)建軟件產(chǎn)品時(shí),需要遵循軟件工程管理一般性規(guī)范要求。企業(yè)應(yīng)用信息系統(tǒng)是一種功能比較復(fù)雜的應(yīng)用軟件,不同行業(yè)的軟件開(kāi)發(fā)過(guò)程,有著不同開(kāi)發(fā)特點(diǎn)。本文將圍繞醫(yī)院信息系統(tǒng)開(kāi)發(fā)過(guò)程,與大家分享相關(guān)的做法和體會(huì)。
任何企業(yè)組織在開(kāi)發(fā)信息系統(tǒng)的時(shí)候,都會(huì)經(jīng)歷一個(gè)漫長(zhǎng)的過(guò)程,特別是一些組織結(jié)構(gòu)和業(yè)務(wù)流程復(fù)雜的企業(yè)單位更是如此,比如醫(yī)療信息系統(tǒng)開(kāi)發(fā)。盡管軟件工程行業(yè)有其既定的方法和流程,但是對(duì)于醫(yī)療行業(yè)而言,我們?cè)陂_(kāi)發(fā)醫(yī)院信息系統(tǒng)軟件時(shí),依然有很多地方需要契合自身行業(yè)的特點(diǎn),梳理和總結(jié)出適合本行業(yè)特點(diǎn)的流程和規(guī)范。
醫(yī)院信息系統(tǒng)的開(kāi)發(fā),是一個(gè)非常復(fù)雜的工程,需要解決不同環(huán)節(jié)上的問(wèn)題。第一步要做的是,通過(guò)收集資料和實(shí)地調(diào)研,明確需要解決的問(wèn)題,也就是搞清楚醫(yī)院的需求所在,研發(fā)信息系統(tǒng)需要解決哪些問(wèn)題,為什么要研發(fā)這個(gè)信息系統(tǒng),信息系統(tǒng)實(shí)施上線(xiàn)后需要達(dá)到哪些預(yù)期目標(biāo)。這一步工作非常繁瑣復(fù)雜,但是極為重要。第二步需要做的是,對(duì)業(yè)務(wù)需求問(wèn)題進(jìn)行準(zhǔn)確的理解,深入的分析,盡量消除一切誤解和盲點(diǎn)問(wèn)題,確保對(duì)問(wèn)題背后的原因和需求本質(zhì)的準(zhǔn)確而清楚地理解,特別是涉及到醫(yī)療業(yè)務(wù)相關(guān)知識(shí)和醫(yī)院管理業(yè)務(wù)相關(guān)內(nèi)容,要明確問(wèn)題本質(zhì)所在。在對(duì)問(wèn)題有了比較清楚的認(rèn)識(shí)后,下一步方可確定系統(tǒng)研發(fā)思路、方案和技術(shù)思路要求,包括系統(tǒng)主體技術(shù)架構(gòu)設(shè)計(jì),采用什么技術(shù),后臺(tái)用什么數(shù)據(jù)庫(kù),服務(wù)器部署環(huán)境,開(kāi)發(fā)團(tuán)隊(duì)分工等。總體研發(fā)思路確定后,就需要開(kāi)展實(shí)質(zhì)性的設(shè)計(jì)功能,比如系統(tǒng)架構(gòu)設(shè)計(jì)、系統(tǒng)功能模塊設(shè)計(jì)等。這一步需要制定一個(gè)規(guī)范的系統(tǒng)設(shè)計(jì)方案文檔,作為系統(tǒng)開(kāi)發(fā)軟件工程師的開(kāi)發(fā)指南。第三步是系統(tǒng)實(shí)現(xiàn),也就是指軟件開(kāi)發(fā)工程師編寫(xiě)程序,得出一個(gè)信息系統(tǒng)軟件產(chǎn)品,當(dāng)然不僅僅是一個(gè)可正常運(yùn)行的軟件,還包括一整套滿(mǎn)足系統(tǒng)設(shè)計(jì)需求的軟硬件技術(shù)方案。信息系統(tǒng)很難一下子就滿(mǎn)足用戶(hù)的所有功能需求,特別在醫(yī)療機(jī)構(gòu)內(nèi)部,人員復(fù)雜,需求眾多,在開(kāi)發(fā)醫(yī)院信息系統(tǒng)時(shí),總會(huì)存在一些功能點(diǎn)的遺漏和誤差。系統(tǒng)實(shí)現(xiàn)完成后,需要進(jìn)行系統(tǒng)評(píng)估,其是否解決了確定的問(wèn)題,實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)階段確定的功能需求。如果沒(méi)有,就需要重新來(lái)設(shè)計(jì)和實(shí)現(xiàn)。
對(duì)于醫(yī)院信息系統(tǒng)的開(kāi)發(fā)過(guò)程,可以規(guī)范化地劃分為項(xiàng)目啟動(dòng)、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)和系統(tǒng)運(yùn)維這樣幾個(gè)部分。如下圖所示:
項(xiàng)目啟動(dòng)
醫(yī)院信息系統(tǒng)的開(kāi)發(fā)建設(shè)項(xiàng)目通常非常復(fù)雜,需要投入大量的時(shí)間和精力。如果項(xiàng)目開(kāi)展得不好,極容易導(dǎo)致投入了大量的精力,卻沒(méi)有得到預(yù)期的成效,最后是得不償失。因此,需要對(duì)項(xiàng)目進(jìn)行仔細(xì)規(guī)劃。項(xiàng)目啟動(dòng)階段,就是要實(shí)現(xiàn)項(xiàng)目的整體計(jì)劃,確定項(xiàng)目范圍、目標(biāo)、進(jìn)度、預(yù)算、機(jī)會(huì)等。項(xiàng)目范圍即確定項(xiàng)目涉及的業(yè)務(wù)領(lǐng)域,如門(mén)診收費(fèi)、藥房管理、電子病歷等;項(xiàng)目目標(biāo),即系統(tǒng)上線(xiàn)使用后預(yù)期的目標(biāo),比如人均排隊(duì)時(shí)間降低30%,門(mén)診業(yè)務(wù)容量提高一倍之類(lèi);項(xiàng)目進(jìn)度,則主要指項(xiàng)目預(yù)計(jì)耗時(shí)期限;項(xiàng)目機(jī)會(huì),即項(xiàng)目可能帶來(lái)的附屬機(jī)會(huì),比如彰顯信息工程師隊(duì)伍的技術(shù)水平和實(shí)力,提高信息部門(mén)在醫(yī)院內(nèi)部的影響力和認(rèn)可度等。當(dāng)前很多信息部門(mén)在醫(yī)院內(nèi)部的處境不夠友好,我們?cè)谏婕把邪l(fā)醫(yī)院信息系統(tǒng)時(shí),可充分挖掘并利用好項(xiàng)目所帶來(lái)的機(jī)會(huì),以改善信息部門(mén)的發(fā)展?fàn)顩r。
系統(tǒng)分析
系統(tǒng)分析的主要目標(biāo)是,對(duì)整個(gè)項(xiàng)目相關(guān)的問(wèn)題,功能需求全面準(zhǔn)確地分析理解。可以采用這三個(gè)步驟來(lái)完成:?jiǎn)栴}和現(xiàn)狀分析,業(yè)務(wù)流程認(rèn)知,功能需求了解。首先是問(wèn)題和現(xiàn)狀分析,目前醫(yī)院的現(xiàn)狀如何?工作效率低下,患者滿(mǎn)意度差,門(mén)診吞吐量低,擁擠排隊(duì)現(xiàn)狀明顯,工作人員誤差多(發(fā)錯(cuò)藥、收錯(cuò)費(fèi)),目前是否有對(duì)應(yīng)的信息系統(tǒng)在運(yùn)行?如果有系統(tǒng)運(yùn)行效果怎么樣?技術(shù)和性能方面如何?是重構(gòu),還是推翻完全更換?等等諸如此類(lèi)的問(wèn)題。業(yè)務(wù)流程:了解醫(yī)療業(yè)務(wù)流程,從門(mén)診掛號(hào),到接診開(kāi)藥、取藥離院、檢查檢驗(yàn)、入院入科等,可以通過(guò)找相關(guān)科室工作人員詢(xún)問(wèn)調(diào)研,還可以把自己當(dāng)成病人一樣,對(duì)整個(gè)醫(yī)療業(yè)務(wù)親自體驗(yàn)一番。參與系統(tǒng)開(kāi)發(fā)項(xiàng)目的人員,通常對(duì)醫(yī)療業(yè)務(wù)不是很了解,所以對(duì)業(yè)務(wù)流程的詳細(xì)了解非常重要,參與該過(guò)程的人員越多越好。系統(tǒng)功能需求了解:功能需求,也就是用戶(hù)群體對(duì)信息系統(tǒng)在功能上的期望,即信息系統(tǒng)所需要提供的功能。由于醫(yī)院用戶(hù)繁多,我們可以對(duì)用戶(hù)群體進(jìn)行分類(lèi),例如分為醫(yī)生、護(hù)士、藥師、財(cái)務(wù)結(jié)算員等,然后根據(jù)每類(lèi)用戶(hù)的需求來(lái)分析系統(tǒng)功能。
系統(tǒng)設(shè)計(jì)
系統(tǒng)設(shè)計(jì)階段,需要根據(jù)信息系統(tǒng)的業(yè)務(wù)需求,制定出技術(shù)實(shí)施方案。可能得出的技術(shù)方案不止一種,還需要進(jìn)行方案選擇。比如,是重新開(kāi)發(fā)一個(gè)信息系統(tǒng),還是在現(xiàn)有系統(tǒng)基礎(chǔ)上重構(gòu)。在確定好方案后,依據(jù)該方案來(lái)制定系統(tǒng)設(shè)計(jì)文檔,系統(tǒng)設(shè)計(jì)文檔是整個(gè)信息系統(tǒng)產(chǎn)品的設(shè)計(jì)藍(lán)圖和規(guī)格說(shuō)明。
系統(tǒng)開(kāi)發(fā)實(shí)現(xiàn)
系統(tǒng)開(kāi)發(fā)實(shí)現(xiàn)階段,軟件工程師開(kāi)發(fā)程序,構(gòu)成出信息系統(tǒng)產(chǎn)品,并將其投入使用,包括開(kāi)發(fā)、測(cè)試、實(shí)施等過(guò)程。要特別說(shuō)明的是,一定要注重測(cè)試工作。醫(yī)療業(yè)務(wù)異常嚴(yán)謹(jǐn),在正式上線(xiàn)使用前,一定要全面開(kāi)展測(cè)試工作,確保系統(tǒng)能正常工作并滿(mǎn)足用戶(hù)需求。先前系統(tǒng)的數(shù)據(jù),可以轉(zhuǎn)入到新系統(tǒng),或者新舊系統(tǒng)同時(shí)運(yùn)行一段時(shí)間,到舊系統(tǒng)業(yè)務(wù)消耗殆盡。
系統(tǒng)運(yùn)維與用戶(hù)交接
醫(yī)院新的信息系統(tǒng)上線(xiàn)運(yùn)行后,很少是完美無(wú)缺的,會(huì)逐漸暴露出BUG,用戶(hù)會(huì)發(fā)現(xiàn)功能欠缺和性能不完善之處,甚至設(shè)計(jì)上不夠人性化等。同時(shí),用戶(hù)也會(huì)提出新的想法和需求。系統(tǒng)運(yùn)維,就是不斷收集待解決問(wèn)題,了解用戶(hù)需求,進(jìn)行系統(tǒng)完善和迭代。
通常情況下,在系統(tǒng)上線(xiàn)運(yùn)行后,后續(xù)的運(yùn)維工作會(huì)交給運(yùn)維團(tuán)隊(duì),或者是軟件公司人員,或者是醫(yī)院信息部門(mén)工程師來(lái)完成。系統(tǒng)的運(yùn)維工作是一個(gè)長(zhǎng)期的過(guò)程,延續(xù)直到系統(tǒng)生命周期消亡。筆者將結(jié)合自身工作經(jīng)歷和思考,就醫(yī)院信息系統(tǒng)開(kāi)發(fā)撰寫(xiě)系列文稿,與圈內(nèi)同仁交流探討。
作者簡(jiǎn)介
吳坤,計(jì)算機(jī)專(zhuān)業(yè)碩士,華中科技大學(xué)同濟(jì)醫(yī)學(xué)院附屬同濟(jì)醫(yī)院信息中心軟件工程師。專(zhuān)業(yè)計(jì)算機(jī)程序員,國(guó)內(nèi)在醫(yī)療行業(yè)積極推廣IT技術(shù)的青年工程師和技術(shù)踐行者,熱衷于以信息技術(shù)提高醫(yī)療行業(yè)服務(wù)質(zhì)量和改善患者就醫(yī)體驗(yàn)。