基于asp.net028住院部病人管理系统

本设计尝试用ASP.NET在网络上架构一个网上住院部管理系统,以推进住院部管理无纸化、过程电子化、管理智能化的发展。系统主要功能有:用户管理、医师管理、护士管理、病人管理、病房管理、财务管理、数据备份等。系统是在.NET 平台上运用ASP.NET技术来实现的。文中首先介绍了所用到的开发技术ASP.NET以及ADO.NET,接着对住院部管理系统的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划、设计。最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。

本系统主要包括登录、医护人员管理、病人信息管理、住院收费、押金管理、药品管理、信息查询7个功能。

登录功能:首先进行用户类型的选择,分为病人和医护人员两种,只有选择正确的用户类型,并且输入相应正确的密码才能登陆系统。

医护人员管理功能:实现医护资料的新增、修改、查询。医师信息、护士人员的信息管理只能是普通管理员以上的用户才能进行。

病人信息管理功能:主要包括病人住院基本信息的录入、修改、查询,住院号由系统自动分配。具体来说,管理功能包括管理病员收住、床位设置、科内转床、转科申请、转院出院。查询功能包括可以按住院号、住院日期、姓名、科室进行查询。对于查询到的病人可以对其住院的基本信息进行修改,还可以对住院费用信息、用药信息进行打印。

住院收费管理功能:主要实现对病人押金、收费的管理。登记住院患者的基本信息,住院预缴包括住院费用的交纳、收取。出院结算包括住院期间费用结算。查询功能包括查询入院预缴、出院结算、门诊处方的详细信息。

押金管理功能:主要包括添加、打印功能,同时可以对病人的交押金情况进行单个统计。打印可以对当前的押金进行打印,同时还可以对病人的费用次数、费用钱数进行统计,对病人的应交钱数进行显示。

药品管理功能:设置功能包括设置药品名称、药库编号、药品调价、记录清理操作,入库功能包括药品入库、记录查询、操作统计、药品统计、供货单位、入库单打印。开单功能包括调拨开单操作、开单记录查询、开单操作统计、开单药品、打印。库存核算功能包括药品数量盘存、药品金额盘存、盘存记录查询(包含操作和药品统计)报损功能包括药品报损、报损记录(含操作和药品统计)、报损原因、打印报损单。查询功能包括药库明细表以及药库报警表。

信息查询功能:业务查询包括门诊挂号收费处方统计及明细。药房查询包括药房明细、门诊和住院发药记录统计、进药报损消耗盘存记录统计。药库查询包括药库明细、出入库退库退货报损统计明细、盘存记录以及统计。收费查询包括门诊改号记录和退号记录查询、门诊撤退费查询、住院退费查询、处方废除查询等。
请添加图片描述
在这里插入图片描述

目 录

1 背景与意义 1

1.1 计算机管理信息系统的发展情况 1

1.2 住院部管理系统的现状 2

1.3 住院部管理系统的优势 2

1.4 任务概述 3

1.4.1 课题目标 3

1.4.2 住院部管理系统特点 3

2 系统解决方案的选择 3

2.1 系统说明 3

2.1.1 硬件环境 4

2.1.2 软件环境 4

2.2 可行性分析 4

2.3 相关工具和技术说明 5

2.3.1 B/S体系结构 5

2.3.2 SQL Server 5

2.3.3 HTML 6

2.3.4 Visual Studio 6

2.4 开发计划 7

3 系统分析 7

3.1 系统分析的任务与步骤 7

3.1.1 系统分析的任务 7

3.1.2 系统分析的步骤 7

3.2 功能需求 7

3.3 系统功能模块 8

3.4 系统数据库设计 8

4 系统设计 11

4.1 系统功能说明 11

4.1.1 系统总体功能 11

4.1.2 非功能性需求 12

4.2 建立数据库模型 13

4.2.1 管理员表 13

4.2.2 病人信息表 13

4.2.3 收费信息表 13

4.2.4 药品信息表 13

5 编码与实现 14

5.1 系统主界面 14

5.1.1 页面实现效果 14

5.1.2 主页面实现说明 15

5.2 系统用户信息管理实现 15

5.2.1 系统用户信息管理页面 15

5.2.2 系统用户信息管理实现说明 17

5.3 病人信息管理实现 17

5.3.1 病人信息管理页面 17

5.3.2 病人信息管理实现说明 17

5.4 药房信息管理实现 18

