陸燕琴 傅 蓉
(南方醫科大學生物醫學工程學院 廣東 廣州 510515)
?
基于.NET的軍衛體檢系統的設計與實現
陸燕琴傅蓉*
(南方醫科大學生物醫學工程學院廣東 廣州 510515)
摘要針對現有軍衛體檢系統不能滿足軍區機關醫院體檢工作需求的現狀,提出一種基于.NET的軍衛體檢系統的解決方案。該系統在總體設計上考慮多種就醫模式,設計了部隊體檢者和地方體檢者兩種操作入口,可滿足不同醫療機構需求,增強了系統的適應性;在系統功能實現上注重提高體檢中心的工作效率以及體檢信息的完整性,增設體檢結果智能分析、PACS接口等功能,使部隊健康檔案管理更規范化,具有較好的實用價值;在系統架構上采用C/S三層架構+抽象工廠模式,降低代碼間的耦合性,提高了系統的可維護性。
關鍵詞軍衛體檢系統.NETPACS接口C/S三層架構+抽象工廠模式
0引言
隨著社會的進步和經濟的快速發展,人們生活質量不斷提高,全社會健康意識和疾病防范意識不斷增強,健康體檢作為防患于未然的主動防御措施越來越融入人們的生活和工作[1,2]。“醫院體檢信息管理系統”是為醫院體檢中心量身定制的計算機自動化管理系統。該系統從醫院體檢的實際應用出發,結合醫院信息系統(HIS)、醫學圖像存儲與傳輸系統(PACS)[3]、檢驗信息系統(LIS)、臨床管理信息化(CIS)的綜合應用,利用計算機網絡管理的優勢,將信息采集點遍布醫院活動的每一個角落,形成各診療科室體檢信息的互聯共享,實現電子化管理、無紙化工作、網絡化服務的目標,是建設現代體檢中心的必經之路。
軍衛體檢系統屬于“醫院體檢信息管理系統”體系的一部分,它遵循全軍信息系統一體化體系結構標準和軍隊門診信息系統建設規定,以“軍衛”數據結構為基礎支撐,主要為軍區機關醫院體檢中心提供服務。系統自2007年投入使用起,在機關各級醫院取得較好的使用效果。但系統至今已投入使用逾8年,由于缺乏后續的升級與改造,系統已逐漸不能滿足當今體檢中心的需求。經過調研發現,原軍衛體檢系統存在的主要問題有:(1) 應用需求上不能跟進醫院體檢中心發展:系統主體流程設計沒有考慮軍地人員的體檢與管理的區別,已不能適應當前用戶需求;缺乏對體檢結果的智能分析、PACS接口等功能,導致體檢中心工作效率沒有得到明顯的提高,同時體檢信息圖文完整性也沒得到保證。(2) 技術上不能達到用戶對系統維護性、升級性以及用戶體驗性的要求:采用PowerBulder語言和一層架構進行開發,導致了原系統升級與維護的困難;而界面采用的是Windows2000/XP界面風格,與Win7系統界面不匹配,造成系統美觀性和操作簡易性方面的不足。
本系統從系統主體流程設計、功能實現、實現技術等對原系統進行改進并重新開發:重新設計系統主體流程,使流程適用于軍地人員的體檢與管理;增設體檢結果智能分析、PACS接口等功能,注重提高體檢中心的工作效率以及保證體檢信息的完整性;采用基于.NET[4]的三層C/S架構+抽象工廠模式來降低代碼之間的耦合性,提高系統的可維護性并使系統適用于不同的數據庫平臺;采用Win7界面風格和MicrosoftOfficeFluent用戶界面導航欄界面風格,使得系統用戶體驗性得到了很大的升級。通過上述改進,可使系統在功能性、可維護性、可升級性、用戶體檢等方面達到現今軍區機關體檢部門的需求。
1系統總體設計
目前軍隊醫院、療養院和機關門診部等單位都承擔著軍地各類體檢保障任務,如:機關首長健康體檢、地方單位健康體檢、個人體檢等,就醫模式靈活多變。為了滿足不同醫療機構的需求,本系統在體檢工作流程、系統功能流程以及功能模塊設計上考慮了多種就醫模式,以增強系統的適應性。
1.1體檢工作流程
體檢系統是以受檢者為服務對象,體檢信息為主線的信息管理系統[5]。軍衛體檢系統的受檢者身份包括部隊人員與地方人員,而兩種身份人員在體檢信息登記、收費類別、統計信息等存在著較大的區別。如何能更好地管理兩種身份人員的體檢信息,是本系統需要研究的一個重要問題。
針對上述問題,本系統從體檢者登記開始提供兩個不同的入口,使得體檢人員的身份從登記時就得以區分,并貫穿整個體檢流程。詳細的體檢流程設計如圖1所示。

