基于ASP.NET的超声科工作量统计软件设计与实现

2015-03-15 00:47皇甫立夏陆宇宏朱泉杰南通大学附属医院信息科江苏南通226001
医疗装备 2015年11期
关键词:医院

皇甫立夏,陆宇宏,朱泉杰,杨 敏,龚 鸣(南通大学附属医院 信息科,江苏南通226001)



基于ASP.NET的超声科工作量统计软件设计与实现

皇甫立夏,陆宇宏,朱泉杰,杨敏,龚鸣
(南通大学附属医院信息科,江苏南通226001)

〔摘要〕目的:本文介绍了作者所在医院超声科信息系统(Ultrasonic Information System,UIS)的现状和需求,并阐述了利用ASP.NET技术如何开发医院超声科工作量查询统计程序,最终实现超声科工作量查询统计工作高效完成。

〔关键词〕ASP.NET;UIS;医院

0 引言

我院超声信息系统(Ultrasonic Information System,UIS)于2009年投入使用,系统稳定高效基本能满足需求。工作量查询统计功能是很重要的,虽然此系统也具备,但是超声科室反映操作上比较繁琐,希望能改进此项功能为科室带来工作上的便利。

1 分析与设计

1.1系统分析

超声科每个检查室都有计算机,故本系统采用B/S结构较为合适,在每个诊室都可以查询工作量。超声信息系统(UIS)使用的数据库是微软公司的SQL Server2005,本次开发的统计系统在此数据库基础上做开发,为了保证数据的安全性,本系统只做数据库的查询不做写入操作,开发语言选择ASP.NET,开发工具Visual Studio 2008。登录账号使用UIS数据库用户和密码验证,验证通过后进入系统。

1.2模块设计

(1)可以查询每位医生的各种检查类型的数量及总价;

(2)可以查询每位医生所有检查类型的总数量和总费用;

(3)可以查询整个科室检查的总数量和总费用;

(4)超声介入室作为独立模块也具备上述功能;

(5)具备检查类型的二级调用功能,列出这个检查类型的所有病人。

2 数据库连接

2.1在web.config里添加cmis数据库

2.2新建DBHelper类并获得本地数据库连接

static string connString = ConfigurationManager. ConnectionStrings["conn"].ConnectionString

3 具体实现

3.1以查询整个科室所有检查为例,在页面GzltjAll.aspx添加GridView控件,GridView控件通过数据源控件与数据库绑定,从而获取数据之后在表格中显示,具体代码如下:

public static List Select(string DateBegin, string DateEnd)/*Select两个参数是查询的日期范围*/

{

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:医生姓名;RITB*表是UIS数据库报告信息表;DJH*字段是RITB*表的主Key;ReportedDate:报告日期;总计:所有医生的所有检查的总计;合计:单个医生的所有检查类型的汇总*/

SqlDataReader reader = DBHelper.GetReader(sql);

List gzltjs = new List();

while (reader.Read())

{

Gzltj gzltj = new Gzltj();

gzltj.Ysxm = reader["YSXM"].ToString();/*Ysxm:医生姓名*/

gzltj.Sqmd = reader["SQMD"].ToString();/*Sqmd:检查类型*/

gzltj.Sum = Convert.ToInt32(reader["num"]);/*Sum:检查的数量*/

gzltj.Charge = reader["CHARGE"].ToString();/*Charge:费用*/

gzltjs.Add(gzltj);

}

return gzltjs;

}

单击“查询”按钮事件:

private void Bind()/*gridview绑定事件*/

{

string dateBegin = txtDateBegin.Text;/*查询的开始日期*/

string dateEnd = txtDateEnd.Text;/*查询的结束日期*/

if (dateBegin == null || dateBegin == "")

{

Response.Write(""); /*日期为空提示*/

}

else if ((dateBegin != null) && (dateEnd == null))

/*查询单个日期*/

{

dateEnd =dateBegin;

gvDocCount.DataSource = GzltjManager.Select (dateBegin,dateEnd);

gvDocCount.DataBind();/*GridView控件绑定数据*/

}

else/*查询日期范围*/(见图1)

{

gvDocCount.DataSource = GzltjManager.Select(dateBegin, dateEnd);

gvDocCount.DataBind();

}

}

图1 按照日期范围查询结果(部分截图)

3.2“检查类型”做一个超链接,单击后可显示对应的病人详细信息,方便核对,如图2所示。

图2 单个检查类型病人列表

3.3查询结果导出到Excel,方便科室资料整理。

4 总结

本系统能方便、准确、高效的完成超声科个性化的工作量查询统计功能。因对UIS数据库的只能查询不能写入限制,故如何构造SQL语句成为此系统的关键。经过超声科的使用反映,本系统可以大幅提高工作量查询统计的工作效率,受到一致好评。

[参考文献]

[1] 达列雄.基于ASP.NET的高校教师工作量管理系统的设计与实现[J].电脑开发与应用,2014,(02):43.

[2] 胡百敬.SQL Server数据库开发详解[M].北京:电子工业出版社,2006.

[3] 张莉.SQL Server数据库原理及应用教程[M].北京:清华出版社,2010.

[4] 高宏,李俊民. ASP.NET 典型模块与项目实战大全[M].北京:清华大学出版社,2012.

[5] 刘 斌,张军. ASP.NET+SQL Server 动态网站开发案例精选[M].北京:清华大学出版社,2005.

收稿日期:2015-05-13

〔中图分类号〕TP393

〔文献标识码〕A

〔文章编号〕1002-2376(2015)09-0007-02

猜你喜欢
医院
萌萌兔医院
带领县医院一路前行
为县级医院定锚