48. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 8/31/2018 11:26:37 AM Central 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.

48.1 Files compared

# Location File Last Modified
1 BMS_Source.zip\Source\Sources\Database\BMSv2Updates\2.2.8.3\Reports usp_Rpt_FutureDischarge.sql Thu Aug 30 15:11:48 2018 UTC
2 BMS_Source.zip\Source\Sources\Database\BMSv2Updates\2.2.8.3\Reports usp_Rpt_FutureDischarge.sql Thu Aug 30 19:20:12 2018 UTC

48.2 Comparison summary

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

48.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

48.4 Active regular expressions

No regular expressions were active.

48.5 Comparison detail

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