圖1 體檢工作流程圖
本系統工作流程主要涉及體檢者、登記護士、體檢醫生這三類用戶群:(1) 體檢者來到體檢中心,先在護士工作站登記個人信息以及體檢項目信息,繳費并打印體檢指引單;然后根據體檢指引單的各個項目(內科、檢驗科、放射科等)依次到分檢工作站檢查;檢查完畢則可等待取體檢報告。(2) 登記護士根據體檢者的類別(部隊個人、部隊單位、地方個人、地方單位)對體檢者的基本信息以及體檢項目信息進行登記,并向HIS發送收費申請、檢驗申請以及檢查申請。(3) 體檢醫生分為科室體檢醫生與審核醫生。體檢醫生負責分檢工作站的檢查工作:直接錄入體檢者體檢結果,采集體檢者化驗標本,為體檢者進行影像檢查等。審核醫生在體檢者完成所有體檢項目后,對體檢者的檢查結果給出綜述建議,并審核體檢報告。
1.2系統功能流程
原軍衛體檢系統在功能模塊上沒有提煉出醫院的一般體檢流程相似點以及不同醫院間體檢管理的需求差異,因此導致系統在不同醫院使用時需重復開發,造成系統自身升級困難,系統的普適性和可擴充性無法得到滿足。此外,由于外部應用環境和用戶需求的多變性,迫使軟件頻繁變更,維護成本和時間急劇增加,因此在設計系統功能模塊的時,需分離用戶穩定需求和變化需求,以便開發者能夠高效低耗地動態調整軟件以應對用戶需求的變化[6]。
根據上述分析,本系統在功能流程設計上分離出用戶的穩定需求和變化需求,如圖2所示。根據1.1節所述工作流程得出系統的穩定需求,主要包括:體檢登記、體檢錄入、報告打印,此穩定需求適用于一般的體檢中心。系統的可變需求為體檢系統的輔助流程,包括:費用結算、成本核算、字典設置、統計查詢,此變化需求可根據各體檢中心的需求而做出改動。

圖2 系統功能流程設計圖
1.3系統功能模塊設計
通過上述流程分析,我們確定了本系統應具備七大功能模塊:體檢登記功能模塊,體檢錄入功能模塊,報告打印功能模塊,費用結算功能模塊,費用核算功能模塊,字典設置功能模塊以及統計查詢功能模塊。考慮到軍區機關醫院主要服務對象的特殊性,以及機關人員體檢與地方人員體檢的區別,在體檢登記、費用結算、成本核算這三個功能模塊中分別設計了部隊與地方兩種操作入口,如圖3所示。

圖3 體檢系統功能模塊設計圖
2系統功能實現
本系統在總體設計上考慮了多種就醫模式,可滿足不同醫療機構的需求,增強了系統的適應性。在系統功能實現上,本系統較原系統更注重提高體檢中心的工作效率以及體檢信息的完整性,改進體檢登記、接口功能,新增科室綜述與體檢建議、成本核算、歷史結果查詢等功能。
2.1體檢登記
部隊人員體檢繳費類型屬于軍免類,不必進行繳費則可進行體檢;地方人員則需根據費別類型繳納相關費用后方可進行體檢。根據部隊與地方人員在體檢收費與信息填寫上的不同需求,體檢登記分別設有部隊體檢登記與地方體檢登記兩個子模塊,子模塊下面都包含有個人體檢登記與團體體檢登記。
團體登記是指體檢者以集體的方式來進行登記體檢,需要登記所在單位的基本信息(名稱、聯系人、聯系電話等),對單位人員的情況進行分組,然后選擇每個分組的體檢項目,當單位人員錄入到該分組時,就給當前人員錄入了該分組包含的體檢項目,可避免重復錄入單位體檢人員的體檢項目。單位體檢人員錄入時,本系統提供了批量導入人員信息和單個錄入人員信息兩種方式,批量導入人員信息可以選擇全部導入與分組導入兩種方式。
2.2科室綜述與體檢建議
體檢科室綜述與體檢建議是體檢報告的核心內容,而實現對體檢結果的自動分析,智能生成科室綜述與體檢建議則是提高體檢工作效率的有效途徑。針對原系統在體檢結果自動分析的設計上沒有綁定體檢結果、體檢異常情況與體檢建議的問題,本系統在數據庫設計上綁定了體檢結果-結果異常判定條件-體檢建議三者的關系,實現了對各項體檢結果的自動分析,提供診斷意見,智能生成科室小結,并根據結果分析給出生活指導和建議,如圖4所示。

圖4 體檢結果異常判別過程
在體檢結果異常判定的設計中,本系統將體檢結果類型分為數值型與字符型,設定項目結果異常的判定條件,通過項目結果與判定條件進行匹配可對體檢結果進行自動分析。數值型的結果采用普通的數值比較法進行判斷,而字符型的結果則采用“最長字符判別法”進行匹配,當項目結果與異常判別條件相匹配時,判斷異常結果成立并寫入科室綜述,同時與異常結果關聯的體檢建議內容也會自動生成。如表1示例,總膽固醇的結果若滿足大于5.8并且小于6.7則判定為“膽固醇偏高(CH)>5.8mmol/L”;甲狀腺的結果若含有腫大,則判定為甲狀腺腫大。

表1 異常結果判別以及建議示例
2.3成本核算
在數據統計中,科室的績效情況是體檢中心管理者較關心的一方面。本系統從管理者的角度設計了成本核算功能模塊,并根據部隊與地方體檢人員的收費差異,設置了兩個子模塊,使得機關醫院能更直觀地了解到部隊建康體檢的開銷情況。管理者進入操作界面后,可選擇月、季、年進行統計,也可以自定義時間段進行統計。系統針對成本核算功能設計了PE_RCPT_RECORD(體檢收款總覽表)與PE_BILL_DETAIL(收款明細表)兩個表結構,用于儲存體檢收費情況。通過獲取界面的搜索條件(部隊、地方、個人、團體、時間段),利用SQL查詢中的SUM函數,對此兩個表進行查詢統計,則可實現成本核算功能。本功能提供表格數據分析以及圖表分析兩種分析視圖,使得統計結果更加直觀可靠。
2.4歷史結果查詢
體檢系統對體檢信息進行信息化管理,通過建立體檢者的個人健康檔案,根據對歷史結果統計分析,有利于更加深入地了解體檢者的健康狀況,尤其對于軍區機關醫院跟蹤部隊首長健康問題能起到關鍵性的作用。系統數據庫針對體檢者體檢信息存儲設計兩個表結構,分別為PE_PATIENT_INFO(體檢者信息表)與PE_MASTER_RECORD(體檢者主記錄表),兩個表為一對多關系,分別儲存體檢者基本信息和每次體檢產生的體檢信息。當體檢者第二次來醫院進行體檢時,PE_PATIENT_INFO則不再增加記錄,只在PE_MASTER_RECORD中增加外鍵記錄。因此通過PE_PATIENT_INFO的主鍵記錄則可查詢該體檢者在醫院進行多次體檢的結果,可實現歷史結果查詢的功能。
本功能模塊采用表格、圖表的形式呈現體檢歷史結果。若體檢結果類型是字符型,歷史結果用表格形式呈現;體檢結果類型是數值型的,則用表格形式與折線圖呈現,其中折線圖如圖5所示。

圖5 歷史結果數據分析模板
2.5接口設計
體檢信息系統不是一個獨立的信息系統,它與醫院的其他信息系統之間存在千絲萬縷的聯系[7]。體檢系統中檢驗信息、檢查信息需要分別與LIS、PACS進行交互,而HIS既是收費申請的處理站又是體檢系統與LIS、PACS交互的橋梁[7,8]。因此,為保證醫院業務的正常運行和醫院信息數據的一致性以及體檢報告的信息的完整性與準確性,需建立體檢系統與HIS、LIS、PACS的接口。
如圖6為本系統接口設計,接口過程分為申請信息的發送與結果信息回傳。申請信息的發送:體檢系統中的收費申請、檢驗申請以及檢查申請需發送到HIS系統中,收費信息在HIS被處理,檢驗申請與檢查申請分別被LIS系統、PACS系統提取。結果信息回傳:收費結果直接從HIS提取并保存到體檢系統數據庫。檢驗結果出來后,由LIS回傳到HIS,再由體檢系統提取至本地數據庫。由于在PACS存儲的檢查結果是大量的圖片信息,為減輕HIS服務器的負載,PACS的影像信息仍舊存在于PACS數據庫中,只有檢查的文字結果信息先回傳至HIS,再回傳到體檢信息系統,而在體檢報告中最后所附的影像圖片仍舊來源于PACS信息系統。

