|
@@ -4374,16 +4374,16 @@
|
|
<!-- 病案首页改善率统计(首页)-->
|
|
<!-- 病案首页改善率统计(首页)-->
|
|
<select id="homePageImproveCount" parameterType="com.diagbot.vo.FilterVO" resultType="com.diagbot.dto.HomePageImproveDTO">
|
|
<select id="homePageImproveCount" parameterType="com.diagbot.vo.FilterVO" resultType="com.diagbot.dto.HomePageImproveDTO">
|
|
SELECT
|
|
SELECT
|
|
- t2.mrNum,
|
|
|
|
|
|
+ t2.homePageMRNum,
|
|
t1.improveNum,
|
|
t1.improveNum,
|
|
- round( t1.improveNum / t2.mrNum, 4 ) AS improvePercent,
|
|
|
|
- Concat( round( t1.improveNum / t2.mrNum * 100, 2 ), '%' ) AS improvePercentStr,
|
|
|
|
|
|
+ round( t1.improveNum / t2.homePageMRNum, 4 ) AS improvePercent,
|
|
|
|
+ Concat( round( t1.improveNum / t2.homePageMRNum * 100, 2 ), '%' ) AS improvePercentStr,
|
|
t1.improveToPassNum,
|
|
t1.improveToPassNum,
|
|
- round( t1.improveToPassNum / t2.mrNum, 4 ) AS improveToPassPercent,
|
|
|
|
- Concat( round( t1.improveToPassNum / t2.mrNum * 100, 2 ), '%' ) AS improveToPassPercentStr,
|
|
|
|
|
|
+ round( t1.improveToPassNum / t2.homePageMRNum, 4 ) AS improveToPassPercent,
|
|
|
|
+ Concat( round( t1.improveToPassNum / t2.homePageMRNum * 100, 2 ), '%' ) AS improveToPassPercentStr,
|
|
t1.improveToFullNum,
|
|
t1.improveToFullNum,
|
|
- round( t1.improveToFullNum / t2.mrNum, 4 ) AS improveToFullPercent,
|
|
|
|
- Concat( round( t1.improveToFullNum / t2.mrNum * 100, 2 ), '%' ) AS improveToFullPercentStr
|
|
|
|
|
|
+ round( t1.improveToFullNum / t2.homePageMRNum, 4 ) AS improveToFullPercent,
|
|
|
|
+ Concat( round( t1.improveToFullNum / t2.homePageMRNum * 100, 2 ), '%' ) AS improveToFullPercentStr
|
|
FROM
|
|
FROM
|
|
(
|
|
(
|
|
SELECT
|
|
SELECT
|
|
@@ -4462,7 +4462,7 @@
|
|
) t1,
|
|
) t1,
|
|
(
|
|
(
|
|
SELECT
|
|
SELECT
|
|
- count(*) AS mrNum
|
|
|
|
|
|
+ count( DISTINCT a.behospital_code ) AS homePageMRNum
|
|
FROM
|
|
FROM
|
|
med_behospital_info a,
|
|
med_behospital_info a,
|
|
med_home_page b,
|
|
med_home_page b,
|
|
@@ -4470,13 +4470,131 @@
|
|
WHERE
|
|
WHERE
|
|
a.is_deleted = 'N'
|
|
a.is_deleted = 'N'
|
|
AND b.is_deleted = 'N'
|
|
AND b.is_deleted = 'N'
|
|
|
|
+ AND a.hospital_id = b.hospital_id
|
|
|
|
+ AND a.hospital_id = c.hospital_id
|
|
|
|
+ AND a.behospital_code = b.behospital_code
|
|
|
|
+ AND a.behospital_code = c.behospital_code
|
|
|
|
+ AND a.qc_type_id != 0
|
|
|
|
+ AND a.is_placefile = '1'
|
|
|
|
+ <if test="hospitalId != null and hospitalId != ''">
|
|
|
|
+ AND a.hospital_id = #{hospitalId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="startDate != null">
|
|
|
|
+ <![CDATA[ AND a.leave_hospital_date >= DATE(#{startDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="endDate != null">
|
|
|
|
+ <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ ) t2
|
|
|
|
+ </select>
|
|
|
|
+
|
|
|
|
+ <!-- 质控核查统计(内页)-->
|
|
|
|
+ <select id="qcCheckStatistics" parameterType="com.diagbot.vo.FilterQcCheckVO" resultType="com.diagbot.dto.HomePageImproveDTO">
|
|
|
|
+ SELECT
|
|
|
|
+ mr.beh_dept_id AS deptId,
|
|
|
|
+ mr.beh_dept_name AS deptName,
|
|
|
|
+ IFNULL( mr.mrNum, 0 ) AS mrNum,
|
|
|
|
+ ck.checkedNum AS checkedNum,
|
|
|
|
+ ROUND( ck.checkedNum / mr.mrNum, 4 ) AS checkedPercent,
|
|
|
|
+ CONCAT( ROUND( ck.checkedNum / mr.mrNum * 100, 2 ), '%' ) AS checkedPercentStr,
|
|
|
|
+ hmmr_t.homePageMRNum,
|
|
|
|
+ improve_t.improveNum,
|
|
|
|
+ round( improve_t.improveNum / hmmr_t.homePageMRNum, 4 ) AS improvePercent,
|
|
|
|
+ Concat( round( improve_t.improveNum / hmmr_t.homePageMRNum * 100, 2 ), '%' ) AS improvePercentStr,
|
|
|
|
+ improve_t.improveToPassNum,
|
|
|
|
+ round( improve_t.improveToPassNum / hmmr_t.homePageMRNum, 4 ) AS improveToPassPercent,
|
|
|
|
+ Concat( round( improve_t.improveToPassNum / hmmr_t.homePageMRNum * 100, 2 ), '%' ) AS improveToPassPercentStr,
|
|
|
|
+ improve_t.improveToFullNum,
|
|
|
|
+ round( improve_t.improveToFullNum / hmmr_t.homePageMRNum, 4 ) AS improveToFullPercent,
|
|
|
|
+ Concat( round( improve_t.improveToFullNum / hmmr_t.homePageMRNum * 100, 2 ), '%' ) AS improveToFullPercentStr
|
|
|
|
+ FROM
|
|
|
|
+ (
|
|
|
|
+ SELECT
|
|
|
|
+ a.beh_dept_id,
|
|
|
|
+ a.beh_dept_name,
|
|
|
|
+ count(*) AS mrNum
|
|
|
|
+ FROM
|
|
|
|
+ med_behospital_info a,
|
|
|
|
+ med_qcresult_info b
|
|
|
|
+ WHERE
|
|
|
|
+ a.is_deleted = 'N'
|
|
|
|
+ AND b.is_deleted = 'N'
|
|
|
|
+ AND a.hospital_id = b.hospital_id
|
|
|
|
+ AND a.behospital_code = b.behospital_code
|
|
|
|
+ AND a.qc_type_id != 0
|
|
|
|
+ AND a.is_placefile = '1'
|
|
|
|
+ <if test="hospitalId != null and hospitalId != ''">
|
|
|
|
+ AND a.hospital_id = #{hospitalId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="startDate != null">
|
|
|
|
+ <![CDATA[ AND a.leave_hospital_date >= DATE(#{startDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="endDate != null">
|
|
|
|
+ <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="deptName != null and deptName != ''">
|
|
|
|
+ AND a.beh_dept_name like CONCAT('%', #{deptName}, '%')
|
|
|
|
+ </if>
|
|
|
|
+ GROUP BY
|
|
|
|
+ a.beh_dept_id,
|
|
|
|
+ a.beh_dept_name
|
|
|
|
+ ) mr
|
|
|
|
+ LEFT JOIN (
|
|
|
|
+ SELECT
|
|
|
|
+ a.beh_dept_id,
|
|
|
|
+ a.beh_dept_name,
|
|
|
|
+ count(*) AS checkedNum
|
|
|
|
+ FROM
|
|
|
|
+ med_behospital_info a,
|
|
|
|
+ med_qcresult_info b,
|
|
|
|
+ med_check_info c
|
|
|
|
+ WHERE
|
|
|
|
+ a.is_deleted = 'N'
|
|
|
|
+ AND b.is_deleted = 'N'
|
|
AND c.is_deleted = 'N'
|
|
AND c.is_deleted = 'N'
|
|
AND a.hospital_id = b.hospital_id
|
|
AND a.hospital_id = b.hospital_id
|
|
AND a.hospital_id = c.hospital_id
|
|
AND a.hospital_id = c.hospital_id
|
|
AND a.behospital_code = b.behospital_code
|
|
AND a.behospital_code = b.behospital_code
|
|
AND a.behospital_code = c.behospital_code
|
|
AND a.behospital_code = c.behospital_code
|
|
|
|
+ AND a.qc_type_id != 0
|
|
AND a.is_placefile = '1'
|
|
AND a.is_placefile = '1'
|
|
|
|
+ AND c.`status` = 1
|
|
|
|
+ <if test="hospitalId != null and hospitalId != ''">
|
|
|
|
+ AND a.hospital_id = #{hospitalId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="startDate != null">
|
|
|
|
+ <![CDATA[ AND a.leave_hospital_date >= DATE(#{startDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="endDate != null">
|
|
|
|
+ <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="deptName != null and deptName != ''">
|
|
|
|
+ AND a.beh_dept_name like CONCAT('%', #{deptName}, '%')
|
|
|
|
+ </if>
|
|
|
|
+ GROUP BY
|
|
|
|
+ a.beh_dept_id,
|
|
|
|
+ a.beh_dept_name
|
|
|
|
+ ) ck ON mr.beh_dept_id = ck.beh_dept_id
|
|
|
|
+ AND mr.beh_dept_name = ck.beh_dept_name
|
|
|
|
+ LEFT JOIN (
|
|
|
|
+ SELECT
|
|
|
|
+ a.beh_dept_id,
|
|
|
|
+ a.beh_dept_name,
|
|
|
|
+ count( DISTINCT a.behospital_code ) AS homePageMRNum
|
|
|
|
+ FROM
|
|
|
|
+ med_behospital_info a,
|
|
|
|
+ med_home_page b,
|
|
|
|
+ med_qcresult_info c
|
|
|
|
+ WHERE
|
|
|
|
+ a.is_deleted = 'N'
|
|
|
|
+ AND b.is_deleted = 'N'
|
|
|
|
+ AND a.hospital_id = b.hospital_id
|
|
|
|
+ AND a.hospital_id = c.hospital_id
|
|
|
|
+ AND a.behospital_code = b.behospital_code
|
|
|
|
+ AND a.behospital_code = c.behospital_code
|
|
AND a.qc_type_id != 0
|
|
AND a.qc_type_id != 0
|
|
|
|
+ AND a.is_placefile = '1'
|
|
|
|
+ AND c.have_home_page = '1'
|
|
<if test="hospitalId != null and hospitalId != ''">
|
|
<if test="hospitalId != null and hospitalId != ''">
|
|
AND a.hospital_id = #{hospitalId}
|
|
AND a.hospital_id = #{hospitalId}
|
|
</if>
|
|
</if>
|
|
@@ -4486,6 +4604,96 @@
|
|
<if test="endDate != null">
|
|
<if test="endDate != null">
|
|
<![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
|
|
<![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
|
|
</if>
|
|
</if>
|
|
- ) t2
|
|
|
|
|
|
+ <if test="deptName != null and deptName != ''">
|
|
|
|
+ AND a.beh_dept_name like CONCAT('%', #{deptName}, '%')
|
|
|
|
+ </if>
|
|
|
|
+ GROUP BY
|
|
|
|
+ a.beh_dept_id,
|
|
|
|
+ a.beh_dept_name
|
|
|
|
+ ) hmmr_t ON mr.beh_dept_id = hmmr_t.beh_dept_id
|
|
|
|
+ AND mr.beh_dept_name = hmmr_t.beh_dept_name
|
|
|
|
+ LEFT JOIN (
|
|
|
|
+ SELECT
|
|
|
|
+ a.beh_dept_id,
|
|
|
|
+ a.beh_dept_name,
|
|
|
|
+ <![CDATA[sum( e.`level` = '不合格' AND d.`level` = '合格' AND d.score_res < 20 ) AS improveToPassNum,]]>
|
|
|
|
+ sum( d.score_res = 20 ) AS improveToFullNum,
|
|
|
|
+ count(*) AS improveNum
|
|
|
|
+ FROM
|
|
|
|
+ med_behospital_info a,
|
|
|
|
+ med_home_page b,
|
|
|
|
+ med_qcresult_info c,
|
|
|
|
+ med_qcresult_cases d,
|
|
|
|
+ (
|
|
|
|
+ SELECT
|
|
|
|
+ m4.*
|
|
|
|
+ FROM
|
|
|
|
+ med_behospital_info m1,
|
|
|
|
+ med_home_page m2,
|
|
|
|
+ med_qcresult_info m3,
|
|
|
|
+ med_qcresult_cases m4
|
|
|
|
+ WHERE
|
|
|
|
+ m1.is_deleted = 'N'
|
|
|
|
+ AND m2.is_deleted = 'N'
|
|
|
|
+ AND m3.is_deleted = 'Y'
|
|
|
|
+ AND m4.is_deleted = 'Y'
|
|
|
|
+ AND m1.hospital_id = m2.hospital_id
|
|
|
|
+ AND m1.hospital_id = m3.hospital_id
|
|
|
|
+ AND m1.hospital_id = m4.hospital_id
|
|
|
|
+ AND m1.behospital_code = m2.behospital_code
|
|
|
|
+ AND m1.behospital_code = m3.behospital_code
|
|
|
|
+ AND m1.behospital_code = m4.behospital_code
|
|
|
|
+ AND m3.have_home_page = 1
|
|
|
|
+ AND m4.cases_id = 243
|
|
|
|
+ <if test="hospitalId != null and hospitalId != ''">
|
|
|
|
+ AND m1.hospital_id = #{hospitalId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="startDate != null">
|
|
|
|
+ <![CDATA[ AND m1.leave_hospital_date >= DATE(#{startDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="endDate != null">
|
|
|
|
+ <![CDATA[AND m1.leave_hospital_date < DATE(#{endDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="deptName != null and deptName != ''">
|
|
|
|
+ AND m1.beh_dept_name like CONCAT('%', #{deptName}, '%')
|
|
|
|
+ </if>
|
|
|
|
+ GROUP BY
|
|
|
|
+ m1.behospital_code
|
|
|
|
+ ORDER BY
|
|
|
|
+ m1.behospital_code,
|
|
|
|
+ m4.gmt_create
|
|
|
|
+ ) e
|
|
|
|
+ WHERE
|
|
|
|
+ a.is_deleted = 'N'
|
|
|
|
+ AND b.is_deleted = 'N'
|
|
|
|
+ AND c.is_deleted = 'N'
|
|
|
|
+ AND d.is_deleted = 'N'
|
|
|
|
+ AND a.hospital_id = b.hospital_id
|
|
|
|
+ AND a.hospital_id = c.hospital_id
|
|
|
|
+ AND a.hospital_id = d.hospital_id
|
|
|
|
+ AND a.hospital_id = e.hospital_id
|
|
|
|
+ AND a.behospital_code = b.behospital_code
|
|
|
|
+ AND a.behospital_code = c.behospital_code
|
|
|
|
+ AND a.behospital_code = d.behospital_code
|
|
|
|
+ AND a.behospital_code = e.behospital_code
|
|
|
|
+ AND d.cases_id = 243
|
|
|
|
+ AND d.score_res > e.score_res
|
|
|
|
+ <if test="hospitalId != null and hospitalId != ''">
|
|
|
|
+ AND a.hospital_id = #{hospitalId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="startDate != null">
|
|
|
|
+ <![CDATA[ AND a.leave_hospital_date >= DATE(#{startDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="endDate != null">
|
|
|
|
+ <![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
|
|
|
|
+ </if>
|
|
|
|
+ <if test="deptName != null and deptName != ''">
|
|
|
|
+ AND a.beh_dept_name like CONCAT('%', #{deptName}, '%')
|
|
|
|
+ </if>
|
|
|
|
+ GROUP BY
|
|
|
|
+ a.beh_dept_id,
|
|
|
|
+ a.beh_dept_name
|
|
|
|
+ ) improve_t ON mr.beh_dept_id = improve_t.beh_dept_id
|
|
|
|
+ AND mr.beh_dept_name = improve_t.beh_dept_name
|
|
</select>
|
|
</select>
|
|
</mapper>
|
|
</mapper>
|