医院信息管理系统门诊挂号表结构及设计分析.docx

上传人:b****6 文档编号:5165011 上传时间:2022-12-13 格式:DOCX 页数:27 大小:104.72KB
下载 相关 举报
医院信息管理系统门诊挂号表结构及设计分析.docx_第1页
第1页 / 共27页
医院信息管理系统门诊挂号表结构及设计分析.docx_第2页
第2页 / 共27页
医院信息管理系统门诊挂号表结构及设计分析.docx_第3页
第3页 / 共27页
医院信息管理系统门诊挂号表结构及设计分析.docx_第4页
第4页 / 共27页
医院信息管理系统门诊挂号表结构及设计分析.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

医院信息管理系统门诊挂号表结构及设计分析.docx

《医院信息管理系统门诊挂号表结构及设计分析.docx》由会员分享,可在线阅读,更多相关《医院信息管理系统门诊挂号表结构及设计分析.docx(27页珍藏版)》请在冰豆网上搜索。

医院信息管理系统门诊挂号表结构及设计分析.docx

医院信息管理系统门诊挂号表结构及设计分析

门诊挂号表结构及设计分析

∙业务分析:

门诊挂号是医院在使用医院信息管理系统时最早可能接触的子系统,它主要完成病人的挂号、收费业务,以及医院内部及与院外单位结算。

●所需功能分析:

门诊挂号主要功能:

流程图:

 

 

 

1)gh_base_request(门诊基础号表)

2)gh_base_request_segment(门诊号分配定义)

3)gh_record(挂号纪录)

4)gh_detail_charge(费用明细)

5)gh_receipt(发票表)

6)gh_receipt_charge(账单费用)

7)gh_deposit(现金账)

8)gh_zd_clinic_type(号别字典)

9)gh_zd_clinic_charge(号别字典费用项目明细)

10)gh_zd_request_type(号类字典)

11)gh_zd_request_charge(号类字典费用项目明细)

12)ic_register(IC卡登记)

13)ic_deposit(IC流水帐)

14)gh_op_receipt(发票号初始)

15)gh_doctor_out(医生出诊计划)

16)mz_patient_mi(主索引)

17)mz_visit_table

号表管理所面对问题:

1)医生有权确定自己号开放标志、开放时间段

2)对某些号不能随便加号,由医院统一控制

3)特定窗口只能挂特定号

 

1.基础字典维护:

gh_zd_clinic_type(号别字典):

定义医院挂号号别如:

普通号、专家号、教授号等

gh_zd_clinic_charge(号别字典费用项目明细):

定义医院某种号别应收费用项目:

挂号费、诊疗费、服务费、附加费等

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

tinyint

1

i

Ampm

char

1

上午/下午(a/p)

i

Unit_sn

char

7

科别

i

zd_unit.code

group_sn

char

7

i

zd_unit.code

doctor_sn

char

5

医生姓名

i

a_employee_mi.code

clinic_type

char

2

号别

i

gh_clinic_code

totle_num

smallint

2

总号数

enter_opera

char

5

操作员

a_employee_mi.code

enter_date

datetime

8

操作日期

Open_flag

char

1

开放标志1=开放(此号可用)

window_no

tinyint

4

窗口号

gh_zd_window_no

说明:

基础号主表,按周(1-…)和天(1-7)预先定义医院各科室、医生挂号情况,作为以后医院生成使用号表的基础。

数据生成方法:

此表数据属于单表维护,凡是字段标明数据来源的均从相应字典取数据,其它

由用户自录

特殊字段数据含义:

open_flag指明此纪录是否使用,0=相当删除此纪录,只为留痕

window_no指明此纪录只为医院特定挂号窗口使用

gh_base_request_segment(门诊号基础分配定义)

字段

数据类型

宽度

描述

主键

数据来源

request_sn

int

4

唯一编号(与gh_request.request_sn关联)

*

gh_base_request.request_sn

segment

tinyint

1

区间号

reqtype

char

1

号类

gh_zd_request_type.code

begin_no

Smallint

2

起始号

*

End_no

Smallint

2

结束号

说明:

基础号子表,针对主表一条纪录(如专家号),预先按段定义此种号别有哪些号类型(如窗口预约、电话预约、网上预约)以及总号数按号类号顺序的分配情况。

数据生成方法:

此表数据是gh_base_request的子表,与主表构成一对多关系,数据内容应与主表同时生成,凡是字段标明数据来源的均从相应字典取数据,其它由用户自录

特殊字段数据含义:

begin_no-指明在某一号类内起始号顺序

end_no-指明在某一号类内结束号顺序

要求sum(End_no-Begin_no)

具体说明如下:

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

4

流水号