圖6 接口設計示意圖
實現本接口設計的關鍵在于體檢系統如何準確地與HIS、LIS、PACS中的信息進行交互,而準確交互的保證就是體檢系統的收費字典、診療字典等字典信息與HIS、LIS字典信息需做好對照,保持信息一致,原系統申請信息發送出現缺漏情況就是由于字典對照功能不完善。因此,為保證體檢信息可以在各系統傳輸正確,本系統增設了字典對照功能。本系統采用視圖的方式,由HIS、LIS按照需要提供字典對照視圖,把體檢系統的字典記錄的ID與HIS、LIS系統收費字典記錄ID、診療字典記錄ID一一對應,為信息發送的正確性奠定了基礎。而發送申請和回傳結果發生操作時,同樣也是由HIS、LIS等獲取信息的視圖以及接收信息的視圖,然后體檢系統通過建立與各系統數據庫的連接來實現數據的對接。
3系統實現與測試
原軍衛體檢系統界面采用的是Windows2000/XP界面風格,與Win7系統界面不匹配,使得系統美觀性和操作簡易性方面存在不足,且在技術上采用PowerBulder語言、一層架構進行開發,導致了原系統升級與維護的困難。根據上述問題,本系統基于Visualstudio.net平臺的C#WindowsForms[9]技術+Oracle11g數據庫平臺實現系統功能,從界面與系統框架上進行改進,從根本上為功能的實現提供便利。
3.1界面布局
MicrosoftOfficeFluent用戶界面導航欄具有如下優點:(1) 所有功能有組織地集中存放,不再需要查找級聯菜單、工具欄;(2) 提供足夠空間來顯示更多命令;(3) 豐富的命令布局可以幫助用戶更容易地找到重要且常用的功能。本項目應用MicrosoftOfficeFluent設計出具有Win7風格的程序界面,如圖7所示。在導航欄設計中,功能區把命令組織成多組“標簽”,每個應用程序都有一個不同的標簽組,展示了程序所提供的功能,如體檢登記、體檢錄入等,每一組標簽包含了相關的命令,如“體檢登記”包含了 與“個人登記”和 “團體登記”。系統主界面采用左右欄設計,左欄窗提供選擇信息,右欄窗為詳細信息顯示窗與操作窗。本系統界面設計充分利用了界面空間,方便用戶操作,提高了系統的用戶體驗性。

圖7 系統界面截圖
3.2架構搭建
三層C/S架構對易變、核心的業務邏輯以組件的形式加以封裝,在邏輯上將應用分成獨立的三層:用戶表示層、應用邏輯層、數據訪問層,三層間的邏輯劃分明確,使各層間的耦合性降到最低,架構具有較好的靈活性、易維護和可重用性[10]。抽象工廠模式是向客戶提供一個接口,使得客戶在不必指定具體產品類型的情況下,創建多個產品系列中的某個產品對象。通過將抽象工廠模式應用于數據訪問層,并結合反射技術,可以根據需要創建合適的一系列數據訪問使用的對象,降低業務邏輯層和數據訪問層之間的耦合,在一定程度上提高系統的易維護性和可擴展性[11]。
根據上述分析,本系統采用如圖8所示的三層C/S架構+抽象工廠模式,可達到以下優點:(1) 三層架構從邏輯上對代碼進行了分類,使得代碼之間的耦合性降低,更利于系統維護與升級,如當因需求變更需改動表結構時,只需要改動實體層與數據訪問層的少量代碼,并不需要對界面層與業務邏輯層進行改動,避免了原系統牽一發而動全身的代碼改動缺點,大大減輕了開發人員的工作量。(2) 把抽象工廠模式應用到數據訪問層使得系統可適用于多個數據庫平臺的應用,當系統使用的數據庫平臺發生變更時,并不需要重新開發,只需要再建立一套數據訪問使用的對象,增強了系統的適應性。

圖8 工程目錄與三層C/S架構+抽象工廠對照圖
3.3功能測試
本系統得到軍區機關醫院門診部的認可,在該門診部進行測試并投入使用。本系統較原系統在功能上更適合醫護人員的需求,滿足了醫護人員對體檢信息批量錄入、體檢結果快速匹配錄入以及智能輔助診斷的需求。醫護人員測試使用后,對系統的滿意度為90%。對于體檢信息管理而言,由于完善接口設計及增設字典對照功能,使得系統管理員維護字典時更加方便,接口間的字典數據也更準確;PACS接口的增加,使得體檢信息可以獲取以往不能獲取到的圖像信息,保證了體檢信息的圖文完整性。
表2為在門診部進行單位批量錄入以及體檢報告打印的測試數據表。由表中數據可看出,批量錄入功能可以大大提高醫護人員的工作效率;原系統由于字典對照不能及時更新,導致信息準確性不能達到100%,經測試,本系統很好地解決了HIS、LIS、PACS間的交互準確性的問題,信息傳輸準確性可達100%;報告信息方面,原系統由于缺少PACS接口導致報告信息中均缺乏圖像結果信息,本系統增設了PACS很好地解決了原系統報告信息缺失的問題。

