/*==============================================================================
FICHA: Indicador N°21 - DL 1153 2023
ELABORACION: OGTI/ OGEI - MINSA - JL

Link descarga de datos:
http://datos.susalud.gob.pe/dataset/consulta-h-produccion-asistencial-en-intervenciones-quirurgicas-de-las-ipress
==============================================================================*/
use BD_HISINDICADORES
go

--***************************************************
--				BASES DE DATOS.
--***************************************************
--Base de Cirugias 
select convert(int,_co_ipress_) renaes
	   , convert(int,_anho_) año
	   , convert(int,_mes_) mes
	   , isnull(try_convert(int,_total_ciruj_may_),0) total_cirugias_mayores
	   , isnull(try_convert(int,_total_ciruj_men_),0) total_cirugias_menores
	   , isnull(try_convert(int,_ciruj_suspend_),0) total_cirugias_suspendidas
into #Base_SetiIpress_Cirugias
from BD_HISINDICADORES.dbo.TBL_ConsultaH_Intervenciones_Quirurgicas_202211
where try_convert(int,_de_programc_)=1										-- Cirugias Programadas.


--***************************************************
--					SINTAXIS
--***************************************************
create table #tabla_reporte
(
año int,
mes int,
renaes int,
total_cirugias_programadas int,
total_cirugias_suspendidas int
)

declare @mes_inicio int,
		@mes_eval int,
		@año int 

set @mes_inicio=1 --<=========== Mes de inicio		
set @mes_eval=11 --<=========== Mes de evaluación
set @año=2022 --<============= Año de evaluación 

while @mes_inicio<=@mes_eval
begin 

--%%%%%%%%%%%%%%%%
--  DENOMINADOR
--%%%%%%%%%%%%%%%%
--1. - El número de intervenciones quirúrgicas programadas en el mismo período. Una intervención quirúrgica se define como la intervención quirúrgica 
--     planificada con antelación y que no necesita practicarse inmediatamente como la cirugía de emergencia.
select renaes
, sum(total_cirugias_menores+total_cirugias_mayores) total_cirugias_programadas
into #Base_SetiIpress_den
from #Base_SetiIpress_Cirugias
where año=@año
and mes=@mes_inicio
and (total_cirugias_menores+total_cirugias_mayores)>0
group by renaes

--%%%%%%%%%%%%%%%%
-- NUMERADOR
--%%%%%%%%%%%%%%%%
--1.El número total de intervenciones quirúrgicas programadas que fueron suspendidas por diferentes motivos en un periodo de tiempo. 
select renaes
, sum(total_cirugias_suspendidas) total_cirugias_suspendidas
into #Base_SetiIpress_num
from #Base_SetiIpress_Cirugias
where año=@año
and mes=@mes_inicio
and total_cirugias_suspendidas>0
group by renaes

--%%%%%%%%%%%%%%%%
--	INDICADOR
--%%%%%%%%%%%%%%%%
insert into #tabla_reporte
select @año año, @mes_inicio mes
, a.renaes
, a.total_cirugias_programadas
, isnull(b.total_cirugias_suspendidas,0) total_cirugias_suspendidas
from #Base_SetiIpress_den a
left join #Base_SetiIpress_num b on a.renaes=b.renaes


drop table #Base_SetiIpress_den
drop table #Base_SetiIpress_num

set @mes_inicio=@mes_inicio+1
end 

--===================
-- REPORTE
--===================
drop table BD_HISINDICADORES.dbo.DL1153_2023_CG21_CirugiasSupendidas

select 
B.diris Diris, CASE 
	WHEN B.DESC_DPTO='LIMA' AND B.DESC_PROV='LIMA' THEN 'LIMA METROPOLITANA'
	WHEN B.DESC_DPTO='LIMA' AND B.DESC_PROV<>'LIMA' THEN 'LIMA PROVINCIAS'
	ELSE B.DESC_DPTO END Departamento
, B.desc_prov Provincia
, B.desc_dist Distrito
, B.desc_red Red
, b.desc_mred MicroRed
, b.cat_estab
, b.desc_estab eess_nombre
, a.*
into BD_HISINDICADORES.dbo.DL1153_2023_CG21_CirugiasSupendidas
from #tabla_reporte a
inner join BD_BACKUP_OGEI.dbo.Renaes_20221220 b on convert(int,a.renaes)=convert(int,b.COD_ESTAB)
where b.CAT_ESTAB in ('II-1','II-2','II-E','III-1','III-2','III-E') and converT(int,b.AMBITO)=1

select * from BD_HISINDICADORES.dbo.DL1153_2023_CG21_CirugiasSupendidas

drop table #Base_SetiIpress_Cirugias
drop table #tabla_reporte
-- =D