|
@@ -3480,22 +3480,24 @@
|
|
|
FROM
|
|
|
(
|
|
|
SELECT
|
|
|
- bc1.file_code,
|
|
|
- bc1.diagnose,
|
|
|
- bc1.behospitalCode,
|
|
|
- bc1.behospitalDate,
|
|
|
- bc1.leaveHospitalDate
|
|
|
+ r1.file_code,
|
|
|
+ r1.diagnose,
|
|
|
+ r1.behospital_code AS behospitalCode,
|
|
|
+ r1.behospital_date AS behospitalDate,
|
|
|
+ r1.leave_hospital_date AS leaveHospitalDate,
|
|
|
+ r2.behospital_code AS lastBehospitalCode,
|
|
|
+ r2.behospital_date AS lastBehospitalDate,
|
|
|
+ r2.leave_hospital_date AS lastLeaveHospitalDate,
|
|
|
+ TIMESTAMPDIFF( DAY, DATE( r2.leave_hospital_date ), DATE( r1.behospital_date ) ) AS diffDay
|
|
|
FROM
|
|
|
(
|
|
|
SELECT
|
|
|
+ ( @rownum := @rownum + 1 ) AS rownum,
|
|
|
t1.file_code,
|
|
|
t1.diagnose,
|
|
|
- t1.behospital_code AS behospitalCode,
|
|
|
- t1.leave_hospital_date AS leaveHospitalDate,
|
|
|
- t2.behospital_code AS lastBehospitalCode,
|
|
|
- t2.behospital_date AS lastBehospitalDate,
|
|
|
- t1.behospital_date AS behospitalDate,
|
|
|
- t2.leave_hospital_date AS lastLeaveHospitalDate
|
|
|
+ t1.behospital_code,
|
|
|
+ t1.behospital_date,
|
|
|
+ t1.leave_hospital_date
|
|
|
FROM
|
|
|
(
|
|
|
SELECT
|
|
@@ -3513,8 +3515,9 @@
|
|
|
med_behospital_info a
|
|
|
WHERE
|
|
|
a.is_deleted = 'N'
|
|
|
- AND a.is_placefile = '1'
|
|
|
+ AND a.is_placefile = 1
|
|
|
AND a.qc_type_id != 0
|
|
|
+ AND IFNULL( a.diagnose, '' )!= ''
|
|
|
<if test="hospitalId != null and hospitalId != ''">
|
|
|
AND a.hospital_id = #{hospitalId}
|
|
|
</if>
|
|
@@ -3524,7 +3527,6 @@
|
|
|
<if test="endDate != null">
|
|
|
<![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
|
|
|
</if>
|
|
|
- AND IFNULL( a.diagnose, '' )!= ''
|
|
|
GROUP BY
|
|
|
a.file_code,
|
|
|
a.diagnose
|
|
@@ -3552,75 +3554,16 @@
|
|
|
tt1.diagnose,
|
|
|
tt2.behospital_date DESC
|
|
|
) t1,
|
|
|
- (
|
|
|
- SELECT
|
|
|
- tt1.file_code,
|
|
|
- tt1.diagnose,
|
|
|
- tt2.behospital_code,
|
|
|
- tt2.behospital_date,
|
|
|
- tt2.leave_hospital_date
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT
|
|
|
- a.file_code,
|
|
|
- a.diagnose
|
|
|
- FROM
|
|
|
- med_behospital_info a
|
|
|
- WHERE
|
|
|
- a.is_deleted = 'N'
|
|
|
- AND a.is_placefile = 1
|
|
|
- AND a.qc_type_id != 0
|
|
|
- AND a.hospital_id = 1
|
|
|
- AND IFNULL( a.diagnose, '' )!= ''
|
|
|
- GROUP BY
|
|
|
- a.file_code,
|
|
|
- a.diagnose
|
|
|
- HAVING
|
|
|
- count(*)> 1
|
|
|
- ) tt1,
|
|
|
- med_behospital_info tt2
|
|
|
- WHERE
|
|
|
- tt2.is_deleted = 'N'
|
|
|
- AND tt2.is_placefile = 1
|
|
|
- AND tt2.qc_type_id != 0
|
|
|
- AND tt1.file_code = tt2.file_code
|
|
|
- AND tt1.diagnose = tt2.diagnose
|
|
|
- <if test="hospitalId != null and hospitalId != ''">
|
|
|
- AND tt2.hospital_id = #{hospitalId}
|
|
|
- </if>
|
|
|
- <if test="startDate != null">
|
|
|
- <![CDATA[ AND tt2.leave_hospital_date >= DATE(#{startDate})]]>
|
|
|
- </if>
|
|
|
- <if test="endDate != null">
|
|
|
- <![CDATA[AND tt2.leave_hospital_date < DATE(#{endDate})]]>
|
|
|
- </if>
|
|
|
- ORDER BY
|
|
|
- tt1.file_code,
|
|
|
- tt1.diagnose,
|
|
|
- tt2.behospital_date DESC
|
|
|
- ) t2
|
|
|
- WHERE
|
|
|
- t1.file_code = t2.file_code
|
|
|
- AND t1.diagnose = t2.diagnose
|
|
|
- AND t1.behospital_code != t2.behospital_code
|
|
|
- AND ( TIMESTAMPDIFF( DAY, DATE( t2.leave_hospital_date ), DATE( t1.behospital_date )) BETWEEN 0 AND 31 )) bc1 UNION
|
|
|
- SELECT
|
|
|
- bc2.file_code,
|
|
|
- bc2.diagnose,
|
|
|
- bc2.lastBehospitalCode,
|
|
|
- bc2.lastBehospitalDate,
|
|
|
- bc2.lastLeaveHospitalDate
|
|
|
- FROM
|
|
|
- (
|
|
|
+ ( SELECT @rownum := 0 ) r
|
|
|
+ ) r1
|
|
|
+ LEFT JOIN (
|
|
|
SELECT
|
|
|
- t1.file_code,
|
|
|
- t1.diagnose,
|
|
|
- t1.behospital_code AS behospitalCode,
|
|
|
- t1.leave_hospital_date AS leaveHospitalDate,
|
|
|
- t2.behospital_code AS lastBehospitalCode,
|
|
|
- t2.behospital_date AS lastBehospitalDate,
|
|
|
- t1.behospital_date AS behospitalDate,
|
|
|
- t2.leave_hospital_date AS lastLeaveHospitalDate
|
|
|
+ ( @INDEX := @INDEX + 1 ) AS rownum,
|
|
|
+ t2.file_code,
|
|
|
+ t2.diagnose,
|
|
|
+ t2.behospital_code,
|
|
|
+ t2.behospital_date,
|
|
|
+ t2.leave_hospital_date
|
|
|
FROM
|
|
|
(
|
|
|
SELECT
|
|
@@ -3638,8 +3581,9 @@
|
|
|
med_behospital_info a
|
|
|
WHERE
|
|
|
a.is_deleted = 'N'
|
|
|
- AND a.is_placefile = '1'
|
|
|
+ AND a.is_placefile = 1
|
|
|
AND a.qc_type_id != 0
|
|
|
+ AND IFNULL( a.diagnose, '' )!= ''
|
|
|
<if test="hospitalId != null and hospitalId != ''">
|
|
|
AND a.hospital_id = #{hospitalId}
|
|
|
</if>
|
|
@@ -3649,7 +3593,6 @@
|
|
|
<if test="endDate != null">
|
|
|
<![CDATA[AND a.leave_hospital_date < DATE(#{endDate})]]>
|
|
|
</if>
|
|
|
- AND IFNULL( a.diagnose, '' )!= ''
|
|
|
GROUP BY
|
|
|
a.file_code,
|
|
|
a.diagnose
|
|
@@ -3676,60 +3619,17 @@
|
|
|
tt1.file_code,
|
|
|
tt1.diagnose,
|
|
|
tt2.behospital_date DESC
|
|
|
- ) t1,
|
|
|
- (
|
|
|
- SELECT
|
|
|
- tt1.file_code,
|
|
|
- tt1.diagnose,
|
|
|
- tt2.behospital_code,
|
|
|
- tt2.behospital_date,
|
|
|
- tt2.leave_hospital_date
|
|
|
- FROM
|
|
|
- (
|
|
|
+ ) t2,(
|
|
|
SELECT
|
|
|
- a.file_code,
|
|
|
- a.diagnose
|
|
|
- FROM
|
|
|
- med_behospital_info a
|
|
|
- WHERE
|
|
|
- a.is_deleted = 'N'
|
|
|
- AND a.is_placefile = 1
|
|
|
- AND a.qc_type_id != 0
|
|
|
- AND a.hospital_id = 1
|
|
|
- AND IFNULL( a.diagnose, '' )!= ''
|
|
|
- GROUP BY
|
|
|
- a.file_code,
|
|
|
- a.diagnose
|
|
|
- HAVING
|
|
|
- count(*)> 1
|
|
|
- ) tt1,
|
|
|
- med_behospital_info tt2
|
|
|
- WHERE
|
|
|
- tt2.is_deleted = 'N'
|
|
|
- AND tt2.is_placefile = 1
|
|
|
- AND tt2.qc_type_id != 0
|
|
|
- AND tt1.file_code = tt2.file_code
|
|
|
- AND tt1.diagnose = tt2.diagnose
|
|
|
- <if test="hospitalId != null and hospitalId != ''">
|
|
|
- AND tt2.hospital_id = #{hospitalId}
|
|
|
- </if>
|
|
|
- <if test="startDate != null">
|
|
|
- <![CDATA[ AND tt2.leave_hospital_date >= DATE(#{startDate})]]>
|
|
|
- </if>
|
|
|
- <if test="endDate != null">
|
|
|
- <![CDATA[AND tt2.leave_hospital_date < DATE(#{endDate})]]>
|
|
|
- </if>
|
|
|
- ORDER BY
|
|
|
- tt1.file_code,
|
|
|
- tt1.diagnose,
|
|
|
- tt2.behospital_date DESC
|
|
|
- ) t2
|
|
|
- WHERE
|
|
|
- t1.file_code = t2.file_code
|
|
|
- AND t1.diagnose = t2.diagnose
|
|
|
- AND t1.behospital_code != t2.behospital_code
|
|
|
- AND ( TIMESTAMPDIFF( DAY, DATE( t2.leave_hospital_date ), DATE( t1.behospital_date )) BETWEEN 0 AND 31 )) bc2
|
|
|
+ @INDEX := 0
|
|
|
+ ) r
|
|
|
+ ) r2 ON r1.file_code = r2.file_code
|
|
|
+ AND r1.rownum = r2.rownum - 1
|
|
|
) t
|
|
|
+ WHERE
|
|
|
+ t.diffDay IS NOT NULL
|
|
|
+ AND t.diffDay BETWEEN 0
|
|
|
+ AND 31
|
|
|
</select>
|
|
|
|
|
|
<!-- 病案首页质控病历数统计-全院(首页)-->
|