OES数据库表探查
一、收入相关表
1、dept_income_month(需定制内容)
**说明:**科室收入项目明细表
(1)定制语句:
`SELECT
a.year_month,
a.comp_code,
a.acct_year,
a.acct_month,
a.ordered_by,
a.perform_by,
a.charge_kind_id,
a.source_type,
SUM ( a.workload ) AS workload,
SUM ( a.amount ) AS amount
FROM
dept_income_month a
LEFT JOIN sys_charge_detail d ON a.charge_detail_id = d.detail_id
GROUP BY
a.year_month,
a.comp_code,
a.charge_kind_id,
a.source_type,
a.ordered_by,
a.perform_by,
a.acct_year,
a.acct_month
HAVING (a.comp_code='100101' or a.comp_code='100102')`
(2)表结构
说明:
comp_code:本部院区---’100101‘,滨湖院区---’100102‘
ordered_by:开单科室id
perform_by:执行科室id
charge_kind_id:收入项目类型
source_type:门诊收入---’O‘,和住院收入---’I‘
workload:收入项目工作量(因按收入小项目计数,故不使用)
amount:收入金额
2、dept_st_income_subj_history(不使用,无法准确进行收入项目分类)
**说明:**科室收入汇总表,注意,其中的收入分类编码与sys_charge_kind表中的分类编码并不一致,需要改进
二、成本相关表
1、 dept_cost_data(不使用)
**说明:**成本归集后数据(直接成本数据),其中 [cost_attr] =7字段是自有资金的成本数据
2、dept_st_cost_history
**说明:**包含全成本和直接成本数据,其中 [cost_attr] =7字段是自有资金的成本数据
(1)定制语句:
SELECT
cost_id,
comp_code,
acct_year,
acct_month,
dept_id,
dept_code,
cost_attr,
cost_subj_id,
cost_subj_code,
tot_amount,
prime_cost
FROM
dept_st_cost_history
WHERE
( comp_code = '100101' OR comp_code = '100102' )
AND cost_attr = '07'
说明:
dept_id:科室id
dept_code:科室编码
cost_subj_id:成本项目类型id
cost_subj_code:成本项目分类编码
tot_amount:全成本
prime_cost:直接成本
(2)表结构
三、字典相关表
1、dept_cost_subj
**说明:**成本项目编码表,其中 [cost_attr] =7字段是自有资金的成本数据
(1)表结构
说明:
cost_class_code:成本大分类--01人员成本,02材料成本,03药品成本,04固资折旧,05无形资产摊销,06计提专用基金,07其他费用
cost_attribute:未知
2、dept_dict_custom_dept、dept_dict_custom_dept_rela
**说明:**自定义科室相关,定义编码以及与核算科室对应关系编码
(1)表结构:
**说明:**科室编码表,其中数据表中一般使用:dept_id,注意院区:comp_code、是否末级:is_last
(1)定制语句:
SELECT
dept_id,
comp_code,
dept_code,
dept_name,
dept_name_all,
super_code,
type_code,
attr_code
FROM
[dbo].[sys_dept]
WHERE
( comp_code = '100101' OR comp_code = '100102' )
AND is_last = '1'
说明:
type_code:科室分类,ABCD分别代表管理科室、医辅科室、医技科室和临床科室
attr_code:门诊收入---’O‘,和住院收入---’I‘,null---其他类型
(2)表结构:
4、sys_charge_kind
**说明:**收入分类编码表
(1)表结构:
四、有点意思的表
1、dept_dict_base
**说明:**里面的字段:base_formula 内容有点意思
五、生成最终数据
1、科室字典:dict_dept
SELECT
d.dept_id,
d.comp_code,
d.dept_code,
d.dept_name,
d.type_code,
d.attr_code,
c.custom_dept_id,
c.custom_dept_code,
c.custom_dept_name
FROM
dict_sys_dept AS d
LEFT JOIN (
SELECT
a.comp_code,
a.custom_dept_id,
b.custom_dept_code,
b.custom_dept_name,
a.dept_id,
b.dept_type
FROM
"dict_dept_dict_custom_dept_rela" AS a,
"dict_dept_dict_custom_dept" AS b
WHERE
a.custom_dept_id = b.custom_dept_id
) AS c ON d.dept_id = c.dept_id
2、开单收入:data_income_ordered_by
SELECT
e.comp_code,
e.year_month,
e.dept_code,
e.dept_name,
e.custom_dept_name,
e.charge_kind_name,
e.source_type,
sum( amount ) AS amount
FROM
(
SELECT
c.comp_code,
c.year_month,
c.acct_year,
c.acct_month,
c.dept_code,
c.dept_name,
c.custom_dept_name,
d.charge_kind_name,
c.source_type,
c.amount
FROM
(
SELECT
a.comp_code,
a.year_month,
a.acct_year,
a.acct_month,
b.dept_code,
b.dept_name,
b.custom_dept_name,
a.charge_kind_id,
a.source_type,
a.amount
FROM
"data_dept_income_month" AS a
LEFT JOIN dict_dept AS b ON a.ordered_by = b.dept_id
) AS c
LEFT JOIN dict_sys_charge_kind AS d ON c.charge_kind_id = d.charge_kind_id
) AS e
GROUP BY
e.comp_code,
e.year_month,
e.dept_code,
e.dept_name,
e.custom_dept_name,
e.charge_kind_name,
e.source_type
3、执行收入:data_income_perform_by
SELECT
e.comp_code,
e.year_month,
e.dept_code,
e.dept_name,
e.custom_dept_name,
e.charge_kind_name,
e.source_type,
sum( amount ) AS amount
FROM
(
SELECT
c.comp_code,
c.year_month,
c.acct_year,
c.acct_month,
c.dept_code,
c.dept_name,
c.custom_dept_name,
d.charge_kind_name,
c.source_type,
c.amount
FROM
(
SELECT
a.comp_code,
a.year_month,
a.acct_year,
a.acct_month,
b.dept_code,
b.dept_name,
b.custom_dept_name,
a.charge_kind_id,
a.source_type,
a.amount
FROM
"data_dept_income_month" AS a
LEFT JOIN dict_dept AS b ON a.perform_by = b.dept_id
) AS c
LEFT JOIN dict_sys_charge_kind AS d ON c.charge_kind_id = d.charge_kind_id
) AS e
GROUP BY
e.comp_code,
e.year_month,
e.dept_code,
e.dept_name,
e.custom_dept_name,
e.charge_kind_name,
e.source_type
4、科室成本:data_cost
SELECT
e.comp_code,
e.year_month,
e.dept_code,
e.dept_name,
e.custom_dept_name,
e.type_code,
e.attr_code,
e.cost_subj_code,
e.cost_subj_name,
e.cost_class_code,
sum( e.tot_amount ) AS tot_amount,
sum( e.prime_cost ) AS prime_cost
FROM
(
SELECT
c.comp_code,
c.year_month,
d.dept_code,
d.dept_name,
d.custom_dept_name,
d.type_code,
d.attr_code,
c.cost_subj_code,
c.cost_subj_name,
c.cost_class_code,
c.tot_amount,
c.prime_cost
FROM
(
SELECT
a.comp_code,
a.acct_year || a.acct_month AS year_month,
a.dept_id,
a.cost_subj_code,
b.cost_subj_name,
b.cost_class_code,
a.tot_amount,
a.prime_cost
FROM
"data_dept_st_cost_history" AS a
LEFT JOIN dict_dept_cost_subj AS b ON a.cost_subj_id = b.cost_subj_id
) AS c
LEFT JOIN dict_dept AS d ON c.dept_id = d.dept_id
) AS e
GROUP BY
e.comp_code,
e.year_month,
e.dept_code,
e.dept_name,
e.custom_dept_name,
e.type_code,
e.attr_code,
e.cost_subj_code,
e.cost_subj_name,
e.cost_class_code