📄 hpir_table.sql
字号:
// 病人资料
Create Table HPIR_Patient
(
Pat_Id varchar2(20) primary key,
Pat_Name varchar2(20) not null,
Pat_Sex varchar2(1) not null,
Pat_Birthday number(8,0) null,
Pat_BirthTime number(6,0) null
);
// 就诊卡
Create Table HPIR_PatCard
(
Card_Id varchar2(20) primary key,
Pat_Id varchar2(20) not null,
STS varchar2(1) not null
);
// 临床科室(部门)
Create Table HPIR_ClincDepartment
(
CD_Id number(6,0) primary key,
CD_Name varchar2(20) not null,
CD_Type varchar2(1) not null, // A - 病区,C - 临床
f_id number(6,0) not null, // 上一级科室
CD_Code varchar2(6) null, // 科室编码
STS varchar2(1) not null
);
// 临床医生
// 由system_user 表导出视图
CREATE VIEW HPIR_V_ClinicDoctor
(
USER_ID,USER_NO,USER_NAME,STS,DEP_ID
)
AS
SELECT USER_ID,
USER_NO,
USER_NAME,
STS,
DEP_ID
FROM SYSTEM_USER WHERE DEP_ID > 0
// 诊别
Create Table HPIR_RegisterType
(
RegType_Id varchar2(1) primary key,
RegCaption varchar2(12) not null, // 诊别简称
RegType_Name varchar2(60) not null, // 诊别名称
Reg_PriceID number(10,0) not null, // 收费项目
STS varchar2(1)
);
// 门诊排班
Create Table HPIR_ClinicSchedule
(
Reg_Date number(8,0) not null, // 日期(1,2...7表示星期几,20070108表示2007年1月8日)
CD_Id number(6,0) not null, // 临床科别
CD2_Id number(6,0) not null, // 临床2级科别
RegType_Id varchar2(1) not null, // 诊别
Doct_Id number(6,0) not null, // 0 不分医生
AP_STS varchar2(1) not null, // 0 - 全天 A - 上午 P - 下午
Reg_C0 number(4,0) not null, // 可挂数
Reg_C1 number(4,0) not null, // 已挂数
Reg_C2 number(4,0) not null, // 退挂数
Reg_C3 number(4,0) not null, // 已诊数
RegPriceID number(8,0) null, // 诊察费
primary key(Reg_Date,CD_Id,CD2_Id,RegType_Id,Doct_Id)
);
// 西药分类
// 西药
// 中药分类
// 中药
// 收费项目视图
CREATE VIEW hpir_v_item
(id,pinyinm,xiangmumc,yiyuandj,jijiadw,type_code,type_name,inv_code)
AS
SELECT "PRICE_I_ITEMPRICE"."ID",
"PRICE_I_ITEMPRICE"."PINYINM",
"PRICE_I_ITEMPRICE"."XIANGMUMC",
"PRICE_I_ITEMPRICE"."YIYUANDJ",
"PRICE_I_ITEMPRICE"."JIJIADW",
'0001',
'费用',
"PRICE_I_ITEMPRICE"."PIAOJUFLBM"
FROM "PRICE_I_ITEMPRICE"
union
SELECT "T_YPXX_XI"."ID",
"T_YPXX_XI"."PYDM",
"T_YPXX_XI"."YPMC_CHN",
"T_YPXX_XI"."YPDJ",
"T_YPXX_XI"."JLDW",
'0002',
'西药',
'X'
FROM "T_YPXX_XI"
union
SELECT "T_YPXX_CAO"."ID",
"T_YPXX_CAO"."PYDM",
"T_YPXX_CAO"."YPMC_CHN",
"T_YPXX_CAO"."YPDJ",
"T_YPXX_CAO"."JLDW",
'0003',
'草药',
'Z'
FROM "T_YPXX_CAO"
;
// ---- 申请单相关表 ----------------------------------------------
// 申请单类型
Create Table HPIR_Form_Catalog
(
ID varchar2(6) not null primary key,
Caption varchar2(30) not null
);
// 申请单主表
Create Table HPIR_Form
(
ID number(10,0) not null, // 编号
FormType varchar2(6) not null, // 申请单类型
Model_Sts varchar2(1) not null, // 模版标志(0 - 模版,1 - 普通申请单)
Model_ID number(10,0) not null, // 如果是普通申请单,该字段表示使用的模版编号
Caption varchar2(100) null, // 摘要
Sts_JS varchar2(1) null, // 结算标志 T - 结算 F - 未结算
Sts_ZX varchar2(1) null, // 执行标志 T - 执行 F - 未执行
Sts_ZF varchar2(1) null, // 作废标志 T - 作废 F - 未作废
Sts_PS varchar2(1) null, // 皮试标志 P - 阴性 A - 阳性 D - 待查 M - 免皮试 N - 不需要
Acc_ID number(10,0) not null, // >=1 - 结算编号,0 - 未结算,-1 - 作废
Source varchar2(1) not null, // M - 门诊,Z - 住院,J - 急诊
Patient_ID varchar2(15) null, // 病历号
BedID number(6,0) null, // 病床
BedDept number(6,0) null, // 病区(病床所在部门)
KDDate number(8,0) not null, // 开单日
KDTime number(6,0) not null, // 开单时间
KDMan number(6,0) null, // 开单人
KDDept number(6,0) null, // 开单部门(开单人所在的部门)
ZXDate number(8,0) null, // 执行日
ZXTime number(6,0) null, // 执行时间
ZXMan number(6,0) null, // 执行人
ZXDept number(6,0) null, // 执行部门(执行人所在的部门)
ZX_No number(4,0) null, // 执行序号
ZX_AP varchar2(1) null, // 上午/下午
RegDate number(8,0) null, // 看诊日
Reg_AP varchar2(1) null, // 上午/下午
Reg_No number(4,0) null, // 看诊号
RegType varchar2(1) null, // 诊别
YouHuiLX varchar2(1) null, // 优惠类型
RegDoctor number(6,0) null, // 拟诊医师
RegDept number(6,0) null, // 拟诊科室
RegDept_2 number(6,0) null, // 拟诊二级学科
LastVersion number(6,0) null, // 申请单最后的版本号
primary key(ID)
);
// 申请单实际费用(根据项目收费进行汇总后)
Create Table HPIR_Form_Feiyong
(
Form_ID number(10,0) not null, // 申请单编号
P_ItemID number(10,0) not null, // 收费标准编号
P_ItemType varchar2(4) not null, // 收费项目类型
P_ItemPrice number(12,3) not null, // 单价
Num number(8,0) not null, // 数量
Zifei_Sts varchar2(1) not null, // 自费标志(0 - 公费,1 - 自费)
BaoxianJB varchar2(1) not null, // 保险级别(甲,乙,丙)
BaoxianXZ varchar2(1) not null, // 保险限制(0 - 不限,1 - 受限)
primary key(Form_ID,P_ItemID,P_ItemType)
);
// 申请单上的项目
Create Table HPIR_FormItem
(
ID number(10,0) not null, // 编号
Caption varchar2(40) null, // 显示文本
F_ID number(10,0) not null, // 父项编号
Max_Selected number(3,0) not null, // 最多选择数量
Feiyong_Sts varchar2(1) not null, // 收费标志(0 - 收费,1 - 不收费)
Bixuan_Sts varchar2(1) not null, // 比选标志(0 - 必选,1 - 不是必选)
Pishi_Sts varchar2(1) not null, // 皮试标志(0 - 需要皮试,1 - 不要皮试,2 - 免皮试)
ItemType varchar2(1) not null, // 项目类型(文本型,选择型,图片型)
TableSyntax varchar2(1000) null,
ViewSyntax varchar2(1000) null,
Other_Sys_Code varchar2(30) null, // 与其他系统交互时使用的编号
Information varchar2(300) null, // 信息
Form_ID number(10,0) not null, // 申请单编号
ItemValue varchar2(100) not null, // 申请单项目的实际数据
primary key(Form_ID,ID)
);
// 申请单项目的关联收费模版
Create Table HPIR_FormItem_F
(
Form_ID number(10,0) not null, // 申请单编号
Item_ID number(10,0) not null, // 项目编号
XH number(3,0) not null, // 序号
Feiyong_Code varchar2(30) not null, // 费用项目代码
Num number(3,0) not null, // 数量
primary key(Form_ID,Item_ID,XH)
);
// 申请单结算记录
Create Table HPIR_FormAccount
(
ID number(10,0) not null, // 结算编号
Form_ID number(10,0) not null, // 申请单编号
AccDate number(8,0) not null, // 结算日
AccTime number(6,0) not null, // 结算时间
AccMan number(6,0) not null, // 结算人
AccDept number(6,0) not null, // 结算部门
AccDir varchar2(1) not null, // 结算方向 [+]正向结算 [-]反向结算
AccType varchar2(1) not null, // 结算方式 A - 欠款,C - 现金
primary key(ID,Form_ID)
);
// 发票类别
Create Table HPIR_InvCodeCatalog
(
Inv_Code varchar2(1) not null,
Inv_Name varchar2(20) null,
MZ_STS varchar2(1) not null,
ZY_STS varchar2(1) not null,
primary key(Inv_Code)
);
// 发票
Create Table HPIR_Invoice
(
ID number(10,0) not null, // 内部编号
InvNo varchar2(12) not null, // 发票号码
InvType varchar2(1) not null, // M 门诊发票 Z 住院发票
STS_ZF varchar2(1) not null, // 作废标志 T 作废 F 未作废
TransNo varchar2(30) null, // 保险交易号
AccID number(10,0) null, // 内部结算编号
ActDate number(8,0) not null, // 发生日期
ActTime number(6,0) not null, // 发生时间
ActMan number(6,0) not null, // 收款人
PayerID varchar2(15) null, // 付款人编号
PayerName varchar2(20) null, // 付款人姓名
SUM_YS number(10,2) null, // 应收金额
SUM_ML number(4,2) null, // 抹零金额
SUM_SL number(10,2) null, // 实收金额
SUM_JZ number(10,2) null, // 记帐金额(保险等)
primary key(ID)
);
// 发票明细
Create Table HPIR_InvDetail
(
ID number(10,0) not null, // 内部编号
Inv_Code varchar2(1) not null,
SUM_YS number(10,2) null, // 应收金额
primary key(id,Inv_Code)
);
// 现金记录
Create Table HPIR_CashRecord
(
ID number(10,0) not null, // 编号
ActType varchar2(1) not null, // M - 门诊 N - 门诊退款 L - 门诊预收 K - 退门诊预收 G - 挂号 T - 退号
// Z - 住院 X - 住院退款 Y - 住院预收 W - 退住院预收
ActDate number(8,0) not null, // 发生日期
ActTime number(6,0) not null, // 发生时间
ActMan number(6,0) not null, // 收款人
PayerID varchar2(15) null, // 付款人编号
PayerName varchar2(20) null, // 付款人姓名
AccNo varchar2(30) null, // 付款人帐号(或者保险编号)
TransNo varchar2(30) null, // 保险交易号
InvoiceID number(10,0) null, // 内部发票号码
AccID number(10,0) null, // 内部结算编号
JZ_ID number(10,0) not null, // 结帐单编号
SUM_YS number(10,2) null, // 应收金额
SUM_ML number(4,2) null, // 抹零金额
SUM_SL number(10,2) null, // 实收金额
SUM_JZ number(10,2) null, // 记帐金额(保险等)
primary key(ID)
);
// 收款人结帐记录
Create Table HPIR_CasherJZRecord
(
ID number(10,0) not null, // 结帐单编号
ActDate number(8,0) not null, // 发生日期
ActTime number(6,0) not null, // 发生时间
ActMan number(6,0) not null, // 收款人
SR_Bishu number(5,0) null, // 收入比数
SR_Jine number(12,2) null, // 收入金额
ZC_Bishu number(5,0) null, // 支出比数
ZC_Jine number(12,2) null, // 支出金额
primary key(ID)
);
// 收款员发票
Create Table HPIR_CasherInvoice
(
ActMan number(6,0) not null, // 收款人
XH number(8,0) not null, // 领用序号
InvType varchar2(1) not null, // M - 门诊 Z - 住院
CurrentInvoiceNo number(10,0) not null, // 当前发票号码
primary key(ActMan,XH,InvType)
);
// 预收款账户
Create Table HPIR_PayerAccount
(
AccNo varchar2(30) not null, // 付款人帐号(或者保险编号)
AccType varchar2(1) not null, // M - 门诊 Z - 住院
PayerID varchar2(15) null, // 付款人编号
Balance number(10,2) not null, // 账户余额
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -