HIS2.2详细设计说明书 C:\BSHIS2.2\Documents\BSHIS2.2详细设计说明书.药房.doc 本源码下载地址:详细设计说明书(中西药房管理系统)一.概述中西药房管理系统主要处理药房划价发药及基本库房业务。确切地说,它是将中、西、病区药房的各种业务操作提升并综合起来用同一个系统的程序来完成,其中病区药房发药的操作比较特殊,所以单独处理并在“病区发药管理系统”中加以说明。该系统共有三种类型的业务:库房业务、门诊发药、住院发药(在门诊药房中指对住院病人的处方发药,在病区药房中则指对病区的医嘱发药等),以下分别进行详细描述。药房的库房业务主要包括向药库领药、其它入库、出库、药房之间调拨、盘存处理、月结处理等,根据不同需要还需处理一些查询操作,如价格查询、库存查询、调价查询、月报查询、台帐查询、低储报警等,另外还有库存调整、库存禁用等特殊操作。门诊发药业务包括处方划价、处方发(配)药、退药处理、取消发HIS2.2详细设计说明书 C:\BSHIS2.2\Documents\BSHIS2.2详细设计说明书.药房.doc 药等,相应的有处方发药查询、未发药处方查询、发药统计等操作。住院发药业务在这里只指对住院病人的处方发药,在发药统计中会作统计。为适应医院业务工作模式的多变性,在 2.2版本中,增加了三级库房管理的设计,其具体设计思路如下:(1)在三级库房模式中,药房作为中间库房,主要处理库存相关操作(如向药库领药、其它入(出)库、统计并记录整个药房的药品进出情况),而对门诊病人和住院病人的发药业务都在窗口系统中处理;窗口作为独立的库房单位,有自己的库存及相应的管理业务,窗口之间可以互相调拨,也可以向药房申请调拨。(2)窗口库存是药房库存的一部分,药房台帐对整个药房的收支业务进行记录,药房月结是对整个药房业务的总结,药房内部的调拨不列入收支;各窗口可以进行独立核算,设立自己的台帐,记录窗口的药品进出,进行窗口月结。(3)在具体设计中要考虑二级模式和三级模式的兼容,除窗口系统中有特殊需求或业务要求新增的模块,其余可共用的部分基本上用相同的程序来实现。下面对贯穿整个系统的一些设计细节作详述: 1.在各相关数据表中增加 CKBH字段,系统默认 CKBH=0的数据为药房数据。 2.设一公用变量 gi_kcck,运行药房系统时 gi_kcck=0,运行窗口系统时 gi_kcck=ckbh,在处理库存增减时,用 gi_kcck来判断应该变动库存的窗口号。HIS2.2详细设计说明书 C:\BSHIS2.2\Documents\BSHIS2.2详细设计说明书.药房.doc 3.在处方划价、门诊发药、住院用药时,判断有无库存均使用各窗口库存的累加;而在病区发药各模块中,考虑处理的复杂性及速度要求,如果窗口没有库存,则不能发药,这时应先向其它窗口调拨。二.模块设计说明书系统名称中西药房系统系统编号03模块编号3.1.1.1模块名称门诊发药-处方发药(直接发药)功能描述对已收费处方进行发药操作左边的列表列出所有已收费未发药的处方,手所指为选中处方右边显示选中的处方详细信息。IPO过程描述1.当系统设置中设发药方式为“直接发药”时调用窗口w_yf_cffy做发药处理,如果设置了“自动刷新”及“自动刷新秒数”选项,每隔固定的时间会自动刷新左边的处方列表;2.准备工作包括:然后初始化药品输入选择对象(u_select_yp)及药品管理对象(u_yf_mzfy);设置发药人和配药人(配药人确省为发药人);取可发药处方类型;初始化DATAWINDOW并刷新全屏幕;取自动刷新秒数,触发timer事件,刷新屏幕(刷新dw_cf01和dw_cf02);refresh_list和refresh_detail;设置病区发药提示(u_distri_notify)。3.左边列出ms_cf01中满足以下条件的所有处方:(1)未发药fybz=0(2)未作废zfbz=0(3)处方效期在指定的日期后(4)处方类型为该药房的处方类型门诊药房为1,中药房为2右边列出的处方药品明细从ms_cf02中取出,每换一张处方重新刷新药品明细。4.发药时,先判别处方是否已作废或已被其它窗口发药,处方上药品的库存是否满足要求(u_yf_mzfy.checkcf())。确定可以发药后,弹出配药人窗口,输入配药人工号。再发药(u_yf_mzfy.issueprocess(as_pyr)),根据处方药品明细逐条减少yf_kcmx中库存;更新ms_cf01中的FYBZ,FYRQ,FYGH,FYCK,PYGH,PYBZ5.果在发药以前药品价格已变动(包括药房包装变动),则在yf_tjjl中填写调价记录;6.点击“用药审查”可对当前处方进行用药审查,点“设置”可更改屏幕显示的配药人。HIS2.2详细设计说明书 C:\BSHIS2.2\Documents\BSHIS2.2详细设计说明书.药房.doc 数据窗口D_yf_fycf,d_yf_fycf_head,d_yf_fycf_mx引用表Ms_cf01,ms_cf02,yk_typk,yk_ypcd操作表Ms_cf01,yf_kcmx,yf_tjjl编制李强、钟华编制日期2000/5/9审核审核日期系统名称中西药房系统系统编号03模块编号3.1.1.2模块名称门诊发药-处方发药(配药方式)功能描述对已收费处方进行发药操作每隔指定的时间从ms_cf01中列出未配药处方配完药后将处方从下边移到上边窗口对已配完药的处方进行发药(见直接发药)IPO过程描述1.当系统设置中设发药方式为“配药方式”时调用窗口w_yf_cffy_qz做发药处理,系统根据“配药间隔时间”选项中的秒数定时抓取未配药的处方并修改其PYBZ=-1,FYCK=窗口号,PYGH=默认配药人。3.准备工作包括:然后初始化药品输入选择对象(u_select_yp)及药品管理对象(u_yf_mzfy);设置发药人和配药人(配药人确省为发药人);取可发药处方类型;初始化DATAWINDOW并刷新全屏幕;取配药间隔时间,触发timer事件,预设处方发药窗口(同一发票多张处方设为同一窗口)定期抓取处方,刷新屏幕;refresh_list和refresh_detail;设置病区发药提示(u_distri_notify)。2.Ms_cf01中pybz配药标志 –1正在配药,0未配药,1已配完药3.左上方列出配完药的处方,左下方列出正在配药的处方;“取消配药”设处方的PYBZ=0,并将其从待配药处方列表中删除;“暂停配药”设timer(0),暂停从ms_cf01中抓取处方;“结束配药”修改处方的PYBZ=1,将其转移到左上方列表,这时可对该处方发药;“历史处方”通过输入处方号调入一张配完药的处方,“取消发药”将已配好药的处方从队列中删除,并设FYCK=0,可用“历史处方”调入。右边列出的处方药品明细从ms_cf02中取出,每换一张处方重新刷新药品明细。4.发药时,先判别处方是否已作废或已被其它窗口发药,处方上药品的库存是否满足要求。确定可以发药后,根据处方药品明细逐条减少yf_kcmx中库存;更新ms_cf01中的FYBZ,FYRQ,FYGH;如果在发药以前药品价格已变动,则需在YF_TJJL中填写调价记录;5.点击“用药审查”可对当前处方进行用药审查,点“设置”可更改屏幕显示的配药人。HIS2.2详细设计说明书 C:\BSHIS2.2\Documents\BSHIS2.2详细设计说明书.药房.doc 数据窗口D_yf_fycf_qz,d_yf_fycf_qz_pycf,d_yf_fycf_head,d_yf_fycf_mx引用表Ms_cf01,ms_cf02,yk_typk,yk_ypcd操作表Ms_cf01,yf_kcmx,yf_tjjl编制李强、钟华编制日期2000/5/9审核审核日期系统名称中西药房系统系统编号03模块编号3.1.2模块名称门诊发药-退药处理功能描述对多发或错发的药品进行退药。IPO过程描述1.打开w_yf_cfty进行退药处理,输入发票号码或处方号码后refresh_list和refresh_detail。 2. 确认时gf_get_max(sqlca,'MS_CF01',1),取退药处方的处方识别,生成一张新的退药处方,将ms_cf01 原记录的退药标志置成 1,按处方药品明细逐条增加 yf_kcmx 中库存,药品价格有变化的需填写调价记录,再取 MS_CF02 的处方识别,填详细退药记录;数据窗口D_yf_tycf,d_yf_fycf_head,d_yf_qxfy_mx引用表Ms_cf01,ms_cf02,yk_typk,yk_ypcd操作表Ms_cf01,yf_kcmx,yf_tjjl编制钟华编制日期2000/6/22审核审核日期HIS2.2详细设计说明书 C:\BSHIS2.2\Documents\BSHIS2.2详细设计说明书.药房.doc 系统名称中西药房系统系统编号03模块编号3.1.3模块名称门诊发药-取消发药功能描述对发错药的处方取消发药。IPO过程描述3.作废发票、退费发票不能取消发药,已经月结过的处方不能取消发药确认时将ms_cf01的发药标志置成0,按处方药品明细逐条增加yf_kcmx中库存,药品价格有变化的需填写调价记录;数据窗口D_yf_tycf,d_yf_fycf_head,d_yf_qxfy_mx引用表Ms_cf01,ms_cf02,yk_typk,yk_ypcd操作表Ms_cf01,yf_kcmx,yf_tjjl编制李强编制日期2000/5/9审核审核日期HIS2.2详细设计说明书 C:\BSHIS2.2\Documents\BSHIS2.2详细设计说明书.药房.doc 系统名称中西药房系统系统编号03模块编号3.1.4模块名称门诊发药-处方划价功能描述1.输入病人门诊号、姓名、性质、性别、处方号码及医生代码,F2西药方F3成药方F4草药方;2.输入处方药品规格,数量,确定产地,判断是否缺药;3.输入套餐时用套餐名称输入,然后展开;4.对草药需输入帖数,计算数量、金额时要乘帖数;5.显示金额合计及自负合计。IPO过程描述1.准备工作包括:打开窗口时wf_initpara(),首先读取系统参数(包括缺省项目及系统选项中“处方划价”页中的所有设置),判别系统是否有输入至少一种处方的权限,如果没有则不能使用该模块,需先设置药房属性;然后初始化药品输入选择对象(u_select_yp)及创建单一药品管理对象(u_ypxx);2.输入病人信息时可先输入门诊号,根据门诊号从MS_MZXX调出病人信息,如果输入的门诊号不存在则弹出提示信息;处方号码由系统自动产生,方法为gf_get_max(sqlca,MS_CF01,1),即取GY_IDENTITY表;3.按F5可以调入一张未收费的处方加以修改;按F6可以修改草药方的帖数;F11可切换药品输入法;F12取消当前输入的处方数据,重新开始一张新的处方;F9保存输入的处方数据;4.不同类型处方切换时需修改默认的处方类别和费用项目,和病人性质结合确定自负比例并计算自负金额。5.对草药方需输入帖数,计算数量、金额时要乘帖数;数据窗口D_yf_mzxx,d_yf_cf01,d_yf_cf02HIS2.2详细设计说明书 C:\BSHIS2.2\Documents\BSHIS2.2详细设计说明书.药房.doc 引用表Ms_cf01,ms_cf02,yk_typk,yk_ypcd,yf_kcmx,ms_mzxx操作表Ms_cf01,ms_cf02编制李强、钟华编制日期2000/5/9审核审核日期系统名称中西药房系统系统编号03模块编号3.1.5模块名称门诊发药-住院用药功能描述1.输入病人床号或者住院号码检索出病人信息,再输入开嘱医生和处方。(其中F2西药方F3成药方F4草药方)2.输入处方药品规格,数量,确定产地,判断是否缺药;3.输入套餐时用套餐名称输入,然后