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