唐雅娜
摘 要:基于軟件工程的系統(tǒng)實(shí)施方法,采取模塊化、螺旋式開發(fā)模式,綜合應(yīng)用軟件技術(shù)、數(shù)據(jù)庫技術(shù)、WebService、XML 數(shù)據(jù)交換、數(shù)據(jù)流、業(yè)務(wù)流、安全追溯等信息技術(shù)的理論與方法,設(shè)計(jì)實(shí)現(xiàn)了基于JSP的兒童免疫規(guī)劃監(jiān)測預(yù)警及疫苗追溯服務(wù)平臺(tái),該平臺(tái)基于B/S 架構(gòu),采用MVC 模式,在MyEclipse 、SQL Server 2008等開發(fā)工具中設(shè)計(jì)實(shí)現(xiàn)。
關(guān)鍵詞:追溯 免疫規(guī)劃 監(jiān)測預(yù)警 JSP
中圖分類號(hào):R126 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2015)06(b)-0050-03
根據(jù)《疫苗儲(chǔ)存和運(yùn)輸管理規(guī)范》第十條:疾病預(yù)防控制機(jī)構(gòu)、接種單位應(yīng)定期對儲(chǔ)存的疫苗進(jìn)行檢查并記錄,發(fā)現(xiàn)質(zhì)量異常的疫苗,應(yīng)當(dāng)立即停止供應(yīng)、分發(fā)和接種,并及時(shí)向所在地的縣級(jí)衛(wèi)生行政部門和食品藥品監(jiān)督管理部門報(bào)告,不得自行處理[1]。因此,設(shè)計(jì)與實(shí)現(xiàn)具有“多地區(qū)異常反應(yīng)監(jiān)測預(yù)警”和“疫苗安全追溯”功能的兒童免疫規(guī)劃監(jiān)測預(yù)警及疫苗追溯服務(wù)平臺(tái),一旦發(fā)現(xiàn)質(zhì)量異常的疫苗時(shí),各級(jí)衛(wèi)生行政管理部門和食品藥品監(jiān)督管理部門將能快速獲取同批次的已接種疫苗的接種兒童信息,以及同批次疫苗再各級(jí)接種點(diǎn)的庫存信息,對提高政府對免疫規(guī)劃的科學(xué)決策和應(yīng)急指揮能力具有重要的現(xiàn)實(shí)意義。
1 功能需求
平臺(tái)功能模塊如圖1所示,平臺(tái)包括六個(gè)子系統(tǒng):出入庫子系統(tǒng)、財(cái)務(wù)子系統(tǒng)、接種子系統(tǒng)、疫苗流通全程追溯子系統(tǒng)、疫苗流通監(jiān)控預(yù)警子系統(tǒng)、疫苗流通監(jiān)管子系統(tǒng)。詳細(xì)的功能需求及分析請參閱作者的另一篇論文《兒童免疫規(guī)劃監(jiān)測預(yù)警及疫苗追溯服務(wù)平臺(tái)研究》,此處不再贅述。
2 系統(tǒng)設(shè)計(jì)
分析問題領(lǐng)域的過程也就是RUP六個(gè)核心過程工作流中商業(yè)建模工作流、需求工作流的完成過程,它在整個(gè)軟件開發(fā)的過程中不是一蹴而就的,而是在每一次迭代中以不同的重點(diǎn)和強(qiáng)度重復(fù),不斷的完善。分析問題領(lǐng)域的目的就是要將需要解決的問題系統(tǒng)化、規(guī)范化,在開發(fā)者和用戶之間達(dá)成一種共識(shí),建立所要開發(fā)系統(tǒng)的用例模型[2]。
因篇幅關(guān)系,疫苗信息管理用例圖、兒童信息管理用例圖、部門信息管理用例圖、用戶管理用例圖、疫苗廠商管理用例圖、權(quán)限管理用例圖、審批管理用例圖、接種管理用例圖、追溯查詢用例圖、投訴處理用例圖、財(cái)務(wù)管理用例圖、管理員用例圖、接種用例圖、追溯查詢用例圖此處不再贅述,只給出較復(fù)雜的入庫計(jì)劃管理用例圖、出庫計(jì)劃管理用例圖。
2.1 入庫計(jì)劃管理
如圖2所示,入庫計(jì)劃管理包括入庫計(jì)劃的新增、查詢、制定入庫計(jì)劃名、下級(jí)入庫計(jì)劃管理,入庫計(jì)劃的狀態(tài)有“待填報(bào)”、“本級(jí)-提交/上級(jí)-待審批”、“上級(jí)駁回”、“上級(jí)提交”。
入庫計(jì)劃是涉及多層級(jí)部門的活動(dòng),需要頂級(jí)部門首先制定統(tǒng)一的入庫計(jì)劃名及下級(jí)的填報(bào)時(shí)間范圍,制定好入庫計(jì)劃名后,下級(jí)部門能在指定的時(shí)間范圍內(nèi)通過下拉框進(jìn)行選擇填報(bào),屬于頂級(jí)部門的功能。制定入庫計(jì)劃名包括查詢和新增,對查詢出的入庫計(jì)劃名且沒有填報(bào)記錄的可以進(jìn)行修改和刪除。
入庫計(jì)劃新增時(shí)會(huì)進(jìn)行新增時(shí)間范圍的校驗(yàn),只有在允許的時(shí)間范圍內(nèi)且有入庫計(jì)劃名時(shí)才能新增。新增時(shí)可以讀取下級(jí)部門已經(jīng)確認(rèn)提交的入庫計(jì)劃并進(jìn)行匯總;新增信息確認(rèn)后可以提交至上級(jí)進(jìn)行審批,提交審批時(shí)入庫計(jì)劃由待填報(bào)狀態(tài)更改為“本級(jí)提交”,上級(jí)部門查看時(shí)的狀態(tài)為“待審批”。
可以對入庫計(jì)劃的查詢結(jié)果進(jìn)行打印、導(dǎo)出、修改和刪除。在修改和刪除時(shí)會(huì)進(jìn)行狀態(tài)校驗(yàn),只有“待填報(bào)”狀態(tài)才能進(jìn)行刪除,“待填報(bào)”狀態(tài)和“上級(jí)駁回”狀態(tài)可以進(jìn)行入庫計(jì)劃的修改。
下級(jí)入庫計(jì)劃管理包括入庫計(jì)劃填報(bào)時(shí)間范圍的設(shè)定、下級(jí)入庫計(jì)劃查詢、審核。對下級(jí)入庫計(jì)劃的查詢結(jié)果可以進(jìn)行導(dǎo)出、打印、修訂,但只能修訂“待審批”狀態(tài)的下級(jí)入庫計(jì)劃。對填報(bào)信息審核通過的可以進(jìn)行審核確認(rèn),狀態(tài)更改為“本級(jí)提交”,下級(jí)部門查看的狀態(tài)顯示為“上級(jí)提交”。對下級(jí)提交的入庫計(jì)劃不符的可以進(jìn)行審核取消,審核取消后狀態(tài)修改為“待審批”,下級(jí)查看的狀態(tài)為“待審批”,此狀態(tài)下可以進(jìn)行對下級(jí)入庫計(jì)劃的修訂。也可對下級(jí)提交的入庫計(jì)劃不符要求的進(jìn)行駁回申請,狀態(tài)修改為“駁回”,下級(jí)部門查看的狀態(tài)為“上級(jí)駁回”。只有狀態(tài)為“待審核”的下級(jí)計(jì)劃才能進(jìn)行駁回申請和審核取消。
入庫計(jì)劃的審批、提交、狀態(tài)查看不能越級(jí)進(jìn)行,只能提交到自己的直接上級(jí),也只能駁回自己的直接下級(jí)。同一入庫計(jì)劃,在兩級(jí)部門用戶顯示的狀態(tài)文字不同,如上級(jí)顯示“駁回”,下級(jí)顯示“上級(jí)駁回”;下級(jí)顯示“本級(jí)提交”,上級(jí)顯示“待審批”。
2.2 出庫計(jì)劃管理
如圖3所示,出庫計(jì)劃管理包括出庫計(jì)劃和調(diào)劑計(jì)劃的管理,是把庫存產(chǎn)品對下級(jí)的出庫(往往依據(jù)下級(jí)申請的入庫計(jì)劃)和對同級(jí)的調(diào)劑,但對下級(jí)的出庫計(jì)劃的名目和數(shù)量同最初的入庫計(jì)劃不一定完全相同,可能出現(xiàn)實(shí)際出庫計(jì)劃的名目、數(shù)量少于入庫計(jì)劃的情況。一份出庫計(jì)劃的狀態(tài)包括“待確認(rèn)”、“出庫確認(rèn)”、“入庫確認(rèn)”。
出庫計(jì)劃管理包括查詢、新增、出庫計(jì)劃的確認(rèn)、入庫確認(rèn)??梢詫Σ樵兂龅某鰩煊?jì)劃進(jìn)行打印、導(dǎo)出、修改、刪除,只能修改或刪除狀態(tài)是“待確認(rèn)”的出庫計(jì)劃。出庫計(jì)劃新增時(shí)會(huì)進(jìn)行庫存校驗(yàn)和上級(jí)實(shí)際核準(zhǔn)入庫數(shù)量的校驗(yàn)(應(yīng)小于等于),新增的出庫計(jì)劃狀態(tài)是“待確認(rèn)”?!按_認(rèn)”狀態(tài)的出庫計(jì)劃在實(shí)際出庫時(shí),更改狀態(tài)為“出庫確認(rèn)”。下級(jí)部門在出庫計(jì)劃的物品實(shí)際入庫時(shí),更改該出庫計(jì)劃狀態(tài)為“入庫確認(rèn)”。
調(diào)劑計(jì)劃管理包括查詢、新增、調(diào)劑計(jì)劃的出庫確認(rèn)、入庫確認(rèn)。可以對查詢出的調(diào)劑計(jì)劃進(jìn)行打印、導(dǎo)出、修改、刪除,只能修改或刪除狀態(tài)是“待確認(rèn)”的調(diào)劑計(jì)劃。調(diào)劑計(jì)劃新增時(shí)會(huì)進(jìn)行庫存校驗(yàn)(應(yīng)小于等于),新增的調(diào)劑計(jì)劃狀態(tài)是“待確認(rèn)”。 “待確認(rèn)”狀態(tài)的調(diào)劑計(jì)劃在實(shí)際出庫時(shí),更改狀態(tài)為“出庫確認(rèn)”。同級(jí)部門在調(diào)劑計(jì)劃的物品實(shí)際入庫時(shí),更改該調(diào)劑計(jì)劃狀態(tài)為“入庫確認(rèn)”。
3 系統(tǒng)類圖設(shè)計(jì)
設(shè)計(jì)類圖說明了軟件類的規(guī)格說明和應(yīng)用程序接口,設(shè)計(jì)類圖所能表達(dá)的典型
信息包括:類、關(guān)聯(lián)和屬性、接口及其操作和常量、方法、屬性類型信息、導(dǎo)航、類等元素之間的依賴關(guān)系[3]。因篇幅關(guān)系,只給出出入庫子系統(tǒng)模塊類圖,如圖4、圖5所示。
4 實(shí)現(xiàn)技術(shù)
4.1 JSP
JSP全名為Java Server Pages,中文名叫java服務(wù)器頁面,其根本是一個(gè)簡化的Servlet設(shè)計(jì),它是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)[4]。JSP網(wǎng)頁提供了一個(gè)接口,來讓整個(gè)服務(wù)器端的Java庫單元為HTTP 應(yīng)用程序服務(wù)[5]。
4.2 MyEclipse
MyEclipse Enterprise Workbench(MyEclipse企業(yè)級(jí)工作平臺(tái)),簡稱MyEclipse,是對EclipseIDE的擴(kuò)展。MyEclipse是一個(gè)Eclipse支持下的J2EE開發(fā)插件,功能十分強(qiáng)大,具備完美的編碼、調(diào)試、測試和發(fā)布功能并完整支持Structs、Spring和Hibernate等框架技術(shù)。MyEclipse插件基本上涵蓋了眾多Eclipse插件的功能,能滿足我們的各種應(yīng)用需求,基本上是安裝了它就無須其它插件。甚至可以這樣理解,MyEclipse就是一個(gè)比較完備的、功能十分強(qiáng)大的開發(fā)環(huán)境[6]。
4.3 SQL Server 2008
SQL Server 2008是美國微軟公司在數(shù)據(jù)管理系統(tǒng)上最流行的關(guān)系型數(shù)據(jù)庫,在數(shù)據(jù)處理方面具有良好的性能,成為世界上三大數(shù)據(jù)庫管理系統(tǒng)之一。SQL Server 2008作為最新的SQL Server版本,是至今為止的最強(qiáng)大和最全面的SQL Serve版本。SQL Server 2008新增和更改內(nèi)容包括DATE和TIME數(shù)據(jù)類型、hierarchyID數(shù)據(jù)類型、MERGE命令和多行插入以及遞歸查詢等[7]。
5 系統(tǒng)實(shí)現(xiàn)
主界面采用傳統(tǒng)的頁面布局,如圖6所示,為左右兩個(gè)子部分,左子部分是菜單欄,包含系統(tǒng)設(shè)置,基本信息,疫苗采購,疫苗下?lián)埽瑤齑婀芾?,疫苗接種,疫苗追溯七大模塊的導(dǎo)航鏈接;右子部分是顯示的主體信息,默認(rèn)是待辦事務(wù),包含該用戶待處理的事務(wù)快照。
6 項(xiàng)目的特色和創(chuàng)新之處
6.1 疫苗鏈路雙向追溯及對比分析
(1)兒童個(gè)案免疫疫苗到疫苗生產(chǎn)企業(yè)的追溯。能做到在查詢兒童免疫個(gè)案時(shí),可以對其使用的免疫疫苗進(jìn)行反向追溯,追溯信息包括該疫苗從生產(chǎn)企業(yè)到最終實(shí)施接種之間的所有出庫、運(yùn)輸、倉儲(chǔ)、保管的相關(guān)責(zé)任人、日期、時(shí)間等數(shù)據(jù)。通過該功能,當(dāng)疫苗免疫出現(xiàn)異常反應(yīng),尤其是當(dāng)發(fā)生群體性異常反應(yīng)時(shí),可以方便快捷的發(fā)現(xiàn)問題,找到原因,進(jìn)行從疫苗出廠到最終使用過程中的所有環(huán)節(jié)的跟蹤和排查,利于領(lǐng)導(dǎo)進(jìn)行決策和分析。
(2)疫苗到兒童免疫個(gè)案的追溯。給出某疫苗批號(hào),能追溯給出該批次疫苗的所有出庫、運(yùn)輸、入庫、倉儲(chǔ)、保管、注射免疫、免疫兒童的信息及日期時(shí)間等數(shù)據(jù)。如某一批次的疫苗發(fā)生問題,可以通過系統(tǒng)立刻查詢出該批次疫苗已經(jīng)分散運(yùn)輸?shù)侥男┙臃N單位,有哪些兒童,在什么時(shí)間進(jìn)行了該批次疫苗的接種,便于立刻進(jìn)行補(bǔ)救和領(lǐng)導(dǎo)決策。
(3)可以進(jìn)行疫苗流通鏈路的對比分析功能。如D1接種點(diǎn)發(fā)生群體接種問題,通過系統(tǒng)可以查詢出該批次疫苗的運(yùn)輸線路為A->B1-C1->D1,而同批次疫苗在D2處的接種沒有發(fā)生問題,該批次疫苗的運(yùn)輸線路為A->B1-C2->D2。由此可以初步判斷疫苗極有可能在C1或D1環(huán)節(jié)發(fā)生了問題??梢岳诳焖龠M(jìn)行反應(yīng)和找到問題原因的和所在。如果確認(rèn)是C1環(huán)節(jié)的問題,系統(tǒng)還可以查詢出在C1處同該批次疫苗一起運(yùn)輸存儲(chǔ)的其它疫苗,并可以列出這些疫苗現(xiàn)在已經(jīng)流通到哪里,有哪些已經(jīng)使用,便于及時(shí)進(jìn)行追回和處理。
6.2 智能分析與預(yù)警
系統(tǒng)能預(yù)先設(shè)置異常反應(yīng)、庫存、有效期預(yù)警的閾值,當(dāng)達(dá)到閾值時(shí),可以通過網(wǎng)絡(luò)、短信等方式通知相關(guān)負(fù)責(zé)人,便于管理部門快速作出反應(yīng)和決策。
6.3 二類疫苗統(tǒng)一規(guī)劃、分配、管理和監(jiān)督
系統(tǒng)對二類疫苗設(shè)置為由省市縣一級(jí)的管理部門進(jìn)行統(tǒng)一規(guī)劃、分配和管理,包括面向社會(huì)的免疫價(jià)格。接種單位沒有疫苗的入庫權(quán)限,而只有使用權(quán)限。同時(shí)兒童家長可以通過系統(tǒng)查詢出兒童所接種的疫苗名稱、企業(yè)、批號(hào)和價(jià)格,如果發(fā)現(xiàn)和實(shí)際接種不符,可以通過系統(tǒng)進(jìn)行投訴和監(jiān)督。系統(tǒng)通過統(tǒng)一的二類疫苗入庫系統(tǒng)、庫存系統(tǒng)、兒童家長監(jiān)督投訴系統(tǒng)來避免和杜絕個(gè)別接種單位私自進(jìn)苗的現(xiàn)象,保證了接種疫苗的統(tǒng)一規(guī)劃和選擇,確保接種疫苗的質(zhì)量和安全。同時(shí)也減少了個(gè)別接種單位因利益驅(qū)使而損害免疫接種系統(tǒng)整體社會(huì)形象和地位的情況。
7 結(jié)語
充分應(yīng)用現(xiàn)有信息技術(shù),是提高科學(xué)管理水平、衛(wèi)生服務(wù)質(zhì)量和效率的有力手段,是免疫規(guī)劃工作發(fā)展的必然要求。通過建立兒童免疫規(guī)劃監(jiān)測預(yù)警及疫苗追溯服務(wù)平臺(tái),可以為新生兒童建立預(yù)防接種個(gè)案信息,動(dòng)態(tài)收集免疫預(yù)防機(jī)構(gòu)和人員基本信息、計(jì)劃免疫設(shè)備和疫苗信息資料,以個(gè)案方式實(shí)施計(jì)劃免疫疾病監(jiān)測等,為政府、衛(wèi)生行政部門等決策部門制定免疫規(guī)劃政策、規(guī)劃、財(cái)政投入、設(shè)備更新等提供依據(jù);促使接種率和接種質(zhì)量不斷提高,促進(jìn)計(jì)劃免疫資料的規(guī)范化管理,提高了建卡、建證率,降低發(fā)病率;接種服務(wù)單位能更準(zhǔn)確獲得疫苗管理、疾病監(jiān)測、接種實(shí)施、服務(wù)對象的基本情況等具體信息,指導(dǎo)預(yù)防接種工作的實(shí)施,提高預(yù)防接種服務(wù)工作的質(zhì)量;社會(huì)(被服務(wù)對象)能夠得到兒童接種完成情況,了解預(yù)防接種服務(wù)的內(nèi)容,享有聯(lián)網(wǎng)異地接種,多種方式查詢/咨詢服務(wù),從而更好地保障兒童身體健康。
參考文獻(xiàn)
[1] 衛(wèi)疾控發(fā).疫苗儲(chǔ)存和運(yùn)輸管理規(guī)范[DB/OL].http://www.jincao.com/fa/10/law10.137.htm.2006,3.
[2] 徐術(shù)平.基于UML建模的生產(chǎn)過程信息可追溯系統(tǒng)的分析與設(shè)計(jì)[D].重慶:重慶大學(xué),2009.
[3] 程惠勤.基于UML的學(xué)生選課系統(tǒng)的分析與設(shè)計(jì)[J].福建電腦,2014(2):108-110,153.
[4] JSP.百度百科[DB/OL].http://baike.baidu.com/link?url=GLlJT_UP5r02Oxr8WZTefGWtWjBoCkNSJkfC0g68m5_9fB6UlADm-H4kPNth8q73A61TcZHVkBs2EV7bHB0luno-aMNHthKfXGZUQOmgoLW,2015,3.
[5] 聞?dòng)榔?基于JSP的電子商務(wù)網(wǎng)站開發(fā)[J].信息安全與技術(shù),2011(11):92-94,103.
[6] 曹大有.基于MyEclipse的Hibernate持久層框架的開發(fā)過程[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2007(12):101-104
[7] 苗鳳華.SQLServer2008數(shù)據(jù)管理系統(tǒng)的優(yōu)勢研究[J].長春師范大學(xué)學(xué)報(bào),2014(6):76-77,81.