Advertisement
jotaced

spu_1_14_inf_hosp_desde_urg

Aug 8th, 2013
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.72 KB | None | 0 0
  1. CREATE PROCEDURE [dbo].[spu_1_14_inf_hosp_desde_urg]
  2. @fechaini datetime, @fechafin datetime 
  3. AS 
  4. BEGIN
  5.    
  6.     SET NOCOUNT ON;
  7.    
  8.     SELECT * FROM(  SELECT  
  9.                 INGADM.PAC_NUMFICHA,
  10.                 INGADM.ING_CORREL,
  11.                 INGADM.ING_FECING,
  12.                 INGADM.ING_HORAING,    
  13.                 PACIENTEADM.PAC_RUT,
  14.                 isnull(PACIENTEADM.PAC_NOMBRES,'')+' '+isnull(PACIENTEADM.PAC_PATERNO,'')+' ' +isnull(PACIENTEADM.PAC_MATERNO,'') AS NOMBRE,
  15.                 INGADM.SER_CODIGO,
  16.                 SERVICIO.SER_NOMBRE,
  17.                 INGADM.PTD_RUT_TRAT,
  18.                 PRESTADOR.PTD_NOMBRE,
  19.                 INGADM.ISA_CODIGO,
  20.                 ISAPRE.ISA_NOMBRE,
  21.                 ISNULL(DIAG_ALTA.CIE_CODIGO,'') AS CIE_CODIGO,
  22.                 ISNULL(CIE10.CIE_DESCRIP,'') AS CIE_DESCRIP,
  23.                 DIAG_ALTA.DIA_PRINCIPAL,
  24.                 ROW_NUMBER() OVER(PARTITION BY INGADM.PAC_NUMFICHA ORDER BY INGADM.PAC_NUMFICHA DESC, INGADM.ING_CORREL DESC) rn
  25.         FROM    INGRESO AS INGADM                           (nolock)
  26.                 LEFT JOIN FICHA AS FICHAADM (nolock) ON INGADM.PAC_NUMFICHA = FICHAADM.PAC_NUMFICHA
  27.                 LEFT JOIN PACIENTE AS PACIENTEADM (nolock) ON PACIENTEADM.PAC_CORREL = FICHAADM.PAC_CORREL
  28.                 LEFT JOIN DIAG_ALTA (nolock) ON DIAG_ALTA.PAC_NUMFICHA = INGADM.PAC_NUMFICHA AND DIAG_ALTA.ING_CORREL = INGADM.ING_CORREL
  29.                 LEFT JOIN CIE10 (nolock) ON CIE10.CIE_CODIGO = DIAG_ALTA.CIE_CODIGO
  30.                 LEFT JOIN
  31.                 (   SELECT *
  32.                     FROM SERVICIO (nolock)
  33.                     WHERE CHARINDEX('*'+SER_CODIGO+'*',(SELECT PAR_STR FROM PARAMETROS WHERE PAR_CODIGO = 'URG' ),1)= 0
  34.                 )SERVICIO   ON INGADM.SER_CODIGO = SERVICIO.SER_CODIGO
  35.                 LEFT JOIN PRESTADOR                         (nolock) ON INGADM.PTD_RUT_TRAT = PRESTADOR.PTD_RUT
  36.                 LEFT JOIN ISAPRE                            (nolock) ON INGADM.ISA_CODIGO = ISAPRE.ISA_CODIGO
  37.         WHERE   INGADM.ING_TIPOATEN ='H'  
  38.                 AND ((INGADM.ING_FECING >= @fechaini  OR @fechaini IS NULL  ) AND (INGADM.ING_FECING <= @fechafin OR @fechafin IS NULL ))
  39.                 AND ( EXISTS (  SELECT  *  
  40.                                 FROM INGRESO AS INGURG                      (nolock)
  41.                                 LEFT JOIN FICHA AS FICHAURG             (nolock) ON INGURG.PAC_NUMFICHA = FICHAURG.PAC_NUMFICHA
  42.                                 LEFT JOIN PACIENTE AS PACIENTEURG   (nolock) ON PACIENTEURG.PAC_CORREL = FICHAURG.PAC_CORREL
  43.                                 WHERE INGURG.SER_CODIGO IN ( SELECT SER_CODIGO FROM SERVICIO (nolock) WHERE CHARINDEX('*'+SER_CODIGO+'*',(SELECT PAR_STR FROM PARAMETROS WHERE PAR_CODIGO = 'URG' ),1)<> 0)
  44.                 AND PACIENTEURG.PAC_RUT =PACIENTEADM.PAC_RUT
  45.                 AND  ( DATEDIFF(HOUR, IsNull(INGURG.ING_HORAALTA,0), INGADM.ING_HORAING)<=2
  46.                 AND    DATEDIFF(HOUR, IsNull(INGURG.ING_HORAALTA,0), INGADM.ING_HORAING) >= 0 ))
  47.                 OR  INGADM.PAC_NUMFICHA_URG IS NOT NULL)
  48.         ) x
  49.     WHERE DIA_PRINCIPAL = 'S'  OR (rn =1 AND (DIA_PRINCIPAL='N' OR DIA_PRINCIPAL IS NULL))
  50.     ORDER BY pac_numficha, ing_correl, ing_fecing, ing_horaing, pac_rut, nombre, ser_codigo, ser_nombre, ptd_rut_trat,ptd_nombre,isa_codigo,isa_nombre
  51.  
  52. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement