皇甫立夏,陸宇宏,朱泉杰,楊 敏,龔 鳴(南通大學(xué)附屬醫(yī)院 信息科,江蘇南通226001)
?
基于ASP.NET的超聲科工作量統(tǒng)計軟件設(shè)計與實現(xiàn)
皇甫立夏,陸宇宏,朱泉杰,楊敏,龔鳴
(南通大學(xué)附屬醫(yī)院信息科,江蘇南通226001)
〔摘要〕目的:本文介紹了作者所在醫(yī)院超聲科信息系統(tǒng)(Ultrasonic Information System,UIS)的現(xiàn)狀和需求,并闡述了利用ASP.NET技術(shù)如何開發(fā)醫(yī)院超聲科工作量查詢統(tǒng)計程序,最終實現(xiàn)超聲科工作量查詢統(tǒng)計工作高效完成。
〔關(guān)鍵詞〕ASP.NET;UIS;醫(yī)院
我院超聲信息系統(tǒng)(Ultrasonic Information System,UIS)于2009年投入使用,系統(tǒng)穩(wěn)定高效基本能滿足需求。工作量查詢統(tǒng)計功能是很重要的,雖然此系統(tǒng)也具備,但是超聲科室反映操作上比較繁瑣,希望能改進(jìn)此項功能為科室?guī)砉ぷ魃系谋憷?/p>
1.1系統(tǒng)分析
超聲科每個檢查室都有計算機(jī),故本系統(tǒng)采用B/S結(jié)構(gòu)較為合適,在每個診室都可以查詢工作量。超聲信息系統(tǒng)(UIS)使用的數(shù)據(jù)庫是微軟公司的SQL Server2005,本次開發(fā)的統(tǒng)計系統(tǒng)在此數(shù)據(jù)庫基礎(chǔ)上做開發(fā),為了保證數(shù)據(jù)的安全性,本系統(tǒng)只做數(shù)據(jù)庫的查詢不做寫入操作,開發(fā)語言選擇ASP.NET,開發(fā)工具Visual Studio 2008。登錄賬號使用UIS數(shù)據(jù)庫用戶和密碼驗證,驗證通過后進(jìn)入系統(tǒng)。
1.2模塊設(shè)計
(1)可以查詢每位醫(yī)生的各種檢查類型的數(shù)量及總價;
(2)可以查詢每位醫(yī)生所有檢查類型的總數(shù)量和總費用;
(3)可以查詢整個科室檢查的總數(shù)量和總費用;
(4)超聲介入室作為獨立模塊也具備上述功能;
(5)具備檢查類型的二級調(diào)用功能,列出這個檢查類型的所有病人。
2.1在web.config里添加cmis數(shù)據(jù)庫
2.2新建DBHelper類并獲得本地數(shù)據(jù)庫連接
static string connString = ConfigurationManager. ConnectionStrings["conn"].ConnectionString
3.1以查詢整個科室所有檢查為例,在頁面GzltjAll.aspx添加GridView控件,GridView控件通過數(shù)據(jù)源控件與數(shù)據(jù)庫綁定,從而獲取數(shù)據(jù)之后在表格中顯示,具體代碼如下:
public static List
{
string sql = @"select case when(grouping(RITB2. YSXM)=1) then '總計'
else isnull(RITB2.YSXM,'unknown') end as YSXM,
case when(grouping(RITB1.SQMD)=1 and grouping (RITB2.YSXM)=0) then '合計'
when(grouping(RITB2.YSXM)=1 and grouping(RITB1. SQMD)=1) then ''
else isnull(RITB1.SQMD,'unknown') end as SQMD
,count(*)as num,sum(ExamFee) as CHARGE from RITB1,RITB2
where RITB1.DJH1=RITB2.DJH1 and RITB2.ReportedDate>='" + DateBegin + "' and RITB2.ReportedDate<='" + DateEnd + "'group by RITB2.YSXM,RITB1.SQMD with rollup";/*YSXM:醫(yī)生姓名;RITB*表是UIS數(shù)據(jù)庫報告信息表;DJH*字段是RITB*表的主Key;ReportedDate:報告日期;總計:所有醫(yī)生的所有檢查的總計;合計:單個醫(yī)生的所有檢查類型的匯總*/
SqlDataReader reader = DBHelper.GetReader(sql);
List
while (reader.Read())
{
Gzltj gzltj = new Gzltj();
gzltj.Ysxm = reader["YSXM"].ToString();/*Ysxm:醫(yī)生姓名*/
gzltj.Sqmd = reader["SQMD"].ToString();/*Sqmd:檢查類型*/
gzltj.Sum = Convert.ToInt32(reader["num"]);/*Sum:檢查的數(shù)量*/
gzltj.Charge = reader["CHARGE"].ToString();/*Charge:費用*/
gzltjs.Add(gzltj);
}
return gzltjs;
}
單擊“查詢”按鈕事件:
private void Bind()/*gridview綁定事件*/
{
string dateBegin = txtDateBegin.Text;/*查詢的開始日期*/
string dateEnd = txtDateEnd.Text;/*查詢的結(jié)束日期*/
if (dateBegin == null || dateBegin == "")
{
Response.Write(""); /*日期為空提示*/
}
else if ((dateBegin != null) && (dateEnd == null))
/*查詢單個日期*/
{
dateEnd =dateBegin;
gvDocCount.DataSource = GzltjManager.Select (dateBegin,dateEnd);
gvDocCount.DataBind();/*GridView控件綁定數(shù)據(jù)*/
}
else/*查詢?nèi)掌诜秶?/(見圖1)
{
gvDocCount.DataSource = GzltjManager.Select(dateBegin, dateEnd);
gvDocCount.DataBind();
}
}
圖1 按照日期范圍查詢結(jié)果(部分截圖)
3.2“檢查類型”做一個超鏈接,單擊后可顯示對應(yīng)的病人詳細(xì)信息,方便核對,如圖2所示。
圖2 單個檢查類型病人列表
3.3查詢結(jié)果導(dǎo)出到Excel,方便科室資料整理。
本系統(tǒng)能方便、準(zhǔn)確、高效的完成超聲科個性化的工作量查詢統(tǒng)計功能。因?qū)IS數(shù)據(jù)庫的只能查詢不能寫入限制,故如何構(gòu)造SQL語句成為此系統(tǒng)的關(guān)鍵。經(jīng)過超聲科的使用反映,本系統(tǒng)可以大幅提高工作量查詢統(tǒng)計的工作效率,受到一致好評。
[參考文獻(xiàn)]
[1] 達(dá)列雄.基于ASP.NET的高校教師工作量管理系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦開發(fā)與應(yīng)用,2014,(02):43.
[2] 胡百敬.SQL Server數(shù)據(jù)庫開發(fā)詳解[M].北京:電子工業(yè)出版社,2006.
[3] 張莉.SQL Server數(shù)據(jù)庫原理及應(yīng)用教程[M].北京:清華出版社,2010.
[4] 高宏,李俊民. ASP.NET 典型模塊與項目實戰(zhàn)大全[M].北京:清華大學(xué)出版社,2012.
[5] 劉 斌,張軍. ASP.NET+SQL Server 動態(tài)網(wǎng)站開發(fā)案例精選[M].北京:清華大學(xué)出版社,2005.
收稿日期:2015-05-13
〔中圖分類號〕TP393
〔文獻(xiàn)標(biāo)識碼〕A
〔文章編號〕1002-2376(2015)09-0007-02