门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx

上传人:b****4 文档编号:4792281 上传时间:2022-12-09 格式:DOCX 页数:22 大小:345.33KB
下载 相关 举报
门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx_第1页
第1页 / 共22页
门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx_第2页
第2页 / 共22页
门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx_第3页
第3页 / 共22页
门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx_第4页
第4页 / 共22页
门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx

《门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx》由会员分享,可在线阅读,更多相关《门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx(22页珍藏版)》请在冰豆网上搜索。

门诊医疗管理系统包含详细的需求分析系统设计与实现代码.docx

门诊医疗管理系统包含详细的需求分析系统设计与实现代码

医院存储系统设计与实现

摘要

医院信息系统HIS(HospitalInformationSystem)为医院所属各部门提供病人诊治信息和行政管理信息的收集、存储、处理、提取和数据交换的能力,医院存储系统是其中的一个重要子系统,论文论述了医院存储系统开发思路、设计与实现等。

论文针对中小型医院设计开发了一个基于C/S结构的医院信息管理系统的一个子系统——医院医疗存储系统的开发。

通过计算机和网络技术实现对医院医疗信息的全过程追踪和动态管理,从而简化了患者的诊疗过程,优化了就诊环境。

论文首先分析介绍了系统开发的背景、国内外的研究现状、运用中遇到的问题以及本文的构成;其次,以医院信息管理系统中门诊挂号子系统、门诊收费子系统、药房管理子系统和门诊医生子系统四个子系统为重点进行了需求分析、系统设计和实现;最后,对已进行的研究和开发工作进行了总结和展望。

【关键词】医院存储系统,医疗管理,C/S结构,设计实现

 

1绪论

1.1系统开发背景

医院医疗是医院管理的门面,流量大,手续较繁锁,在手工方式下,医护人员要做大量不必要的重复工作、效率低、准确性差、不方便管理,影响工作效率,造成了很多就诊病人得不到合理有效的快捷就诊服务,甚至影响医疗质量,为此,越来越多的医院加快了信息化建设的步伐,医院医疗存储管理系统能够有效地优化服务和工作环境、使病员和医生情绪得以放松,提高了服务效率和质量、树立了医院的良好形象,使门诊工作可以高效有序的运转,提高了医院的经济效益,促进医院的发展。

1.2国内外研究现状

我国医院信息系统(HIS)的发展阶段可以分为三个部分:

第一阶段,是医院管理信息系统建设阶段(HMIS);第二阶段,是医院临床信息系统建设阶段(HCIS);第三阶段,是建设区域卫生信息系统阶段(GMIS)。

在实现医院信息化的过程中,标准化是一个不能回避的问题。

流程的标准化是和医院的改革,医院的管理科学化包括现代医院建设密不可分的。

我国医疗信息化多数还停留在第一个阶段。

据业内人士介绍,2005年,国内的医院信息系统(HIS)厂商有1000多家,其中比较大的有100多家。

各个医院使用不同厂商的HIS,硬件环境也不尽相同,异质系统平台和非标准信息格式阻碍了同行间及行业间的信息交流。

当涉及到病人转诊等问题时,各方无法直接实现电子信息的交换,只能通过手工操作来完成。

国际上医院信息化管理大致可分为三个阶段:

第一个十年,集中在开发医院行政管理的功能上,如财务收费、住院病人和门诊病人管理等。

第二个十年,在继续完成和实现医院管理信息计算机化的同时,开发者的努力已进入医疗信息的处理领域,如病人医疗处理系统,实验室系统等。

最后一个十年至今,研究者又把重点放在了病人床边系统、医院影像处理系统、病人计算机化病案、统一的医学语言系统等方面。

医院信息系统正在经历着小型化、智能化和集成化的改造过程。

1.3系统的基本构成

医院医疗信息管理系统主要是对医院门诊部挂号和收费,药房以及医生就诊进行管理。

主要功能模块有:

门诊挂号和收费模块

药房管理模块

门诊医生模块

对于门诊挂号,作为医院面对病人的第一个门面,主要是针对给病人挂号;查询病人的挂号信息和交款信息;统计挂号科室、医生、挂号员工作量、挂号病人的报表;门诊收费,作为医院对病人在医院看病的费用进行缴费部门,主要作用是门诊收费、收费查询、统计报表。

