From 5e6ab115c661b53926ef13cb7a2f51d16d943e68 Mon Sep 17 00:00:00 2001 From: sjf <1256754123@qq.com> Date: Thu, 7 Nov 2019 10:59:47 +0800 Subject: [PATCH] d --- .../.project" | 17 + ...74\345\220\210\347\273\237\350\256\241SQL" | 3077 +++++++++++++++++ ...\350\256\241\347\273\223\346\236\234.xlsx" | Bin 0 -> 16203 bytes 3 files changed, 3094 insertions(+) create mode 100644 "\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/.project" create mode 100644 "\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/\345\271\263\345\217\260\347\255\233\346\237\245\347\273\274\345\220\210\347\273\237\350\256\241SQL" create mode 100644 "\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/\345\271\263\345\217\260\347\255\233\346\237\245\347\273\274\345\220\210\347\273\237\350\256\241\347\273\223\346\236\234.xlsx" diff --git "a/\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/.project" "b/\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/.project" new file mode 100644 index 0000000..04ed227 --- /dev/null +++ "b/\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/.project" @@ -0,0 +1,17 @@ + + + 早筛综合统计页面展示 + + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.wst.jsdt.core.jsNature + + diff --git "a/\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/\345\271\263\345\217\260\347\255\233\346\237\245\347\273\274\345\220\210\347\273\237\350\256\241SQL" "b/\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/\345\271\263\345\217\260\347\255\233\346\237\245\347\273\274\345\220\210\347\273\237\350\256\241SQL" new file mode 100644 index 0000000..a479b7a --- /dev/null +++ "b/\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/\345\271\263\345\217\260\347\255\233\346\237\245\347\273\274\345\220\210\347\273\237\350\256\241SQL" @@ -0,0 +1,3077 @@ +-- ----------------------------------------平台筛查综合统计SQL------------------------------------------------------- + + +-- 做血检的人次统计 +SELECT + rel11.医联体名称 医联体名称, + (IFNULL( 实际血清检测人次, 0 ) + IFNULL( 计划血清检测人次, 0 )) 血清检测总人次, + IFNULL( 计划血清检测人次, 0 ) 计划血清检测人次, + IFNULL( 实际血清检测人次, 0 ) 实际血清检测人次 +FROM + ( + SELECT + 医联体编号, + 医联体名称, + count( * ) 计划血清检测人次 + FROM + ( + SELECT + p.id 患者id, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 计划随访内容, + rel1.`status` 审核状态 +FROM + tb_patient p -- 随访状态为继续随访,计划随访内容包含血清检查 + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%b%' ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + ) rel +GROUP BY + 医联体名称 +ORDER BY + 计划血清检测人次 DESC + ) rel11 + LEFT JOIN ( + SELECT + 医联体编号, + 医联体名称, + count( * ) 实际血清检测人次 + FROM + ( + SELECT + p.id 患者id, + rel1.number 医联体编号, + rel1.`name` 医联体名称, + rel2.step 实验室检查调查进度, + rel2.g17 'G-17', + rel2.pg1 'PG-Ⅰ', + rel2.pg2 'PG-Ⅱ', + CASE + rel2.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, + rel2.`status` 审核状态 +FROM + tb_patient AS p + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel1 ON rel1.number = p.hosp_number + LEFT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect ) rel2 ON rel2.patient_id = p.id +WHERE + rel2.`status` NOT IN ( 0, 5 ) + ) rel +GROUP BY + 医联体名称 + ) rel22 ON rel11.医联体编号 = rel22.医联体编号 + + +-- 统计每个医联体下计划随访需要做血清检测的人次 +SELECT + 医联体名称, + count( * ) 计划血清检测人次 +FROM + ( + SELECT + p.id 患者id, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 计划随访内容, + rel1.`status` 审核状态 +FROM + tb_patient p + -- 随访状态为继续随访,计划随访内容包含血清检查 + RIGHT JOIN (SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%b%' ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + ) rel +GROUP BY + 医联体名称 +ORDER BY + 计划血清检测人次 DESC + + + +-- 实际已做过血清检测的患者人次 +SELECT + 医联体名称, + count( * ) 血清检测人次 +FROM + ( + SELECT + p.id 患者id, + rel1.number 医联体编号, + rel1.`name` 医联体名称, + rel2.step 实验室检查调查进度, + rel2.g17 'G-17', + rel2.pg1 'PG-Ⅰ', + rel2.pg2 'PG-Ⅱ', + CASE + rel2.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, + rel2.`status` 审核状态 +FROM + tb_patient AS p + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel1 ON rel1.number = p.hosp_number + LEFT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect ) rel2 ON rel2.patient_id = p.id +WHERE + rel2.`status` <> 0 and rel2.`status` <> 5 + ) rel +GROUP BY + 医联体名称 +ORDER BY + 血清检测人次 DESC + + +-- 血检总人次统计 +SELECT + ( IFNULL( 实际血清检测总人次, 0 ) + IFNULL( 计划血清检测总人次, 0 ) ) 血清检测总人次, + IFNULL( rel11.计划血清检测总人次, 0 ) 计划血清检测总人次, + IFNULL( rel22.实际血清检测总人次, 0 ) 实际血清检测总人次, + IFNULL( rel33.HP抗体(IGG)检测阳性总人次, 0 ) HP抗体(IGG)检测阳性总人次 +FROM + ( + SELECT + count( * ) 计划血清检测总人次 + FROM + ( + SELECT + p.id 患者id, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 计划随访内容, + rel1.`status` 审核状态 +FROM + tb_patient p -- 随访状态为继续随访,计划随访内容包含血清检查 + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%b%' ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + ) rel + ) rel11, + ( + SELECT + count( * ) 实际血清检测总人次 + FROM + ( + SELECT + p.id 患者id, + rel1.number 医联体编号, + rel1.`name` 医联体名称, + rel2.step 实验室检查调查进度, + rel2.g17 'G-17', + rel2.pg1 'PG-Ⅰ', + rel2.pg2 'PG-Ⅱ', + CASE + rel2.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, + rel2.`status` 审核状态 +FROM + tb_patient AS p + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel1 ON rel1.number = p.hosp_number + LEFT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect ) rel2 ON rel2.patient_id = p.id +WHERE + rel2.`status` NOT IN ( 0, 5 ) + ) rel + ) rel22, + ( + SELECT + count( * ) HP抗体(IGG)检测阳性总人次 + FROM + ( + SELECT + p.id 患者id, + rel1.number 医联体编号, + rel1.`name` 医联体名称, + rel2.step 实验室检查调查进度, + rel2.g17 'G-17', + rel2.pg1 'PG-Ⅰ', + rel2.pg2 'PG-Ⅱ', + CASE + rel2.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, + rel2.`status` 审核状态 +FROM + tb_patient AS p + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel1 ON rel1.number = p.hosp_number + RIGHT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id + ) rel +WHERE + rel.HP抗体(IGG)检测 = '阳性' + ) rel33 + + + +-- HP抗体(IGG)检测阳性人次 +SELECT + count( * ) HP抗体(IGG)检测阳性人次 +FROM + ( + SELECT + p.id 患者id, + rel1.number 医联体编号, + rel1.`name` 医联体名称, + rel2.step 实验室检查调查进度, + rel2.g17 'G-17', + rel2.pg1 'PG-Ⅰ', + rel2.pg2 'PG-Ⅱ', + CASE + rel2.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, + rel2.`status` 审核状态 +FROM + tb_patient AS p + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel1 ON rel1.number = p.hosp_number + RIGHT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect where `status` NOT IN ( 0, 5 )) rel2 ON rel2.patient_id = p.id + ) rel +WHERE + rel.HP抗体(IGG)检测 = '阳性' + + +-- 胃癌患病风险等级评估统计 +SELECT + 胃癌患病风险等级, + count( * ) 患者总人次 +FROM + ( + SELECT + p.id 患者id, + rel1.score 胃癌患病风险评分, + CASE + rel1.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END 胃癌患病风险等级 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, score, grade FROM tb_risk_assess ) rel1 ON rel1.patient_id = p.id + ) rel +GROUP BY + 胃癌患病风险等级 + + +-- 胃镜检查人次统计 +SELECT + ( IFNULL( 实际胃镜检查总人次, 0 ) + IFNULL( 计划胃镜检查总人次, 0 ) ) 胃镜检查总人次, + IFNULL( rel11.计划胃镜检查总人次, 0 ) 计划胃镜检查总人次, + IFNULL( rel22.实际胃镜检查总人次, 0 ) 实际胃镜检查总人次, + IFNULL( rel22.胃镜精查总人次, 0 ) 胃镜精查总人次 +FROM + ( + SELECT + count( * ) 计划胃镜检查总人次 + FROM + ( + SELECT + p.id 患者id, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 随访内容 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%a%' ) rel1 ON rel1.patient_id = p.id + ) rel + ) rel11, + ( + SELECT + count( * ) 实际胃镜检查总人次, + count( 胃镜精查方式 <> '[]' OR NULL ) 胃镜精查总人次 + FROM + ( + SELECT + p.id 患者id, + rel1.step 胃镜检查调查进度, + CASE + rel1.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '' + END 是否胃镜检查, + rel1.inspect_way 胃镜检查方式, + CASE + rel1.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel1.precise_way 胃镜精查方式, +CASE + + WHEN rel1.diagnose_result = 1 THEN + '异常' + WHEN rel1.diagnose_result = 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel1.diagnose_info 最终诊断详情, + rel1.STATUS 审核状态 +FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + inspect_way, + precise_way, + capsule, + diagnose_result, + diagnose_info, + is_inspect, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + ) rel1 ON rel1.patient_id = p.id + ) rel + ) rel22 + + +-- 随访计划中需要做胃镜检查的患者人次统计 +SELECT + p.id 患者id, + rel1.step 计划随访调查进度, +CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 随访内容 +FROM + tb_patient p + -- 随访状态为继续随访,计划随访内容包含胃镜检查 + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%a%' ) rel1 ON rel1.patient_id = p.id + + +-- 实际已做过胃镜检查的患者人次 +SELECT + p.id 患者id, + rel1.step 胃镜检查调查进度, +CASE + rel1.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '' + END 是否胃镜检查, + rel1.inspect_way 胃镜检查方式, +CASE + rel1.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel1.precise_way 胃镜精查方式, +CASE + + WHEN rel1.diagnose_result = 1 THEN + '异常' + WHEN rel1.diagnose_result = 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel1.diagnose_info 最终诊断详情, + rel1.STATUS 审核状态 +FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + inspect_way, + precise_way, + capsule, + diagnose_result, + diagnose_info, + is_inspect, + `status` + FROM + tb_gastro_inspect + WHERE + -- 是否进行胃镜检查 + is_inspect = 1 + -- 状态不能是待录入(暂存)0-待录入;5-待提交 + AND `status` NOT IN ( 0, 5 ) + ) rel1 ON rel1.patient_id = p.id + + + +-- 实际胃镜精查人次 +SELECT + p.id 患者id, + rel1.step 胃镜检查调查进度, +CASE + rel1.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '' + END 是否胃镜检查, + rel1.inspect_way 胃镜检查方式, +CASE + rel1.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel1.precise_way 胃镜精查方式, +CASE + + WHEN rel1.diagnose_result = 1 THEN + '异常' + WHEN rel1.diagnose_result = 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel1.diagnose_info 最终诊断详情, + rel1.STATUS 审核状态 +FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE-- 是否进行胃镜检查 + is_inspect = 1 -- 状态不能是待录入(暂存)0-待录入;5-待提交 + + AND `status` NOT IN ( 0, 5 ) + AND precise_way IS NOT NULL + AND precise_way <> '[]' + ) rel1 ON rel1.patient_id = p.id + + + +-- 胃镜精查异常人次 +SELECT + p.id patientId, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus +FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + -- 是否进行胃镜检查 + is_inspect = 1 + -- 状态不能是待录入(暂存)0-待录入;5-待提交 + AND `status` NOT IN ( 0, 5 ) + -- 胃镜精查异常 + and diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + + +-- "a":1 食管粘膜上皮内瘤变 +-- "b":1 早期食管癌 +-- "c":1 进展期食管癌 +-- "d":1 Barret食管 +-- "e":1 反流性食管炎 +-- "f":1 胃粘膜上皮内瘤变 +-- "g":1 早期胃癌 +-- "h":1 进展期胃癌 +-- "i":1 萎缩性胃炎 +-- "j":1 胃溃疡 +-- "k":1 胃息肉 +-- "l":1 非萎缩性胃炎 +-- "m":1 十二指肠球部溃疡 +-- "n":1 其它病变 + +-- 胃镜检查诊断结果统计 +SELECT + count( gastroDetailInfo LIKE '%"a":1%' OR NULL ) AS 食管粘膜上皮内瘤变, + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) AS 早期食管癌, + count( gastroDetailInfo LIKE '%"c":1%' OR NULL ) AS 进展期食管癌, + count( gastroDetailInfo LIKE '%"d":1%' OR NULL ) AS Barret食管, + count( gastroDetailInfo LIKE '%"e":1%' OR NULL ) AS 反流性食管炎, + count( gastroDetailInfo LIKE '%"f":1%' OR NULL ) AS 胃粘膜上皮内瘤变, + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) AS 早期胃癌, + count( gastroDetailInfo LIKE '%"h":1%' OR NULL ) AS 进展期胃癌, + count( gastroDetailInfo LIKE '%"i":1%' OR NULL ) AS 萎缩性胃炎, + count( gastroDetailInfo LIKE '%"j":1%' OR NULL ) AS 胃溃疡, + count( gastroDetailInfo LIKE '%"k":1%' OR NULL ) AS 胃息肉, + count( gastroDetailInfo LIKE '%"l":1%' OR NULL ) AS 非萎缩性胃炎, + count( gastroDetailInfo LIKE '%"m":1%' OR NULL ) AS 十二指肠球部溃疡, + count( gastroDetailInfo LIKE '%"n":%' OR NULL ) AS 其它病变 +FROM + ( + SELECT + p.id patientId, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + ) rel + + +-- 各医联体胃镜检查诊断结果统计 +SELECT + hospName 医联体名称, + ( + count( gastroDetailInfo LIKE '%"a":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"c":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"d":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"e":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"f":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"h":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"i":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"j":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"k":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"l":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"m":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"n":%' OR NULL ) + ) 合计, + count( gastroDetailInfo LIKE '%"a":1%' OR NULL ) AS 食管粘膜上皮内瘤变, + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) AS 早期食管癌, + count( gastroDetailInfo LIKE '%"c":1%' OR NULL ) AS 进展期食管癌, + count( gastroDetailInfo LIKE '%"d":1%' OR NULL ) AS Barret食管, + count( gastroDetailInfo LIKE '%"e":1%' OR NULL ) AS 反流性食管炎, + count( gastroDetailInfo LIKE '%"f":1%' OR NULL ) AS 胃粘膜上皮内瘤变, + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) AS 早期胃癌, + count( gastroDetailInfo LIKE '%"h":1%' OR NULL ) AS 进展期胃癌, + count( gastroDetailInfo LIKE '%"i":1%' OR NULL ) AS 萎缩性胃炎, + count( gastroDetailInfo LIKE '%"j":1%' OR NULL ) AS 胃溃疡, + count( gastroDetailInfo LIKE '%"k":1%' OR NULL ) AS 胃息肉, + count( gastroDetailInfo LIKE '%"l":1%' OR NULL ) AS 非萎缩性胃炎, + count( gastroDetailInfo LIKE '%"m":1%' OR NULL ) AS 十二指肠球部溃疡, + count( gastroDetailInfo LIKE '%"n":%' OR NULL ) AS 其它病变 +FROM + ( + SELECT + p.id patientId, + rel2.number hospNumber, + rel2.`name` hospName, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + ) rel +GROUP BY + hospName +ORDER BY + 早期胃癌 DESC + + +-- 高级别上皮内瘤变:高级别食管粘膜上皮内瘤变("type_a":"a")+高级别胃粘膜上皮内瘤变("type_f":"a")是否等于 高级别上皮内瘤变 人次? +SELECT + count( gastroDetailInfo LIKE '%"type_a":"a"%' OR gastroDetailInfo LIKE '%"type_f":"a"%' OR NULL ) AS 高级别上皮内瘤变, + count( gastroDetailInfo LIKE '%"type_a":"a"%' OR NULL ) AS 高级别食管粘膜上皮内瘤变, + count( gastroDetailInfo LIKE '%"type_f":"a"%' OR NULL ) AS 高级别胃粘膜上皮内瘤变 +FROM + ( + SELECT + p.id patientId, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + ) rel + + + + + + + + + + + + + +-- 页面筛查数据统计结果--过程 +SELECT + p.id 患者id, + p.`name` 患者姓名, + rel5.number 医联体编号, + rel5.`name` 医联体名称, +CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END 胃癌患病风险等级, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END 是否胃镜检查, + rel3.inspect_way 胃镜检查方式, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel3.precise_way 胃镜精查方式, +CASE + + WHEN rel3.diagnose_result = 1 THEN + '异常' + WHEN rel3.diagnose_result = 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel3.diagnose_info 最终诊断详情, +CASE + rel4.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 是否继续随访, + rel4.content_type 继续随访内容, + rel1.`status` 筛查状态 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + `status` NOT IN ( 0, 5 ) + ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE `status` NOT IN ( 0, 5 ) ) rel4 ON rel4.patient_id = p.id + AND rel4.step = rel3.step + AND rel4.`status` = rel3.`status` + LEFT JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + + +-- 页面筛查数据统计结果 +SELECT + rel.医联体编号 医联体编号, + rel.医联体名称 医联体名称, + count( 筛查状态 = 1 OR NULL ) 筛查申请数, + count( * ) 筛查总数 +FROM + ( + SELECT + p.id 患者id, + p.`name` 患者姓名, + rel5.number 医联体编号, + rel5.`name` 医联体名称, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END 胃癌患病风险等级, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END 是否胃镜检查, + rel3.inspect_way 胃镜检查方式, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel3.precise_way 胃镜精查方式, +CASE + rel3.diagnose_result + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel3.diagnose_info 最终诊断详情, +CASE + rel4.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 是否继续随访, + rel4.content_type 继续随访内容, + rel1.`status` 筛查状态 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + `status` NOT IN ( 0, 5 ) + ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE `status` NOT IN ( 0, 5 ) ) rel4 ON rel4.patient_id = p.id + AND rel4.step = rel3.step + AND rel4.`status` = rel3.`status` + LEFT JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + ) rel +GROUP BY + 医联体名称 +ORDER BY + 筛查总数 DESC + + + + +-- 页面血检数据统计 +SELECT + 医联体编号, + 医联体名称, + sum( 计划血清检测总人次 + 实际血清检测总人次 ) 血清检测总人次, + sum( 计划血清检测总人次 ) 计划血清检测总人次, + sum( 实际血清检测总人次 ) 实际血清检测总人次, + sum( HP抗体(IGG)检测阳性总人次 ) HP抗体(IGG)检测阳性总人次, + sum( 早癌患者数 ) 早癌患者数 +FROM + ( + ( + SELECT + 医联体编号, + 医联体名称, + count( * ) 计划血清检测总人次, + count( NULL ) 实际血清检测总人次, + count( NULL ) HP抗体(IGG)检测阳性总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 计划随访内容, + rel1.`status` 审核状态 +FROM + tb_patient p -- 随访状态为继续随访,计划随访内容包含血清检查 + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%b%' ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + ) rel +GROUP BY + 医联体名称 + ) UNION + ( + SELECT + 医联体编号, + 医联体名称, + count( NULL ) 计划血清检测总人次, + count( * ) 实际血清检测总人次, + count( HP抗体(IGG)检测 = '阳性' OR NULL ) HP抗体(IGG)检测阳性总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel1.number 医联体编号, + rel1.`name` 医联体名称, + rel2.step 实验室检查调查进度, + rel2.g17 'G-17', + rel2.pg1 'PG-Ⅰ', + rel2.pg2 'PG-Ⅱ', + CASE + rel2.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, + rel2.`status` 审核状态 +FROM + tb_patient AS p + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel1 ON rel1.number = p.hosp_number + RIGHT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect ) rel2 ON rel2.patient_id = p.id +WHERE + rel2.`status` NOT IN ( 0, 5 ) + ) rel +GROUP BY + 医联体名称 + ) UNION + ( + SELECT + hospNumber 医联体编号, + hospName 医联体名称, + count( NULL ) 计划血清检测总人次, + count( NULL ) 实际血清检测总人次, + count( NULL ) HP抗体(IGG)检测阳性总人次, + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) 早癌患者数 + FROM + ( + SELECT + p.id patientId, + rel2.number hospNumber, + rel2.`name` hospName, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + ) rel + GROUP BY + 医联体名称 + ) + ) rel +GROUP BY + 医联体名称 + + + + +SELECT + hospNumber 医联体编号, + hospName 医联体名称, + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) 早癌患者数, + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) AS 早期食管癌, + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) AS 早期胃癌 +FROM + ( + SELECT + p.id patientId, + rel2.number hospNumber, + rel2.`name` hospName, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + ) rel +GROUP BY + 医联体名称 + + + + + + + + + + + + +-- 页面胃镜检查数据统计 +SELECT + 医联体编号, + 医联体名称, + sum( 计划胃镜检查总人次 + 实际胃镜检查总人次 ) 胃镜检查总人次, + sum( 计划胃镜检查总人次 ) 计划胃镜检查总人次, + sum( 实际胃镜检查总人次 ) 实际胃镜检查总人次, + sum( 胃镜精查总人次 ) 胃镜精查总人次, + sum( 早癌患者数 ) 早癌患者数 +FROM + ( + ( + SELECT + 医联体编号, + 医联体名称, + count( * ) 计划胃镜检查总人次, + count( NULL ) 实际胃镜检查总人次, + count( NULL ) 胃镜精查总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 随访内容 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%a%' ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + ) rel +GROUP BY + 医联体名称 + ) UNION + ( + SELECT + 医联体编号, + 医联体名称, + count( NULL ) 计划胃镜检查总人次, + count( * ) 实际胃镜检查总人次, + count( 胃镜精查方式 <> '[]' OR NULL ) 胃镜精查总人次, + count( 最终诊断详情 LIKE '%"b":1%' OR NULL ) + count( 最终诊断详情 LIKE '%"g":1%' OR NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 胃镜检查调查进度, + CASE + rel1.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '' + END 是否胃镜检查, + rel1.inspect_way 胃镜检查方式, + CASE + rel1.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel1.precise_way 胃镜精查方式, +CASE + WHEN rel1.diagnose_result = 1 THEN + '异常' + WHEN rel1.diagnose_result = 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel1.diagnose_info 最终诊断详情, + rel1.STATUS 审核状态 +FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + inspect_way, + precise_way, + capsule, + diagnose_result, + diagnose_info, + is_inspect, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + ) rel +GROUP BY + 医联体名称 + ) + ) rel +GROUP BY + 医联体名称 + + + +-- 页面胃镜检查地区统计(整理过程) +SELECT + 省份, + 医联体编号, + 医联体名称, + sum( 计划胃镜检查总人次 + 实际胃镜检查总人次 ) 胃镜检查总人次, + sum( 计划胃镜检查总人次 ) 计划胃镜检查总人次, + sum( 实际胃镜检查总人次 ) 实际胃镜检查总人次, + sum( 胃镜精查总人次 ) 胃镜精查总人次, + sum( 早癌患者数 ) 早癌患者数 +FROM + ( + ( + SELECT + 省份, + 医联体编号, + 医联体名称, + count( * ) 计划胃镜检查总人次, + count( NULL ) 实际胃镜检查总人次, + count( NULL ) 胃镜精查总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 随访内容 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%a%' ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + left join ( select area, `name` from tmp_tb_hosp_area ) rel3 on rel3.`name` = rel2.`name` + ) rel +GROUP BY +-- 省份 + 医联体名称 + ) UNION + ( + SELECT + 省份, + 医联体编号, + 医联体名称, + count( NULL ) 计划胃镜检查总人次, + count( * ) 实际胃镜检查总人次, + count( 胃镜精查方式 <> '[]' OR NULL ) 胃镜精查总人次, + count( 最终诊断详情 LIKE '%"b":1%' OR NULL ) + count( 最终诊断详情 LIKE '%"g":1%' OR NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 胃镜检查调查进度, + CASE + rel1.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '' + END 是否胃镜检查, + rel1.inspect_way 胃镜检查方式, + CASE + rel1.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel1.precise_way 胃镜精查方式, +CASE + WHEN rel1.diagnose_result = 1 THEN + '异常' + WHEN rel1.diagnose_result = 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel1.diagnose_info 最终诊断详情, + rel1.STATUS 审核状态 +FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + inspect_way, + precise_way, + capsule, + diagnose_result, + diagnose_info, + is_inspect, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + left join ( select area, `name` from tmp_tb_hosp_area ) rel3 on rel3.`name` = rel2.`name` + ) rel +GROUP BY +-- 省份 + 医联体名称 + ) + ) rel +GROUP BY +-- 省份 + 医联体名称 + + + + +-- 页面胃镜检查地区统计(结果) +SELECT + 省份, + sum( 计划胃镜检查总人次 + 实际胃镜检查总人次 ) 胃镜检查总人次, + sum( 计划胃镜检查总人次 ) 计划胃镜检查总人次, + sum( 实际胃镜检查总人次 ) 实际胃镜检查总人次, + sum( 胃镜精查总人次 ) 胃镜精查总人次, + sum( 早癌患者数 ) 早癌患者数 +FROM + ( + ( + SELECT + 省份, + count( * ) 计划胃镜检查总人次, + count( NULL ) 实际胃镜检查总人次, + count( NULL ) 胃镜精查总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 随访内容 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%a%' ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + left join ( select area, `name` from tmp_tb_hosp_area ) rel3 on rel3.`name` = rel2.`name` + ) rel +GROUP BY + 省份 + ) UNION + ( + SELECT + 省份, + count( NULL ) 计划胃镜检查总人次, + count( * ) 实际胃镜检查总人次, + count( 胃镜精查方式 <> '[]' OR NULL ) 胃镜精查总人次, + count( 最终诊断详情 LIKE '%"b":1%' OR NULL ) + count( 最终诊断详情 LIKE '%"g":1%' OR NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel1.step 胃镜检查调查进度, + CASE + rel1.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '' + END 是否胃镜检查, + rel1.inspect_way 胃镜检查方式, + CASE + rel1.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel1.precise_way 胃镜精查方式, +CASE + WHEN rel1.diagnose_result = 1 THEN + '异常' + WHEN rel1.diagnose_result = 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel1.diagnose_info 最终诊断详情, + rel1.STATUS 审核状态 +FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + inspect_way, + precise_way, + capsule, + diagnose_result, + diagnose_info, + is_inspect, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + left join ( select area, `name` from tmp_tb_hosp_area ) rel3 on rel3.`name` = rel2.`name` + ) rel +GROUP BY + 省份 + ) + ) rel +GROUP BY + 省份 + + + + + + +SELECT + provinceName, + sum( provinceGastroscopyPlan + provinceGastroscopyActual ) provinceGastroscopyTotal, + sum( provinceGastroscopyPlan ) provinceGastroscopyPlan, + sum( provinceGastroscopyActual ) provinceGastroscopyActual, + sum( provinceGastroscopyDetail ) provinceGastroscopyDetail, + sum( provinceEarlyCancer ) provinceEarlyCancer +FROM + ( + ( + SELECT + provinceName, + count( * ) provinceGastroscopyPlan, + count( NULL ) provinceGastroscopyActual, + count( NULL ) provinceGastroscopyDetail, + count( NULL ) provinceEarlyCancer + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel1.step planFlupStep, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END isContinueFlup, + rel1.content_type planFlupContent +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%a%' ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel +GROUP BY + provinceName + ) UNION + ( + SELECT + provinceName, + count( NULL ) provinceGastroscopyPlan, + count( * ) provinceGastroscopyActual, + count( gastroscopyDetailWay <> '[]' OR NULL ) provinceGastroscopyDetail, + count( gastroscopyDetailDetail LIKE '%"b":1%' OR NULL ) + count( gastroscopyDetailDetail LIKE '%"g":1%' OR NULL ) provinceEarlyCancer + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel1.step gastroscopyStep, + CASE + rel1.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '' + END isGastroscopy, + rel1.inspect_way gastroscopyWay, +CASE + rel1.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END gastroscopyResult, + rel1.precise_way gastroscopyDetailWay, +CASE + + WHEN rel1.diagnose_result = 1 THEN + '异常' + WHEN rel1.diagnose_result = 2 THEN + '未见明显异常' ELSE '' + END gastroscopyDetailResult, + rel1.diagnose_info gastroscopyDetailDetail, + rel1.STATUS gastroscopyAuditStatus +FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + inspect_way, + precise_way, + capsule, + diagnose_result, + diagnose_info, + is_inspect, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel +GROUP BY + provinceName + ) + ) rel +GROUP BY + provinceName + + + + +-- 页面血检地区统计(整理过程) +SELECT + 省份, + 医联体编号, + 医联体名称, + sum( 计划血清检测总人次 + 实际血清检测总人次 ) 血清检测总人次, + sum( 计划血清检测总人次 ) 计划血清检测总人次, + sum( 实际血清检测总人次 ) 实际血清检测总人次, + sum( HP抗体(IGG)检测阳性总人次 ) HP抗体(IGG)检测阳性总人次, + sum( 早癌患者数 ) 早癌患者数 +FROM + ( + ( + SELECT + 省份, + 医联体编号, + 医联体名称, + count( * ) 计划血清检测总人次, + count( NULL ) 实际血清检测总人次, + count( NULL ) HP抗体(IGG)检测阳性总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 计划随访内容, + rel1.`status` 审核状态 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%b%' ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel +GROUP BY + 医联体名称 + ) UNION + ( + SELECT + 省份, + 医联体编号, + 医联体名称, + count( NULL ) 计划血清检测总人次, + count( * ) 实际血清检测总人次, + count( HP抗体(IGG)检测 = '阳性' OR NULL ) HP抗体(IGG)检测阳性总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel2.number 医联体编号, + rel2.`name` 医联体名称, + rel1.step 实验室检查调查进度, + rel1.g17 'G-17', + rel1.pg1 'PG-Ⅰ', + rel1.pg2 'PG-Ⅱ', + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, + rel1.`status` 审核状态 +FROM + tb_patient AS p + RIGHT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` +WHERE + rel1.`status` NOT IN ( 0, 5 ) + ) rel +GROUP BY + 医联体名称 + ) UNION + ( + SELECT + provinceName 省份, + hospNumber 医联体编号, + hospName 医联体名称, + count( NULL ) 计划血清检测总人次, + count( NULL ) 实际血清检测总人次, + count( NULL ) HP抗体(IGG)检测阳性总人次, + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) 早癌患者数 + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel2.number hospNumber, + rel2.`name` hospName, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel + GROUP BY + 医联体名称 + ) + ) rel +GROUP BY + 医联体名称 + + + +-- 页面血检地区统计(结果) +SELECT + 省份, + sum( 计划血清检测总人次 + 实际血清检测总人次 ) 血清检测总人次, + sum( 计划血清检测总人次 ) 计划血清检测总人次, + sum( 实际血清检测总人次 ) 实际血清检测总人次, + sum( HP抗体(IGG)检测阳性总人次 ) HP抗体(IGG)检测阳性总人次, + sum( 早癌患者数 ) 早癌患者数 +FROM + ( + ( + SELECT + 省份, + count( * ) 计划血清检测总人次, + count( NULL ) 实际血清检测总人次, + count( NULL ) HP抗体(IGG)检测阳性总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 计划随访内容, + rel1.`status` 审核状态 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%b%' ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel +GROUP BY + 省份 + ) UNION + ( + SELECT + 省份, + count( NULL ) 计划血清检测总人次, + count( * ) 实际血清检测总人次, + count( HP抗体(IGG)检测 = '阳性' OR NULL ) HP抗体(IGG)检测阳性总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel1.step 实验室检查调查进度, + rel1.g17 'G-17', + rel1.pg1 'PG-Ⅰ', + rel1.pg2 'PG-Ⅱ', + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, + rel1.`status` 审核状态 +FROM + tb_patient AS p + RIGHT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` +WHERE + rel1.`status` NOT IN ( 0, 5 ) + ) rel +GROUP BY + 省份 + ) UNION + ( + SELECT + provinceName 省份, + count( NULL ) 计划血清检测总人次, + count( NULL ) 实际血清检测总人次, + count( NULL ) HP抗体(IGG)检测阳性总人次, + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) 早癌患者数 + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel2.number hospNumber, + rel2.`name` hospName, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel + GROUP BY + 省份 + ) + ) rel +GROUP BY + 省份 + + + + +SELECT + 省份, + sum( 计划血清检测总人次 + 实际血清检测总人次 ) 血清检测总人次, + sum( 计划血清检测总人次 ) 计划血清检测总人次, + sum( 实际血清检测总人次 ) 实际血清检测总人次, + sum( HP抗体(IGG)检测阳性总人次 ) HP抗体(IGG)检测阳性总人次, + sum( 早癌患者数 ) 早癌患者数 +FROM + ( + ( + SELECT + 省份, + count( * ) 计划血清检测总人次, + count( NULL ) 实际血清检测总人次, + count( NULL ) HP抗体(IGG)检测阳性总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel1.step 计划随访调查进度, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 随访状态, + rel1.content_type 计划随访内容, + rel1.`status` 审核状态 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%b%' ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel +GROUP BY + 省份 + ) UNION + ( + SELECT + 省份, + count( NULL ) 计划血清检测总人次, + count( * ) 实际血清检测总人次, + count( HP抗体(IGG)检测 = '阳性' OR NULL ) HP抗体(IGG)检测阳性总人次, + count( NULL ) 早癌患者数 + FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel1.step 实验室检查调查进度, + rel1.g17 'G-17', + rel1.pg1 'PG-Ⅰ', + rel1.pg2 'PG-Ⅱ', + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, + rel1.`status` 审核状态 +FROM + tb_patient AS p + RIGHT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` +WHERE + rel1.`status` NOT IN ( 0, 5 ) + ) rel +GROUP BY + 省份 + ) UNION + ( + SELECT + provinceName 省份, + count( NULL ) 计划血清检测总人次, + count( NULL ) 实际血清检测总人次, + count( NULL ) HP抗体(IGG)检测阳性总人次, + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) 早癌患者数 + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel2.number hospNumber, + rel2.`name` hospName, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + inner JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel + GROUP BY + 省份 + ) + ) rel +GROUP BY + 省份 + + + + +SELECT + provinceName, + sum( provinceSerumTestPlan + provinceSerumTestActual ) provinceSerumTestTotal, + sum( provinceSerumTestPlan ) provinceSerumTestPlan, + sum( provinceSerumTestActual ) provinceSerumTestActual, + sum( provinceIggPositive ) provinceIggPositive, + sum( provinceEarlyCancer ) provinceEarlyCancer +FROM + ( + ( + SELECT + provinceName, + count( * ) provinceSerumTestPlan, + count( NULL ) provinceSerumTestActual, + count( NULL ) provinceIggPositive, + count( NULL ) provinceEarlyCancer + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel1.step planFlupStep, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END isContinueFlup, + rel1.content_type planFlupContent, + rel1.`status` planFlupAuditStatus +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%b%' ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel +GROUP BY + provinceName + ) UNION + ( + SELECT + provinceName, + count( NULL ) provinceSerumTestPlan, + count( * ) provinceSerumTestActual, + count( iggDetection = '阳性' OR NULL ) provinceIggPositive, + count( NULL ) provinceEarlyCancer + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel1.step labInspectStep, + rel1.g17 G17, + rel1.pg1 PG1, + rel1.pg2 PG2, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END iggDetection, + rel1.`status` labInspectStatus +FROM + tb_patient AS p + RIGHT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` +WHERE + rel1.`status` NOT IN ( 0, 5 ) + ) rel +GROUP BY + provinceName + ) UNION + ( + SELECT + provinceName, + count( NULL ) provinceSerumTestPlan, + count( NULL ) provinceSerumTestActual, + count( NULL ) provinceIggPositive, + count( gastroscopyDetailInfo LIKE '%"b":1%' OR NULL ) + count( gastroscopyDetailInfo LIKE '%"g":1%' OR NULL ) provinceEarlyCancer + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel1.step gastroscopyStep, + rel1.is_inspect isGastroscopy, + rel1.inspect_way gastroscopyWay, + rel1.capsule gastroscopyResult, + rel1.precise_way gastroscopyDetailWay, + rel1.diagnose_result gastroscopyDetailResult, + rel1.diagnose_info gastroscopyDetailInfo, + rel1.`status` gastroscopyAuditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel + GROUP BY + provinceName + ) + ) rel +GROUP BY + provinceName + + + + + + +-- 页面筛查数据统计结果(省份) +SELECT + 省份, + 医联体编号, + 医联体名称, + count( 筛查状态 = 1 OR NULL ) 筛查申请数, + count( * ) 筛查总数 +FROM + ( + SELECT + p.id 患者id, + p.`name` 患者姓名, + rel6.area 省份, + rel5.number 医联体编号, + rel5.`name` 医联体名称, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END 胃癌患病风险等级, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END 是否胃镜检查, + rel3.inspect_way 胃镜检查方式, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel3.precise_way 胃镜精查方式, +CASE + rel3.diagnose_result + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel3.diagnose_info 最终诊断详情, +CASE + rel4.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 是否继续随访, + rel4.content_type 继续随访内容, + rel1.`status` 筛查状态 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + `status` NOT IN ( 0, 5 ) + ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE `status` NOT IN ( 0, 5 ) ) rel4 ON rel4.patient_id = p.id + AND rel4.step = rel3.step + AND rel4.`status` = rel3.`status` + inner JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel6 ON rel6.`name` = rel5.`name` + ) rel +GROUP BY + 医联体名称 + + + +SELECT + 省份, + count( 筛查状态 = 1 OR NULL ) 筛查申请数, + count( * ) 筛查总数 +FROM + ( + SELECT + p.id 患者id, + p.`name` 患者姓名, + rel6.area 省份, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END 胃癌患病风险等级, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END 是否胃镜检查, + rel3.inspect_way 胃镜检查方式, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel3.precise_way 胃镜精查方式, +CASE + rel3.diagnose_result + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel3.diagnose_info 最终诊断详情, +CASE + rel4.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 是否继续随访, + rel4.content_type 继续随访内容, + rel1.`status` 筛查状态 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + `status` NOT IN ( 0, 5 ) + ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE `status` NOT IN ( 0, 5 ) ) rel4 ON rel4.patient_id = p.id + AND rel4.step = rel3.step + AND rel4.`status` = rel3.`status` + inner JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel6 ON rel6.`name` = rel5.`name` + ) rel +GROUP BY + 省份 + + + +SELECT + provinceName, + count( * ) provinceScreeningTotal, + count( screeningStatus = 1 OR NULL ) provinceApplyScreeningTotal +FROM + ( + SELECT + p.id patientId, + p.`name` patientName, + rel6.area provinceName, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END iggDetection, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END riskLevel, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END isGastroscopy, + rel3.inspect_way gastroscopyWay, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END gastroscopyResult, + rel3.precise_way gastroscopyDetailWay, +CASE + rel3.diagnose_result + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见明显异常' ELSE '' + END gastroscopyDetailResult, + rel3.diagnose_info gastroscopyDetailInfo, +CASE + rel4.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END isContinueFlup, + rel4.content_type planFlupContent, + rel1.`status` screeningStatus +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + `status` NOT IN ( 0, 5 ) + ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE `status` NOT IN ( 0, 5 ) ) rel4 ON rel4.patient_id = p.id + AND rel4.step = rel3.step + AND rel4.`status` = rel3.`status` + INNER JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel6 ON rel6.`name` = rel5.`name` + ) rel +GROUP BY + provinceName + + + + +-- 各省份胃镜检查诊断结果统计 +SELECT + provinceName 省份, + ( + count( gastroDetailInfo LIKE '%"a":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"c":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"d":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"e":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"f":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"h":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"i":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"j":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"k":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"l":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"m":1%' OR NULL ) + count( gastroDetailInfo LIKE '%"n":%' OR NULL ) + ) 合计, + count( gastroDetailInfo LIKE '%"a":1%' OR NULL ) AS 食管粘膜上皮内瘤变, + count( gastroDetailInfo LIKE '%"b":1%' OR NULL ) AS 早期食管癌, + count( gastroDetailInfo LIKE '%"c":1%' OR NULL ) AS 进展期食管癌, + count( gastroDetailInfo LIKE '%"d":1%' OR NULL ) AS Barret食管, + count( gastroDetailInfo LIKE '%"e":1%' OR NULL ) AS 反流性食管炎, + count( gastroDetailInfo LIKE '%"f":1%' OR NULL ) AS 胃粘膜上皮内瘤变, + count( gastroDetailInfo LIKE '%"g":1%' OR NULL ) AS 早期胃癌, + count( gastroDetailInfo LIKE '%"h":1%' OR NULL ) AS 进展期胃癌, + count( gastroDetailInfo LIKE '%"i":1%' OR NULL ) AS 萎缩性胃炎, + count( gastroDetailInfo LIKE '%"j":1%' OR NULL ) AS 胃溃疡, + count( gastroDetailInfo LIKE '%"k":1%' OR NULL ) AS 胃息肉, + count( gastroDetailInfo LIKE '%"l":1%' OR NULL ) AS 非萎缩性胃炎, + count( gastroDetailInfo LIKE '%"m":1%' OR NULL ) AS 十二指肠球部溃疡, + count( gastroDetailInfo LIKE '%"n":%' OR NULL ) AS 其它病变 +FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel1.step gastroStep, + rel1.is_inspect isGastro, + rel1.inspect_way gastroWay, + rel1.capsule gastroResult, + rel1.precise_way gastroDetailWay, + rel1.diagnose_result gastroDetailResult, + rel1.diagnose_info gastroDetailInfo, + rel1.`status` auditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel +GROUP BY + provinceName + + + + + + + +-- 页面胃癌患病风险等级评估统计 +SELECT + 省份, + (count( 胃癌患病风险等级 = '低风险' OR NULL ) + count( 胃癌患病风险等级 = '中风险' OR NULL ) + count( 胃癌患病风险等级 = '高风险' OR NULL )) 合计, + count( 胃癌患病风险等级 = '低风险' OR NULL ) AS 低风险, + count( 胃癌患病风险等级 = '中风险' OR NULL ) AS 中风险, + count( 胃癌患病风险等级 = '高风险' OR NULL ) AS 高风险 +FROM + ( + SELECT + p.id 患者id, + rel3.area 省份, + rel1.score 胃癌患病风险评分, + CASE + rel1.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END 胃癌患病风险等级 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, score, grade FROM tb_risk_assess ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel +GROUP BY + 省份 + + + + + +SELECT + count( riskLevel = '高风险' OR NULL ) highRisk, + count( riskLevel = '中风险' OR NULL ) mediumRisk, + count( riskLevel = '低风险' OR NULL ) lowRisk +FROM + ( + SELECT + p.id patientId, + rel1.score riskScore, + CASE + rel1.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END riskLevel +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel4 ON rel4.patient_id = p.id + LEFT JOIN ( SELECT patient_id, score, grade, step, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + AND rel1.step = rel4.step + AND rel1.`status` = rel4.`status` + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel + + + + +SELECT + 省份, + count( 筛查状态 = 1 OR NULL ) 筛查申请数, + count( * ) 筛查总数 +FROM + ( + SELECT + p.id 患者id, + p.`name` 患者姓名, + rel6.area 省份, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END 胃癌患病风险等级, + rel2.score 胃癌患病评分, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END 是否胃镜检查, + rel3.inspect_way 胃镜检查方式, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel3.precise_way 胃镜精查方式, +CASE + rel3.diagnose_result + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel3.diagnose_info 最终诊断详情, +CASE + rel4.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 是否继续随访, + rel4.content_type 继续随访内容, + rel1.`status` 筛查状态 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + `status` NOT IN ( 0, 5 ) + ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE `status` NOT IN ( 0, 5 ) ) rel4 ON rel4.patient_id = p.id + AND rel4.step = rel3.step + AND rel4.`status` = rel3.`status` + inner JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel6 ON rel6.`name` = rel5.`name` + ) rel +GROUP BY + 省份 + + + select * from (SELECT + p.id patientId, + p.`name` 患者姓名, + rel6.area 省份, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END HP抗体(IGG)检测, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END 胃癌患病风险等级, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END 是否胃镜检查, + rel3.inspect_way 胃镜检查方式, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END 胃镜检查结果, + rel3.precise_way 胃镜精查方式, +CASE + rel3.diagnose_result + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见明显异常' ELSE '' + END 最终诊断结果, + rel3.diagnose_info 最终诊断详情, +CASE + rel4.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END 是否继续随访, + rel4.content_type 继续随访内容, + rel1.`status` 筛查状态 +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + `status` NOT IN ( 0, 5 ) + ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE `status` NOT IN ( 0, 5 ) ) rel4 ON rel4.patient_id = p.id + AND rel4.step = rel3.step + AND rel4.`status` = rel3.`status` + inner JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel6 ON rel6.`name` = rel5.`name`) rel where rel.胃癌患病风险等级 <> '' + + + + + + + + + + + + + + + + + + + + + + + + + + + + +SELECT + provinceName, + sum( serumTestPlan + serumTestActual ) serumTestTotal, + sum( serumTestPlan ) serumTestPlan, + sum( serumTestActual ) serumTestActual, + sum( iggPositive ) iggPositive, + sum( earlyCancer ) earlyCancer +FROM + ( + ( + SELECT + provinceName, + count( * ) serumTestPlan, + count( NULL ) serumTestActual, + count( NULL ) iggPositive, + count( NULL ) earlyCancer + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel1.step planFlupStep, + CASE + rel1.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END isContinueFlup, + rel1.content_type planFlupContent, + rel1.`status` planFlupAuditStatus +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE continue_flup = 1 AND content_type LIKE '%b%' ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel +GROUP BY + provinceName + ) UNION + ( + SELECT + provinceName, + count( NULL ) serumTestPlan, + count( * ) serumTestActual, + count( iggDetection = '阳性' OR NULL ) iggPositive, + count( NULL ) earlyCancer + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel1.step labInspectStep, + rel1.g17 G17, + rel1.pg1 PG1, + rel1.pg2 PG2, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END iggDetection, + rel1.`status` labInspectStatus +FROM + tb_patient AS p + RIGHT JOIN ( SELECT patient_id, step, g17, pg1, pg2, igg, `status` FROM tb_lab_inspect ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` +WHERE + rel1.`status` NOT IN ( 0, 5 ) + ) rel +GROUP BY + provinceName + ) UNION + ( + SELECT + provinceName, + count( NULL ) serumTestPlan, + count( NULL ) serumTestActual, + count( NULL ) iggPositive, + count( gastroscopyDetailInfo LIKE '%"b":1%' OR NULL ) + count( gastroscopyDetailInfo LIKE '%"g":1%' OR NULL ) earlyCancer + FROM + ( + SELECT + p.id patientId, + rel3.area provinceName, + rel1.step gastroscopyStep, + rel1.is_inspect isGastroscopy, + rel1.inspect_way gastroscopyWay, + rel1.capsule gastroscopyResult, + rel1.precise_way gastroscopyDetailWay, + rel1.diagnose_result gastroscopyDetailResult, + rel1.diagnose_info gastroscopyDetailInfo, + rel1.`status` gastroscopyAuditStatus + FROM + tb_patient p + RIGHT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + is_inspect = 1 + AND `status` NOT IN ( 0, 5 ) + AND diagnose_result = 1 + ) rel1 ON rel1.patient_id = p.id + INNER JOIN ( SELECT `name`, number FROM tb_hosp ) rel2 ON rel2.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel3 ON rel3.`name` = rel2.`name` + ) rel + GROUP BY + provinceName + ) + ) rel +GROUP BY + provinceName + + + + + + + +SELECT + p.id patientId, + p.`name` patientName, + rel6.area provinceName, +CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END iggDetection, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END riskLevel, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END isGastroscopy, + rel3.inspect_way gastroscopyWay, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END gastroscopyResult, + rel3.precise_way gastroscopyDetailWay, +CASE + rel3.diagnose_result + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见明显异常' ELSE '' + END gastroscopyDetailResult, + rel3.diagnose_info gastroscopyDetailInfo, + rel1.`status` screeningStatus +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + INNER JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel6 ON rel6.`name` = rel5.`name` order by patientId desc where rel2.grade = 2 or rel2.grade = 3 + + + +SELECT + count( * ) total, + count( gastroscopyResult = '异常' OR NULL ) actual +FROM + ( + SELECT + p.id patientId, + p.`name` patientName, + rel6.area provinceName, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END iggDetection, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END riskLevel, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END isGastroscopy, + rel3.inspect_way gastroscopyWay, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END gastroscopyResult, + rel3.precise_way gastroscopyDetailWay, +CASE + rel3.diagnose_result + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见明显异常' ELSE '' + END gastroscopyDetailResult, + rel3.diagnose_info gastroscopyDetailInfo, + rel1.`status` screeningStatus +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess ) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( SELECT patient_id, step, is_inspect, inspect_way, capsule, precise_way, diagnose_result, diagnose_info, `status` FROM tb_gastro_inspect ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + INNER JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel6 ON rel6.`name` = rel5.`name` +WHERE + rel2.grade = 2 + OR rel2.grade = 3 + ) rel + + + +SELECT + count( is_auddit = 1 OR NULL ) certifiedHosp, + count( is_auddit = 0 OR NULL ) applyHosp +FROM + tmp_tb_hosp_apply + + + + + + + +SELECT + provinceName, + count( * ) provinceScreeningTotal, + count( screeningStatus = 1 OR NULL ) provinceApplyScreeningTotal, + count( hospaudditStatus = 0 or null ) hospApply +FROM + ( + SELECT + p.id patientId, + p.`name` patientName, + rel6.area provinceName, + CASE + rel1.igg + WHEN 1 THEN + '阳性' + WHEN 0 THEN + '阴性' ELSE '' + END iggDetection, +CASE + rel2.grade + WHEN 1 THEN + '低风险' + WHEN 2 THEN + '中风险' + WHEN 3 THEN + '高风险' ELSE '' + END riskLevel, +CASE + rel3.is_inspect + WHEN 1 THEN + '是' + WHEN 0 THEN + '否' ELSE '否' + END isGastroscopy, + rel3.inspect_way gastroscopyWay, +CASE + rel3.capsule + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见异常' ELSE '' + END gastroscopyResult, + rel3.precise_way gastroscopyDetailWay, +CASE + rel3.diagnose_result + WHEN 1 THEN + '异常' + WHEN 2 THEN + '未见明显异常' ELSE '' + END gastroscopyDetailResult, + rel3.diagnose_info gastroscopyDetailInfo, +CASE + rel4.continue_flup + WHEN 1 THEN + '继续随访' + WHEN 0 THEN + '停止随访' ELSE '' + END isContinueFlup, + rel4.content_type planFlupContent, + rel1.`status` screeningStatus, + rel7.is_auddit hospAudditStatus +FROM + tb_patient p + RIGHT JOIN ( SELECT patient_id, igg, step, `status` FROM tb_lab_inspect WHERE `status` NOT IN ( 0, 5 ) ) rel1 ON rel1.patient_id = p.id + LEFT JOIN ( SELECT patient_id, step, score, grade, `status` FROM tb_risk_assess WHERE `status` NOT IN ( 0, 5 ) ) rel2 ON rel2.patient_id = p.id + AND rel2.step = rel1.step + AND rel2.`status` = rel1.`status` + LEFT JOIN ( + SELECT + patient_id, + step, + is_inspect, + inspect_way, + capsule, + precise_way, + diagnose_result, + diagnose_info, + `status` + FROM + tb_gastro_inspect + WHERE + `status` NOT IN ( 0, 5 ) + ) rel3 ON rel3.patient_id = p.id + AND rel3.step = rel2.step + AND rel3.`status` = rel2.`status` + LEFT JOIN ( SELECT patient_id, step, continue_flup, content_type, `status` FROM tb_flup_plan WHERE `status` NOT IN ( 0, 5 ) ) rel4 ON rel4.patient_id = p.id + AND rel4.step = rel3.step + AND rel4.`status` = rel3.`status` + INNER JOIN ( SELECT number, `name` FROM tb_hosp ) rel5 ON rel5.number = p.hosp_number + LEFT JOIN ( SELECT area, `name` FROM tmp_tb_hosp_area ) rel6 ON rel6.`name` = rel5.`name` + left join ( select hosp_number, is_auddit from tmp_tb_hosp_apply ) rel7 on rel7.hosp_number = rel5.number + ) rel +GROUP BY + provinceName \ No newline at end of file diff --git "a/\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/\345\271\263\345\217\260\347\255\233\346\237\245\347\273\274\345\220\210\347\273\237\350\256\241\347\273\223\346\236\234.xlsx" "b/\346\227\251\347\255\233\347\273\274\345\220\210\347\273\237\350\256\241\351\241\265\351\235\242\345\261\225\347\244\272/\345\271\263\345\217\260\347\255\233\346\237\245\347\273\274\345\220\210\347\273\237\350\256\241\347\273\223\346\236\234.xlsx" new file mode 100644 index 0000000000000000000000000000000000000000..5bc8cc24204ac5caf31f3ae9e9008ca34442893f GIT binary patch literal 16203 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 F`+rfw*O&kR literal 0 HcmV?d00001 -- 2.22.0