comparison ehis.pool.XML @ 2:a409f2a3ce0a default tip

Fix:修改文件名为英文名(Hgweb不支持中文路径)
author Schmit <liny.jii@nnsui.com>
date Sun, 08 Sep 2024 17:15:31 +0800
parents
children
comparison
equal deleted inserted replaced
1:be9328b4ea2d 2:a409f2a3ce0a
1 <?xml version="1.0" encoding="UTF-8"?>
2 <report report-id="ehis.数据统计.营业收入.运营情况汇总" title="运营情况汇总" seq="0" is-detail="true">
3 <description>运营情况汇总</description>
4 <attrs>
5 <attr key="datasource" value="default"/>
6 <attr key="leftFixedColCount" value="0"/>
7 <attr key="rightFixedColCount" value="0"/>
8 <attr key="showTotalRow" value="false"/>
9 <attr key="showRowIndex" value="true"/>
10 <attr key="showColIndex" value="false"/>
11 <attr key="showColLine" value="true"/>
12 <attr key="showRowLine" value="true"/>
13 <attr key="showHeader" value="false"/>
14 <attr key="showTools" value="false"/>
15 <attr key="trackMouseOver" value="true"/>
16 <attr key="defaultColWidth" value="100"/>
17 <attr key="rowNoColWidth" value="40"/>
18 <attr key="pageType" value="A4"/>
19 <attr key="pageDirect" value="V"/>
20 <attr key="pageFontSize" value="11"/>
21 <attr key="pageSize" value="297,210"/>
22 <attr key="pageMargin" value="10,10,10,10"/>
23 <attr key="pageMaxRowCount" value="50"/>
24 <attr key="autoSizeCol" value="0" />
25 </attrs>
26
27 <params>
28 <param id="jgxs">
29 <sql>
30 <![CDATA[
31 select count(1) col into #t from
32 (
33 select 机构ID value,名称 text from bas_机构 where 机构ID=${user.companyPartyId}
34 union all
35 select 机构ID value,名称 text from bas_机构 where isnull(管理机构ID,'')=${user.companyPartyId}
36 ) a
37 ;
38 select case when col>1 then 'false' else 'true' end aaa from #t
39 ]]>
40 </sql>
41 </param>
42 <param id="mrjg">
43 <sql>
44 <![CDATA[
45 select ${user.companyPartyId} id
46 ]]>
47 </sql>
48 </param>
49 </params>
50
51 <enums>
52 <enum id="tjjg">
53 <sql>
54 <![CDATA[
55 select 机构ID value,名称 text from bas_机构 where 机构ID=${user.companyPartyId}
56 union all
57 select 机构ID value,名称 text from bas_机构 where isnull(管理机构ID,'')=${user.companyPartyId}
58 ]]>
59 </sql>
60 </enum>
61 </enums>
62
63 <header-items>
64 <header-item id="统计机构" type="enum" enum-id="tjjg" title="统计机构" default="${mrjg}" hidden="${jgxs}" value-col="value" use-like='false' text-col="text" width="250" trigger-query="false"/>
65 <header-item id="时间" type="datetimerange" title="统计时间" default="今天" width="190" trigger-query="false"/>
66 <header-item id="查找" type="text" width="150" use-like="false" title="查找" hidden="true" empty-text="请输入查找信息" trigger-query="false"/>
67 </header-items>
68
69 <select>
70 <field id="分类" title="分类"><![CDATA[分类]]></field>
71 <field id="列1" title="列1"><![CDATA[列1]]></field>
72 <field id="列1值" title="列1值"><![CDATA[列1值]]></field>
73 <field id="列2" title="列2"><![CDATA[列2]]></field>
74 <field id="列2值" title="列2值"><![CDATA[列2值]]></field>
75 <field id="列3" title="列3"> <![CDATA[列3]]></field>
76 <field id="列3值" title="列3值"> <![CDATA[列3值]]></field>
77 <field id="列4" title="列4"> <![CDATA[列4]]></field>
78 <field id="列4值" title="列4值"> <![CDATA[列4值]]></field>
79 </select>
80
81 <from>
82 <![CDATA[
83 (
84 select
85 '门诊情况' 分类,'挂号人数' 列1,gh.挂号人数 列1值,'挂号金额' 列2,cast(gh.挂号金额 as nvarchar(10)) 列2值,
86 '首诊人数' 列3,gh.首诊人数 列3值,'复诊人数' 列4,gh.复诊人数 列4值
87 from #jg jg
88 left join #gh gh on jg.机构ID=gh.机构ID
89 union all
90 select
91 '门诊情况' 分类,'门诊人次' 列1,mzjs.门诊人次 列1值,'总金额' 列2,cast(mzjs.总金额 as nvarchar(10)) 列2值,
92 '医保金额' 列3,mzjs.报销金额 列3值,'现金金额' 列4,mzzf.现金支付 列4值
93 from #jg jg
94 left join #mzjs mzjs on jg.机构ID=mzjs.机构ID
95 left join #mzzf mzzf on jg.机构ID=mzzf.机构ID
96 union all
97 select
98 '门诊情况' 分类,'处方总数' 列1,mzcf.处方总数 列1值,'药品金额' 列2,cast(mzcf.药品金额 as nvarchar(10)) 列2值,
99 '诊疗金额' 列3,mzcf.诊疗金额 列3值,'处方均额' 列4,case when mzcf.处方总数<>0 then cast(mzjs.总金额/mzcf.处方总数 as decimal(10,2)) else null end 列4值
100 from #jg jg
101 left join #mzcf mzcf on jg.机构ID=mzcf.机构ID
102 left join #mzjs mzjs on jg.机构ID=mzjs.机构ID
103 union all
104 select
105 '门诊情况' 分类,'自费人次' 列1,mzjs.自费人次 列1值,'医保人次' 列2,cast(mzjs.医保人次 as nvarchar(10)) 列2值,
106 '普通门诊数' 列3,mzjs.普通门诊人次 列3值,'特病人次' 列4,mzjs.特病人次 列4值
107 from #jg jg
108 left join #mzjs mzjs on jg.机构ID=mzjs.机构ID
109 union all
110 select
111 '住院情况' 分类,'入院总人数' 列1,ry.入院总人数 列1值,'当前在院总人数' 列2,cast(zy.在院总人数 as nvarchar(10)) 列2值,
112 '出院总人数' 列3,cy.出院总人数 列3值,'结算总人数' 列4,zyjs.结算总人数 列4值
113 from #jg jg
114 left join #ry ry on jg.机构ID=ry.机构ID
115 left join #cy cy on jg.机构ID=cy.机构ID
116 left join #zyjs zyjs on jg.机构ID=zyjs.机构ID
117 left join #zy zy on jg.机构ID=zy.机构ID
118 union all
119 select
120 '住院情况' 分类,'结算金额' 列1,zyjs.结算金额 列1值,'职工金额' 列2,cast(zyjs.职工金额 as nvarchar(10)) 列2值,
121 '居民金额' 列3,zyjs.居民金额 列3值,'自费金额' 列4,zyjs.自费金额 列4值
122 from #jg jg
123 left join #zyjs zyjs on jg.机构ID=zyjs.机构ID
124 union all
125 select
126 '住院情况' 分类,'预交收入' 列1,zyyj.预交收入 列1值,'药品收入' 列2,cast(zycf.药品收入 as nvarchar(10)) 列2值,
127 '诊疗收入' 列3,zycf.诊疗收入 列3值,'医院承担' 列4,zyjs.医院承担 列4值
128 from #jg jg
129 left join #zyjs zyjs on jg.机构ID=zyjs.机构ID
130 left join #zyyj zyyj on jg.机构ID=zyyj.机构ID
131 left join #zycf zycf on jg.机构ID=zycf.机构ID
132 union all
133 select null,'',null,'工作量情况(医院实际工','作量情况,与结算','数据无关)',null,null,null
134 union all
135 select
136 null,'总费用',t.总金额,'药品金额',cast(t.药品金额 as nvarchar(10)) ,'诊疗金额',t.诊疗金额,null,null
137 from #gzl t
138 union all
139 select null,'',null,'各项收入项目费用情况','(结算数据)','',null,null,null
140 union all
141 select
142 null,a.收入项目,a.金额,b.收入项目,cast(b.金额 as nvarchar(10)) ,c.收入项目,c.金额,d.收入项目,d.金额
143 from #a a
144 left join #b b on a.px+1=b.px
145 left join #c c on a.px+2=c.px
146 left join #d d on a.px+3=d.px
147 union all
148 select null, '合计' ,sum(t.金额),null,null,null,null,null,null
149 from #srxm t
150 ) t
151 ]]>
152 </from>
153
154 <with>
155 <![CDATA[
156
157 with t as (
158 select
159 gh.登记机构ID 机构ID,
160 count(distinct gh.档案ID) 挂号人数,
161 count(distinct case when isnull(jzjl.初诊,'是')='是' then jzjl.档案ID else null end) 首诊人数,
162 count(distinct case when isnull(jzjl.初诊,'是')='否' then jzjl.档案ID else null end) 复诊人数,
163 sum(js.金额) 挂号金额
164 from reg_挂号 gh
165 inner join opd_记录 jzjl on gh.挂号ID=jzjl.挂号ID
166 inner join opc_记录_结算 js on gh.结算ID=js.结算ID
167 where gh.就诊日期 between ${时间_START} and ${时间_END} and gh.登记机构ID=${统计机构}
168 group by gh.登记机构ID
169 )
170 select * into #gh from t;
171 select
172 js.结算机构ID 机构ID,
173 count(distinct jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120)) 门诊人次,
174 sum(js.金额) 总金额,
175 sum(js.报销金额) 报销金额,
176 COUNT(DISTINCT (case when ybjs.结算ID IS NULL THEN jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120) ELSE NULL END)) 自费人次,
177 COUNT(DISTINCT (case when ybjs.结算ID IS NOT NULL THEN jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120) ELSE NULL END)) 医保人次,
178 count(distinct (case when jzlb.名称 in ('门诊慢特病') then jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120) else null end)) 特病人次,
179 count(distinct (case when jzlb.名称 not in ('门诊慢特病') then jl.档案ID+'-'+jl.开单医生ID+'-'+convert(nvarchar(10),jl.登记时间,120) else null end)) 普通门诊人次
180 into #mzjs
181 from opc_记录 jl
182 inner join opc_记录_结算 js on jl.记录ID=js.记录ID
183 left join yb_就诊结算记录 ybjs on js.结算ID=ybjs.结算ID
184 left join bas_就诊类别 jzlb on jl.医疗类别ID=jzlb.医疗类别ID AND jl.就诊类别ID=jzlb.就诊类别ID
185 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构}
186 and jl.处方来源<>'门诊挂号'
187 group by js.结算机构ID
188
189
190 select
191 js.结算机构ID 机构ID,
192 sum(case when zffs.名称='现金' then zf.支付金额 else null end) 现金支付,
193 sum(case when zffs.名称!='现金' then zf.支付金额 else null end) 其他支付
194 into #mzzf
195 from opc_记录_结算 js
196 inner join opc_记录 jl on js.记录ID=jl.记录ID
197 inner join opc_记录_结算_支付 zf on js.结算ID=zf.结算ID
198 inner join bas_支付方式 zffs on zf.支付方式ID=zffs.支付方式ID
199 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构}
200 and jl.处方来源<>'门诊挂号'
201 group by js.结算机构ID
202
203
204 --cf
205 select
206 js.结算机构ID 机构ID,
207 count(distinct fymx.处方ID) 处方总数,
208 sum(case when xm.类别ID in ('5','6','7','8') then mx.金额 else null end) 药品金额,
209 sum(case when xm.类别ID not in ('5','6','7','8') then mx.金额 else null end) 诊疗金额
210 into #mzcf
211 from opc_记录_明细 mx
212 inner join opc_记录_结算 js on mx.结算ID=js.结算ID
213 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID
214 left join opd_处方_医嘱_费用 fymx on mx.医嘱明细ID=fymx.明细ID
215 where js.结算时间 between ${时间_START} and ${时间_END} AND js.结算机构ID=${统计机构}
216 group by js.结算机构ID
217
218 --住院
219 select jl.登记机构ID 机构ID, count(1) 入院总人数 into #ry
220 from ihm_记录 jl
221 where jl.入院时间 between ${时间_START} and ${时间_END} AND 登记机构ID=${统计机构}
222 group by jl.登记机构ID
223
224 select
225 jl.登记机构ID 机构ID,
226 count(1) 在院总人数
227 into #zy
228 from ihm_记录 jl
229 where jl.状态 in ('在床','待分')
230 group by jl.登记机构ID
231
232
233
234 select
235 jl.登记机构ID 机构ID, count(1) 出院总人数 into #cy
236 from ihm_记录 jl
237 where jl.出院时间 between ${时间_START} and ${时间_END}
238 group by jl.登记机构ID
239
240 select js.结算机构ID 机构ID,count(distinct 记录ID) 结算总人数,
241 sum(js.金额) 结算金额,
242 sum(case when ybjs.险种类型='310' then js.金额 else null end) 职工金额,
243 sum(case when ybjs.险种类型='390' then js.金额 else null end) 居民金额,
244 sum(case when ybjs.结算ID is null then js.金额 else null end) 自费金额,
245 sum(js.医院承担) 医院承担
246 into #zyjs
247 from ihm_记录_结算 js
248 left join yb_就诊结算记录 ybjs on js.结算ID=ybjs.结算ID AND js.结算机构ID=${统计机构}
249 where js.结算时间 between ${时间_START} and ${时间_END}
250 group by js.结算机构ID
251
252 select
253 yj.登记机构ID 机构ID,
254 sum(yj.金额) 预交收入
255 into #zyyj
256 from ihm_记录_预交 yj
257 where yj.收费时间 between ${时间_START} and ${时间_END} and yj.登记机构ID=${统计机构}
258 group by yj.登记机构ID
259
260 select js.结算机构ID 机构ID,
261 sum(case when xm.类别ID in ('5','6','7','8') then case when js.状态='作废' then -mx.金额 else mx.金额 end else null end) 药品收入,
262 sum(case when xm.类别ID not in ('5','6','7','8') then case when js.状态='作废' then -mx.金额 else mx.金额 end else null end) 诊疗收入
263 into #zycf
264 from ihm_记录_结算 js
265 inner join ihm_记录_结算_明细 jsmx on js.结算ID=jsmx.结算ID
266 inner join ihm_记录_明细 mx on jsmx.明细ID=mx.明细ID
267 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID
268 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构}
269 group by js.结算机构ID
270
271
272 select
273 sum(case when xm.类别ID in ('5','6','7','8') then mx.金额 else null end) 药品金额,
274 sum(case when xm.类别ID not in ('5','6','7','8') then mx.金额 else null end) 诊疗金额,
275 sum(mx.金额) 总金额 into #mx
276 from opc_记录_明细 mx
277 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID
278 where mx.登记时间 between ${时间_START} and ${时间_END} and mx.登记机构ID=${统计机构}
279 union all
280 select
281 sum(case when xm.类别ID in ('5','6','7','8') then mx.金额 else null end) 药品金额,
282 sum(case when xm.类别ID not in ('5','6','7','8') then mx.金额 else null end) 诊疗金额,
283 sum(mx.金额) 总金额
284 from ihm_记录_明细 mx
285 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID
286 where mx.登记时间 between ${时间_START} and ${时间_END} and mx.登记机构ID=${统计机构}
287
288 select
289 sum(t.总金额) 总金额,
290 sum(t.药品金额) 药品金额,
291 sum(t.诊疗金额) 诊疗金额
292 into #gzl
293 from #mx t
294
295
296 select
297 js.结算机构ID,
298 xm.收入项目,
299 sum(mx.金额) 金额 into #srxmmx
300 from opc_记录_结算 js
301 inner join opc_记录_明细 mx on js.结算ID=mx.结算ID
302 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID
303 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构}
304 group by js.结算机构ID,xm.收入项目
305 union all
306 select
307 js.结算机构ID,
308 xm.收入项目,
309 sum(case when js.状态='作废' then -mx.金额 else mx.金额 end) 金额
310 from ihm_记录_结算 js
311 inner join ihm_记录_结算_明细 jsmx on js.结算ID=jsmx.结算ID
312 inner join ihm_记录_明细 mx on jsmx.明细ID=mx.明细ID
313 inner join bas_收费项目 xm on mx.项目ID=xm.项目ID
314 where js.结算时间 between ${时间_START} and ${时间_END} and js.结算机构ID=${统计机构}
315 group by js.结算机构ID,xm.收入项目
316
317
318
319 select
320 t.结算机构ID,t.收入项目,sum(t.金额) 金额,
321 ROW_NUMBER()over(order by t.收入项目) px into #srxm
322 from #srxmmx t
323 group by t.结算机构ID,t.收入项目
324
325 select 收入项目,金额,px into #a from #srxm t where t.px%4=1
326 select 收入项目,金额,px into #b from #srxm t where t.px%4=2
327 select 收入项目,金额,px into #c from #srxm t where t.px%4=3
328 select 收入项目,金额,px into #d from #srxm t where t.px%4=0
329
330
331 select jg.机构ID into #jg
332 from bas_机构 jg
333 where jg.机构ID=${统计机构}
334
335 ]]>
336 </with>
337
338
339 <where>
340 <![CDATA[
341
342 ]]>
343 </where>
344
345 <groups>
346 <group>
347 <group-col id="分类" field-id="分类" width="120" span="true" span-dep-col-id="分类"/>
348 <group-col id="列1" field-id="列1" width="120" />
349 <group-col id="列1值" field-id="列1值" width="80" />
350 <group-col id="列2" field-id="列2" width="170"/>
351 <group-col id="列2值" field-id="列2值" width="125"/>
352 <group-col id="列3" field-id="列3" width="120"/>
353 <group-col id="列3值" field-id="列3值" width="80"/>
354 <group-col id="列4" field-id="列4" width="120"/>
355 <group-col id="列4值" field-id="列4值" width="80" />
356 </group>
357 </groups>
358
359 </report>
备案号:苏ICP备2024087954号-2 | 渝公网安备50010402001513