-- ----------------------------------------平台筛查综合统计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