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