对于药房管理主要功能是对医院的药品进行入出库进行管理,对库存中的药品进行盘点和审核,查询药品的入库、盘点、库存、以及对病人的取药、退药查询,合理用药的咨询。

统计药房人员工作量、药品日用量的报表。

门诊医生的主要功能是通过病人的先主诉病情,然后对病人进行诊治,给病人进行检查、检查、手术、住院申请,申请单将自动传到收费处和医技科室;可以查询病人的历史信息;对病人的退费、退改处方要求进行审核、处理。

2需求分析

2.1医院医疗简介

医院病人来院后,首先挂号,然后到医生处就诊,医生可能会开具检查单、化验单,病人交费后进行相关的检查和化验,其结果能支持医生判断病情,此时,医生开出治疗单、处方或手术单等,病人交费后接受相应处理。

本系统主要应实现以下功能:

(1)挂号——预约挂号、来医院挂号、急症、医疗卡服务、就诊卡的设计与管理、所挂科目、科室的位置、挂号收费、登记。

(2)退号——对病人挂号做出退费处理。

(3)就诊——根据具体的症状进行检查、就诊,并开处方。

(4)收费——根据检查的项目及医生所开处方的具体药品,和划价系统中的具体金额进行收费。

提供与门诊收费相关的各类报表、门诊医疗统计、门诊科室及工作人员部分核算数据和工作量统计等。

(5)发药——药房根据处方,检查药房内是否有足够的药方上需要的药,是否需要去药房去取以补足货源。

核对已收费处方无误后予以配药、发药处理。

(6)药品管理——各药房以药库为中心,请领药品、入库、调价等。

2.2主要业务数据流程分析

✧门诊挂号

病人首先可以预约挂号;到医院挂号后,先确定是不是急诊,病人有没有磁卡,有先读取磁卡的信息;为病人选择科室,病人选择选择医生的级别,医院为该病人指派医生(查询该级别该科室各医生当前侯诊数,选择候诊数最少的该级别当班医生),对该病人收取挂号费用,登记挂号信息。

如图1所示:

图1病人挂号数据流程图

✧门诊退号

