92. EPMO Open Source Coordination Office Redaction File Detail Report

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

92.1 Files compared

# Location File Last Modified
1 OSCIF_BMS_v2_iter 2_September_2017.zip\BMS_Cand\BMS_Build_C72898\BMS_Source-BuildC72898.zip\C72898\Source\Sources\Database\CreationScripts\BMS\4.Stored Procedures dbo.usp_Filter_Bed_Information.sql Wed Oct 23 12:51:09 2013 UTC
2 OSCIF_BMS_v2_iter 2_September_2017.zip\BMS_Cand\BMS_Build_C72898\BMS_Source-BuildC72898.zip\C72898\Source\Sources\Database\CreationScripts\BMS\4.Stored Procedures dbo.usp_Filter_Bed_Information.sql Thu Oct 26 15:40:38 2017 UTC

92.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 4 708
Changed 3 6
Inserted 0 0
Removed 0 0

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

92.4 Active regular expressions

No regular expressions were active.

92.5 Comparison detail

  1   /****** Ob ject:  Sto redProcedu re [dbo].[ usp_Filter _Bed_Infor mation]     Script Da te: 03/22/ 2012 11:04 :49 ****** /
  2   IF  EXISTS  (SELECT *  FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[d bo].[usp_F ilter_Bed_ Informatio n]') AND t ype in (N' P', N'PC') )
  3   DROP PROCE DURE [dbo] .[usp_Filt er_Bed_Inf ormation]
  4   GO
  5   SET ANSI_N ULLS ON
  6   GO
  7   SET QUOTED _IDENTIFIE R ON
  8   GO
  9   -- ======= ========== ========== ========== ========
  10   -- Author:                 PII
  11   -- Create  date: 30.1 1.2011
  12   -- Descrip tion: Filt er bed inf ormation.
  13   -- ======= ========== ========== ========== ========
  14   -- ======= ========== ========== ========== ========
  15   -- Update  by:    PII
  16   -- Update  date: 5/29 /2012
  17   -- Descrip tion: Opti mizations.
  18   -- ======= ========== ========== ========== ========
  19   -- ======= ========== ========== ========== ========
  20   -- Update  by:    PII
  21   -- Update  date: 25.1 0.2012
  22   -- Descrip tion: Sepa rated orde rs from ac ts. 
  23   -- ======= ========== ========== ========== ========
  24  
  25   CREATE PRO CEDURE [db o].[usp_Fi lter_Bed_I nformation ]     
  26           @W ARD_LIST N VARCHAR(MA X),
  27           @F ACILITY_UI D UNIQUEID ENTIFIER
  28   AS
  29   BEGIN
  30   SET NOCOUN T ON                            
  31                    
  32                    CREA TE TABLE # WARDS(WARD _UID UNIQU EIDENTIFIE R PRIMARY  KEY)
  33                    INSE RT INTO #W ARDS(WARD_ UID)
  34                    SELE CT WARD.VA LUE
  35                    FROM  dbo.fn_Sp lit(@WARD_ LIST, ',')  AS WARD 
  36                    
  37                    CREA TE TABLE # BED_CLEAN( ID INT PRI MARY KEY,  DOMAIN_ID  NVARCHAR(5 0), BED_UI D UNIQUEID ENTIFIER,  WARD_UID U NIQUEIDENT IFIER, EVE NT_IEN NVA RCHAR(50))
  38                    INSE RT INTO #B ED_CLEAN(I D, DOMAIN_ ID, BED_UI D, WARD_UI D, EVENT_I EN)
  39                    SELE CT BC.ID,  BC.DOMAIN_ ID, BC.BED _UID, BC.W ARD_UID, B C.EVENT_IE N
  40                    FROM  BED_CLEAN  AS BC
  41                    INNE R JOIN (SE LECT MAX(C LN.ID) AS  ID, CLN.BE D_UID
  42                                                FROM BED_ CLEAN CLN
  43                                                INNER JOI N #WARDS A S WARD ON  WARD.WARD_ UID = CLN. WARD_UID
  44                                                GROUP BY  BED_UID) M AX_BED_CLE AN 
  45                                                ON MAX_BE D_CLEAN.BE D_UID = BC .BED_UID A ND MAX_BED _CLEAN.ID  = BC.ID
  46                    WHER E BC.REQUE STED_DATE  >= DATEADD (HH, -72,  GETUTCDATE ()) AND (B C.COMPLETE D_DATE IS  NULL OR BC .COMPLETED _DATE >= D ATEADD(HH,  -2, GETUT CDATE()))                                     
  47                    
  48                    CREA TE NONCLUS TERED INDE X [IDX_BED _UID] ON [ #BED_CLEAN ] (BED_UID  ASC) INCL UDE (ID)
  49                    CREA TE NONCLUS TERED INDE X [IDX_BED _UID_EVENT _IEN] ON [ #BED_CLEAN ] (BED_UID  ASC, EVEN T_IEN ASC)  INCLUDE ( ID, DOMAIN _ID, WARD_ UID)
  50                                                                                                                              
  51                    CREA TE TABLE # BED_OCCUPA NCY_INFORM ATION 
  52                             (ACT_I D INT,                      
  53                             FLOW_I D UNIQUEID ENTIFIER,
  54                             DOMAIN _ID NVARCH AR(50),
  55                             PATIEN T_UID UNIQ UEIDENTIFI ER,   
  56                             BED_UI D UNIQUEID ENTIFIER,
  57                             BED_CL EAN_ID INT ,
  58                             BED_UN AVAILABLE_ ID INT,                   
  59                             WARD_U ID UNIQUEI DENTIFIER,  
  60                             MOVEME NT_DATE DA TETIME,
  61                             ADMISS ION_DATE D ATETIME,
  62                             DISCHA RGE_ORDER_ TEXT NVARC HAR(MAX),
  63                             DISCHA RGE_REQ_ID  INT,
  64                             IS_VAC ATED BIT,
  65                             INTERW ARD_TRANSF ER INT,
  66                             LEVEL_ OF_CARE NV ARCHAR(50) ,
  67                             LEVEL_ OF_CARE_DA TE DATETIM E)
  68                             
  69                    CREA TE TABLE # VACATED_BE D
  70                             (ACT_I D INT,                      
  71                             FLOW_I D UNIQUEID ENTIFIER,
  72                             DOMAIN _ID NVARCH AR(50),
  73                             PATIEN T_UID UNIQ UEIDENTIFI ER,   
  74                             BED_UI D UNIQUEID ENTIFIER,
  75                             BED_CL EAN_ID INT ,
  76                             BED_UN AVAILABLE_ ID INT,                   
  77                             WARD_U ID UNIQUEI DENTIFIER,  
  78                             MOVEME NT_DATE DA TETIME,
  79                             ADMISS ION_DATE D ATETIME,
  80                             DISCHA RGE_ORDER_ TEXT NVARC HAR(MAX),
  81                             DISCHA RGE_REQ_ID  INT,
  82                             IS_VAC ATED BIT,
  83                             INTERW ARD_TRANSF ER INT,
  84                             LEVEL_ OF_CARE NV ARCHAR(50) ,
  85                             LEVEL_ OF_CARE_DA TE DATETIM E)                      
  86  
  87                    CREA TE TABLE # ACTIVE_ADM ISSION(
  88                             ADMISS ION_ID INT  NOT NULL  PRIMARY KE Y,
  89                             CREATE D_DATE DAT ETIME NULL )
  90                    
  91                    CREA TE TABLE # ADMISSION_ AND_TRANSF ER(
  92                             ADMISS ION_ID INT  NOT NULL,
  93                             BED_UI D UNIQUEID ENTIFIER,
  94                             CREATE D_DATE DAT ETIME NULL ,
  95                             IS_ADM ISSION_EVN  BIT)
  96                             
  97                    --GE T ACTIVE A DMISSION
  98                    --If  more pati ents were  admitted i n the same  bed on th e whiteboa rd is disp layed last  patient a dmitted
  99                    CREA TE CLUSTER ED INDEX [ IDX_ADMISS ION_ID] ON  [#ADMISSI ON_AND_TRA NSFER] (AD MISSION_ID )
  100                    CREA TE NONCLUS TERED INDE X [IDX_BED _UID] ON [ #ADMISSION _AND_TRANS FER] (BED_ UID ASC) I NCLUDE (CR EATED_DATE
  101                    CREA TE NONCLUS TERED INDE X [IDX_BED _UID_CREAT ION_DATE]  ON [#ADMIS SION_AND_T RANSFER] ( BED_UID AS C , CREATE D_DATE ASC ) INCLUDE  (ADMISSION _ID)
  102                    
  103                    INSE RT INTO #A DMISSION_A ND_TRANSFE R(ADMISSIO N_ID, BED_ UID, CREAT ED_DATE, I S_ADMISSIO N_EVN)
  104                    SELE CT ADM_EVN .ID, ADM_E VN.BED_UID , ADM_EVN. ADMISSION_ DATE, 1
  105                    FROM  ADMISSION _EVN AS AD M_EVN
  106                    INNE R JOIN #WA RDS AS WAR D ON WARD. WARD_UID =  ADM_EVN.W ARD_UID
  107                    WHER E ADM_EVN. HAS_DISCHA RGE = 0
  108  
  109                    INSE RT INTO #A DMISSION_A ND_TRANSFE R(ADMISSIO N_ID, BED_ UID, CREAT ED_DATE, I S_ADMISSIO N_EVN)
  110                    SELE CT MOV_EVN .ADMISSION _ID, MOV_E VN.BED_UID , MOV_EVN. MOVEMENT_D ATE, 0
  111                    FROM  MOVEMENT_ EVN AS MOV _EVN
  112                    INNE R JOIN (SE LECT MAX(L AST_MOV_EV N.MOVEMENT _DATE) AS  MOVEMENT_D ATE, LAST_ MOV_EVN.AD MISSION_ID
  113                                               FROM MOVEM ENT_EVN LA ST_MOV_EVN
  114                                               INNER JOIN  #ADMISSIO N_AND_TRAN SFER AS AD M_EVN ON A DM_EVN.ADM ISSION_ID  = LAST_MOV _EVN.ADMIS SION_ID
  115                                               GROUP BY L AST_MOV_EV N.ADMISSIO N_ID) MAX_ ME_EVENT 
  116                                               ON MAX_ME_ EVENT.MOVE MENT_DATE  = MOV_EVN. MOVEMENT_D ATE AND MA X_ME_EVENT .ADMISSION _ID = MOV_ EVN.ADMISS ION_ID
  117                                              
  118                    DELE TE DEL FRO M #ADMISSI ON_AND_TRA NSFER AS D EL
  119                    INNE R JOIN #AD MISSION_AN D_TRANSFER  AS ADM ON  ADM.ADMIS SION_ID =  DEL.ADMISS ION_ID AND  ADM.BED_U ID <> DEL. BED_UID AN D ADM.IS_A DMISSION_E VN = 1
  120                    WHER E DEL.IS_A DMISSION_E VN = 0
  121  
  122                    INSE RT INTO #A CTIVE_ADMI SSION(ADMI SSION_ID,  CREATED_DA TE)
  123                    SELE CT DISTINC T ADMISSIO N_INFO.ADM ISSION_ID,  ADMISSION _INFO.CREA TED_DATE
  124                    FROM  #ADMISSIO N_AND_TRAN SFER AS AD MISSION_IN FO
  125                    INNE R JOIN 
  126                    (    SELECT MAX (CREATED_D ATE) AS CR EATED_DATE , BED_UID
  127                             FROM # ADMISSION_ AND_TRANSF ER
  128                             GROUP  BY BED_UID
  129                    ) LA ST_ADMISIS ON_INFO ON  LAST_ADMI SISON_INFO .CREATED_D ATE = ADMI SSION_INFO .CREATED_D ATE AND LA ST_ADMISIS ON_INFO.BE D_UID = AD MISSION_IN FO.BED_UID
  130  
  131                    DROP  TABLE #AD MISSION_AN D_TRANSFER
  132                    
  133                    INSE RT INTO #B ED_OCCUPAN CY_INFORMA TION (
  134                             ACT_ID ,
  135                             FLOW_I D,
  136                             DOMAIN _ID,
  137                             PATIEN T_UID,
  138                             BED_UI D,
  139                             BED_CL EAN_ID,
  140                             BED_UN AVAILABLE_ ID,                       
  141                             WARD_U ID,
  142                             MOVEME NT_DATE,
  143                             ADMISS ION_DATE,
  144                             DISCHA RGE_ORDER_ TEXT,
  145                             DISCHA RGE_REQ_ID ,
  146                             INTERW ARD_TRANSF ER,
  147                             LEVEL_ OF_CARE,
  148                             LEVEL_ OF_CARE_DA TE)
  149                    SELE CT                   
  150                             [AE].[ ID],                        
  151                             NULL,
  152                             [AE].[ DOMAIN_ID] ,
  153                             [AE].[ PATIENT_UI D],
  154                             [AE].[ BED_UID],
  155                             [BC].[ ID],
  156                             [BU].[ ACT_ID],           
  157                             [AE].[ WARD_UID],
  158                             [ADM_E VN].[CREAT ED_DATE] A S [MOVEMEN T_DATE],
  159                         [AE].[ADMI SSION_DATE ] AS ADMIS SION_DATE,
  160                             CASE 
  161                                      WHEN DRE Q.ID IS NO T NULL THE N 'DISCHAR GE ORDER'
  162                                      WHEN ADR EQ.ID IS N OT NULL 
  163                                                 AND ( (  ADREQ.ORDE R_TEXT LIK E '%ANTICI PATE%' OR  ADREQ.ORDE R_TEXT LIK E '%PLANNE D%') AND
  164                                                                (ADR EQ.ORDER_T EXT LIKE ' %DISCHARGE %') )
  165                                                 THEN 'AN TICIPATED  DISCHARGE  ORDER'
  166                                      WHEN DI. ID IS NOT  NULL THEN  'DISCHARGE  APPOINTME NT'
  167                                      ELSE NUL L
  168                             END,
  169                             CASE 
  170                                      WHEN DRE Q.ID IS NO T NULL THE N DREQ.ID
  171                                      WHEN DRE Q.ID IS NU LL AND ADR EQ.ID IS N OT NULL TH EN ADREQ.I D
  172                                      ELSE NUL L
  173                             END,
  174                             CASE 
  175                                      WHEN DRE Q.ID IS NU LL AND ADR EQ.ID IS N ULL AND MR .ID IS NOT  NULL THEN  MR.ID
  176                                      ELSE  NU LL
  177                             END      AS INTER WARD_TRANS FER,                    
  178                             [ALOC] .[LEVEL_OF _CARE] AS  LEVEL_OF_C ARE,
  179                             [ALOC] .[CREATION _DATE] AS  LEVEL_OF_C ARE_DATE
  180                    FROM  ADMISSION _EVN AS AE
  181                             INNER  JOIN #ACTI VE_ADMISSI ON AS ADM_ EVN ON ADM _EVN.ADMIS SION_ID =  AE.ID
  182                             LEFT J OIN ADMISS ION_LEVEL_ OF_CARE AS  ALOC ON A E.ID = ALO C.ADMISSIO N_ID                                     
  183                             LEFT J OIN #BED_C LEAN AS BC  ON BC.BED _UID = AE. BED_UID   
  184                             LEFT J OIN BED_UN AVAILABLE  AS BU ON B U.BED_UID  = AE.BED_U ID AND BU. COMPLETED_ DATE IS NU LL
  185                             
  186                             LEFT J OIN (SELEC T MAX(CAST (M_REQ.IEN  as BIGINT )) AS IEN,  M_REQ.PAT IENT_UID,  M_REQ.WARD _UID, M_RE Q.VISTA_SI TE_UID
  187                                                  FROM MO VEMENT_REQ  AS M_REQ
  188                                                  INNER J OIN ORDER_ FACILITY A S O_FAC ON  M_REQ.ID  = O_FAC.OR DER_ID AND  O_FAC.FAC ILITY_UID  = @FACILIT Y_UID AND  O_FAC.ORDE R_TYPE ='T RA'
  189                                                  WHERE M _REQ.IS_AC TIVE = 1
  190                                                  GROUP B Y M_REQ.PA TIENT_UID,  M_REQ.WAR D_UID,  M_ REQ.VISTA_ SITE_UID)  MAX_MR_ORD ER 
  191                                                  ON AE.V ISTA_SITE_ UID = MAX_ MR_ORDER.V ISTA_SITE_ UID AND  A E.WARD_UID  = MAX_MR_ ORDER.WARD _UID AND A E.PATIENT_ UID = MAX_ MR_ORDER.P ATIENT_UID
  192                             LEFT J OIN MOVEME NT_REQ AS  MR ON MAX_ MR_ORDER.I EN = CAST( MR.IEN AS  BIGINT) AN D MAX_MR_O RDER.VISTA _SITE_UID  = MR.VISTA _SITE_UID            
  193                             
  194                             LEFT J OIN (SELEC T MAX(CAST (D_REQ.IEN  as BIGINT )) AS IEN,  D_REQ.PAT IENT_UID,  D_REQ.WARD _UID, D_RE Q.VISTA_SI TE_UID
  195                                                  FROM DI SCHARGE_RE Q AS D_REQ
  196                                                  INNER J OIN ORDER_ FACILITY A S O_FAC ON  D_REQ.ID  = O_FAC.OR DER_ID AND  O_FAC.FAC ILITY_UID  = @FACILIT Y_UID AND  O_FAC.ORDE R_TYPE ='D IS'
  197                                                  WHERE D _REQ.IS_AC TIVE = 1 A ND D_REQ.O RDERABLE_I TEM_ID IS  NOT NULL
  198                                                  GROUP B Y D_REQ.PA TIENT_UID,  D_REQ.WAR D_UID, D_R EQ.VISTA_S ITE_UID) M AX_DR_ORDE
  199                                                  ON AE.W ARD_UID =  MAX_DR_ORD ER.WARD_UI D AND 
  200                                                          AE.PATIENT _UID = MAX _DR_ORDER. PATIENT_UI D AND
  201                                                          AE.VISTA_S ITE_UID =  MAX_DR_ORD ER.VISTA_S ITE_UID
  202                             LEFT J OIN DISCHA RGE_REQ AS  DREQ ON M AX_DR_ORDE R.IEN = CA ST(DREQ.IE N AS BIGIN T) AND MAX _DR_ORDER. VISTA_SITE _UID = DRE Q.VISTA_SI TE_UID
  203                             
  204                             LEFT J OIN (SELEC T MAX(CAST (D_REQ.IEN  as BIGINT )) AS IEN,  D_REQ.PAT IENT_UID,  D_REQ.WARD _UID, D_RE Q.VISTA_SI TE_UID
  205                                                  FROM DI SCHARGE_RE Q AS D_REQ
  206                                                  INNER J OIN ORDER_ FACILITY A S O_FAC ON  D_REQ.ID  = O_FAC.OR DER_ID AND  O_FAC.FAC ILITY_UID  = @FACILIT Y_UID AND  O_FAC.ORDE R_TYPE ='D IS'
  207                                                  WHERE D _REQ.IS_AC TIVE = 1 A ND D_REQ.O RDERABLE_I TEM_ID is  null
  208                                                  GROUP B Y D_REQ.PA TIENT_UID,  D_REQ.WAR D_UID, D_R EQ.VISTA_S ITE_UID) M AX_ADR_ORD ER 
  209                                                  ON AE.W ARD_UID =  MAX_ADR_OR DER.WARD_U ID AND 
  210                                                          AE.PATIENT _UID = MAX _ADR_ORDER .PATIENT_U ID AND
  211                                                          AE.VISTA_S ITE_UID =  MAX_ADR_OR DER.VISTA_ SITE_UID
  212                             LEFT J OIN DISCHA RGE_REQ AS  ADREQ ON  MAX_ADR_OR DER.IEN =  CAST(ADREQ .IEN AS BI GINT) AND  MAX_ADR_OR DER.VISTA_ SITE_UID =  ADREQ.VIS TA_SITE_UI D
  213                             
  214                             LEFT J OIN (SELEC T MAX(D_IN T.APPOINTM ENT_DATE)  AS APPOINT MENT_DATE,  D_INT.PAT IENT_UID,  D_INT.WARD _UID, D_IN T.VISTA_SI TE_UID
  215                                                  FROM DI SCHARGE_IN T AS D_INT  
  216                                                  INNER J OIN HOSPIT AL_LOCATIO N_APPOINTM ENT AS HLA  ON D_INT. HOSPITAL_L OCATION_UI D = HLA.HO SPITAL_LOC ATION_UID  AND HLA.FA CILITY_UID  = @FACILI TY_UID
  217                                                  WHERE D _INT.APPOI NTMENT_DAT E > GETUTC DATE() AND  
  218                                                                 D_I NT.STATUS  NOT LIKE ' %CANCELLED %' AND D_I NT.STATUS  NOT LIKE ' %DISCONTIN UED%' AND 
  219                                                                 D_I NT.STATUS  NOT LIKE ' %COMPLETE% ' AND D_IN T.IS_ACTIV E = 1 
  220                                                  GROUP B Y D_INT.PA TIENT_UID,  D_INT.WAR D_UID, D_I NT.VISTA_S ITE_UID) M AX_DI_APPO IMENT 
  221                                                  ON AE.W ARD_UID =  MAX_DI_APP OIMENT.WAR D_UID AND 
  222                                                          AE.PATIENT _UID = MAX _DI_APPOIM ENT.PATIEN T_UID AND
  223                                                          AE.VISTA_S ITE_UID =  MAX_DI_APP OIMENT.VIS TA_SITE_UI D AND
  224                                                          AE.ADMISSI ON_DATE <  MAX_DI_APP OIMENT.APP OINTMENT_D ATE                                      
  225                             LEFT J OIN DISCHA RGE_INT AS  DI ON MAX _DI_APPOIM ENT.APPOIN TMENT_DATE  = DI.APPO INTMENT_DA TE AND MAX _DI_APPOIM ENT.PATIEN T_UID = DI .PATIENT_U ID      AN D DI.VISTA _SITE_UID  = MAX_DI_A PPOIMENT.V ISTA_SITE_ UID                                                                                         
  226                    
  227                    DROP  TABLE #AC TIVE_ADMIS SION
  228                                      
  229                    UPDA TE #BED_OC CUPANCY_IN FORMATION
  230                    SET  DISCHARGE_ ORDER_TEXT  = ' '
  231                             WHERE  DISCHARGE_ REQ_ID IS  NOT NULL A ND (DISCHA RGE_ORDER_ TEXT IS NU LL OR LEN( DISCHARGE_ ORDER_TEXT ) = 0)
  232                             
  233                    CREA TE NONCLUS TERED INDE X [IDX_BED _UID] ON [ #BED_OCCUP ANCY_INFOR MATION] (B ED_UID ASC )
  234                    
  235                    DECL ARE @MAX_B U TABLE (A CT_ID INT,  BED_UID U NIQUEIDENT IFIER, PRI MARY KEY ( ACT_ID), U NIQUE CLUS TERED (BED _UID))
  236                    INSE RT INTO @M AX_BU(ACT_ ID, BED_UI D)
  237                    SELE CT MAX(BU. ACT_ID) AS  ACT_ID, B U.BED_UID
  238                    FROM  BED_UNAVA ILABLE AS  BU 
  239                    INNE R JOIN BED _UNAVAILAB LE_WARD AS  BUW ON BU W.BED_UNAV AILABLE_ID  = BU.ACT_ ID
  240                    INNE R JOIN #WA RDS AS WAR D ON WARD. WARD_UID =  BUW.WARD_ UID
  241                    WHER E BU.COMPL ETED_DATE  IS NULL
  242                    GROU P BY BU.BE D_UID                                
  243  
  244                    INSE RT INTO #V ACATED_BED  
  245                             (ACT_I D, 
  246                             DOMAIN _ID,
  247                             BED_UI D,
  248                             BED_CL EAN_ID,
  249                             BED_UN AVAILABLE_ ID,
  250                             WARD_U ID,                
  251                             IS_VAC ATED)
  252                    SELE CT DISTINC T
  253                             ISNULL (DEVN.ID,  BC.ID), 
  254                             ISNULL (DEVN.DOMA IN_ID, BC. DOMAIN_ID) ,
  255                             BC.BED _UID, 
  256                             BC.ID  AS BED_CLE AN_ID,
  257                             BU.ACT _ID, 
  258                             BC.WAR D_UID,
  259                             1
  260                    FROM  #BED_CLEA N AS BC
  261                             LEFT O UTER JOIN  #BED_OCCUP ANCY_INFOR MATION AS  BO ON BC.B ED_UID = B O.BED_UID                       
  262                             LEFT J OIN @MAX_B U AS BU ON  BU.BED_UI D = BC.BED _UID                                                                                                                                                            
  263                             LEFT J OIN (SELEC T BED_UID  , VISTA_SI TE_UID, MA X(CAST(IEN  AS BIGINT )) AS MAX_ DE_IEN 
  264                                                       FR OM DISCHAR GE_EVN 
  265                                                       GR OUP BY BED _UID, VIST A_SITE_UID ) DA ON DA .BED_UID =  BC.BED_UI D AND BC.E VENT_IEN =  DA.MAX_DE _IEN
  266                             LEFT J OIN DISCHA RGE_EVN AS  DEVN ON C AST(DEVN.I EN AS BIGI NT) = DA.M AX_DE_IEN  AND DEVN.V ISTA_SITE_ UID = DA.V ISTA_SITE_ UID
  267                    WHER E BO.BED_U ID IS NULL
  268                    
  269                    CREA TE NONCLUS TERED INDE X [IDX_BED _UID] ON [ #VACATED_B ED] (BED_U ID ASC)
  270                              
  271                    INSE RT INTO #V ACATED_BED  
  272                             (ACT_I D, 
  273                             FLOW_I D, 
  274                             DOMAIN _ID,
  275                             BED_UI D,                          
  276                             BED_UN AVAILABLE_ ID)
  277                    SELE CT DACT.ID
  278                             DACT.F LOW_ID, 
  279                             DACT.D OMAIN_ID, 
  280                             BU.BED _UID,                                
  281                             BU.ACT _ID                                  
  282                    FROM  @MAX_BU A S BU
  283                             INNER  JOIN ACT A S DACT ON  DACT.ID =  BU.ACT_ID                                       
  284                             LEFT O UTER JOIN  #BED_OCCUP ANCY_INFOR MATION AS  BO ON BU.B ED_UID = B O.BED_UID
  285                             LEFT O UTER JOIN  #VACATED_B ED AS VB O N BU.BED_U ID = VB.BE D_UID
  286                    WHER E BO.BED_U ID IS NULL  AND VB.BE D_UID IS N ULL                                    
  287                    
  288                    SELE CT DISTINC T RESULT.A CT_ID AS A CT_ID,                                   
  289                                      RESULT.F LOW_ID AS  FLOW_ID,
  290                                      RESULT.D OMAIN_ID A S DOMAIN_I D,                            
  291                                      RESULT.P ATIENT_UID  AS PATIEN T_UID,
  292                                      RESULT.B ED_UID AS  EVN_BED_UI D,
  293                                      RESULT.W ARD_UID AS  EVN_WARD_ UID,                                                                               
  294                                      BC.REQUE STED_DATE  AS BED_CLE AN_REQUEST ED_DATE,
  295                                      BC.ACCEP TED_DATE A S BED_CLEA N_ACCEPTED _DATE,
  296                                      BC.COMPL ETED_DATE  AS BED_CLE AN_COMPLET ED_DATE,  
  297                                      BOOSS.CO DE AS BED_ AVAILABILI TY_STATUS,                             
  298                                      BOOSR.DI SPLAY_NAME  AS REASON ,                             
  299                                      BU.IS_UN AVAILABLE_ FROM_VISTA  AS IS_UNA VAILABLE_F ROM_VISTA,
  300                                      RESULT.D ISCHARGE_O RDER_TEXT  AS  DISCHA RGE_ORDER_ TEXT,
  301                                      RESULT.M OVEMENT_DA TE AS MOVE MENT_DATE,
  302                                      RESULT.I S_VACATED  AS IS_VACA TED,
  303                                      RESULT.I NTERWARD_T RANSFER,
  304                                      RESULT.A DMISSION_D ATE AS ADM ISSION_DAT E,
  305                                      RESULT.L EVEL_OF_CA RE AS LEVE L_OF_CARE,
  306                                      RESULT.L EVEL_OF_CA RE_DATE AS  LEVEL_OF_ CARE_DATE,
  307                                      ICON_FLA G_IDS_OF_B ED = STUFF ( (SELECT  ',' + CAST (ICON_FLAG _ID AS NVA RCHAR(10))
  308                                                                          FROM  ICON_ASSOC IATION
  309                                                                          WHERE  BED_UID =  RESULT.BE D_UID AND  ICON_FLAG_ ID IS NOT  NULL
  310                                                                          FOR X ML PATH('' )), 
  311                                                                         1, 1,  ''),
  312                                      ICON_FLA G_IDS_OF_P ATIENT = S TUFF( (SEL ECT ',' +  CAST(ICON_ FLAG_ID AS  NVARCHAR( 10))
  313                                                                          FROM  ICON_ASSOC IATION
  314                                                                          WHERE  PATIENT_U ID = RESUL T.PATIENT_ UID AND IC ON_FLAG_ID  IS NOT NU LL
  315                                                                          FOR X ML PATH('' )), 1, 1,  ''),
  316                                      ICON_FLA G_FACILITY _IDS_OF_BE D = STUFF(  (SELECT ' ,' + CAST( IFF.ICON_F LAG_ID AS  NVARCHAR(1 0))
  317                                                                          FROM  ICON_ASSOC IATION AS  ICON_ASSOC _OF_BED
  318                                                                          INNER  JOIN ICON _FLAG_FACI LITY AS IF F ON IFF.I D = ICON_A SSOC_OF_BE D.ICON_FLA G_FACILITY _ID
  319                                                                          WHERE  IFF.FACIL ITY_UID =  @FACILITY_ UID AND IC ON_ASSOC_O F_BED.BED_ UID = RESU LT.BED_UID  AND ICON_ ASSOC_OF_B ED.ICON_FL AG_FACILIT Y_ID IS NO T NULL
  320                                                                          FOR X ML PATH('' )), 1, 1,  ''),
  321                                      ICON_FLA G_FACILITY _IDS_OF_PA TIENT = ST UFF( (SELE CT ',' + C AST(IFF.IC ON_FLAG_ID  AS NVARCH AR(10))
  322                                                                          FROM  ICON_ASSOC IATION AS  ICON_ASSOC _OF_PATIEN T
  323                                                                          INNER  JOIN ICON _FLAG_FACI LITY AS IF F ON IFF.I D = ICON_A SSOC_OF_PA TIENT.ICON _FLAG_FACI LITY_ID
  324                                                                          WHERE  IFF.FACIL ITY_UID =  @FACILITY_ UID AND IC ON_ASSOC_O F_PATIENT. PATIENT_UI D = RESULT .PATIENT_U ID AND ICO N_ASSOC_OF _PATIENT.I CON_FLAG_F ACILITY_ID  IS NOT NU LL
  325                                                                          FOR X ML PATH('' )), 1, 1,  ''),
  326                                      A.PATIEN T_UID AS W AITING_LIS T_PATIENT_ UID,      
  327                                ' -  Bed Assig ned - {0}  from ' + i snull(WA.D ISPLAY_NAM E,'') + '  - ' + isnu ll(WL.COMM ENTS,'') A S WAITING_ LIST_INFO,
  328                                      WL_EVACU ATION.IS_E VACUATION_ PATIENT AS  IS_EVACUA TION_PATIE NT,
  329                                      EVACUATI ON_DISPOSI TION_STATU S.DISPLAY_ NAME AS EV ACUATION_D ISPOSITION _STATUS                                
  330                    FROM  
  331                             (SELEC T * FROM # BED_OCCUPA NCY_INFORM ATION
  332                             UNION 
  333                             SELECT  * FROM #V ACATED_BED ) AS RESUL T
  334                                      LEFT JOI N BED_CLEA N AS BC ON  BC.ID = R ESULT.BED_ CLEAN_ID
  335                                      LEFT JOI N BED_UNAV AILABLE AS  BU ON BU. ACT_ID = R ESULT.BED_ UNAVAILABL E_ID
  336                                      LEFT JOI N CONCEPT  AS BOOSS O N BOOSS.ID  = BU.TYPE _ID
  337                                      LEFT JOI N CONCEPT  AS BOOSR O N BOOSR.ID  = BU.REAS ON_ID                              
  338                                      LEFT JOI N WAITING_ LIST WL ON  WL.REQUES TED_BED_UI D = RESULT .BED_UID A ND WL.REMO VED_DATE I S NULL AND  WL.REQUES TED_BED_UI D IS NOT N ULL                                                          
  339                                      LEFT JOI N CONCEPT  AS WA ON W L.WAITING_ AREA_ID =  WA.ID
  340                                      LEFT JOI N ACT AS A  ON A.ID =  WL.ACT_ID           
  341                                      LEFT JOI N (SELECT  MAX(A_EVAC UATION.ID)  AS ID, A_ EVACUATION .PATIENT_U ID AS PATI ENT_UID
  342                                                           FROM ACT  AS A_EVACU ATION
  343                                                                INNE R JOIN WAI TING_LIST  WL_EVACUAT ION ON WL_ EVACUATION .REMOVED_D ATE IS NUL L AND WL_E VACUATION. ACT_ID = A _EVACUATIO N.ID
  344                                                           GROUP BY  A_EVACUATI ON.PATIENT _UID)
  345                                                           EVACUATIO N_WAITING_ LIST ON EV ACUATION_W AITING_LIS T.PATIENT_ UID = RESU LT.PATIENT _UID
  346                                      LEFT JOI N WAITING_ LIST WL_EV ACUATION O N WL_EVACU ATION.ACT_ ID = EVACU ATION_WAIT ING_LIST.I D
  347                                      LEFT JOI N CONCEPT  AS EVACUAT ION_DISPOS ITION_STAT US ON EVAC UATION_DIS POSITION_S TATUS.ID =  WL_EVACUA TION.EVACU ATION_DISP OSITION_ST ATUS_ID                                                                        
  348  
  349           DR OP TABLE # WARDS
  350           DR OP TABLE # BED_OCCUPA NCY_INFORM ATION
  351           DR OP TABLE # VACATED_BE D
  352           DR OP TABLE # BED_CLEAN
  353  
  354   END
  355  
  356   SET QUOTED _IDENTIFIE R ON
  357   GO