390. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 10/26/2017 10:43:32 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.

390.1 Files compared

# Location File Last Modified
1 OSCIF_BMS_v2_iter 2_September_2017.zip\BMS_Cand\BMS_Source_C72993\C72993-Sources.zip\C72993\Source\Sources\Database\CreationScripts\BMS_HISTORY\4.StoredProcedures dbo.usp_Rpt_StaffAssignment.StoredProcedure.sql Fri Nov 22 17:02:56 2013 UTC
2 OSCIF_BMS_v2_iter 2_September_2017.zip\BMS_Cand\BMS_Source_C72993\C72993-Sources.zip\C72993\Source\Sources\Database\CreationScripts\BMS_HISTORY\4.StoredProcedures dbo.usp_Rpt_StaffAssignment.StoredProcedure.sql Wed Oct 25 23:15:57 2017 UTC

390.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 8 238
Changed 7 20
Inserted 0 0
Removed 0 0

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

390.4 Active regular expressions

No regular expressions were active.

390.5 Comparison detail

  1   IF  EXISTS  (SELECT *  FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[d bo].[usp_R pt_StaffAs signment]' ) AND type  in (N'P',  N'PC'))
  2   DROP PROCE DURE [dbo] .[usp_Rpt_ StaffAssig nment]
  3   GO
  4  
  5   SET ANSI_N ULLS ON
  6   GO
  7   SET QUOTED _IDENTIFIE R ON
  8   GO
  9  
  10   CREATE PRO CEDURE [db o].[usp_Rp t_StaffAss ignment]
  11           @D ATE_FROM D ATETIME,
  12           @D ATE_TO DAT ETIME,
  13           @T IME_ZONE_M INUTES_OFF SET INT,
  14           @U serID N DNS    AR(500),
  15           @F ACILITIES_ IDS N DNS    AR(MAX) =  '',
  16           @R EPORT_TYPE  N DNS    AR(50)
  17   AS
  18   BEGIN
  19  
  20           SE T NOCOUNT  ON;
  21           
  22           IF  (@REPORT_ TYPE = 'ST AFF')
  23           BE GIN
  24                    
  25                    IF @ DATE_FROM  > @DATE_TO
  26                             RAISER ROR ('The  start date  is greate r than the  end date.  Please co rrect.', 1 8, 13)
  27                    ELSE
  28                    BEGI N
  29                             set @D ATE_FROM =  DATEADD ( minute, -@ TIME_ZONE_ MINUTES_OF FSET, @DAT E_FROM );
  30                             set @D ATE_TO = D ATEADD (mi nute, -@TI ME_ZONE_MI NUTES_OFFS ET, @DATE_ TO );
  31  
  32                             --GET  INFORMATIO N ABOUT SE LECTED FAC ILITIES
  33                              CREATE TAB LE #TBL_FA CILITY (SO URCE_ID N DNS    AR(250) PR IMARY KEY,     TIMEZONE_O FFSET INT)
  34                             INSERT  INTO #TBL _FACILITY( SOURCE_ID,  TIMEZONE_ OFFSET) 
  35                              SELECT DIS TINCT CONV ERT(N DNS    AR(250), F ACILITY.VA LUE), [dbo ].[ufn_Get OffsetByFa cilityUID] (VALUE) 
  36                             FROM d bo.ufn_Spl it(@FACILI TIES_IDS,  ',') AS FA CILITY
  37           
  38                             CREATE  TABLE #BE D_STAFF
  39                             (
  40                                      BED_UID  UNIQUEIDEN TIFIER NUL L,
  41                                      PATIENT_ UID UNIQUE IDENTIFIER  NULL,
  42                                       STAFF N DNS    AR(250) NU LL,
  43                                      [DATE] D ATETIME NU LL,
  44                                       CREATED_BY  N DNS    AR(50),
  45                                       EVENT_TYPE  N DNS    AR(100)
  46                              )
  47                              INSER T INTO #BE D_STAFF(BE D_UID, PAT IENT_UID,  STAFF, [DA TE], CREAT ED_BY, EVE NT_TYPE)
  48                              SELEC T STAFF.BE D_UID, STA FF.PATIENT _UID, STAF F.STAFF, 
  49                                               DATEADD (m inute, 
  50                                               ISNULL(FAC ILITY.TIME ZONE_OFFSE T * 60,
  51                                                                @TIM E_ZONE_MIN UTES_OFFSE T), STAFF. [DATE]),
  52                                               CASE WHEN  STAFF.CREA TED_BY IS  NULL THEN  'SYSTEM' 
  53                                                        E LSE [DBO]. [UFN_GETUS ERNAMEBYSI D](STAFF.C REATED_BY)
  54                                               END ,
  55                                               CASE STAFF .TRANSACTI ON_TYPE_CO DE WHEN 'I ' THEN 'In serted'
  56                                               WHEN 'U' T HEN 'Updat ed' WHEN ' D' THEN 'D eleted' EN D
  57                              FROM  dbo.BED_ST AFF_H AS S TAFF
  58                              INNER  JOIN #TBL _FACILITY  AS FACILIT Y ON FACIL ITY.SOURCE _ID = STAF F.FACILITY _UID 
  59                              WHERE  STAFF.[DA TE] >= @DA TE_FROM an d STAFF.[D ATE] <= @D ATE_TO
  60                             
  61                              DROP  TABLE #TBL _FACILITY
  62                              
  63                              CREATE TAB LE #PATIEN TS (PATIEN T_UID UNIQ UEIDENTIFI ER PRIMARY  KEY, PATI ENT_NAME N DNS    AR(250))
  64                             INSERT  INTO #PAT IENTS(PATI ENT_UID, P ATIENT_NAM E)
  65                             SELECT  DISTINCT  PAC.PATIEN T_UID, SUB STRING(PER SON.[NAME_ FAMILY], 1 , 1) + SUB STRING(s.[ IDENTIFIER _EXTENSION ], 7, 5)
  66                             FROM # BED_STAFF  AS PAC
  67                             INNER  JOIN $(var BMS_EIS).d bo.ENTITY  AS ENTITY  ON ENTITY. IDENTIFIER  = PAC.PAT IENT_UID
  68                             INNER  JOIN $(var BMS_EIS).d bo.EHL7_PE RSON AS PE RSON ON PE RSON.PFK_P ERSON = EN TITY.PK_EN TITY
  69                             INNER  JOIN $(var BMS_EIS).d bo.EHL7_UI D AS S ON  S.FK_ENTIT Y = PERSON .PFK_PERSO N AND S.ID ENTIFIER_R OOT = 'SSN '
  70                             
  71                              CREATE TAB LE #BEDS ( BED_UID UN IQUEIDENTI FIER, BED_ NAME N DNS    AR(250), D IVISION_NA ME N DNS    AR(MAX))
  72                             INSERT  INTO #BED S(BED_UID,  BED_NAME,  DIVISION_ NAME)
  73                             SELECT  DISTINCT   E.IDENTIF IER, BED.N AME, WARD_ GROUP.NAME
  74                             FROM $ (varBMS_EI S).[dbo].[ EHL7_PLACE ] AS BED
  75                             INNER  JOIN $(var BMS_EIS).[ dbo].[ENTI TY] AS E O N E.PK_ENT ITY = BED. PFK_PLACE
  76                             INNER  JOIN #BED_ STAFF AS B ED_STAFF O N BED_STAF F.BED_UID  = E.IDENTI FIER
  77                             INNER  JOIN $(var BMS_EIS).[ dbo].[EHL7 _ROLE] AS  R_BED ON R _BED.FK_PL AYER_ENTIT Y = BED.PF K_PLACE AN D R_BED.[C LASS_CODE]  = 'MNT'
  78                             INNER  JOIN $(var BMS_EIS).[ dbo].[EHL7 _ORGANIZAT ION]AS WAR D_GROUP ON  WARD_GROU P.PFK_ORGA NIZATION =  R_BED.FK_ SCOPER_ENT ITY
  79                             WHERE  BED.CODE_D ISPLAY_NAM E ='BED' A ND E.IDENT IFIER IN ( SELECT DIS TINCT BED_ UID FROM # BED_STAFF  AS BED)
  80                             
  81                             ;WITH  SET_BED_AS SOCIATION_ TO_MULTIPL E_DIVISION  AS
  82                             (
  83                                               SELECT A.B ED_UID, ST UFF((SELEC T DISTINCT  ',' +  DI VISION_NAM E
  84                                                                   F ROM #BEDS
  85                                                                   W HERE BED_U ID = A.BED _UID
  86                                                                   F OR XML PAT H('')), 1,  1, '') AS  DIVISIONS  
  87                                                                   
  88                                               FROM (
  89                                               SELECT BED _UID
  90                                               FROM #BEDS
  91                                               GROUP BY B ED_UID
  92                                               HAVING COU NT(BED_UID ) > 1 ) A 
  93                             )
  94                             
  95                             UPDATE  B
  96                                      SET B.DI VISION_NAM E = G_BED_ WARD.DIVIS IONS
  97                             FROM # BEDS B
  98                             INNER  JOIN SET_B ED_ASSOCIA TION_TO_MU LTIPLE_DIV ISION AS G _BED_WARD  ON G_BED_W ARD.BED_UI D = B.BED_ UID
  99                             
  100                             ;WITH  BED_ASSOCI ATION_TO_M ULTIPLE_DI VISION AS
  101                             (
  102                                      SELECT B ED_UID, BE D_NAME, DI VISION_NAM E
  103                                      FROM #BE DS 
  104                                      GROUP BY  BED_UID,  BED_NAME,  DIVISION_N AME 
  105                             )
  106                             
  107                             SELECT  CAST(BED_ STAFF.BED_ UID as nva rchar(50))  as BED_UI D,
  108                             BED.DI VISION_NAM E AS DIVIS ION, 
  109                             BED.BE D_NAME AS  BED, 
  110                             BED_ST AFF.STAFF,
  111                             PATIEN T.PATIENT_ NAME AS PA TIENT,
  112                             BED_ST AFF.CREATE D_BY,
  113                             BED_ST AFF.[DATE]  as [DATE] ,
  114                             BED_ST AFF.EVENT_ TYPE AS EV ENT_TYPE    
  115                             FROM # BED_STAFF  AS BED_STA FF
  116                             LEFT J OIN #PATIE NTS AS PAT IENT ON PA TIENT.PATI ENT_UID =  BED_STAFF. PATIENT_UI D
  117                             LEFT J OIN BED_AS SOCIATION_ TO_MULTIPL E_DIVISION  AS BED ON  BED.BED_U ID= BED_ST AFF.BED_UI D
  118                             ORDER  BY BED.DIV ISION_NAME , BED.BED_ NAME, BED_ STAFF.[DAT E]
  119                             DROP T ABLE #BEDS
  120                             DROP T ABLE #PATI ENTS
  121                             DROP T ABLE #BED_ STAFF
  122                             
  123                    END
  124                    
  125           EN D
  126           
  127   END
  128  
  129   GO