挂号病人由于某种原因要求退号,医院读取病人的磁卡,查询挂号的信息,是否是当日的挂号(如果不是当日的挂号,医院则不给与退号处理;为该病人做出退号处理,删除挂号的信息,给病人退挂号费用;对退出的费用记账帐,打印出退号凭证。

如图2所示:

图2病人退号数据流程图

✧门诊就医

病人挂号到指定医生就诊,医生询问病人是否是复诊或者初诊(复诊的话查询病人的历史就诊信息);病人向医生叙述病情,医生记录病情和病历;医生对病人阐述的病情给与诊断,诊断然后给病人开药(配置禁忌检查,询问病人同意否,同意的话给病人写电子病历);需要做化验、手术、检查、住院的,给该病人开申请单,病人拿着医生开出的药品单;化验、手术、检查、、住院申请单到收费处缴费,缴完费用后到拿着单据到门诊药房取药;化验室、检查室做化验和检验;手术室领取手术时间表;到住院部让住院护士安排床位;如图3所示:

图2-3医生就诊数据流程图

✧门诊收费

门诊收费是对病人在门诊就医时所有的费用都在此处缴纳。

接受病人的交费单据,刷卡读取该病人的收费单据,对病人费用进行收费。

收费后打印发票,给病人一张收费单据。

费用每日结算后打入财务科。

如图4所示:

图4门诊收费流程图

✧门诊药房发药

药房根据处方,检查药房内是否有足够的药房上需要的药,是否需要去药房去补足货源;根据药品的限期及库存下限来进行缺药、失效预告、对药品进行数量、金额双重控制;核对已收费处方无误后给与病人配药、发药处理。

如图5所示:

图5药房发药流程图

✧门诊药房管理

对门诊药房的药品出入库进行操作登记。

对门诊挂号的病人需要用药时,需要医生开出的处方单取药,如需退药,需要申请,说明退药的原因,在得到审核通过后方可进行退药操作。

保证药品的及时供应,不耽误病人的病情,通过对各种药品的入库及出库情况进行详细的登记,保证不断药,药品的质量安全。

提供各种药品的各种取用清单的查询与打印。

如图6所示:

 

图6门诊药房管理流程图

 

2.3数据分析---整体E-R图

 

图7门诊医疗管理系统整体E-R图

3系统存储设计

3.1系统模块结构设计

医院医疗存储管理系统可以分为:

门诊挂号管理模块,门诊收费管理模块,药房管理模块,门诊医生模块四大部分。

结构图如图8所示:

 

 

图8系统模块结构图

各模块的基本功能如下:

(1)医疗挂号管理基本功能。

①门诊挂号

门诊挂号:

病人进行挂号收费处理。

输入病人的信息:

姓名、性别、年龄;选择病人类型、挂号类别、挂号科室、值班医生;挂号的金额,是否优惠。

点击确定,保存该病人挂号的信息。

②查询

挂号查询:

按照挂号日期、挂号编码、挂号有效期、姓名、性别、年龄;病人类型、挂号类别、挂号科室、值班医生、挂号员、交款号等对病人挂号的信息进行查询。

③统计

分为:

挂号科室统计报表、挂号医生统计报表、挂号分类统计报表、挂号病人类型报表。

④发票管理:

对发票的领用情况及使用情况进行详细登记。

(2)门诊收费管理基本功能。

①收费

门诊收费:

对医生给与病人开出的处方给与收费。

输入挂号编码,显示挂号病人的信息以及处方的项目、数量、应收、实收、执行科室;点击收费对该处方单进行收费。

②收费查询

未收费处方查询:

按照查询列中的分类、条件值、查询的起止日期对病人未收费处方信息进行查询。

③统计

分为科室收费报表、门诊工作台帐、门诊工作量报表、收费日结明细报表、发票使用情况统计表。

(3)药房管理基本功能。

①出入库管理

分为:

请领计划、入库审核、入出库单据补打、出库开单。

②盘点

分为:

库存查询、库存盘点、盘存审核、盘存报表打印。

③查询

分为:

入库查询、科室基药统计、盘点查询、盘存查询、门诊取药查询、

门诊退药查询、合理用药咨询。

④统计

分为:

药房人员工作量统计、药房工作量报表、药品日用量报表。

⑤取药管理

分为:

处方审核、门诊取药、门诊退药、门诊摆药、门诊换药、换药审核。

(4)门诊医生基本功能。

①医生工作站

医生对待诊的病人先进行病案登记;让病人主诉下病人,主诉完后对该病人进行诊治,对该病人开医嘱,然后进行医嘱保存。

诊断完后病情后认为病人需要做检验、检查、手术、住院;可以询问病人是否需要,病人需要的话,给病人开检查、检验、手术、住院申请单。

②退改处方

退改审核(未取药):

对未取药的审核单进行退改。

选择申请单号,输入退费的原因,然后进行审核。

③病人历史信息查询

分为:

综合医嘱信息查询、综合病历查询、综合病案查询。

3.2数据库设计

以下是系统设计所用的主要数据表结构

1、挂号处

表3-1挂号处Registration

代码

名称

数据类型及长度

是否可空

备注

bh

编号

Char(10)

Primarykey

zbys

值班医生

Char(10)

Notnull

2、病人信息表

表3-2病人信息表patient

代码

名称

数据类型及长度

是否可空

备注

ghbh

挂号编号

Char(10)

Primarykey

xm

姓名

Char(10)

Notnull

xb

性别

Char(10)

Notnull

nk

年龄

Datetime

Notnull

sfzh

身份证号

Datmtime

Notnull

3、挂号单

表3-3挂号单Hangsnumberedcertificate

代码

名称

数据类型及长度

是否可空

备注

ghbh

挂号编号

Char(10)

Primarykey

ghfs

挂号方式

Char(10)

Notnull

brxm

病人姓名

Char(10)

Notnull

zzys

主治医师

Char(10)

Notnull

ghrq

挂号日期

Datetime

Notnull

4、病历信息表

表3-4病历信息表Medicalrecord

代码

名称

数据类型及长度

是否可空

备注

blbh

病历编号

Char(10)

Primarykey

brxm

病人姓名

Char(10)

Notnull

blxx

病历信息

Char(50)

Notnull

5、病人信息表

表3-4病人信息表patient

代码

名称

数据类型及长度

是否可空

备注

ghh

挂号号

Char(10)

Primarykey

xm

姓名

Char(10)

Notnull

nl

年龄

Datmtime

Notnull

sfzh

身份证号

Datetime

Notnull

sfzy

是否住院

Char

(2)

Notnull

6、开处方

表3-6开处方Writestheprescription

代码

名称

数据类型及长度

是否可空

备注

cfh

处方号

Char(10)

Primarykey

cfnr

处方内容

Char(50)

null

brxm

病人姓名

Char(10)

Notnull

brnl

病人年龄

datetime

Notnull

fz

附注

Char(50)

Notnull

7、医师

表3-7医师doctor

代码

名称

数据类型及长度

是否可空

备注

ysh

医师号

Char(10)

Primarykey

xm

姓名

Char(10)

Notnull

xb

性别

Char(10)

Notnull

zc

职称

Char(10)

Notnull

nl

年龄

Datetime

Notnull

gzsj

工作时间

Datetime

Notnull

8、检查

表3-8检查Inspection

代码

名称

数据类型及长度

是否可空

备注

jyxh

检验序号

Char(10)

Primarykey

brghh

病人挂号号

Char(10)

Notnull

jynr

检验内容

Char(50)

Notnull

jyys

检验医师

Char(10)

Notnull

9、收费项目

表3-9收费项目Feeitem

代码

名称

数据类型及长度

是否可空

备注

brh

病人号

Char(10)

Primarykey

sjxm

收据项目

Char(10)

Notnull

xmlb

项目类别

Char(10)

Notnull

xmyh

项目序号

datetime

Notnull

sfry

收费人员

Char(10)

Notnull

sfjr

收费金额

decimar(18,2)

Notnull

10、收据

表3-10收据Receipt

代码

名称

数据类型及长度

是否可空

备注

sjh

收据号

Char(10)

Primarykey

sjxm

收据项目

Char(10)

Notnull

ssje

所收金额

Char(10)

Notnull

skrq

收款日期

datetime

Notnull

11、药品信息表

表3-11药品信息表medicine

代码

名称

数据类型及长度

是否可空

备注

ypbh

药品编号

Char(10)

Primarykey

mc

名称

Char(10)

Notnull

dl

数量

Char(10)

Notnull

dj

单价

datetime

Notnull

gg

规格

Char(10)

Notnull

jyz

禁用者

Char(10)

Notnull

scrq

生产日期

datetime

Notnull

yxq

有效期

eatetime

Notnull

12、药房

表3-15药房Pharmacy

代码

名称

数据类型及长度

是否可空

备注

ypbh

药品编号

Char(10)

Primarykey

mc

名称

Char(10)

Notnull

sl

数量

Char(10)

Notnull

mzyfbh

门诊药房编号

datetime

Notnull

yksl

药库数量

datetime

Notnull

13、药品采购

表3-16药品采购purchase

代码

名称

数据类型及长度

是否可空

备注

ypbh

药品编号

Char(10)

Primarykey

mc

名称

Char(10)

Notnull

sl

数量

Char(10)

Notnull

cgrj

采购时间

datetime

Notnull

4存储系统实现

本系统是以SQL-2005作为后台数据库。

采用了面向对象和可视化技术,提供可视化的应用开发环境,可以方便快捷地开发出利用后台服务器中的数据和数据库管理系统的数据库应用程序。

下面是本系统的一些界面实现

1.医疗收费界面

医疗收费窗口首先显示的是普通的收费项目,如果不是显示普通的收费,按下F5键即可。

普通收费窗口分为三屏,窗口的上方显示病人信息和挂号信息。

在挂号编码处选择挂号单号码,在医生处选择病人就诊的医生。

窗口就会中间显示病人就诊信息,中的左边显示就诊和领用药物信息以及所需要的费用;单击一行信息,就会在窗口中间的右边显示出这些信息的明细。

窗口下方显示发票信息和收费信息。

发票号和合计系统已自动给出。

在支付方式处选择支付方式,折扣方式处选择折扣方式。

在收取处输入所收到的费用,备注处可以添加备注。

单击

,出现一个窗口,将收费信息保存。

部分代码实现如下:

//收费

ifdw_fyxx.rowcount()=0then

msg("无收费项目!

")

return

endif

//进行收费

ifdec(st_sq.text)<0then

msg("请输入正确的收取金额!

")

st_sq.text=""

st_zb.text=""

return

endif

ifdec(st_zb.text)<0orst_zb.text=''then

msg("收取的金额不足!

")

st_sq.text=""

st_zb.text=""

return

endif

//保存数据

nvoc_updatedata

datastoreds_temp[]

ds_temp[1]=ids_fyd

ds_temp[2]=ids_fydmx

ds_temp[3]=ids_sf

ds_temp[4]=ids_zfxx

ds_temp[5]=ids_yzxx

ifids_grzh.rowcount()>0then

ds_temp[6]=ids_grzh

endif

ifdata.of_update(ds_temp)=falsethen

MessageBox("错误","保存失败!

",StopSign!

messagebox("错误原因",data.errtext,StopSign!

//窗口初始化

//ifnotw_parent.ii_lx=2then

w_parent.wf_init()//如果不是特殊门诊就初始化

st_sq.postsetfocus()

endif

sqlca.autocommit=true

//可以保存

ibl_cansave=true

w_parent.dw_brxx.insertrow(0)

datawindowchilddwc_child

w_parent.dw_brxx.getchild("ghid",dwc_child)

dwc_child.settransobject(sqlca)

dwc_child.retrieve()

parent.eventue_clearhj()

2.医生工作站—保存医嘱界面

进入医生工作站,医生给病人就诊时给病人开医嘱。

选择药品分类,输入药品的代码,发药量、药品的用法、单次的剂量、给药的时间;保存数据——保存医嘱,首先保存治疗信息和注射信息;更新医嘱中的处方号,因为处方号直接跟收费挂钩,(同一类项目得到同一个处方号),然后调用存储过程进行医嘱计价;将处方医嘱信息加入病历中,判断是否打印单据。

如图所示:

图医生工作站—保存医嘱

部分代码实现如下:

//医生

longll_yzh,ll_yzxh,ll_row,ll_yzrow//医嘱序号、医嘱以及子嘱的行号

longll_yzhsl//医嘱号数量

stringls_yzh,ls_yzh2,ls_yzh3,ls_yzh4//医嘱号列表

longll_yzfzh,ll_zssl=0,ll_zlsl=0//医嘱分组号,数量

booleanlb_ypbz//药品医嘱标志

integerli_yzxmid,li_temp//处理超额剂量

datetimet

Booleanll_pdzl=false,lb_pdzld=false//处理是否能开注射单,初始值false

integerll_derow,ni

stringls_yzh_zs,ls_yz_zl

t=datetime(gf_getserverdatetime())//取得当前时间

ifdw_yz.accepttext()=-1then

messageBox("提示","你的输入有误!

")

return

endif

//保存数据

sqlca.autocommit=false

ifdw_yz.update(true,false)=-1then//注意true,false

rollback;

sqlca.autocommit=true

MessageBox("错误","医嘱保存失败!

")

return

endif

longll_zldh,ll_zsdh

integerli

//产生治疗号

ifll_zlsl>0then

ll_zldh=long(gf_gethmb("mzzldh",ll_zlsl))-ll_zlsl

forll_row=1tods_zl.rowcount()

ll_zldh++;

ds_zl.setitem(ll_row,"zldh",ll_zldh)

//触发器插入mys_zld_zx

next

ifds_zl.update(true,false)=-1then//注意true,false

rollback;

sqlca.autocommit=true

MessageBox("错误","治疗保存失败!

")

return

endif

endif

//自动插入门诊病历

wf_yztobl()

MessageBox("提示","保存成功!

")

//判断有无打印单据

datastoreds_print

ds_print=createdatastore

ds_print.dataobject="d_mys_yzlr_dydj"

ds_print.settransobject(sqlca

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1