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.
| # | 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 |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 4 | 708 |
| Changed | 3 | 6 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| 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 |
No regular expressions were active.
| 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 R | |
| 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 |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.