張曉煜
(西藏民族大學(xué)信息工程學(xué)院,陜西 咸陽 712082)
日喀則市薩嘎縣位于喜馬拉雅山北麓,岡底斯山脈以南,雅江上游,全縣總面積約為1.25 萬平方公里,占日喀則地區(qū)總面積的11.6%,距日喀則市區(qū)約450 公里,平均海拔4 600 米以上[1-2].
國家高度重視西藏地區(qū)各族人民的民生問題,進一步完善醫(yī)療服務(wù)體系是民生工作的重點[3],六年來縣域內(nèi)就診率從47.8%提高到80%[4].深入開展包蟲病、結(jié)核病等傳染病防治,累計篩查14 170 人[5],2021年城鄉(xiāng)居民醫(yī)療保險參保率達到97.2%[6].薩嘎縣現(xiàn)設(shè)7 鄉(xiāng)1 鎮(zhèn),即:昌果鄉(xiāng)、拉藏鄉(xiāng)、雄如鄉(xiāng)、達吉嶺鄉(xiāng)、如角鄉(xiāng)、旦噶鄉(xiāng)、夏如鄉(xiāng)、加加鎮(zhèn),各鄉(xiāng)衛(wèi)生院均為鄉(xiāng)一級綜合醫(yī)院,患者門診就醫(yī)仍沿用傳統(tǒng)方式.以昌果鄉(xiāng)衛(wèi)生院為例,現(xiàn)有醫(yī)師4 名、護士3 名,可以滿足居民(農(nóng)牧民群眾、個體商戶、外來務(wù)工人員、外來常駐人員、鄉(xiāng)村兩級干部)一般疾病(高血壓、關(guān)節(jié)病、附件炎、小兒肺炎、感冒發(fā)燒)的就診和治療[2],但目前門診的醫(yī)療信息化程度有待進一步提升.
醫(yī)院的門診部門處于醫(yī)院服務(wù)系統(tǒng)中至關(guān)重要的位置[7],是患者就醫(yī)的第一步.以薩嘎縣昌果鄉(xiāng)衛(wèi)生院為例,其傳統(tǒng)的門診就醫(yī)過程簡略描述為:患者到達門診后,第一步先掛號,根據(jù)掛號情況在不同科室問診.在問診環(huán)節(jié)中,根據(jù)病患的病情,如需入院治療則進入住院管理,直至患者康復(fù)離院;如需進一步檢測以佐證患者病癥,則需進一步檢測,待檢測結(jié)果出來后再次問診;如果無須檢測則判斷是否開藥,如果無須開藥則直接書寫醫(yī)囑,病患拿著醫(yī)囑離院,如須開藥則進入門診費用環(huán)節(jié)繳費后門診藥房取藥,患者離院.依據(jù)此門診就醫(yī)流程,鄉(xiāng)衛(wèi)生院門診業(yè)務(wù)流程圖如下圖1所示:
圖1 薩嘎縣鄉(xiāng)衛(wèi)生院門診業(yè)務(wù)流程圖Fig.1 Outpatient business flow chart of Saga county health center
根據(jù)前期調(diào)研所取得薩嘎縣鄉(xiāng)衛(wèi)生院近三年來得的就診信息(以昌果鄉(xiāng)為例)以及需求分析,確定鄉(xiāng)衛(wèi)生院門診管理系統(tǒng)的設(shè)計目標(biāo)如下[8]:
1)支持多費用類別、多種結(jié)算方式為患者提供方便快捷的服務(wù);
2)提供門診病案功能,可對病人的詳細(xì)信息及過敏史進行登記;
3)為患者生成電子病歷,方便醫(yī)生后續(xù)問診時快速了解患者的病情;
4)后臺數(shù)據(jù)經(jīng)過相應(yīng)的字符編碼轉(zhuǎn)換,通過鼠標(biāo)事件實現(xiàn)藏語與漢語之間的切換,方便當(dāng)?shù)卮蟛糠种欢卣Z的老百姓看懂醫(yī)囑和病歷.
本系統(tǒng)包括患者、門診醫(yī)生以及門診藥房等實體,以門診醫(yī)生為例,功能用例包括以下4 個功能需求[9],如圖2所示:
圖2 門診醫(yī)生用例圖Fig.2 Outpatient doctor sample diagram
1)問診病患查詢:門診醫(yī)生通過就診號建立問診病患列表,通過此表選擇病患,導(dǎo)出既往病歷,進入日常工作;
2)藥品信息查詢:門診醫(yī)生可以實現(xiàn)對門診藥房庫存藥品信息的查詢功能,如藥品名稱、庫存數(shù)量、生成廠家等信息;
3)錄入診斷處方:門診醫(yī)生根據(jù)病患的癥狀開具醫(yī)囑、處方;
4)建立或修改電子病歷:門診醫(yī)生能夠?qū)Σ』嫉木驮\情況例如病史、診斷結(jié)論、處方信息等進行必要的數(shù)據(jù)記錄保存在數(shù)據(jù)庫系統(tǒng)中.
在此框架中,客戶端請求發(fā)送到前端控制器.控制器根據(jù)配置文件與后端控制器映射器交互.請求并確定相對應(yīng)的視圖后,通過模型從數(shù)據(jù)庫提取數(shù)據(jù)進行處理.最后生成處理結(jié)果視圖,并把處理數(shù)據(jù)的結(jié)果視圖返回給用戶[10],如圖3所示:
圖3 框架劃分圖Fig.3 Framework partition graph
系統(tǒng)功能模塊設(shè)計為“系統(tǒng)管理”“門診醫(yī)生”“門診費用”“門診藥房”四部分,各功能模塊之間的層次關(guān)系如圖4所示[11]:
圖4 系統(tǒng)模塊圖Fig.4 System module diagram
各模塊所實現(xiàn)的功能如下:
1)系統(tǒng)管理
系統(tǒng)管理主要分為“掛號設(shè)置”“員工管理”“數(shù)據(jù)庫備份”“數(shù)據(jù)恢復(fù)”四個子模塊.掛號設(shè)置實現(xiàn)患者普通掛號及醫(yī)療卡辦理功能;員工管理實現(xiàn)將所有在冊員工姓名、工號和其在系統(tǒng)中施加操作相勾連的功能;數(shù)據(jù)庫備份實現(xiàn)系統(tǒng)日備份功能,及時將當(dāng)日就診信息存儲在本地服務(wù)器中,避免信息丟失所造成的損失;數(shù)據(jù)恢復(fù)當(dāng)非法操作導(dǎo)致信息丟失時及時利用備份數(shù)據(jù)實現(xiàn)恢復(fù)[12].
2)門診醫(yī)生
門診醫(yī)生模塊主要分為“選病人”“看病史”“開藥”三個子模塊.當(dāng)前掛號病人可能不唯一,選病人模塊實現(xiàn)根據(jù)患者姓名或醫(yī)療卡號鎖定問診患者的功能,看病史模塊實現(xiàn)查看患者既往病史的功能,開藥模塊實現(xiàn)醫(yī)囑、處方功能.
3)門診費用
門診費用主要分為“門診日結(jié)”“門診個人結(jié)算”及“門診退費”三個模塊.門診日結(jié)實現(xiàn)每日費用結(jié)算,何人結(jié)賬、何時結(jié)賬等信息體現(xiàn)得一清二楚;門診個人結(jié)算實現(xiàn)患者繳費后,若需發(fā)票,就診結(jié)束時可在“門診個人結(jié)算”菜單下打印發(fā)票的功能;“門診退費”實現(xiàn)患者因情況有變等需要清退未做的檢查費以及未打開包裝的藥品等.
4)門診藥房
門診藥房主要分為“藥品入庫”“藥品查看”及“藥品出庫”三個子模塊.藥品入庫需要在系統(tǒng)里登記藥品入庫時間、生產(chǎn)日期、數(shù)量等信息[13],藥品查看實現(xiàn)所有在庫藥品的實時數(shù)據(jù)查閱功能,藥品出庫主要實現(xiàn)患者取藥后,庫存藥品數(shù)量的刪減功能.
2.3.1 門診系統(tǒng)的E-R 圖設(shè)計
在需求分析的基礎(chǔ)上對系統(tǒng)進行詳細(xì)設(shè)計,將用戶視角中的數(shù)據(jù)信息以實體邏輯的形式呈現(xiàn)[14].E-R圖包含三部分:實體-屬性-以及它們之間的關(guān)系,本文所設(shè)計的門診管理系統(tǒng)中, 四個主要實體分別為:門診醫(yī)生實體、病患實體、門診藥房實體以及門診費用實體.門診系統(tǒng)E-R 圖如下圖5所示,其中門診醫(yī)生實體和病患實體之間是多對多的門診關(guān)系,門診醫(yī)生實體和門診藥房實體之間亦是多對多的關(guān)系,病患實體和門診費用實體之間是一對多的關(guān)系.
病患實體的屬性包括:病患姓名、性別、住址、既往病史、就診號、聯(lián)系方式;門診醫(yī)生實體屬性包括:醫(yī)生ID、姓名、登錄密碼、性別、所屬科室、聯(lián)系電話;門診藥房實體屬性包括:藥品編號、藥品名稱、庫存信息、生成廠家、入庫時間、藥品售價、藥品類別;門診費用實體屬性包括:掛號費、檢查費、醫(yī)藥費.
2.3.2 系統(tǒng)主要數(shù)據(jù)庫表的設(shè)計
客觀世界里的信息反映到人腦中,經(jīng)大腦的識別、分析后再次轉(zhuǎn)變?yōu)榭陀^存在的信息,這一過程具體到軟件開發(fā)就涉及到數(shù)據(jù)庫表的設(shè)計[15].本系統(tǒng)的主要數(shù)據(jù)庫表包括以下6 張表,分別為:
1)病患表
病患數(shù)據(jù)表主要記錄病患基本信息,具體表述為病患姓名、性別、住址、既往病史、就診號、聯(lián)系方式共六個字段,如表1所示:
表1 病患表Table 1 Patient information
2)門診醫(yī)生表
門診醫(yī)生數(shù)據(jù)表主要記錄門診醫(yī)生基本信息,具體表述為醫(yī)生ID、姓名、登錄密碼、性別、所屬科室、聯(lián)系電話共六個字段,如表2所示:
表2 門診醫(yī)生表Table 2 Outpatient doctor information
3)門診藥房表
門診藥房數(shù)據(jù)表主要記錄門診藥房基本信息,具體表述為藥品編號、藥品名稱、庫存信息、生成廠家、入庫時間、藥品售價、藥品類別共七個字段,如表3所示:
表3 門診藥房表Table 3 Outpatient pharmacy information
4)門診問診表、醫(yī)生開藥表、患者繳費表
門診問診數(shù)據(jù)表主要記錄問診時基本信息,具體表述為患者姓名、就診號、問診時間、患者自述共四個字段.醫(yī)生開藥數(shù)據(jù)表主要記錄處方藥品基本信息,具體表述為藥品名稱、藥品編號、處方時間、醫(yī)生ID、藥品類別、病患ID 共五個字段.患者繳費表主要記錄患者問診費用及明細(xì),具體表述為患者姓名、就診號、檢查費、藥費共四個字段.
從可讀性、可維護性和擴展性等方面綜合考慮,系統(tǒng)采用C# 作為主要的開發(fā)語言,用于實現(xiàn)系統(tǒng)的前端界面和后端邏輯處理.同時,為確保系統(tǒng)的質(zhì)量和可靠性也采用了敏捷開發(fā)和測試驅(qū)動開發(fā)等方法.系統(tǒng)數(shù)據(jù)庫的選取從可擴展性、可靠性和安全性考慮系統(tǒng)采用Microsoft SQL Server 作為數(shù)據(jù)庫管理系統(tǒng).
門診系統(tǒng)的運行CPU 最低要求為雙核,集成顯卡即可,運行內(nèi)存4 G(包括4 G)以上,硬盤需要256 G(包括256 G)以上,系統(tǒng)的運行軟件為Windows7(包括Windows7)以上.
門診管理系統(tǒng)是一個多用戶系統(tǒng),本項目分別從系統(tǒng)運行速度、系統(tǒng)負(fù)載能力、數(shù)據(jù)庫等方面分別使用白盒法、黑盒法進行了測試,每項測試通過反復(fù)測試次數(shù)不少于100 組數(shù)據(jù)來最終確定整個系統(tǒng)可以正常運行.
下圖6 是系統(tǒng)主要界面的展示,界面簡潔,功能正確,系統(tǒng)運行正常.
圖6 系統(tǒng)主要功能界面截圖Fig.6 System main function interface
本文依據(jù)西藏自治區(qū)日喀則市薩嘎縣各鄉(xiāng)衛(wèi)生院目前的就診現(xiàn)狀,本著“功能越強大,操作越簡單”的原則,從簡化患者就醫(yī)流程、使患者就醫(yī)更加方便快捷的理念出發(fā)實現(xiàn)鄉(xiāng)衛(wèi)生院門診管理系統(tǒng)的設(shè)計與開發(fā).經(jīng)測試薩嘎縣鄉(xiāng)衛(wèi)生院門診管理系統(tǒng)達到了設(shè)計要求,能滿足當(dāng)?shù)乩习傩占搬t(yī)務(wù)人員的需求.