延安大學附屬醫院 網絡管理科,陜西 延安 716000
醫院骨密度數據管理系統的設計與實現
馮海云,周紅濤
延安大學附屬醫院 網絡管理科,陜西 延安 716000
目的開發醫院骨密度數據管理系統,用于科學管理患者的骨密度數據。方法采用VFP9.0開發醫院骨密度數據庫系統。系統主要由登錄界面、數據的維護及查詢模塊、數據統計模塊等組成。結果該數據庫系統能方便地對病人骨密度數據進行存儲、查找、統計和分析,極大地提高了使用者的工作效率。結論該數據庫系統可以滿足臨床、科研和教學的要求。
醫院骨密度數據管理系統;骨密度數據庫;骨質疏松
醫院對病人骨密度數據的管理通常采用紙質的資料,或者存儲在電腦的Excel表里,需手工來查找相關數據,這種傳統的方式非常不方便,效率低下。當數據量較大時,對數據查找非常困難,且很難對數據進行需要的計算和統計。數據庫是按照數據結構來組織、存儲和管理數據的倉庫,把病人的骨密度數據保存到數據庫中是非常必要的。為此,我們設計和實現了醫院骨密度數據管理系統[1-2],以較好地解決上述問題。
根據臨床需求,本系統設計的功能模塊結構,見圖1。數據瀏覽模塊可以快速地瀏覽數據庫里的所有數據,但不可以增加、刪除、更改數據;查詢數據模塊可以根據病人姓名、性別和年齡段進行快速查詢;維護數據模塊可以向數據庫中增加、刪除和修改病人的數據信息;統計數據模塊可以根據性別、年齡段、地域來計算骨密度各項數據的均值和標準差,統計相關人數;修改密碼模塊可用于用戶修改密碼,為系統安全提供保障;幫助模塊提供版本、單位和開發者的信息,便于系統的升級和維護;退出系統模塊可以對退出系統進行確認,以防誤操作[3]。

圖1 系統功能模塊結構圖
2.1 登錄界面
系統啟動后,首先出現的是登錄界面,見圖2。輸入用戶名和密碼,進入系統的主菜單。如果3次輸入密碼錯誤,系統將會從登錄界面自動退出,不再允許用戶登錄[4]。在系統登錄表單的“load”過程中寫入下列代碼:
public n &&定義全局變量
n=0
use login.dbf &&打開存儲用戶名和密碼的表
go top

圖2 系統登錄界面圖
在“確定”按鈕的“click”過程中添加如下代碼:
n=n+1 &&n為全局變量初值為0 ,控制密碼輸入的次數
IF allt(Text2.value)=allt(login.password).and.allt(Text1. value)=allt(login.name)
do 菜單1.mpr &&如果用戶名和密碼正確,就調出主菜單
_screen.visible=.t.
thisform.release
ELSE &&否則提示錯誤信息
if n>=3
=messagebox("你不是合法用戶!你不能使用!!"64"提示窗口")
thisform.release
Clear events
else
=messagebox("口令不正確!請重新輸入!"64"提示窗口")
thisform.Text2.value=''
thisform.Text2.setfocus()
endif
ENDIF
2.2 數據的維護及查詢
數據維護功能可以向數據庫中增加、刪除和修改病人的骨密度數據,屬于對數據庫的常規操作,較容易實現[5]。數據查詢功能要求根據病人的姓名、性別和年齡段進行自由組合查詢,查詢界面,見圖3。“查找”按鈕的主要代碼如下:
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 數據查詢界面圖
2.3 數據統計
在該功能模塊中,可以根據病人的性別、年齡段、地域等組合條件來計算骨密度數據L2_4、L2、L3、L4的均值和標準差,見圖4。

圖4 骨密度數據統計界面圖
直接調用average函數就可以完成均值的計算,但在計算標準差就比較困難。標準差是方差的算術平方根,因此在計算標準差之前必須先計算方差,方差=[(x1-x)^2 +(x2-x)^2 +......(xn-x)^2]/n (x為平均數),在程序中用一個循環來實現[6]。計算椎骨密度L2_4標準差的關鍵代碼如下:
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 &&獲得記錄的總數
copy to array b fields L2_4 &&把L2_4數據拷貝到數組b中
s=0
do while T>0 &&通過循環來求平方和
s=s+(b(T)-C1)*(b(T)-C1)
T=T-1
enddo
count to T
s=s/(T-1) &&計算方差
sq1=sqrt(s) &&計算標準差
…
thisform.Text5.value=sq1 &&在表單的文本框內顯示計算結果
thisform.Text6.value=sq2
thisform.Text7.value=sq3
thisform.Text8.value=sq4
thisform.refresh
當選定年齡范圍、住址、性別等條件后 ,點擊“均值”按鈕就會計算出符合條件的所有人的骨密度參數L2_4、L2、L3、L4的平均值,然后再點擊“標準差”按鈕就可以計算出相應的標準差值。
骨密度數據管理系統采用Visual FoxPro9.0開發完成,系統具有很強的穩定性,減少了數據的冗余,提高了數據計算的效率,極大地方便了對數據查詢和統計。實踐證明,該系統可以滿足臨床、科研、教學的需求。
[1] 王珊,薩師煊.數據庫系統概論[M].4版.北京:高等教育出版社,2006.
[2] 嚴冬梅.數據庫原理[M].北京:清華大學出版社,2011.
[3] 何玉潔,劉福剛.數據庫原理及應用[M].2版.北京:人民郵電出版社,2012.
[4] 張洪舉.Visual FoxPro軟件開發模式與應用案例[M].北京:人民郵電出版社,2005.
[5] 明日科技.Visual FoxPro管理信息系統完整項目實例剖析[M].北京:人民郵電出版社,2005.
[6] 盛驟,謝式千,潘承毅.概率論與數理統計[M].4版.北京:高等教育出版社,2010.
[7] 郭國斌,和欽安,楊保衛,等.我院健康體檢系統的設計與開發[J].中國醫療設備,2012,27(9):69-71.
[8] 姜鑫.生物信息學數據庫及其利用方法[J].現代情報,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