661. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 10/26/2017 10:44:44 PM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

661.1 Files compared

# Location File Last Modified
1 OSCIF_BMS_v2_iter 2_September_2017.zip\BMS_Cand\Source\Sources\Database\BMSv2Updates\2.1.6.3\Reports DROP_CREATE_BMS_DW_usp_Rpt_FutureDischarge.sql Wed Oct 18 19:06:44 2017 UTC
2 OSCIF_BMS_v2_iter 2_September_2017.zip\BMS_Cand\Source\Sources\Database\BMSv2Updates\2.1.6.3\Reports DROP_CREATE_BMS_DW_usp_Rpt_FutureDischarge.sql Thu Oct 26 19:34:32 2017 UTC

661.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 424
Changed 1 2
Inserted 0 0
Removed 0 0

661.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

661.4 Active regular expressions

No regular expressions were active.

661.5 Comparison detail

  1   USE [BMS_D W]
  2   GO
  3  
  4   /****** Ob ject:  Sto redProcedu re [dbo].[ usp_Rpt_Fu tureDischa rge]    Sc ript Date:  6/14/2016  9:15:23 A M ******/
  5   DROP PROCE DURE [dbo] .[usp_Rpt_ FutureDisc harge]
  6   GO
  7  
  8   /****** Ob ject:  Sto redProcedu re [dbo].[ usp_Rpt_Fu tureDischa rge]    Sc ript Date:  6/14/2016  9:15:23 A M ******/
  9   SET ANSI_N ULLS ON
  10   GO
  11  
  12   SET QUOTED _IDENTIFIE R ON
  13   GO
  14  
  15  
  16   --exec usp _Rpt_Futur eDischarge  @WARDGROU P_ID=8267, @START_DAT E='2004-05 -05 00:00: 01',@END_D ATE='2016- 05-05 23:5 9:59',@USE R_NAME=N' DNS ',@FACILIT Y_EXTENSIO N=N'69378E 0F-B210-49 3B-B2A1-21 30C9F7F394 ',@PATIENT _IDENTIFIE R=NULL,@TI ME_ZONE_MI NUTES_OFFS ET=0
  17   CREATE PRO CEDURE [db o].[usp_Rp t_FutureDi scharge] 
  18           -- @WARD_ID I NT = NULL,
  19           @W ARDGROUP_I D INT = NU LL,
  20           @S TART_DATE  DATETIME =  NULL,
  21           @E ND_DATE DA TETIME = N ULL,
  22           @U SER_NAME N VARCHAR(50 0)= NULL,
  23           @F ACILITY_EX TENSION NV ARCHAR(250 ),
  24           @P ATIENT_IDE NTIFIER NV ARCHAR(250 ) = NULL,
  25           @T IME_ZONE_M INUTES_OFF SET INT
  26           
  27   AS
  28   BEGIN
  29           
  30           IF  @START_DA TE > @END_ DATE
  31                    RAIS ERROR ('Th e start da te is grea ter than t he end dat e. Please  correct.',  18, 13)
  32           EL SE
  33           BE GIN
  34  
  35           /*                SELECT  NULL AS W ARD_NAME,
  36                                                  NULL AS  BED_NAME,
  37                                                  NULL AS  PATIENT_N AME,
  38                                                  NULL AS  PT_SHORT,
  39                                                  NULL AS  APPOINTME NT_DATE,
  40                                                  NULL AS  CURRENT_S TATUS,
  41                                                  NULL AS  SIGNED_DA TE,
  42                                                  NULL AS  DISCHARGE D_DATE,
  43                                                  NULL AS  SIGNED_DI FF,
  44                                                  NULL AS  MOVEMENT_ DATE,
  45                                                  NULL AS  APPT_DIFF ,
  46                                                  NULL AS  CLICNIC_N AME
  47           */
  48  
  49           DE CLARE @SQL _SELECT NV ARCHAR(400 0), @SQL_W HERE NVARC HAR(4000),  @SQL NVAR CHAR(4000)
  50           
  51           se t @START_D ATE = DATE ADD (minut e , -@TIME _ZONE_MINU TES_OFFSET  , @START_ DATE );
  52           se t @END_DAT E = DATEAD D (minute  , -@TIME_Z ONE_MINUTE S_OFFSET ,  @END_DATE  );
  53   -- create  permission  table
  54           CR EATE TABLE  #PERMISSI ON
  55           (
  56            D IM_ORGANIZ ATION_ID I NT,
  57            D IM_WARD_ID  INT
  58           )
  59       --inse rt permiss ion for th e user
  60       INSERT  INTO #PER MISSION 
  61                    SELE CT * FROM  dbo.ufn_Ge tPermissio nByUserNam e(@USER_NA ME)
  62                             CREATE  NONCLUSTE RED INDEX  [DIM_ORGAN IZATION_ID ] ON #PERM ISSION ([D IM_ORGANIZ ATION_ID]  ASC)
  63                                      WITH (
  64                                                PAD_INDEX   = OFF,
  65                                                STATISTIC S_NORECOMP UTE  = OFF ,
  66                                                SORT_IN_T EMPDB = OF F,
  67                                                IGNORE_DU P_KEY = OF F,
  68                                                DROP_EXIS TING = OFF ,
  69                                                ONLINE =  OFF,
  70                                                ALLOW_ROW _LOCKS  =  ON,
  71                                                ALLOW_PAG E_LOCKS  =  ON)
  72                             CREATE  NONCLUSTE RED INDEX  DIM_WARD_I D ON #PERM ISSION (DI M_WARD_ID  ASC)
  73                                      WITH (
  74                                                PAD_INDEX   = OFF,
  75                                                STATISTIC S_NORECOMP UTE  = OFF ,
  76                                                SORT_IN_T EMPDB = OF F,
  77                                                IGNORE_DU P_KEY = OF F,
  78                                                DROP_EXIS TING = OFF ,
  79                                                ONLINE =  OFF,
  80                                                ALLOW_ROW _LOCKS  =  ON,
  81                                                ALLOW_PAG E_LOCKS  =  ON) ;
  82           
  83           
  84           
  85           DE CLARE @FAC ILITY_ID I NT
  86           -- get facili ty id
  87           SE T @FACILIT Y_ID = dbo .ufn_GetFa cilityIdBy Identifier (@FACILITY _EXTENSION );
  88           
  89           -- check if t he user ha s permissi on for the  facility               
  90           IF  EXISTS(SE LECT 1 
  91                               FROM  #PERMISSI ON
  92                               WHER E DIM_ORGA NIZATION_I D = @FACIL ITY_ID)
  93                    BEGI N
  94                             
  95                             CREATE  TABLE #WA RD
  96                             (
  97                                      ID INT
  98                             )
  99                             CREATE  NONCLUSTE RED INDEX  WARD_ID ON  #WARD(ID  ASC)
  100                             
  101                             IF @EN D_DATE IS  NULL
  102                                      SELECT @ START_DATE  = CAST(CO NVERT(VARC HAR(10),GE TUTCDATE() ,101) + '  00:01' as  datetime)
  103           
  104                             IF @WA RDGROUP_ID  = -1 OR @ WARDGROUP_ ID IS NULL
  105                                      INSERT I NTO #WARD( ID)
  106                                      SELECT W ARD.ID FRO M dbo.ufn_ GetWardsBy FacilityId (@FACILITY _ID) AS WA RD
  107                                      INNER JO IN dbo.DIM _WARD AS A CTIVE_WARD  ON ACTIVE _WARD.ID =  WARD.ID
  108                                      WHERE AC TIVE_WARD. STATUS = ' active'
  109                             ELSE
  110                                               INSERT INT O #WARD(ID )
  111                                               SELECT DIM _WARD_ID F ROM dbo.GR OUP_WARD_O RGANIZATIO N GWO
  112                                               WHERE DIM_ ORGANIZATI ON_ID = @W ARDGROUP_I D
  113                             
  114                             CREATE  TABLE #PA TIENT(DIM_ PATIENT_ID  INT, DIM_ BED_ID INT , VISTA_SI TE_DIM_ORG ANIZATION_ ID INT)
  115                             INSERT  INTO #PAT IENT(DIM_P ATIENT_ID,  VISTA_SIT E_DIM_ORGA NIZATION_I D, DIM_BED _ID)
  116                             SELECT  EVN.DIM_P ATIENT_ID,  EVN.VISTA _SITE_DIM_ ORGANIZATI ON_ID, EVN .DIM_BED_I D
  117                             FROM F ACT_ADMISS ION_EVN AS  EVN
  118                             INNER  JOIN (
  119                             SELECT  MAX(CAST( EVN.IEN AS  BIGINT))  AS IEN, EV N.DIM_PATI ENT_ID, EV N.VISTA_SI TE_DIM_ORG ANIZATION_ ID
  120                             FROM F ACT_ADMISS ION_EVN AS  EVN
  121                             INNER  JOIN #WARD  AS WARD O N WARD.ID  = EVN.DIM_ WARD_ID
  122                             WHERE  EVN.HAS_DI SCHARGE =  0 AND EVN. DIM_BED_ID  IS NOT NU LL
  123                             GROUP  BY EVN.DIM _PATIENT_I D, EVN.VIS TA_SITE_DI M_ORGANIZA TION_ID) M AX_PATIENT
  124                             ON MAX _PATIENT.V ISTA_SITE_ DIM_ORGANI ZATION_ID  = EVN.VIST A_SITE_DIM _ORGANIZAT ION_ID
  125                             AND MA X_PATIENT. DIM_PATIEN T_ID = EVN .DIM_PATIE NT_ID
  126                             AND MA X_PATIENT. IEN = CAST (EVN.IEN A S BIGINT)
  127  
  128                             SET @S QL_SELECT  = 'SELECT  WARD.NAME  AS WARD_NA ME,
  129                                         BED.N AME AS BED _NAME,
  130                                         PATIE NT.LAST_NA ME + '' ''  + RIGHT(P ATIENT.SSN ,4) as PAT IENT_NAME,
  131                                         LEFT( PATIENT.LA ST_NAME,1)  + RIGHT(P ATIENT.SSN ,4) as PT_ SHORT,
  132                                               CONVERT(VA RCHAR, DAT EADD (minu te, ' + CA ST(@TIME_Z ONE_MINUTE S_OFFSET A S varchar)  + ', DISC HARGE.APPO INTMENT_DA TE ), 101)  + '' '' +  
  133                                               CONVERT(VA RCHAR(5),  DATEADD (m inute, ' +  CAST(@TIM E_ZONE_MIN UTES_OFFSE T AS varch ar) + ', D ISCHARGE.A PPOINTMENT _DATE ), 1 08) AS APP OINTMENT_D ATE,
  134                                         DISCH ARGE.STATU S AS CURRE NT_STATUS,
  135                                         CONVE RT(VARCHAR , DATEADD  (minute, '  + CAST(@T IME_ZONE_M INUTES_OFF SET AS var char) + ',  DISCH_REQ .SIGNED_DA TE ), 101)  + '' '' +  
  136                                                       CO NVERT(VARC HAR(5), DA TEADD (min ute, ' + C AST(@TIME_ ZONE_MINUT ES_OFFSET  AS varchar ) + ', DIS CH_REQ.SIG NED_DATE ) , 108) AS  SIGNED_DAT E,
  137                                         CONVE RT(VARCHAR , DATEADD  (minute, '  + CAST(@T IME_ZONE_M INUTES_OFF SET AS var char) + ',  DISCHARGE _EVN.DISCH ARGED_DATE  ), 101) +  '' '' + 
  138                                                       CO NVERT(VARC HAR(5), DA TEADD (min ute, ' + C AST(@TIME_ ZONE_MINUT ES_OFFSET  AS varchar ) + ', DIS CHARGE_EVN .DISCHARGE D_DATE ),  108) AS DI SCHARGED_D ATE,
  139                                         CONVE RT(VARCHAR , DATEADD  (minute, '  + CAST(@T IME_ZONE_M INUTES_OFF SET AS var char) + ',  DISCHARGE _EVN.DISCH ARGED_DATE  ), 101) +  '' '' + 
  140                                         CONVE RT(VARCHAR (5), DATEA DD (minute , ' + CAST (@TIME_ZON E_MINUTES_ OFFSET AS  varchar) +  ', MOVEME NT_EVN.MOV EMENT_DATE  ), 108) A S MOVEMENT _DATE,
  141                                        dbo.uf n_GetDateD iff(MOVEME NT_EVN.MOV EMENT_DATE  ,DISCHARG E.APPOINTM ENT_DATE )  AS APPT_D IFF,
  142                                        dbo.uf n_GetDateD iff(DISCH_ REQ.SIGNED _DATE, MOV EMENT_EVN. MOVEMENT_D ATE) AS SI GNED_DIFF,
  143                                         HOSPI TAL_LOCATI ON.NAME AS  CLICNIC_N AME
  144                             FROM d bo.FACT_DI SCHARGE_IN T AS DISCH ARGE
  145                                      INNER JO IN dbo.DIM _HOSPITAL_ LOCATION_A PPOINTMENT  AS HOSPIT AL_APPOINT MENT ON DI SCHARGE.HO SPITAL_LOC ATION_DIM_ ORGANIZATI ON_ID = HO SPITAL_APP OINTMENT.H OSPITAL_LO CATION_DIM _ORGANIZAT ION_ID AND  
  146                                               HOSPITAL_A PPOINTMENT .FACILITY_ DIM_ORGANI ZATION_ID  = ''' + ca st(@FACILI TY_ID as v archar) +  ''' 
  147                                      INNER JO IN #WARD A S W ON W.I D = DISCHA RGE.DIM_WA RD_ID
  148                                      INNER JO IN dbo.DIM _WARD AS W ARD ON WAR D.ID = W.I D
  149                                      INNER JO IN #PATIEN T AS PAT O N PAT.DIM_ PATIENT_ID  = DISCHAR GE.DIM_PAT IENT_ID
  150                                      INNER JO IN dbo.DIM _BED AS BE D ON BED.I D = PAT.DI M_BED_ID
  151                                      INNER JO IN dbo.DIM _PATIENT A S PATIENT  ON PATIENT .ID = PAT. DIM_PATIEN T_ID 
  152                                      LEFT JOI N dbo.DIM_ ORGANIZATI ON AS HOSP ITAL_LOCAT ION ON HOS PITAL_LOCA TION.ID =  HOSPITAL_A PPOINTMENT .HOSPITAL_ LOCATION_D IM_ORGANIZ ATION_ID
  153                                 LE FT JOIN DB O.FACT_DIS CHARGE_REQ  AS DISCH_ REQ ON DIS CH_REQ.ID 
  154                                                                  (S ELECT MAX( ID) AS ID
  155                                                                   F ROM DBO.FA CT_DISCHAR GE_REQ AS  DISCH_REQ 
  156                                                                   W HERE DISCH _REQ.DIM_P ATIENT_ID  = DISCHARG E.DIM_PATI ENT_ID
  157                                                                   A ND DISCH_R EQ.VISTA_S ITE_DIM_OR GANIZATION _ID = DISC HARGE.VIST A_SITE_DIM _ORGANIZAT ION_ID
  158                                                                   A ND ORDERED _DATE BETW EEN '''+ C ONVERT(VAR CHAR(25),  @START_DAT E, 126) + 
  159                                                                   ' '' AND '''  + CONVERT (VARCHAR(3 0), DATEAD D(ms, -3,   @END_DATE  + 1)) + ' '' )
  160                                      LEFT JOI N DBO.FACT _DISCHARGE _EVN AS DI SCHARGE_EV N ON DISCH ARGE_EVN.I D =
  161                                                                  (S ELECT MAX( ID) AS ID
  162                                                                  FR OM DBO.FAC T_DISCHARG E_EVN AS D ISCH_EVN
  163                                                                  WH ERE DISCH_ EVN.DIM_PA TIENT_ID = DISCHARGE. DIM_PATIEN T_ID
  164                                                                  AN D DISCH_EV N.VISTA_SI TE_DIM_ORG ANIZATION_ ID = DISCH ARGE.VISTA _SITE_DIM_ ORGANIZATI ON_ID
  165                                                                  AN D ENTERED_ DATE BETWE EN '''+ CO NVERT(VARC HAR(25), @ START_DATE , 126) + 
  166                                                                   ' '' AND '''  + CONVERT (VARCHAR(3 0), DATEAD D(ms, -3,   @END_DATE  + 1)) + ' '' )
  167                                      LEFT JOI N DBO.FACT _MOVEMENT_ EVN AS MOV EMENT_EVN  ON DISCHAR GE_EVN.ID  =
  168                                                                  (S ELECT MAX( ID) AS ID
  169                                                                  FR OM DBO.FAC T_MOVEMENT _EVN AS MO VEMENT_EVN
  170                                                                  WH ERE MOVEME NT_EVN.DIM _PATIENT_I D =DISCHAR GE.DIM_PAT IENT_ID
  171                                                                  AN D MOVEMENT _EVN.VISTA _SITE_DIM_ ORGANIZATI ON_ID = DI SCHARGE.VI STA_SITE_D IM_ORGANIZ ATION_ID
  172                                                                  AN D ENTERED_ DATE BETWE EN '''+ CO NVERT(VARC HAR(25), @ START_DATE , 126) + 
  173                                                                   ' '' AND '''  + CONVERT (VARCHAR(3 0), DATEAD D(ms, -3,   @END_DATE  + 1)) + ' '' )'
  174  
  175                             SET @S QL_WHERE =  ' WHERE D ISCHARGE.S TATUS NOT  LIKE ''%CA NCELLED%''  AND DISCH ARGE.STATU S NOT LIKE  ''%DISCON TINUED%''  AND 
  176                                                                 DIS CHARGE.STA TUS NOT LI KE ''%COMP LETE%'' AN D DISCHARG E.IS_ACTIV E = 1 '
  177                                      
  178                             IF @PA TIENT_IDEN TIFIER IS  NOT NULL
  179                                      SET @SQL _WHERE +=  ' AND PATI ENT.SOURCE _ID = '''  + @PATIENT _IDENTIFIE R + ''''
  180                             
  181                             IF @EN D_DATE IS  NOT NULL
  182                                      SET @SQL _WHERE +=  ' AND DISC HARGE.APPO INTMENT_DA TE BETWEEN  ''' + CON VERT(VARCH AR(25), @S TART_DATE,  126) + '' ' AND '''  + CONVERT( VARCHAR(25 ), @END_DA TE, 126) +  ''''
  183                             ELSE
  184                                      SET @SQL _WHERE +=  ' AND DISC HARGE.APPO INTMENT_DA TE > ''' +  CONVERT(V ARCHAR(25) , @START_D ATE, 126)  + ''''
  185                                      
  186                             SET @S QL = @SQL_ SELECT + @ SQL_WHERE
  187                                              
  188                             EXECUT E sp_execu tesql @SQL  
  189                             
  190                             DROP T ABLE #WARD
  191                             DROP T ABLE #PATI ENT                                        
  192                                      
  193                    END
  194           -- ELSE
  195           --       BEGI N
  196           --                         SELECT N ULL AS WAR D_NAME,
  197           --                                     NULL AS  BED_NAME,
  198           --                                     NULL AS  PATIENT_N AME,
  199           --                                     NULL AS  PT_SHORT,
  200           --                                     NULL AS  APPOINTME NT_DATE,
  201           --                                     NULL AS  CURRENT_S TATUS,
  202           --                                     NULL AS  CLICNIC_N AME
  203           --       END
  204  
  205           DR OP TABLE # PERMISSION   
  206           
  207           EN D --error      
  208   END
  209  
  210  
  211   GO
  212  
  213