*

request_date

datetime

8

日期

i

req_type

char

2

号类

i

ampm

char

2

上午/下午(a/p)

i

unit_sn

char

7

科别

i

group_sn

char

7

i

doctor_sn

char

5

医生姓名

i

clinic_type

char

2

号别

i

sequence_no

smallint

2

挂号顺序号(加号置负)

i

patient_id

char

12

病人ID

times

smallint

2

次数(退号置负)

i

name

varchar

32

病人名

response_type

char

3

病人身份

enter_opera

char

5

录入操作员

enter_date

datetime

8

录入时间

report_date

datetime

8

报表时间(打报表时间)

open_flag

char

1

开放标志

visited_flag

char

1

到院标志,1已到,0未到,9应退

 

window_no

tinyint

1

窗口号

数据生成方法:

此表数据是首先由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(费用明细)

字段

数据类型

宽度

描述

主键

数据来源

patient_id

char

12

病人id

*

gh_record.patient_id

times

smallint

2

次数(退号置负)

*

gh_record.times

item_no

int

4

流水号

*

系统产生

ledger_sn

int

4

结账次数

*

mz_patient_mi.max_ledgern_sn+1

happen_date

datetime

8

发生时间(申诉冲算使用)

系统时间

charge_code

char

6

收费码

zd_charge_item.code

audit_code

char

5

核算码(来自zd_audit_item)

zd_charge_item.audit_code

bill_code

char

3

账单码

exec_sn

char

7

执行科室

org_price

decimal

8.2

应收费用

zd_charge_item.charge_amount

charge_price

decimal

8.2

实收费用

见算法A

charge_amount

int

4

数量

1

charge_group

char

2

类别分组

zd_charge_item.per_group

enter_opera

char

5

录入员

gv_user_mi

enter_date

datetime

8

录入时间

getdate()

enter_win_no

tinyint

1

录入窗口

gv_win_no

price_opera

char

5

收费员

gv_user_mi

price_date

datetime

8

收费时间

getdate()

confirm_win_no

tinyint

1

收费窗口

gv_win_no

charge_status

char

1

状态(录入\划价、收费、打票)

trans_flag

char

1

传输标志

gh_zd_clinic_charge.trans_flag

gh_zd_clinic_type.trans_flag

fit_type

char

1

 

gh_receipt(发票)

字段

数据类型

宽度

描述

主键

数据来源

patient_id

char

12

病人id

*

gh_detail_charge.patient_id

times

smallint

2

次数

gh_record.times

ledger_sn

int

4

结账次数

*

gh_detail_charge.Ledger_sn

receipt_sn

int

4

机制号

mz_patient_mi.max_receipt_sn+1

pay_unit

char

2

付款方

zd_charge_percent.pay_unit

charge_total

float

金额

settle_opera

char

5

结算员

当前操作员

settle_date

datetime

8

结算时间

系统时间

price_opera

char

5

收费人

当前操作员

price_date

datetime

8

收费时间

系统时间

report_date

datetime

8

报表时间

报表时系统时间

receipt_no

varchar

12

手工号

操作员录入或自动

charge_status

char

1

结算类型(1=结算、2=结账)

 

gh_receipt_charge(发票账单明细)

字段

数据类型

宽度

描述

主键

patient_id

char

12

病人id

*

times

smallint

2

次数

*

ledger_sn

int

4

结账次数

*

receipt_sn

int

4

机制号

*

bill_code

char

3

账单码

*

charge

decimal

8.2

费用

pay_unit

decimal

3

负款方

 

gh_deposit(现金流水帐)

字段

数据类型

宽度

描述

主键

patient_id

char

4

病人id

*

item_no

int

4

流水号

*

ledger_sn

int

4

结账次数

*

times

smallint

2

次数

*

charge

decimal

8.2

金额

cheque_type

char

1

类型(a=现金、0=支票、记账单、汇票、内部支票、内部转账、欠账单、IC卡…)

cheque_no

varchar

12

发票号

depo_status

char

1

状态(1=交、2=退、3=结转、4=冲账、欠费、欠费补交…)

price_opera

char

5

收费员

price_date

datetime

8

收费时间

report_date

datetime

8

报表日期

gh_op_receipt(发票号初始)

字段

数据类型

宽度

描述

主键

operator

char

5

操作员

*

happen_date

datetime

8

发生时间

*

start_no

varchar

10

起始号

*

current_no

varchar

10

当前号

*

end_no

varchar

10

结束号

step_length

smallint

2

步长

deleted_flag

char

1

删除标志

说明:

纪录病人挂号情况。

挂号业务流程图:

 

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

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

当前位置:首页 > 工作范文 > 其它

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

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