表2 單位批量錄入以及體檢報告打印測試結果
4結語
軍衛體檢系統著眼于解決機關干部、家屬、地方單位、個人的體檢信息管理問題。本文為改善原軍衛體檢系統的不足重新開發出本軍衛體檢系統。本系統的主體流程設計、功能實現、實現技術等與原系統相比較實現了質的改變,使得系統在可維護性、可升級性、用戶體檢、界面布局等方面都滿足了現今軍區機關體檢部門的需求。本系統的主要特色是:完善系統主體流程,可適用于軍地人員的體檢與管理;增設PACS接口,保證了體檢者體檢信息的圖文完整性;基于Visualstudio.net平臺的C#WindowsForms技術實現系統功能,使得開發人員編碼更加得心應手;Win7界面風格和MicrosoftOfficeFluent用戶界面導航欄風格,使得系統用戶體驗性得到了很大的升級;三層C/S架構+抽象工廠模式降低代碼之間的耦合性,系統升級與維護容易,并可適用于不同的數據庫平臺。目前本系統已在軍區機關醫院門診部進行測試運行,并取得了良好的效果。
參考文獻
[1] 王麗霞.基于B/S模式的孕婦兒童體檢系統的設計與實現[J].計算機應用與軟件,2013,30(10):223-225,242.
[2]FangFang,GeYaowu,ZhangMingyu.OnDesignandDevelopmentofHealthExaminationSystem[J].ValueEngineering,2014(22):219-220.
[3] 王劍,于淼.PACS系統概述[J].生物技術世界,2014(2):196.
[4] 吳勝斌.基于.NET框架的駕駛員體檢系統的開發及實現[J].電腦開發與應用,2014(1):68-70.
[5] 遲琳琳.基于HIS的健康體檢信息系統的設計與應用[D].內蒙古:內蒙古大學,2011.
[6] 申利民,王俊飛,楊永濤.面向用戶的柔點柔變范圍定量度量技術研究[J].計算機集成制造系統,2010,20(10):2617-2631.
[7] 王浩,周芃,李碩.醫院體檢信息系統與HIS,PACS,LIS系統的銜接與應用[J].電腦知識與技術,2012,36(35):8341-8342.
[8] 李彩明,白帆,李衛元.體檢信息系統與HIS收費接口的分析和設計[J].計算機與現代化,2011(8):77-80.
[9]ErikBrown.WindowsForms編程實戰[M].北京:機械工業出版社,2008.
[10] 宗梅,馬小平.基于.NET的三層client/server結構及其應用[J].計算機工程與設計,2005,26(2):520-522.
[11] 魏一搏,郭友.抽象工廠模式在.NET數據訪問層中的應用[J].信息系統工程,2010(2):62-63.
DESIGN AND IMPLEMENTATION OF MILITARY HEALTH EXAMINATIONINFORMATIONSYSTEMBASEDON.NET
Lu YanqinFu Rong*
(School of Biomedical Engineering,Southern Medical University,Guangzhou 510515,Guangdong,China)
AbstractIn the light of the existing Military Health Examination Information System fails to satisfy the requirement of the health examination of military medical departments, a .NET-based solution is proposed. In the overall design, considering of various medical treatment modes, the system firstly provides two operating entrances for both military and local health examination to meet the needs of various medical institutions and enhances the adaptability of the system. In the implementation, focusing on improving both working efficiency of medical examination center and the integrity of health examination information, the system then adds several functions such as intelligence analysis of physical examination results, PACS interface in order to standardize the management of the military health archives and lead the system to a good practical value. In the system architecture, the system finally adopts the C/S three-tier structure and abstract factory pattern to reduce the coupling between codes and improve the maintainability of the system.
KeywordsMilitary Health Examination Information System.NETPACS interfaceC/S three-tier structure and abstract factory pattern
收稿日期:2015-07-09。廣東省科技計劃項目(2013B0404010 08)。陸燕琴,碩士生,主研領域:醫院信息系統研發。傅蓉,副教授。
中圖分類號TP3
文獻標識碼A
DOI:10.3969/j.issn.1000-386x.2016.06.022