延安大學(xué)附屬醫(yī)院 網(wǎng)絡(luò)管理科,陜西 延安 716000
醫(yī)院骨密度數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
馮海云,周紅濤
延安大學(xué)附屬醫(yī)院 網(wǎng)絡(luò)管理科,陜西 延安 716000
目的開發(fā)醫(yī)院骨密度數(shù)據(jù)管理系統(tǒng),用于科學(xué)管理患者的骨密度數(shù)據(jù)。方法采用VFP9.0開發(fā)醫(yī)院骨密度數(shù)據(jù)庫系統(tǒng)。系統(tǒng)主要由登錄界面、數(shù)據(jù)的維護(hù)及查詢模塊、數(shù)據(jù)統(tǒng)計(jì)模塊等組成。結(jié)果該數(shù)據(jù)庫系統(tǒng)能方便地對(duì)病人骨密度數(shù)據(jù)進(jìn)行存儲(chǔ)、查找、統(tǒng)計(jì)和分析,極大地提高了使用者的工作效率。結(jié)論該數(shù)據(jù)庫系統(tǒng)可以滿足臨床、科研和教學(xué)的要求。
醫(yī)院骨密度數(shù)據(jù)管理系統(tǒng);骨密度數(shù)據(jù)庫;骨質(zhì)疏松
醫(yī)院對(duì)病人骨密度數(shù)據(jù)的管理通常采用紙質(zhì)的資料,或者存儲(chǔ)在電腦的Excel表里,需手工來查找相關(guān)數(shù)據(jù),這種傳統(tǒng)的方式非常不方便,效率低下。當(dāng)數(shù)據(jù)量較大時(shí),對(duì)數(shù)據(jù)查找非常困難,且很難對(duì)數(shù)據(jù)進(jìn)行需要的計(jì)算和統(tǒng)計(jì)。數(shù)據(jù)庫是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫,把病人的骨密度數(shù)據(jù)保存到數(shù)據(jù)庫中是非常必要的。為此,我們?cè)O(shè)計(jì)和實(shí)現(xiàn)了醫(yī)院骨密度數(shù)據(jù)管理系統(tǒng)[1-2],以較好地解決上述問題。
根據(jù)臨床需求,本系統(tǒng)設(shè)計(jì)的功能模塊結(jié)構(gòu),見圖1。數(shù)據(jù)瀏覽模塊可以快速地瀏覽數(shù)據(jù)庫里的所有數(shù)據(jù),但不可以增加、刪除、更改數(shù)據(jù);查詢數(shù)據(jù)模塊可以根據(jù)病人姓名、性別和年齡段進(jìn)行快速查詢;維護(hù)數(shù)據(jù)模塊可以向數(shù)據(jù)庫中增加、刪除和修改病人的數(shù)據(jù)信息;統(tǒng)計(jì)數(shù)據(jù)模塊可以根據(jù)性別、年齡段、地域來計(jì)算骨密度各項(xiàng)數(shù)據(jù)的均值和標(biāo)準(zhǔn)差,統(tǒng)計(jì)相關(guān)人數(shù);修改密碼模塊可用于用戶修改密碼,為系統(tǒng)安全提供保障;幫助模塊提供版本、單位和開發(fā)者的信息,便于系統(tǒng)的升級(jí)和維護(hù);退出系統(tǒng)模塊可以對(duì)退出系統(tǒng)進(jìn)行確認(rèn),以防誤操作[3]。
圖1 系統(tǒng)功能模塊結(jié)構(gòu)圖
2.1 登錄界面
系統(tǒng)啟動(dòng)后,首先出現(xiàn)的是登錄界面,見圖2。輸入用戶名和密碼,進(jìn)入系統(tǒng)的主菜單。如果3次輸入密碼錯(cuò)誤,系統(tǒng)將會(huì)從登錄界面自動(dòng)退出,不再允許用戶登錄[4]。在系統(tǒng)登錄表單的“l(fā)oad”過程中寫入下列代碼:
public n &&定義全局變量
n=0
use login.dbf &&打開存儲(chǔ)用戶名和密碼的表
go top
圖2 系統(tǒng)登錄界面圖
在“確定”按鈕的“click”過程中添加如下代碼:
n=n+1 &&n為全局變量初值為0 ,控制密碼輸入的次數(shù)
IF allt(Text2.value)=allt(login.password).and.allt(Text1. value)=allt(login.name)
do 菜單1.mpr &&如果用戶名和密碼正確,就調(diào)出主菜單
_screen.visible=.t.
thisform.release
ELSE &&否則提示錯(cuò)誤信息
if n>=3
=messagebox("你不是合法用戶!你不能使用??!"64"提示窗口")
thisform.release
Clear events
else
=messagebox("口令不正確!請(qǐng)重新輸入!"64"提示窗口")
thisform.Text2.value=''
thisform.Text2.setfocus()
endif
ENDIF
2.2 數(shù)據(jù)的維護(hù)及查詢
數(shù)據(jù)維護(hù)功能可以向數(shù)據(jù)庫中增加、刪除和修改病人的骨密度數(shù)據(jù),屬于對(duì)數(shù)據(jù)庫的常規(guī)操作,較容易實(shí)現(xiàn)[5]。數(shù)據(jù)查詢功能要求根據(jù)病人的姓名、性別和年齡段進(jìn)行自由組合查詢,查詢界面,見圖3?!安檎摇卑粹o的主要代碼如下:
if thisform.optiongroup1.value=1 &&判斷是否只按年齡范圍查找
CC1=val(ALLTRIM(THISFORM.Text1.VALUE))
CC2=val(ALLTRIM(THISFORM.Text2.VALUE))
CC4=ALLTRIM(THISFORM.Combo1.DisplayValue)
SET FILT TO 年齡>=CC1 and 年齡<=CC2 and 性別
=CC4
GO TOP
thisform.refresh
else &&只按照給定的姓名查找
CC3=ALLTRIM(THISFORM.Text3.VALUE)
set filt to 姓名=CC3
go top
thisform.refresh
endif
圖3 數(shù)據(jù)查詢界面圖
2.3 數(shù)據(jù)統(tǒng)計(jì)
在該功能模塊中,可以根據(jù)病人的性別、年齡段、地域等組合條件來計(jì)算骨密度數(shù)據(jù)L2_4、L2、L3、L4的均值和標(biāo)準(zhǔn)差,見圖4。
圖4 骨密度數(shù)據(jù)統(tǒng)計(jì)界面圖
直接調(diào)用average函數(shù)就可以完成均值的計(jì)算,但在計(jì)算標(biāo)準(zhǔn)差就比較困難。標(biāo)準(zhǔn)差是方差的算術(shù)平方根,因此在計(jì)算標(biāo)準(zhǔn)差之前必須先計(jì)算方差,方差=[(x1-x)^2 +(x2-x)^2 +......(xn-x)^2]/n (x為平均數(shù)),在程序中用一個(gè)循環(huán)來實(shí)現(xiàn)[6]。計(jì)算椎骨密度L2_4標(biāo)準(zhǔn)差的關(guān)鍵代碼如下:
local s,sq1,sq2,sq3,sq4,C1,C2,C3,C4,T &&定義需要的變量
C1=thisform.Text1.value
C2=thisform.Text2.value
C3=thisform.Text3.value
C4=thisform.Text4.value
count to T &&獲得記錄的總數(shù)
copy to array b fields L2_4 &&把L2_4數(shù)據(jù)拷貝到數(shù)組b中
s=0
do while T>0 &&通過循環(huán)來求平方和
s=s+(b(T)-C1)*(b(T)-C1)
T=T-1
enddo
count to T
s=s/(T-1) &&計(jì)算方差
sq1=sqrt(s) &&計(jì)算標(biāo)準(zhǔn)差
…
thisform.Text5.value=sq1 &&在表單的文本框內(nèi)顯示計(jì)算結(jié)果
thisform.Text6.value=sq2
thisform.Text7.value=sq3
thisform.Text8.value=sq4
thisform.refresh
當(dāng)選定年齡范圍、住址、性別等條件后 ,點(diǎn)擊“均值”按鈕就會(huì)計(jì)算出符合條件的所有人的骨密度參數(shù)L2_4、L2、L3、L4的平均值,然后再點(diǎn)擊“標(biāo)準(zhǔn)差”按鈕就可以計(jì)算出相應(yīng)的標(biāo)準(zhǔn)差值。
骨密度數(shù)據(jù)管理系統(tǒng)采用Visual FoxPro9.0開發(fā)完成,系統(tǒng)具有很強(qiáng)的穩(wěn)定性,減少了數(shù)據(jù)的冗余,提高了數(shù)據(jù)計(jì)算的效率,極大地方便了對(duì)數(shù)據(jù)查詢和統(tǒng)計(jì)。實(shí)踐證明,該系統(tǒng)可以滿足臨床、科研、教學(xué)的需求。
[1] 王珊,薩師煊.?dāng)?shù)據(jù)庫系統(tǒng)概論[M].4版.北京:高等教育出版社,2006.
[2] 嚴(yán)冬梅.?dāng)?shù)據(jù)庫原理[M].北京:清華大學(xué)出版社,2011.
[3] 何玉潔,劉福剛.?dāng)?shù)據(jù)庫原理及應(yīng)用[M].2版.北京:人民郵電出版社,2012.
[4] 張洪舉.Visual FoxPro軟件開發(fā)模式與應(yīng)用案例[M].北京:人民郵電出版社,2005.
[5] 明日科技.Visual FoxPro管理信息系統(tǒng)完整項(xiàng)目實(shí)例剖析[M].北京:人民郵電出版社,2005.
[6] 盛驟,謝式千,潘承毅.概率論與數(shù)理統(tǒng)計(jì)[M].4版.北京:高等教育出版社,2010.
[7] 郭國(guó)斌,和欽安,楊保衛(wèi),等.我院健康體檢系統(tǒng)的設(shè)計(jì)與開發(fā)[J].中國(guó)醫(yī)療設(shè)備,2012,27(9):69-71.
[8] 姜鑫.生物信息學(xué)數(shù)據(jù)庫及其利用方法[J].現(xiàn)代情報(bào),2005,(6): 185-187.
Design and Implementation of Data Management System of Bone Density in the Hospitals
FENG Hai-yun, ZHOU Hong-tao
Department of Network Management, Yanan University Affiliated Hospital, Yan’an Shaanxi 716000, China
ObjectiveTo develop the data management system of bone density to manage bone density data of patients for hospitals.MethodsUsing VFP9.0 development software to develop the system which includes modules such as logon screen, data maintenance and query and data statistics.ResultsBone density data of patients can be stored, searched, counted and analyzed through this system so that the user's work efficiency can be improved greatly.ConclusionThe system can meet the clinical, scientific research and teaching requirements.
data management system of bone density for hospitals; bone density database; osteoporosis
TP392
A
10.3969/j.issn.1674-1633.2013.09.014
1674-1633(2013)09-0042-03
2013-04-03
2013-07-19
本文作者:馮海云,工程師。
作者郵箱:fhy_mail@qq.com