/*==============================================================================
FICHA: Indicador N°20 - DL 1153 2023
ELABORACION: OGTI/ OGEI - MINSA - JL
==============================================================================*/
use BD_HISINDICADORES
go

--***************************************************
--				BASES DE DATOS.
--***************************************************
--Base de renaes (Hospital de II nivel con más de 50 camas, hospital general de III nivel, hospital e instituto especializado)
select *
into #renaes
from BD_BACKUP_OGEI.dbo.Renaes_20230221
where converT(int,AMBITO)=1 and CAT_ESTAB in ('II-1','II-2','II-E','III-1','III-2','III-E') 


--Base de HIS MINSA
select converT(int,renipress) renaes
	   ,convert(date,fecate) fecha_aten
	   ,convert(date,fecegr) fecha_egreso
	   ,emergencia=1
into #seem
from BD_TRAMA_HISMINSA.DBO.seem_2022 a
inner join #renaes b on convert(int,a.renipress)=convert(int,b.cod_Estab)


--Base de REFCON
select convert(int,cod_unico) renaes
		, id_referencia
		, convert(date,fecha_envio) fecha_envio
		, ups_destino
into #refcon		
from BD_BACKUP_OGEI.dbo.MEF_TramaREFCON_202301_20230221 a
inner join #renaes b on convert(int,a.cod_unico)=convert(int,b.cod_Estab)		-- Establecimiento de Origen
where tipo_traslado='REFERENCIA' and ups_destino like '%emergencia%'			-- Referencias Realizado por EESS y son enviados por emergencia.
and convert(date,fecha_envio) is not null


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

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

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

while @mes_inicio<=@mes_eval
begin 

--%%%%%%%%%%%%%%%%
--  DENOMINADOR
--%%%%%%%%%%%%%%%%
--1. Es el registro de atenciones médicas en consulta externa fuente HIS MINSA
select renaes
, sum(emergencia) den
into #ind_den
from #seem
where year(fecha_aten)=@año
 and month(fecha_aten)=@mes_inicio
group by renaes 


--%%%%%%%%%%%%%%%%
-- NUMERADOR
--%%%%%%%%%%%%%%%%
--1.Es el número de las referencias para emergencia
	select renaes
		  , count(distinct id_referencia) num_emergencia
	into #num_emergencia
	from #refcon
	where ups_destino like '%emergencia%'
	  and year(fecha_envio)=@año
	  and month(fecha_envio)=@mes_inicio
   group by renaes


--%%%%%%%%%%%%%%%%
--	INDICADOR
--%%%%%%%%%%%%%%%%
insert into #tabla_reporte
select a.renaes, @año año, @mes_inicio mes
, a.den
, isnull(b.num_emergencia,0) num
from #ind_den a
left join #num_emergencia b on a.renaes=b.renaes


drop table #num_emergencia
drop table #ind_den

set @mes_inicio=@mes_inicio+1
end 

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

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
, case when b.DIRIS like '%diris%' then b.diris else B.DESC_RED end Red
, b.desc_mred MicroRed
, b.cat_estab
, b.desc_estab eess_nombre
, a.*
into BD_HISINDICADORES.dbo.DL1153_2023_CG20_Resolutividad
from #tabla_reporte a
inner join #renaes b on convert(int,a.renaes)=convert(int,b.COD_ESTAB)

select * from  BD_HISINDICADORES.dbo.DL1153_2023_CG20_Resolutividad

drop table #refcon
drop table #renaes
drop table #tabla_reporte
drop table #seem
-------------------------------------- =D