医院信息管理系统门诊挂号表结构及设计分析Word文件下载.docx
《医院信息管理系统门诊挂号表结构及设计分析Word文件下载.docx》由会员分享,可在线阅读,更多相关《医院信息管理系统门诊挂号表结构及设计分析Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
gh_zd_request_type(号类字典):
定义医院挂号号类:
如门诊号、预约号、电话预约号等
gh_zd_request_charge(号类字典费用项目明细):
定义医院某种号类应收费用项目:
服务费、附加费等
2.基础号表维护:
gh_base_request(门诊基础号表):
按科室、医生、号别等划分定义医院1~4周每天挂号总数,主要用来生成将来医院使用挂号纪录表
gh_base_request_segment(基础号表分配定义):
将某种号别总号数按照号类划分成多段,用以确定按不同号类挂号时应分配的号顺序
3.gh_record(挂号纪录):
医院对外使用挂号纪录,有两种情况区分
a-纪录病人挂号情况
b-纪录未挂出号情况
4.gh_doctor_schedule(医生出诊计划):
由医生自己确定在某时间段内不出诊,在生成挂号纪录时应判断医生是否在不出诊期内,若是则不生成此医生挂号纪录
5.在挂号时费用处理是非常重要功能,主要涉及三张表
gh_detail_charge(费用明细):
纪录病人挂号费用明细情况
gh_receipt(发票表):
病人结算时按费用明细生成结算纪录
gh_receipt_charge(帐单费用):
纪录病人某次结账各付款方账单费用
gh_deposit(现金流水账):
纪录病人交预交金、结账时往来流水账
6.ic_register(IC卡登记):
纪录病人在医院购买IC卡的情况
7.ic_deposit(IC流水帐):
纪录病人在医院使用IC卡花费流水账
主要模块及数据操作
1.基础号表维护模块
该模块为生成使用号表做数据准备。
主要包括两张表:
gh_base_request,gh_base_request_segment,表结构如下表:
gh_base_request(门诊基础号定义)
字段
数据类型
宽度
描述
主键
数据来源
request_sn
int
4
唯一编号(与detail相关唯一标示)
*
gh_config.base_request_sn
Week
tinyint
1
周
i
Day
天
Ampm
char
上午/下午(a/p)
Unit_sn
7
科别
zd_unit.code
group_sn
组
doctor_sn
5
医生姓名
a_employee_mi.code
clinic_type
2
号别
gh_clinic_code
totle_num
smallint
总号数
enter_opera
操作员
enter_date
datetime
8
操作日期
Open_flag
开放标志1=开放(此号可用)
window_no
tinyint
窗口号
gh_zd_window_no
说明:
基础号主表,按周(1-…)和天(1-7)预先定义医院各科室、医生挂号情况,作为以后医院生成使用号表的基础。
数据生成方法:
此表数据属于单表维护,凡是字段标明数据来源的均从相应字典取数据,其它
由用户自录
特殊字段数据含义:
open_flag指明此纪录是否使用,0=相当删除此纪录,只为留痕
window_no指明此纪录只为医院特定挂号窗口使用
gh_base_request_segment(门诊号基础分配定义)
唯一编号(与gh_request.request_sn关联)
gh_base_request.request_sn
segment
区间号
reqtype
号类
gh_zd_request_type.code
begin_no
Smallint
起始号
End_no
结束号
基础号子表,针对主表一条纪录(如专家号),预先按段定义此种号别有哪些号类型(如窗口预约、电话预约、网上预约)以及总号数按号类号顺序的分配情况。
此表数据是gh_base_request的子表,与主表构成一对多关系,数据内容应与主表同时生成,凡是字段标明数据来源的均从相应字典取数据,其它由用户自录
begin_no-指明在某一号类内起始号顺序
end_no-指明在某一号类内结束号顺序
要求sum(End_no-Begin_no)<
gh_base_request.total_numwheregh_base_request_segment.request_sn=gh_base_request_.request_sn
具体说明如下:
a.当录入图标在窗体的上半部分时,增加、删除的是gh_base_request表;
b.当录入图标在窗体的下半部分时,增加、删除的是gh_base_request_segment表
c.控件的颜色为黄色的,是必须录入项,若不录,则会在提交时屏幕右上角‘信息提示区域’出现提示信息
d.这两张表为主从关系,gh_base_request为主表,gh_base_request_segment为从表,(主表一条记录对应从表多条记录),查询按钮可弹出窗口对主表进行查询
e.保存按钮,可对主从表同时进行保存,从表的起始号和结束号必须与主表的总号数有种对应关系,起始号、结束号不能有交叉,从表的最后一条记录的结束号必须等于总号数
f.当删除gh_base_request表记录时,子表gh_base_request_segment的相应主表的记录(一条或多条)同时被删除
g.gh_base_request.op_id取全局变量gv_user_mi,op_date取服务器时间
h.录入从表时,要求起始号和结束号不能交叉,若交叉保存时会有提示信息
2.生成号表模块
主要功能是由基础号表维护模块
(1)的两张表,生成使用号表(gh_record)
使用号表(gh_record)的表结构如下:
gh_record(挂号纪录)
record_sn
identityint
流水号
request_date
日期
req_type
ampm
unit_sn
sequence_no
smallint
挂号顺序号(加号置负)
patient_id
12
病人ID
times
次数(退号置负)
name
varchar
32
病人名
response_type
3
病人身份
录入操作员
录入时间
report_date
报表时间(打报表时间)
open_flag
开放标志
visited_flag
到院标志,1已到,0未到,9应退
此表数据是首先由gh_base_request结合gh_base_request_segment在生成号表时生成,凡是gh_base_request字段相同数据均复制过来,其它数据在挂号时填入,一般情况下挂号员无权增加纪录,在得到医生同意下,可增加本医生话号纪录,此时sequence_no负顺序增加以代表加号,挂号纪录内容一般由基础号表生成时填入,但在加号情况时除了系统自动产生字段内容外其它字段内容由挂号员填入
sequence_no——顺序号,系统自动产生
patient_id——挂号时通过条件从mz_patient_mi找到patient_id填入
times——挂号时通过条件从mz_patient_mi找到max_times+1填入,病
人退号置负
name——挂号时通过条件从mz_patient_mi找到name填入response_type——挂号时通过条件从mz_patient_mi找到response_type
填入
report_date——挂号员出结算报表填入当前时间
open_flag——代表此纪录是否可用,先由系统自动生成,挂号员根据医
生要求可修改
visited_flag——病人打发票置此标志0=未到、1=已到
window_no——gv_window_no
a.窗体的左半部分为选择的所需号表的时间范围,按查询按钮列出相应时间段的基础号表记录,过滤按钮可在查询结果的基础上进一步查询(具体),按生成按钮则根据基础号表的信息生成使用号表(gh_record,窗体的右半部分)
b.在选择所需号表时间范围时,如周或天没有录入,则在窗体右上角信息提出区域显示提示信息
c.刷新按钮为重新开始
d.根据基础号表(gh_base_request)的总号数(n)和段号表(gh_base_request_segment)结合医生外出表(gh_doctor_out)生成使用号表的n条记录(sequence_no为1….n),times,patient_id,name,response_type,enter_opera,enter_date,report_date,visited_flag字段为空,即未挂号状态
3.挂号记录维护模块
表为gh_record
主要功能对未挂出的使用号表(gh_record)进行维护
a.查询按钮可弹出窗口根据条件对使用号表进行查询,查询结果列在窗体的下半部分
b.该模块可对使用号表进行增加、修改、删除(patient_id为空)
c.当增加挂号记录时,录入控件颜色为黄色的必须录入
d.保存后挂号顺序号(sequence_no)根据修改结果进行重新排序,对已经挂出的号的顺序号不变或只会提前
e.维护时,提示信息显示在信息提示窗口
4.加号处理模块(gh_record)
根据加号数量增加gh_record的记录,所加的号sequence_no为负,属于单表维护,各字段由用户自录。
上部分为查询条件,中间为加号的临时使用表,下部分为使用号表(gh_record)。
点击增加按钮增加临时使用表,保存时才增加至使用号表(gh_record)中;
点击删除按钮可删除加号临时表中记录或使用号表(gh_record)记录。
5.挂号业务窗口
主要涉及的表gh_record,gh_op_receipt,gh_detail_charge,gh_deposit,
gh_receipt,gh_receipt_charge,mz_patient_mi,mz_visit_table
表结构如下:
gh_detail_charge(费用明细)
病人id
gh_record.patient_id
gh_record.times
item_no
系统产生
ledger_sn
结账次数
mz_patient_mi.max_ledgern_sn+1
happen_date
发生时间(申诉冲算使用)
系统时间
charge_code
6
收费码
zd_charge_item.code
audit_code
核算码(来自zd_audit_item)
zd_charge_item.audit_code
bill_code
账单码
exec_sn
执行科室
org_price
decimal
8.2
应收费用
zd_charge_item.charge_amount
charge_price
decimal
实收费用
见算法A
charge_amount
数量
charge_group
char
类别分组
zd_charge_item.per_group
录入员
gv_user_mi
getdate()
enter_win_no
录入窗口
gv_win_no
price_opera
收费员
price_date
收费时间
confirm_win_no
收费窗口
charge_status
状态(录入\划价、收费、打票)
trans_flag
传输标志
gh_zd_clinic_charge.trans_flag
或
gh_zd_clinic_type.trans_flag
fit_type
gh_receipt(发票)
gh_detail_charge.patient_id
次数
gh_detail_charge.Ledger_sn
receipt_sn
机制号
mz_patient_mi.max_receipt_sn+1
pay_unit
付款方
zd_charge_percent.pay_unit
charge_total
float
金额
settle_opera
结算员
当前操作员
settle_date
结算时间
收费人
报表时间
报表时系统时间
receipt_no
手工号
操作员录入或自动
结算类型(1=结算、2=结账)
gh_receipt_charge(发票账单明细)
charge
8.2
费用
负款方
gh_deposit(现金流水帐)
cheque_type
类型(a=现金、0=支票、记账单、汇票、内部支票、内部转账、欠账单、IC卡…)
cheque_no
发票号
depo_status
状态(1=交、2=退、3=结转、4=冲账、欠费、欠费补交…)
报表日期
gh_op_receipt(发票号初始)
operator
发生时间
start_no
10
current_no
当前号
end_no
step_length
步长
deleted_flag
删除标志
纪录病人挂号情况。
挂号业务流程图:
Y
N
N
N
Y
a.打开挂号业务窗口前首先弹出发票号初始窗口(gh_op_receipt)———单表维护
必须向该表中添加记录(因为在打号条时(非手工发票),需取该表的current_no作为发票号),起始号、结束号要求为10位
b.挂号窗口
窗口下方为病人挂号信息
选择相应的号后必须先计价方可打票,成功后,会修改该涉及的所有表,具体如下:
表gh_record:
gh_record.patient_id=mz_patient_mi.patient_id
gh_record.name=mz_patient_mi.name
gh_record.times=mz_patient_mi.max_times
若人工选号选中,则号表顺序号(sequence_no)同挂号员所选。
gh_record.response_type=mz_paitient_mi.response_type
gh_record.enter_opera=gv_user_mi(全局变量)
gh_record.enter_date=服务器时间
visited_flag=1(当clinic_type<
>
电话预约)
visited_flag=0(当clinic_type=电话预约)
当手工发票没有选中时,
表gh_op_receipt:
每挂出一个号gh_op_receopt.current_no+步长step_length,
当current_no>
end_no时,则此次挂号失败
表gh_detail_charge:
根据gh_record.clinic_type,gh_record.req_type,在gh_zd_clinic_charge和gh_zd_request_charge中找到相应的收费项目(zd_charge_item)
此表数据在挂号纪录生成时由程序生成,一条挂号纪录按号别、号类可生成多条明细
由一条挂号纪录生成费用明细算法:
通过挂号纪录可知病人patient_id,times,clinic_type,req_type,response_type,check_type(费别)在知道上述条件情况下,即可完成
patient_id=gh_record.patient_id
times=gh_record.times
item_no=记录号
ledger_sn=mz_patient_mi.max_ledger_sn
happen_date=系统服务时间
charge_code=gh_zd_clinic_charge.charge_code或gh_zd_request_charge.charge_code
audit_code=zd_charge_item.audit_code
bill_code=zd_charge_item.mz_bill_item
exec_sn=zd_charge_item.exec_unit
org_price=zd_charge_item.charge_price
charge_amount=1
charge_group=zd_c