5.4.1 药品信息管理页面 18

5.4.2 药品信息管理实现说明 18

5.5 密码修改实现 18

5.5.1 密码修改页面 18

5.5.2 修改密码界面说明 18

6 系统测试与运行 19

6.1 系统测试的目的 19

6.2 面向对象的系统测试方案 19

结束语 20

参考文献 21

致谢 22

一、数据库的背景及功能需求 进入21世纪以来,计算机的普及应用和信息技术、网络技术的发展给人们的工作和生活带来了极大的便利和高效,信息化、电子化已经成为节约运营成本,提高工作效率的首选。 相比之下,国内的相当数量的中小型医院的病人资料工作流程还采用相对保守的人工工作方式,数据信息的查询和存储的成本较高,而且效率还很低下。所以需要一种对于医院的病人资料管理系统来高效、低成本、便捷的进行医院病人信息数据的查询和存储。 1. 病人的相关信息应该由医院数据库管理员进行添加、删除、修改、查询等维护操作。 2. 需通过病人所患的疾病来确定病人的治疗 3. 对病人的编号、出生日期、性别、工作、住址信息进行查询。 4. 对病人的治疗进程,缴费情况等进行及时的更新与统一管理。 5. 医院需通过治疗结果来查看病人是否结束治疗,以进行必要的及时续约等行为。 6. 病人可通过数据库进行对所交费用,治疗情况的相关信息进行查看。 7. 病人信息的更新等等由数据库管理员进行维护。 系统功能的基本功能: 1病人信息包含编号,姓名,性别,出生日期,工作单位及地址,住址,工作,保险,医保号,电话,邮箱,死亡日期。 2交费项目信息包含项目序号,项目类型,缴费金额等 3回访记录包含住院号,病人编号,回访日期,回访人,记录,生命体征。 4 可通过对数据库的查询了解病人的相关信息,以及病情,并确定治疗方案。 所有关系模式都属于BC范式 (1)在关系模式patient中patientID是主键,所以在包含属性patientID的函数依赖是一个superkey。 (2)在关系模式中inpatient中number为主键,所以在所包含属性number的函数依赖是一个superkey。 (3)在关系模式outpatient中patientID为主键,所以包含patientID的函数依赖是一个superkey。 (4)在关系模式bed中number是主键,所以包含patientID的函数依赖是一个superkey。 (5)在关系模式department中depname是主键,所以在包含属性depname的函数依赖是一个superkey。 (6)在关系模式中re_call中number为主键,所以在所包含属性number的函数依赖是一个superkey。 (7)在关系模式case中caseID为主键,所以包含caseID的函数依赖是一个superkey。 (8)在关系模式charge1中chargeID是主键,所以包含chargeID的函数依赖是一个superkey。 (9)在关系模式charge2中chargeID是主键,所以在包含属性chargeID的函数依赖是一个superkey。 (10)在关系模式中inotice中inoticeID为主键,所以在所包含属性inoticeID的函数依赖是一个superkey。所以一定属于BCNF。 二、数据库的概念结构设计 病人资料管理系统的E-R模型 三、数据库的物理结构设计 住院病人inpatient 列名 数据类型 字段长度 字段描述 备注 Number Bigint 住院号 主键 patientID bigint 病人编号 非空,外码 Name Bigint 姓名 Inday Datetime 入院时间 Bedroom char 4 床号 Sort varchar 20 入院科别 病人信息表patient 列名 数据类型 长度 字段描述 备注 patientID bigint 病人编号 主键 Name varchar 20 姓名 不能为空 Sex char 4 性别 Birth datetime 出生日期 Dep varchar 40 单位 Depadd varchar 60 单位地址 address varchar 60 住址 Work varchar 10 工作 在职、离休、退休 Insure char 4 医保 insnumb varchar 30 医保号 有、无,不为空 Tel varchar 10 电话 Email varchar 50 E-mail deathday varchar 20 死亡日期 门诊病人表outpatient 列名 数据类型 字段长度 字段描述 备注 patientID Bigint 病人编号 主键 Jz_date Varchar 20 就诊时间 Pay varchar 10 缴费情况 病人就诊花费 Name varchar 20 姓名 非空 Sex char 10 性别 Age Int 年龄 床位bed 列名 数据类型 字段长度 字段描述 备注 Number Bigint 住院号 主键 Name Varchar( 20 姓名 非空 Bedroom bigint 床号 Doctor Varchar 20 主治医生 主管本床位的医生姓名 Result Varchar 20 治疗结果 Department varchar 20 所属病区 病区department 列名 数据类型 字段长度 字段描述 备注 Depname varchar 10 病区名称 主键 Bedamount bigint 病床数 Responsor varchar 20 负责人姓名 非空 Inpeople bigint 入住人数 Wellpor real 好转率 Death real 、 死亡率 回访re_call 列名 数据类型 长度 字段描述 备注 Number bigint 序号 主键,自动产生 patientID bigint 病人编号 不为空 Callday varchar 20 回访时间 Callbody varchar 20 回访人 Record varchar 500 回访记录 Life char 8 生命特征 死亡 门诊病历ccase 列名 数据类型 字段长度 字段描述 备注 caesID Bigint 病历号 主键 Name Varchar 20 姓名 非空 Context Varchar 60 病例内容 Diadate datetime 诊断时间 Doctor Varchar 20 主治医生 联系 支付2pay2 列名 数据类型 字段长度 字段描述 备注 PatientID bigint 病人编号 主键 chargeID Bigint 支付项目号 主键 Amount varchar 20 payDate datetime 支付时间 收费项目2charge2 列名 数据类型 字段长度 字段描述 备注 chargeID bigint 项目序号 主键 Chargesort Varchar 20 项目类型 Amount Varchar 10 收费金额 Name Varchar 20 病人姓名 Operator Varchar 20 收款员 收费项目1charge1 列名 数据类型 字段长度 字段描述 备注 chargeID bigint 项目序号 主键 Name Varchar 20 病人姓名 number bigint 住院号 外码 category Varchar 10 收费类型 chargeday datetime 收费日期 opertor varchar 20 收款人 Amount Varchar 10 应收金额 payamount Char 10 交费金额 入院通知单inotice 列名 数据类型 字段长度 字段描述 备注 inoticeID bigint 通知单号 主键 doctor varchar 20 医师姓名 非空 Name varchar 20 病人姓名 非空 PatientID bigint 病人编号 外码 Diagadvice varchar 40 诊断建议 Pay varchar 20 收费情况 Pass Char 4 是否批准 是 否。非空 关系及各属性 Patient(patientID,name,sex,birth,dep,depadd,address,work,insure,insnumb,tel,email,deathday) Inpatient(number,patientID,name,inday,sort,bedroom) Outpatient(patientID,name ,sex,age,jz_date,pay) Bed(number,name,bedroom,doctor,result,department,empty) Department(depname,bedamount,responsor,inpeople,wellpor,,deathpor) Re_call(number,patientID,callday,life,record,callbody) Case(caseID,name,context,diadate,doctor) Charge2(chargeID,chargesort,amount,name,operator) Charge1(chargeID,category,name ,number,chargeday,payamount,amount) inotice(inoticeID,doctor,name,patientID,diaadvice,pay,pass) 联系 Pay2(patientID,amount,paydate,chargeID) 触发器 1提醒触发器 create trigger reminder on patient after insert,update as raiserror('你在插入或修改病人的数据',16,10); 2.更新操作的触发器 create trigger hehe on outpatient for update as begin update outpatient set pay=pay*0.9 end 存储过程 1病人信息插入的存储过程 create procedure patientInsert ( @patientID bigint, @name varchar(20), @sex char(4), @birth datetime, @dep varchar(40), @depadd varchar(60), @address varchar(60), @work varchar(10), @insure char(4), @insnumb varchar(30), @tel varchar(15), @email varchar(50), @deathday datetime ) as insert into patient( name,sex ,birth ,dep,depadd ,address ,work ,insure,insnumb ,tel ,email ,deathday ) values(@name,@sex ,@birth ,@dep,@depadd ,@address ,@work ,@insure,@insnumb ,@tel ,@email ,@deathday ) 2 住院病人信息插入的存储过程 create procedure inpatientInsert ( @number bigint, @patientID bigint, @name varchar(20), @inday datetime, @sort char(20), @bedroom char(4) ) as insert into inpatient( number,patientID ,name ,inday ,sort ,bedroom ) values( @number ,@patientID ,@name ,@inday ,@sort ,@bedroom ) 索引 1 use hospital_patient create unique nonclustered index inpatient_name on inpatient ( name ) 2 use hospital_patient create nonclustered index charge_amount on charge1 ( amount desc )
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值