BSHIS2.2详细设计说明书
(门诊收费管理系统)
一. 概述
门诊系统提供给用户各种选择以满足用户的各种要求,充分体现了正确性,灵活性及易修 改的特性。
该门诊系统可支持多个门诊系统(如门诊,急诊等),由MS_MZLB表描述
MS_MZLB包括两个字段MZLB,MZMC,门诊类别不同表示是不同的门诊系统, 门诊名称为相应的门诊系统的名称(如门诊,急诊等),在一般的模块中不同门诊类别的门诊的各项数量可分开查询,使用和统计。
门诊收费系统主要功能有:
建立门诊病人档案
挂号收费(包括预约挂号)
退号
转科
挂号员挂号日报表。
划价收费
发票作废
退费处理
统计个人门诊收费日报表
门诊收费汇总日报。
查询:可按挂号号表、挂号分类和收款发票检索等多种方式进行挂号与发票查询。
报表:提供多种方式的汇总表、统计表和核算表。
系统:提供用户及权限设置、门诊号设置和初始化等功能。
维护:对病人性质、挂号科室、医师排班、报表格式等进行维护管理。
二. 模块设计说明书
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 门诊病人档案管理 编号 5.11
功
能
描
述 档案管理主界面
初始时未列出病人的档案信息,操作员可通过门诊号码或病人姓名调出相关病人信息,列出的病人信息包括门诊号码,姓名,性别,性质,医疗证号,出生年月 ,婚姻,民族,职业 当操作员通过门诊号码调出病人信息时,病人档案列表按门诊号排序,当操作员通过病人姓名调出病人信息时,病人档案列表按病人姓名排序,并且操作员还可点击某个字段名处,已使病人档案列表按该字段排序
该模块还可新建,修改病人档案,当系统参数中选择了打印病历,则在该模块中还可打印病历,否则打印病历按钮变灰不可使用
新建或修改病人档案
由系统参数输入病人档案格式决定新建或修改病人档案的格式,共有三种格式简单格式,户口地址格式,自定义格式,其中简单格式包括门诊号,病人性质,医疗证号,病人姓名,性别,年龄,户口地址格式比自定义格式多一项户口地址,自定义格式包括病人档案的所有项,在客户化程序时,由客户化人员根据用户需求通过修改程序自由设定输入项
三、打印病历
根据系统参数中设置的病历打印使用打印机名,往该打印机上打印病历
程
序
描
述 一、档案管理主界面
在dw_1中显示病人档案列表,使用的datawindow为d_dagl_list (档案管理列表)d_dagl_list中内容取自表MS_BRDA(病人档案),并且不分门诊类别,即不管哪个收费处录入的病人档案都能显示
二、 新建或修改病人档案
简单格式使用的datawindow为d_dagl_simple,
户口地址格式使用的datawindow为d_dagl_hkdz,
自定义格式使用的datawindow为d_dagl_custom
1、 门诊号码,新建病人档案时通过员工票据管类u_ygpjgl来得到新的门诊号码,修改病人档案时,门诊号码由外部作为参数传入
2、 病人性质,病人性质表中mzsy(门诊使用)=1的非上级性质(无下级性质的性质)
3、 病人性别,1-男 2-女
4、 病人年龄,有两种输入 第一种为输入数字,表示年龄,第二种为输入出生年月
系统通过uo_brxx来实现年龄和出生年月的转化,在MS_BRDA表中保存的为出生年月
5、输入完毕后保存入MS_BRDA中
三、打印病历
根据系统参数中设置的病历打印使用打印机名,往该打印机上打印病历
该按钮将数据准备到数组ls_mzxx中,并传递给gf_bldy,由gf_bldy()实现病历打印,gf_bldy由客户化人员维护
数据窗口 D_dagl_list,dd_brxz_mz,d_hyzk_dm,d_mzdm_dm,d_zydm_dm
引用表 MS_BRDA、GY_BRXZ、GY_DMZD、MS_CYDW、MS_CYDZ
操作表 MS_BRDA
编制 梅芝雨、钟华 日期 2000.05.16
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 挂号处理 编号 5.12
功
能
描
述 1、 初始化员工票据管理, 自动产生门诊号, 取就诊号码, 判断是否可进行预约
2、 预约挂号、调入预约
3、 挂号:通过输入门诊号码或就诊号码调出病人信息(可在此调用病人档案输入),输入挂号科室的代码,选择某一科室,选择是否收病历费,然后,根据挂号费、诊疗费、病人自付比例,进行收费。
4、 选择代码输入方式:拼音、五笔、角型、其它
可根据就诊号码进行退号、转科
程
序
描
述 一、挂号初始准备
1、 u_ygpjgl.set_czgh(base_info.userid) 初始化员工票据管理
2、 gf_zdcsmzh() 自动产生门诊号
3、 判断是否可进行挂号预约
4、 取就诊号码:wf_getjzhm()
5、 根据时间判断早中班ii_zblb
6、 根据日期清已挂人数(YGRS):更新MS_GHKS表;将过期的预约挂号置标志2:MS_YYGH表,GHBZ = 2
7、 取挂号科室信息dw_ghks.retrieve(gi_mz_code,ldt_begin,ldt_end)
8、 取专家医生信息dw_ghys.retrieve(ii_zblb,ldt_begin,ldt_end)
9、 取每个科室的预约挂号人数(从MS_YYGH表中)
10、 准备病人信息和挂号信息,等待输入dw_brxx 、dw_ghxx
11、 取打印病历标志,病历费记帐标志、取病历单价、取挂号费项目,诊疗费项目,专家费项目、取收费精度和收费金额格式
二、挂号操作
1、预约:从MS_YYGH表中取出预约信息,取挂号费及诊疗费(取自负比例wf_get_percent()),再调用缴款处理wf_jkcl()
2、 调入预约:open(w_xzyygh)选择预约挂号窗口,再从MS_YYGH表中取该次调入预约挂号的信息,通过MS_GHKS、MS_YSPB表判断所选择的预约挂号科室及医生是否今天可以挂号,取挂号费及诊疗费(取自负比例wf_get_percent()),取挂号病历费,计算专家费用、自负专家费,再调用缴款处理wf_jkcl()
3、 新建档案:d_dagl_custom
判断新产生的门诊号是否已被使用,是否需要输入证号,判断信息输入完整性,然后新病人产生新的ID号并更新信息。
4、 挂号:
语音发声控制gf_talk(1,0)
输入门诊号:回车判断,若未输入门诊号打开新建档案窗口open(w_ghcl_new)并返回门诊号码;若输入了门诊号,判断该门诊号是否存在,判断病人是否为老病人(是否收病历费),判断该病人是否有帐户,有则gf_readaccount()读入病人帐户
选择挂号科室:在dw_ghxx中找到相应行, 判断是否超过科室挂号限额(dw_ghks的ygrs),取挂号费及诊疗费(dw_ghks的ghf),wf_get_percent
取自负比例,取(dw_ghks的zlf)诊疗费,得到自负挂号费和自负诊疗费,取病历费,得自负病历费。若预约挂号状态,则wf_yyqr()预约确认,若为挂号状态,则wf_jkcl()缴款处理。
5、 退号处理:先判断MZLB表看是否为本门诊部的挂号,若是,则更新MS_GHMX SET THBZ=1,INSERT INTO MS_THMX(SBXH,CZGH,MZLB),UPDATE MS_YSPB SET YGRS=YGRS-1,更新 MS_BRZH的LJFY和ZHYE
6、 转科处理:先判断MZLB表看是否为本门诊部的挂号,费用与转科前是否一致,若是,则UPDATE MS_GHKS,UPDATE MS_GHMX
数据窗口 d_gh_ghks、d_gh_ghys、d_ghcl_brxx、d_gh_ghrb_brxz
d_gh_thmx、d_gh_thcl等
引用表 MS_YYGH, MS_GHKS、MS_YSPB、MS_BRDA 、MS_ZHLB、MS_BRZH、MS_YGPJ
操作表 MS_BRDA、MS_SZMX、MS_GHMX、MS_YYGH、MS_THMX
编制 钟华 日期 2000.05.16
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 挂号日报 编号 5.13
功
能
描
述 操作员每天操作结束进行挂号统计,产生挂号日报,进行结帐处理(可结帐多次)。结帐后,可进行日报查询(包括明细查询:挂号明细、退号明细)。
程
序
描
述 某操作员挂号日报:统计——"d_gh_ghrb_brxz"(MS_BRDA,MS_GHMX表中的GHCS、GHJE、ZFJE、BLJE、ZJJE、BRXZ字段)检索出各性质人数和金额,在日报中减去作废数据( MS_GHMX.SBXH 在 MS_THMX中MS_THMX.JZRQ is null)写就诊号码,wf_cacl_cfhm(),在报表中写退号号码,写大写的收款总计gf_dxzh(收费总计),写现金合计(MS_GHMX)等。结帐——UPDATE MS_GHMX SET JZRQ,UPDATE MS_THMX SET JZRQ。查询——SELECT distinct MS_GHMX.JZRQ,打开w_gh_rbxz,选择某一次日报。由d_gh_ghrb_brxz_history检索出数据,在日报中减去作废数据,写就诊号码、退号号码,其他应收款等。挂号明细——open(w_gh_ghmx),“d_gh_ghmx”。退号明细——open(w_gh_ghmx),“d_gh_thmx”。
数据窗口 d_gh_ghrb_brxz、d_gh_ghrb_brxz_history、d_gh_ghmx、d_gh_thmx等。
引用表 MS_GHMX,MS_THMX、MS_GHKS、MS_BRDA等
操作表 MS_GHMX、MS_THMX
编制 钟华 日期 2000.05.16
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 收费结算 编号 5.21
功
能
描
述 一、 收费准备 : 取初始参数,初始化界面,初始化调入处方单和医技单的选择处方窗口 ,初始化收费环境,用于开始一张新的收费发票
二、 收费操作
1、 取发票号码,输入挂号产生的门诊号(或IC卡号),调出病人信息及帐户信息进行收费。如果不输门诊号,则录入性质和姓名进行划价收费.
2、 如果该ID号病人在处方库及医技库中有自己的未收费的单据(医生站或药房开的单据),则调入未收费单据,计算出收费明细金额及总金额.
3、 如果无医生站开的单据则根据单据优先标志则产生第一张单据
4、 根据用户的按键情况执行相应的功能。F2:增加检查单 F3:增加西药方 F4:增加中药方 F5:增加草药方F6/F7:查看上下单据.录入项目代码可根据参数设置定为固定模式及光标跟随两种模式 F8:根据处方号码或特检号码调入处方单或医技单 F12:取消当前录入的信息,从新换病人收费
5、 F8实现发票复制功能(主要针对发票作废后重打,完全复制).
6、 F9对当前的单据进行结算,显示应收合计,录入交款金额,提示找回金额,收取现金或支票,如果缴款方式为帐户,则调用外挂的写帐户的函数,保存所有单据,打印发票后,进行新病人的收费。如果不录入缴款金额,则表示保存当前单据,打印发票,累计总计费用,继续该病人其他单据的划价收费.对发票号码进行递加。
三、 查询
可根据发票号码、病人性质、收费日期、单位名称、病人证号、门诊号码、病人姓名、收款员条件检索出发票信息。
程
序
描
述 一、收费准备
用Wf_initpara 初始参数
1、 取输入码方式的名称gl_inputmode
2、 取西药费、中药费、草药费序号
3、 取参数“是否允许不挂号开处方0.不允许 1.允许”、“优先标志1.检查单优先2.处方优先”、“代码录入方式1.固定模式2.光标跟随”、“处方号码默认模式1.空 2.取门诊号 3.取发票号”、“最大收费项目数”
4、 取收费精度和收费金额格式
5、 取各标志:修改当前发票标志、药品套餐使用标志、费用套餐使用标志
6、 取药品过滤方式 0.不过滤 1.过滤库存大于0的药品
7、 初始化药品输入:u_sele_yp.init(药品套餐使用标志, 西药费、中药费、草药费序号,药品过滤方式,"ue_cf_clicked")若某序号为0则不能使用某类药品。
8、 初始化费用输入:u_sele_fy.init(1, 费用套餐标志,"ue_yj_clicked")
9、 取药房库存方式 1.取最大库存2.取满足所需库存的最大库存3.取最小库存4.取满足所需库存的最小库存
10、 初始化员工票据管理u_ygpjgl.set_czgh(base_info.userid)、 u_get_zfbl.initialize(sqlca,false)
11、 创建单一药品管理对象u_ypxx和单一费用管理对象u_fyxx
12、 初始化调入处方单和医技单的选择处方窗口u_select_cfsb.initialize、uo_select_yjxh.initialize
初始化收费环境,用于开始一张新的收费发票
wf_getmzxx(类型1.换新病人0.继续操作原病人)
13、 清空数据窗口
14、 设置发票号码u_ygpjgl.get_fphm()
15、 如果新病人则总费用清空open(w_hjsf_mzxx),wf_close()
16、 写门诊信息dw_mzxx
17、 判断病人是否有帐户gf_checkaccount(id),若该病人有帐户读帐户余额及累计费用gf_readaccount(id)
18、 当门诊号码有效且该病人收费的第一张发票则调入医生开的处方和医技单wf_load(id)
处方优先且非挂号病人可开处方则先新增一处方,wf_add_cf(1),否则新增一单据wf_add_yj()
a) 收费操作
1、W_hjsf_mzxx的说明
若挂号使用,则停在输入门诊号码处(若"收费使用号码类型”为就诊号码,则停在输入就诊号码处),否则不输入门诊号码(或就诊号码),停在输入病人性质处,并调出默认的病人性质
输入门诊号码,当输入的门诊号码为空时,停到输入病人性质处,否则调用函数wf_brxx_mzhm 设置病人信息
输入病人性质后,根据证号判别,将光标停到输入病人证号处或输入病人姓名处输入病人证号,若未输入病人证号,则需输入病人单位
2、发票查询w_fpjs的说明
从d_fpcxtj的输入中得到查询条件,拼接SQL语句,设置d_fpcx的SQL语法,再从MS_MZXX中检索出数据。
3、w_hjsf_main的说明
①selectsfsb:调入处方单(dw_cf02)
②selectyjxh:调入医技单(dw_yj02)
③ue_cf_clicked: wf_fixdata_yp_1()判断是否为套餐u_sele_yp.gettcbz(),判断是否为最后一行,是则u_sele_yp.getypxh()并wf_set_cf02(),否则①u_sele_yp.clear_tcbz()清套餐标志(不可输入)
④ue_yj_clicked: wf_fixdata_fy_1()类似于wf_fixdata_yp_1()
⑤dw_cf02的keydown事件中,按数字键选择药品wf_fixdata_yp(),KeyEnter时,当药品选择窗口可见时wf_fixdata_yp(u_sele_yp.il_pagerow),当不可见时调用uo_ypxx.setypxx(ll_ypxh)和uo_ypxx.setyfkc(), u_sele_yp.settype(li_type)、u_sele_yp.Reflush(ls_code)、u_sele_yp.getypxh(),判断输入的是否为套餐
⑥输入医生,若需科室核算(ifkshs=1),则必须输入医生
5、 关于快捷键的说明:
F2:增加检查单wf_add_yj()
F3:增加西药方wf_add_cf(1)
F4:增加中药方wf_add_cf(2)
F5:增加草药方wf_add_cf(3)
F8:根据处方号码或特检号码调入处方单或医技单 wf_fetch()
F9:结算开票 open(w_sh_hjsf_jscl)
F12: 取消 wf_getmzxx(1) 初始化环境变量,重新开始输入病人
6、 输入费用的部分事件说明
editchanged:若为固定模式且费用名称窗口已打开或为跟随模式, 则会调用窗口w_sele_fy显示费用,keydown: fymc列:输入数字则选择某行,输入回车,则返回选中行; ylsl列:输入0,则删除该行,并新加一行 , 调用w_calc_sfmx填收费明细dw_sfmx,在输入费用名称时默认,数量为1
程
序
描
述 7、 复制说明:w_hjsf_copy
根据输入的发票号码得到各信息填到w_hjsf_copy,dw_mzxx, dw_cf01, dw_cf02,dw_yj01,dw_yj02中,并写入w_hjsf_main中
8、结算说明:
判断收费项目是否大于规定项数dw_sfmx.rowcount() > ii_max_sfxms
wf_save保存单据
根据精度调整dw_sfmx中的zfje和zjje
取现金金额、帐户自负金额、支票金额、帐户金额、其它应收等
删除dw_yj02中空行,删除dw_yj01中无明细的行,删除dw_cf02中空行,删除dw_cf01中无明细的行
update dw_sfmx,dw_yj01,dw_yj02,dw_cf01,dw_cf02
累加发票号码
wf_create_fp 打印
数据窗口 D_mzxx,d_cf01,d_cf02,d_yj01,d_yj02,d_sfmx,d_uo_ypxx_yf_kcmx
引用表 Yk_ypbm,yk_typk,yf_kcmx,yk_ypcd,gy_ylsf,gy_sfxm,gy_ygdm,gy_zfbl,gy_fyjy,gy_fybm,gy_ypjy等
操作表 Ms_mzxx,ms_sfmx,ms_cf01,ms_cf02,ms_yj01,ms_yj02,ms_ygpj
编制 钟华 日期 2000.05.16
块 说 明 书
产品名称 门诊挂号收费系统 模块名称 发票作废 编号 5.22
功
能
描
述 1.数据窗口中列出未结帐的本操作员的作废发票
2.双击:调用取消作废按钮
3.作废按钮:弹出输入框,输入发票,显示发票内容框,此时可显示发票内容或作废该发票
4.作废发票时必须:未作废该发票中项目未执行该发票中处方未发药
该发票未退费,若已退费,则只能做全退处理
5.取消作废:显示发票内容框,可进行取消处理。
程
序
描
述 1.dw_1中列出ms_zffp中jzrq为空的本操作员的发票
2.取消作废
取消作废描述:
判断病人是否有帐户gf_checkaccount(id),该病人有帐户,则gf_readaccount(id),并写病人帐户gf_writeaccount(id,brzh)
ms_mzxx,ms_yj01,ms_cf01中,set ZFPB=0
删除 MS_ZFFP的相关记录
3. 作废按钮:
作废操作描述:
若mzxx中qtje<>0,则需进行帐户操作
ms_mzxx,ms_yj01,ms_cf01中,set zfpb = 1
在ms_zffp中加入该发票
4.单据按钮:打开w_djcx窗口由发票号码检索出发票信息
数据窗口 d_zffp,d_fpnr,d_list,d_cf02_copy,d_yj01_copy
引用表 ms_cf02,ms_yj02等
操作表 ms_mzxx,ms_cf01,ms_yj01,ms_zffp
编制 钟华 日期 2000.05.16
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 退费处理 编号 5.23
功
能
描
述 1.输入需退费发票号码后在费用窗口中显示所有可退费用,在药品窗口中显示所有可退药品及药房的退药情况
2.输入退费数量
3.执行退费即结算
程
序
描
述 a) 输入的发票号码从MS_MZXX中取出该发票记录,要求
该发票号未作废 无退费发票和该发票相关联
尚未日结,才能进行重打作费发票操作 未发药,未执行
b) 根据退费发票号码查原始发票号码wf_get_first_fphm(tffphm),并根据原始发票号码得到发票内容wf_get_fpnr_via_fphm(fphm)
c) dw_list中列出处方单,dw_cf01、dw_cf01_save、dw_cf02、dw_cf02_save中列出处方情况,dw_yj02,dw_yj02_save,dw_yj01,dw_yj01_save中列出费用情况,dw_sfmx, dw_sfmx_total中列出收费情况
d) 点击dw_list,调用wf_display(djlx, sbxh)切换单据
e) dw_mzxx中列出该发票抬头情况
根据退药情况填中dw_cf02中退药数量(若某处方的cfgl关联到属于发票is_fphm 的处方(cfsb),则该处方为有关的退药处方)
根据退药情况填dw_yj02中退费数量(若某医技单的yjgl关联到属于发票is_fphm 的医技单(yjxh),则该医技单为有关的退费单)
f) 对存储准备wf_save_prepare()的说明
保存数据使用的各项数据窗口的初始化wf_save_reset()
取原始发票的收费明细dw_sfmx_total.retrieve(fphm)
从原始发票的收费明细中扣除已退费部分的费用明细,剩余部分为进行该次退费操作前费用明细wf_cacl_sfmx_ytf()
拷贝使dw_sfmx,dw_sfmx_total中保存的收费明细均为进行该次退费操作前费用明细dw_sfmx_total.rowscopy()
从dw_sfmx_total中扣除该次退费的各项收费明细wf_cacl_sfmx_tf()
准备dw_mzxx的数据wf_prepare_mzxx("tf")并
产生dw_sfmx(用于保存的datawindow) wf_save_prepare_print()
g) w_tfcl_js的说明:
根据精度调整dw_sfmx中的zfje和zjje并取现金、支票、帐户和其它应收
用wf_save保存单据
dw_cf01_save.update()、dw_cf02_save.update()、dw_yj01_save.update()
dw_yj02_save.update()、dw_mzxx.update()、dw_sfmx.update()
update MS_MZXX set THPB = 1
update MS_CF01 set ZFPB = 1(sybz = 1 and fybz = 0)
update MS_CF01 set FPHM = :ls_fphm(sybz = 1 and fybz = 3)
update MS_YJ01 set ZFPB = 1(sybz = 1)
累加发票号码uo_ygpjgl.add_one(new fphm)
更新员工票据库的使用号码uo_ygpjgl. update_fphm(fphm)
更新药房录入的退药单,填发票号码
w_tfcl.wf_create_fp()生成发票信息并打印
数据窗口 d_mzxx,d_sfmx, d_ms_cf01_tf,d_ms_yj01_tf,d_ms_cf02_tf,d_ms_yj02_tf
d_uo_yj02_ms_yj02,d_uo_sfmx_ms_sfmx,d_uo_cf02_ms_cf02,d_uo_yj01_ms_yj01
d_uo_cf01_ms_cf01
引用表 Ms_cf02,ms_yj02等
操作表 Ms_mzxx,ms_sfmx,ms_cf01,ms_yj01,ms_yj02,ms_cf02
编制 钟华 日期 2000.05.16
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 操作员收费日报表 编号 5.24
功
能
描
述 1. 根据参数设置收费日报模式
2. 产生按钮用于产生当日收款日报
3.结帐按钮用于保存当日收款日报,结帐时时间为结帐日期
4.查询按钮用于查询某一结帐日期的收款日报
5.明细按钮用于查询和该日报有关的收费明细
程
序
描
述 1. 收费日报模式:1为open(w_skrb_sfxm)—d_skrb_fylb ;2 为open(w_skrb_brxz) —d_skrb_brxz
2. 该模块中以结帐日期(jzrq)区分每一次结帐,无结帐日期则表示未结帐
该结帐日期用于ms_mzxx及ms_zffp两个表中
3. 表中的各费用项目及现金金额,支票金额,帐户金额(即ms_mzxx中的qtje)
均为全部的某项金额减去相应的作废发票金额
4. 其它应收款=收入合计-现金金额-支票金额-帐户金额
5. 作废发票序列为ms_zffp库中各发票号码
6. 退票为做过退费处理的发票序列
7. 产生操作说明:
计算按费用分类的收费情况wf_cacl_sfxm(dw_1)
计算按病人性质分类的收费情况wf_cacl_brxz(dw_1)
产生使用发票序列wf_cacl_fpxl()
产生作废发票序列,张数,作废发票总金额wf_proc_zffpxl()
产生退费发票序列,张数,退费发票总金额wf_proc_tffpxl()
取今日各项合计金额wf_cacl_hjje()
计算按费用类别分类的收费情况wf_cacl_sfxm(dw_2)
计算按收费项目的收费情况wf_cacl_brxz(dw_2)
8. 查询操作说明:open(w_rbrq)选择某一次日报
调用wf_cx("d_rbcx_brxz") or wf_cx("d_rbcx_sfxm")
8. 结帐操作说明:
写汇总日报表wf_write_hzrb(ldt_jzrq)
写性质明细表(MS_XZMX) wf_write_xzmx(dw_1,ldt_jzrq)
写日报明细表(MS_XZMX) wf_write_rbmx(dw_1,ldt_jzrq)
ms_rbmx 在该表中记录每一费用类别的费用(sfxm实际为fylb
写门诊收费表及发票作废表中的结帐日期wf_write_jzrq(ldt_jzrq)
在ms_mzxx及ms_zffp中将该操作员的为结帐的记录写入结帐日期
数据窗口 d_skrb_fylb、d_skrb_brxz
引用表 Ms_sfmx等
操作表 Ms_mzxx,ms_zffp,ms_hzrb,ms_rbmx
编制 钟华 日期 2000.05.16
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 门诊收费汇总日报表 编号 5.25
功
能
描
述 1.该表为各收费员所收费用按费用类别分类的表(已做过收款日报)
2.产生按钮用于将未汇总的收款日报按收款员汇总显示
3.结帐按钮用于作汇总,写入汇总日期
查询按钮用于将汇总日期在给定日期段的汇总日报汇总显示
程
序
描
述 挂号收费汇总dw_hzrb、项目分类汇总dw_xmhz
A.产生
1. 按收款员进行挂号汇总MS_GHMX
2. 按收款员进行退号汇总MS_THMX
3. 填入挂号日报信息:现金、帐户、其他应收
4. 减去退号部分
5. 计算挂号作废和挂号退号数
6. 计算作废发票和退费发票数
B.查询
根据日期检索数据,方法与产生相同
C.结帐
更新汇总日报update MS_HZRB set HZRQ
更新挂号明细UPDATE MS_GHMX SET HZRQ
更新退号明细UPDATE MS_THMX SET HZRQ
更新门诊信息UPDATE MS_MZXX SET HZRQ
更新作废发票UPDATE MS_ZFFP SET HZRQ
ms_hzrb中的HZRQ为该收款日报是否做过汇总的标记
结帐操作即是将ms_hzrb中的HZRQ写入汇总的日期,若该日期为空,
表示未做过汇总
根据日期检索数据,方法与产生相同
数据窗口 d_mz_xmhz、d_mz_hzrb
引用表 Ms_sfmx等
操作表 Ms_mzxx,ms_zffp,ms_hzrb,ms_rbmx
编制 钟华 日期 2000.05.16
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 病人性质报表 编号 5.31
功
能
描
述 1.当选择的病人性质有下级性质时,产生按其下级性质归并的报表
2.当选择的病人性质无下级性质时
当方式为明细时:产生该性质病人的每次明细的报表
当方式为汇总时:产生该按该性质病人汇总的报表
程
序
描
述 见5.7 病人单位性质报表
数据窗口 d_mz_brfy_1(明细)d_mz_brfy_2(汇总)
引用表 Gy_brxz,gy_fydw,ms_mzxx,ms_sfmx
操作表
编制 钟华 日期 2000.05.17
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 病人性质单位报表 编号 5.32
功
能
描
述 1.当选择的病人性质有下级性质且需考虑其下级性质时,产生按其下级性质归并的报表
2.当选择的病人性质无下级性质或有下级性质但不需考虑其下级性质时
当方式为明细时:产生该性质病人的每次明细的报表
当方式为汇总时:产生该按该性质病人汇总的报表
3.当选择的病人性质有所属单位时,产生按所属单位汇总的报表
4.当选择的为单位时
当方式为明细时:产生该单位病人的每次明细的报表
当方式为汇总时:产生该按该单位病人汇总的报表
程
序
描
述 1. 报表窗口由w_bbfather窗口继承
2. 在cb_2.clicked中,if为叶结点 and if为明细报表,则is_data = "d_mz_dwfy_1",否则为"d_mz_dwfy_2",if 非叶结点,则is_data = "d_mz_dwfy"
3. 初始化wf_initial():明细wf_brdw_mx();汇总wf_brdw_hz();根结点wf_brxz()
方法:将报表字段放入报表表头结构数组s_reportcol中
(colname, colcode, colleen, colgroup, coldata, coltype, coldatatype)
coltype 类型(1.信息,2.数据); coldatatype类型(1-string 2-number 3-date)
4. 将'd_xmgb'中纪录整理到结构中,gf_getreportcolparm(报表编号,结构, 是否分组, 是否分组合计, 开始列, 长度),设置colgroup项
5. 将报表首尾部分放入报表名称,台头,附注结构s_reporttabel中,(title1,title2,title3,title4,footer1,footer2,printp),其中,title1为报表标题,title2为报表副题(此处写病人单位),title3为报表日期,title4为报表注(此处为‘单位:元’),footer1,footer2为脚注,printp为是否打印页号(T.是,F.否)
6. 将报表性质部分放入报表中行字段,列字段,值字段,数据源以及字体结构s_reporttablesys中(rowfield, rowtype, colfield, valfield, datastore,
tfont,hfont, dfont, colcount)
7. uo_1.initial(s_reportcol [],s_reporttabel [],s_reporttablesys [])
8. w_bbfather控件说明:
cb_2 根据类型选择il_selecttype
s_exchange.longparm[1] = 1 可选全部
s_exchange.longparm[2] = 2 门诊性质 =1 全部性质
1为科室,打开w_ksdm_sele;2为全部病人性质,4为门诊病人性质,5为住院病人性质,打开w_brxz_sele;3为全部单位性质,6为门诊单位性质,7为住院单位性质,打开w_fydw_sele。
uo_1 继承于 vu_reportcomp
cb_tj 进行统计
在wf_getdata()中设置存储过程,DataObject = is_data,并取数据
wf_refreshdata(时间),更新uo_1控件数据
打印调用uo_1.printreport()
9. Vu_reportcomp说明:
数据窗口为dw_reportdisp(d_reportbbsign) 栏调整调用uf_column()
结构s_reportpage(zls总列数,xxl信息列数,sjl 数据列数,fy分页数,
fyl分页列数,zys 总页数)其它结构已在上面说明。
getrowval() 取得当前行唯一标示值
initial(stru_col[],stru_table[],stru_tablesys[])初始化表结构
printreport() 打印报表
数据窗口 d_reportsfxm(gy_sfxm)、d_reportxmgb(gy_xmgb)、
引用表 Gy_brxz,gy_fydw,ms_mzxx,ms_sfmx
操作表
编制 钟华 日期 2000.05.17
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 挂号分科统计表 编号 5.33
功
能
描
述 按科室进行挂号统计
程
序
描
述 Dw_1挂号数据减去dw_2退号数据显示结果在dw_1 中
数据窗口 d_gh_kshz, d_gh_kshz_th
引用表 MS_GHMX,MS_GHKS,MS_THMX
操作表
编制 钟华 日期 2000.05.17
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 医生挂号统计表 编号 5.34
功
能
描
述 按医生进行挂号统计
程
序
描
述 Dw_1挂号数据减去dw_2退号数据显示结果在dw_1 中
数据窗口 d_gh_yshz, d_gh_yshz_th
引用表 MS_GHMX,MS_GHKS,MS_THMX
操作表
编制 钟华 日期 2000.05.17
模 块 说 明 书
产品名称 门诊挂号收费系统 模块名称 科室医生核算报表 编号 5.35
功
能
描
述 1.按开单科室,开单医生,执行科室,执行医生四种方式进行核算
2.可实现一次统计,多次查询
程
序
描
述 1.选择科室:若选择开单is_data = "d_mz_kdks",否则is_data = "d_mz_zxks"
选择医生:若选择开单is_data = "d_mz_kdys",否则is_data = "d_mz_zxys"
2.后台统计:若该时间段内已做过统计,是否覆盖,若覆盖则
delete MS_MZMX、MS_MZHS、MS_YJMX、MS_YJHS表内S_MZMX.GZRQ >= :ldt_begin and MS_MZMX.GZRQ <= :ldt_end的记录
wf_tj_mzhs(ldt_begin,ldt_end) 统计门诊核算表
进行门诊开单核算(填MS_MZHS表)dw_mzhs
处方统计d_mz_cftj_kdzs
扣除处方作废d_mz_cftj_kdzs_zf
医技统计d_mz_yjtj_kdzs
扣除医技作废d_mz_yjtj_kdzs_zf
wf_tj_mzmx(ldt_begin,ldt_end) 统计门诊明细表dw_mzmx
进行门诊开单核算wf_tj_je(dw_mzmx,"d_mz_cftj_kdje",adt_begin,adt_end)
进行门诊作废核算wf_tj_je(dw_mzmx,"d_mz_cftj_kdje_zf",adt_begin,adt_end)
进行医技开单核算wf_tj_je(dw_mzmx,"d_mz_yjtj_kdje",adt_begin,adt_end)
进行医技作废核算wf_tj_je(dw_mzmx,"d_mz_yjtj_kdje_zf",adt_begin,adt_end)
wf_tj_yjhs(ldt_begin,ldt_end) 统计医技(执行)核算表
进行门诊执行核算(填MS_YJHS表) dw_yjhs
执行统计d_mz_yjtj_zxzs
wf_tj_yjmx(ldt_begin,ldt_end) 统计医技(执行)明细表dw_yjmx
医技执行金额核算wf_tj_je(dw_yjmx,"d_mz_yjtj_zxje",adt_begin,adt_end)
3.统计操作同病人性质单位报表
数据窗口 d_mz_kdks, d_mz_zxks,d_mz_kdys, d_mz_zxys,
d_mz_cftj_kdzs,d_mz_cftj_kdzs_zf, d_mz_yjtj_kdzs, d_mz_yjtj_kdzs_zf
d_mz_cftj_kdje, d_mz_cftj_kdje_zf, d_mz_yjtj_kdje, d_mz_yjtj_kdje_zf
d_mz_yjtj_zxzs, d_mz_yjtj_zxje
引用表 ms_mzxx,ms_sfmx,ms_cf01,ms_cf02,ms_yj01,ms_yj02
操作表 Ms_mzhs,ms_mzmx,ms_yjhs,ms_yjmx
编制 钟华 日期 2000.05.17
三. 界面设计描述
界面名称:病人档案维护
界面图示:
图1
图2
|
|