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

392.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_WaitingList.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_WaitingList.StoredProcedure.sql Wed Oct 25 23:15:58 2017 UTC

392.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 13 736
Changed 12 38
Inserted 0 0
Removed 0 0

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

392.4 Active regular expressions

No regular expressions were active.

392.5 Comparison detail

  1   IF  EXISTS  (SELECT *  FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[d bo].[usp_R pt_Waiting List]') AN D type in  (N'P', N'P C'))
  2   DROP PROCE DURE [dbo] .[usp_Rpt_ WaitingLis t]
  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_WaitingL ist]
  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           
  23           IF  (@REPORT_ TYPE = 'WA IT_LIST')
  24                    BEGI N
  25           
  26                    IF @ DATE_FROM  > @DATE_TO
  27                             RAISER ROR ('The  start date  is greate r than the  end date.  Please co rrect.', 1 8, 13)
  28                    ELSE
  29                    BEGI N
  30                    
  31                             set @D ATE_FROM =  DATEADD ( minute, -@ TIME_ZONE_ MINUTES_OF FSET, @DAT E_FROM );
  32                             set @D ATE_TO = D ATEADD (mi nute, -@TI ME_ZONE_MI NUTES_OFFS ET, @DATE_ TO );
  33  
  34                             --GET  INFORMATIO N ABOUT SE LECTED FAC ILITIES
  35                              CREATE TAB LE #TBL_FA CILITY (SO URCE_ID N DNS    AR(250) PR IMARY KEY,  FACILITY_ NAME N DNS    AR(250), T IMEZONE_OF FSET INT)
  36                             INSERT  INTO #TBL _FACILITY( SOURCE_ID,  FACILITY_ NAME, TIME ZONE_OFFSE T) 
  37                              SELECT DIS TINCT CONV ERT(N DNS    AR(250), F ACILITY.VA LUE), ORG. NAME,    [dbo].[ufn _GetOffset ByFacility UID](VALUE
  38                             FROM d bo.ufn_Spl it(@FACILI TIES_IDS,  ',') AS FA CILITY
  39                             INNER  JOIN $(var BMS_EIS).d bo.ENTITY  AS ENTITY  ON ENTITY. IDENTIFIER  = FACILIT Y.VALUE 
  40                             INNER  JOIN $(var BMS_EIS).d bo.EHL7_OR GANIZATION  AS ORG ON  ORG.PFK_O RGANIZATIO N = ENTITY .PK_ENTITY
  41  
  42                             --GET  VOCABULARY  WAITING A REA                     
  43                              CREATE TAB LE #WAITIN G_AREA(PK  INT PRIMAR Y KEY, SOU RCE_ID INT , DISPLAY_ NAME N DNS    AR(250))
  44                             INSERT  INTO #WAI TING_AREA( PK, SOURCE _ID, DISPL AY_NAME)
  45                             SELECT  MAX_WAITI NG_AREA.PK , MAX_WAIT ING_AREA.I D, CONCEPT .DISPLAY_N AME
  46                             FROM (   
  47                             SELECT  MAX(PK) A S PK, ID
  48                             FROM d bo.CONCEPT _H
  49                             WHERE  code_syste m_name = ' WaitingAre a'
  50                             GROUP  BY ID) AS  MAX_WAITIN G_AREA 
  51                             INNER  JOIN DBO.C ONCEPT_H A S CONCEPT  ON CONCEPT .PK = MAX_ WAITING_AR EA.PK
  52                             
  53                             --GET  VOCABULARY  FEE DISPO SITION
  54                              CREATE TAB LE #FEE_DI SPOSITION    (PK INT PR IMARY KEY,  SOURCE_ID  INT, DISP LAY_NAME N DNS    AR(250))
  55                             INSERT  INTO #FEE _DISPOSITI ON(PK, SOU RCE_ID, DI SPLAY_NAME )
  56                             SELECT  MAX_FEE_D ISP.PK, MA X_FEE_DISP .ID, CONCE PT_D.DISPL AY_NAME
  57                             FROM (
  58                                               SELECT MAX (PK) as PK , ID
  59                                               FROM dbo.C ONCEPT_H
  60                                               WHERE code _system_na me = 'FeeD isposition '
  61                                               GROUP BY I D)  AS MAX _FEE_DISP 
  62                             INNER  JOIN dbo.C ONCEPT_H A S CONCEPT_ D ON CONCE PT_D.PK =  MAX_FEE_DI SP.PK
  63                             
  64                             --GET  VOCABULARY  STRICT DE CISION
  65                              CREATE TAB LE #STRICT _DECISION  (PK INT PR IMARY KEY,  SOURCE_ID  INT, DISP LAY_NAME N DNS    AR(250))
  66                             INSERT  INTO #STR ICT_DECISI ON(PK, SOU RCE_ID, DI SPLAY_NAME )                                  
  67                             SELECT  MAX_CONCE PT_CONTRAC T._PK, MAX _CONCEPT_C ONTRACT.ID , CONCEPT_ C.DISPLAY_ NAME
  68                             FROM(
  69                                               SELECT MAX (PK) as _P K, ID
  70                                               FROM dbo.C ONCEPT_H
  71                                               WHERE code _system_na me = 'Stri ctDecision '
  72                                               GROUP BY I D ) AS MAX _CONCEPT_C ONTRACT 
  73                             INNER  JOIN dbo.C ONCEPT_H A S CONCEPT_ C ON CONCE PT_C.PK =  MAX_CONCEP T_CONTRACT ._PK
  74                                      
  75                             --GET  VOCABULARY  VISTA SPE CIALTY
  76                              CREATE TAB LE #VISTA_ SPECIALTY( PK INT PRI MARY KEY,  SOURCE_ID  INT, DISPL AY_NAME N DNS    AR(250))
  77                             INSERT  INTO #VIS TA_SPECIAL TY(PK, SOU RCE_ID, DI SPLAY_NAME )       
  78                             SELECT  MAX_CONCE PT_SERVICE ._PK, MAX_ CONCEPT_SE RVICE.ID,  CONCEPT_S. DISPLAY_NA ME  
  79                             FROM(
  80                                               SELECT MAX (PK) as _P K, ID
  81                                               FROM dbo.C ONCEPT_H
  82                                               WHERE code _system_na me = 'Vist aSpecialty '
  83                                               GROUP BY I D
  84                                              
  85                                      ) AS MAX _CONCEPT_S ERVICE 
  86                             INNER  JOIN dbo.C ONCEPT_H A S CONCEPT_ S ON CONCE PT_S.PK =  MAX_CONCEP T_SERVICE. _PK 
  87                             
  88                             --GET  VOCABULARY  FEE REASO N
  89                              CREATE TAB LE #FEE_RE ASON (PK I NT PRIMARY  KEY, SOUR CE_ID INT,  DISPLAY_N AME N DNS    AR(250))
  90                             INSERT  INTO #FEE _REASON(PK , SOURCE_I D, DISPLAY _NAME)             
  91                             SELECT  MAX_CONCE PT_REASON. _PK, MAX_C ONCEPT_REA SON.ID, CO NCEPT_R.DI SPLAY_NAME
  92                             FROM (
  93                                               SELECT MAX (PK) as _P K, ID
  94                                               FROM dbo.C ONCEPT_H
  95                                               WHERE code _system_na me = 'FeeR eason'
  96                                               GROUP BY I D
  97                                              
  98                                      ) AS MAX _CONCEPT_R EASON 
  99                             INNER  JOIN dbo.C ONCEPT_H A S CONCEPT_ R ON CONCE PT_R.PK =  MAX_CONCEP T_REASON._ PK
  100                             
  101                             --GET  AVAILABLE  INFORMATIO N ABOUT WA ITING LIST  HISTORY
  102                             CREATE  TABLE #HI STORY_WAIT ING_LIST
  103                             (
  104                             [PK] [ int] NOT N ULL PRIMAR Y KEY,
  105                             [ACT_I D] [int] N OT NULL,
  106                              [FACILITY_ NAME] [N DNS    AR] (250)  NULL,
  107                             [PATIE NT_UID] [U NIQUEIDENT IFIER] NUL L,
  108                             [BED_U ID] [UNIQU EIDENTIFIE R] NULL,
  109                             [REQ_B ED_DATE] [ datetime]  NULL,
  110                             [PROBL EM] [nvarc har] (max)  NULL,
  111                             [TYPE_ OF_BED_WAR D] [nvarch ar] (250)  NULL,
  112                              [WAITING_A REA] [N DNS    AR] (250)  NULL,
  113                              [FEE_DISPO SITION] [N DNS    AR] (250)  NULL,
  114                              [CONTRACT_ FEE] [N DNS    AR] (250)  NULL,
  115                              [AUTH_FEE]  [N DNS    AR] (250)  NULL,
  116                              [SERV_REC]  [N DNS    AR] (250)  NULL,
  117                              [REASON] [ N DNS    AR] (250)  NULL,
  118                             [COMME NTS] [nvar char] (150 )  NULL,
  119                             [CREAT ED_BY] [nv archar] (5 0) NULL,
  120                             [DATE_ FAC] [DATE TIME] NULL ,
  121                             TRANSA CTION_TYPE _CODE [var char] (50)  NULL
  122                             ) 
  123                             CREATE  UNIQUE IN DEX IX_HIS TORY_W_L_P K_ACT_ID O N #HISTORY _WAITING_L IST(PK, AC T_ID)
  124                             CREATE  UNIQUE NO NCLUSTERED  INDEX IX_ HISTORY_W_ L_FAC_NAME _ACT_ID_DA TE_FAC ON  #HISTORY_W AITING_LIS T (FACILIT Y_NAME, AC T_ID, DATE _FAC) 
  125                             
  126                             INSERT  INTO #HIS TORY_WAITI NG_LIST(PK , ACT_ID,  FACILITY_N AME, PATIE NT_UID,
  127                                                       BE D_UID, REQ _BED_DATE,  PROBLEM,  TYPE_OF_BE D_WARD, WA ITING_AREA ,
  128                                                       FE E_DISPOSIT ION,CONTRA CT_FEE,AUT H_FEE,SERV _REC, REAS ON,
  129                                                       CO MMENTS,CRE ATED_BY,DA TE_FAC,TRA NSACTION_T YPE_CODE)
  130                             SELECT  FIRST_ROW _COMPARED. PK, FIRST_ ROW_COMPAR ED.ACT_ID,  FAC.FACIL ITY_NAME,
  131                                               A.PATIENT_ UID,
  132                                               FIRST_ROW_ COMPARED.R EQUESTED_B ED_UID,
  133                                               DATEADD (m inute, 
  134                                               ISNULL(fac .TIMEZONE_ OFFSET * 6 0,
  135                                                                @TIM E_ZONE_MIN UTES_OFFSE T), FIRST_ ROW_COMPAR ED.REQUEST ED_BED_DAT E),
  136                                               FIRST_ROW_ COMPARED.P ROBLEM, FI RST_ROW_CO MPARED.TYP E_OF_BED_W ARD, CONCE PT_W.DISPL AY_NAME, C ONCEPT_D.D ISPLAY_NAM E, 
  137                                               CONCEPT_C. DISPLAY_NA ME, CONCEP T_A.DISPLA Y_NAME, CO NCEPT_S.DI SPLAY_NAME , CONCEPT_ R.DISPLAY_ NAME, FIRS T_ROW_COMP ARED.COMME NTS, 
  138                                               case when  FIRST_ROW_ COMPARED.C REATED_BY  is null th en 'System
  139                                                        e lse FIRST_ ROW_COMPAR ED.LAST_ED IT_BY
  140                                               end,
  141                                               DATEADD (m inute, 
  142                                                       is null (fac. TIMEZONE_O FFSET * 60 ,
  143                                                                         @TIME_ ZONE_MINUT ES_OFFSET) ,
  144                                                       FI RST_ROW_CO MPARED.[DA TE]),
  145                                               FIRST_ROW_ COMPARED.T RANSACTION _TYPE_CODE  
  146                             FROM W AITING_LIS T_H AS FIR ST_ROW_COM PARED
  147                                               INNER JOIN  #TBL_FACI LITY AS FA C ON FAC.S OURCE_ID =  FIRST_ROW _COMPARED. FACILITY_U ID 
  148                                               LEFT JOIN  #WAITING_A REA AS CON CEPT_W ON  CONCEPT_W. SOURCE_ID  = FIRST_RO W_COMPARED .WAITING_A REA_ID
  149                                               LEFT JOIN  #FEE_DISPO SITION AS  CONCEPT_D  ON CONCEPT _D.SOURCE_ ID = FIRST _ROW_COMPA RED.FEE_DI SPOSITION_ ID
  150                                               LEFT JOIN  #STRICT_DE CISION AS  CONCEPT_C  ON CONCEPT _C.SOURCE_ ID = FIRST _ROW_COMPA RED.CONTRA CT_FEE_ID
  151                                               LEFT JOIN  #STRICT_DE CISION AS  CONCEPT_A  ON CONCEPT _A.SOURCE_ ID = FIRST _ROW_COMPA RED.AUTHOR IZED_FEE_I D
  152                                               LEFT JOIN  #VISTA_SPE CIALTY AS  CONCEPT_S  ON CONCEPT _S.SOURCE_ ID = FIRST _ROW_COMPA RED.SERVIC E_RECEIVIN G_FEE_ID     
  153                                               LEFT JOIN  #FEE_REASO N AS CONCE PT_R ON CO NCEPT_R.SO URCE_ID =  FIRST_ROW_ COMPARED.R EASON_USIN G_FEE_ID
  154                                               INNER JOIN  
  155                                               (
  156                                                       SE LECT disti nct ID, PA TIENT_UID 
  157                                                       FR OM dbo.ACT _H  
  158                                               ) A  ON  A .ID = FIRS T_ROW_COMP ARED.ACT_I D
  159                                                       
  160                                      LEFT JOI N WAITING_ LIST_H AS  SECOND_ROW _COMPARED  ON  SECOND _ROW_COMPA RED.PK = ( SELECT MAX (NEXT_ROW_ COMPARED.P K)
  161                                      FROM WAI TING_LIST_ H AS NEXT_ ROW_COMPAR ED                                   
  162                                      WHERE NE XT_ROW_COM PARED.ACT_ ID = FIRST _ROW_COMPA RED.ACT_ID  AND  
  163                                      NEXT_ROW _COMPARED. PK < FIRST _ROW_COMPA RED.PK AND
  164                                      (NEXT_RO W_COMPARED .[DATE] >=  @DATE_FRO M and NEXT _ROW_COMPA RED.[DATE]  <= @DATE_ TO))        
  165                                               AND (FIRST _ROW_COMPA RED.FACILI TY_UID = S ECOND_ROW_ COMPARED.F ACILITY_UI D OR (FIRS T_ROW_COMP ARED.FACIL ITY_UID IS  NULL AND  SECOND_ROW _COMPARED. FACILITY_U ID IS NULL ))
  166                                               AND (FIRST _ROW_COMPA RED.REQUES TED_BED_UI D = SECOND _ROW_COMPA RED.REQUES TED_BED_UI D OR (FIRS T_ROW_COMP ARED.REQUE STED_BED_U ID IS NULL  AND SECON D_ROW_COMP ARED.REQUE STED_BED_U ID IS NULL ))  
  167                                               AND (FIRST _ROW_COMPA RED.REQUES TED_BED_DA TE = SECON D_ROW_COMP ARED.REQUE STED_BED_D ATE OR (FI RST_ROW_CO MPARED.REQ UESTED_BED _DATE IS N ULL AND SE COND_ROW_C OMPARED.RE QUESTED_BE D_DATE IS  NULL))       
  168                                               AND (FIRST _ROW_COMPA RED.PROBLE M = SECOND _ROW_COMPA RED.PROBLE M OR (FIRS T_ROW_COMP ARED.PROBL EM IS NULL  AND SECON D_ROW_COMP ARED.PROBL EM IS NULL ))
  169                                               AND (FIRST _ROW_COMPA RED.TYPE_O F_BED_WARD  = SECOND_ ROW_COMPAR ED.TYPE_OF _BED_WARD  OR (FIRST_ ROW_COMPAR ED.TYPE_OF _BED_WARD  IS NULL AN D SECOND_R OW_COMPARE D.TYPE_OF_ BED_WARD I S NULL))                
  170                                               AND (FIRST _ROW_COMPA RED.WAITIN G_AREA_ID  = SECOND_R OW_COMPARE D.WAITING_ AREA_ID OR  (FIRST_RO W_COMPARED .WAITING_A REA_ID IS  NULL AND S ECOND_ROW_ COMPARED.W AITING_ARE A_ID IS NU LL))
  171                                               AND (FIRST _ROW_COMPA RED.FEE_DI SPOSITION_ ID = SECON D_ROW_COMP ARED.FEE_D ISPOSITION _ID OR (FI RST_ROW_CO MPARED.FEE _DISPOSITI ON_ID IS N ULL AND SE COND_ROW_C OMPARED.FE E_DISPOSIT ION_ID IS  NULL))               
  172                                               AND (FIRST _ROW_COMPA RED.CONTRA CT_FEE_ID  = SECOND_R OW_COMPARE D.CONTRACT _FEE_ID OR  (FIRST_RO W_COMPARED .CONTRACT_ FEE_ID IS  NULL AND S ECOND_ROW_ COMPARED.C ONTRACT_FE E_ID IS NU LL))    
  173                                               AND (FIRST _ROW_COMPA RED.AUTHOR IZED_FEE_I D = SECOND _ROW_COMPA RED.AUTHOR IZED_FEE_I D OR (FIRS T_ROW_COMP ARED.AUTHO RIZED_FEE_ ID IS NULL  AND SECON D_ROW_COMP ARED.AUTHO RIZED_FEE_ ID IS NULL ))    
  174                                               AND (FIRST _ROW_COMPA RED.SERVIC E_RECEIVIN G_FEE_ID =  SECOND_RO W_COMPARED .SERVICE_R ECEIVING_F EE_ID OR ( FIRST_ROW_ COMPARED.S ERVICE_REC EIVING_FEE _ID IS NUL L AND SECO ND_ROW_COM PARED.SERV ICE_RECEIV ING_FEE_ID  IS NULL))                
  175                                               AND (FIRST _ROW_COMPA RED.REASON _USING_FEE _ID = SECO ND_ROW_COM PARED.REAS ON_USING_F EE_ID OR ( FIRST_ROW_ COMPARED.R EASON_USIN G_FEE_ID I S NULL AND  SECOND_RO W_COMPARED .REASON_US ING_FEE_ID  IS NULL))     
  176                                               AND (FIRST _ROW_COMPA RED.COMMEN TS = SECON D_ROW_COMP ARED.COMME NTS OR (FI RST_ROW_CO MPARED.COM MENTS IS N ULL AND SE COND_ROW_C OMPARED.CO MMENTS IS  NULL))         
  177                             WHERE  SECOND_ROW _COMPARED. PK IS NULL  AND FIRST _ROW_COMPA RED.[DATE]  >= @DATE_ FROM AND F IRST_ROW_C OMPARED.[D ATE] <= @D ATE_TO       
  178                             ORDER  BY FIRST_R OW_COMPARE D.ACT_ID,  FIRST_ROW_ COMPARED.P K DESC
  179                             
  180                             DROP T ABLE #TBL_ FACILITY
  181                             DROP T ABLE #WAIT ING_AREA
  182                             DROP T ABLE #FEE_ DISPOSITIO N
  183                             DROP T ABLE #FEE_ REASON
  184                             DROP T ABLE #STRI CT_DECISIO N
  185                             DROP T ABLE #VIST A_SPECIALT Y
  186                             
  187                             --GET  PATIENTS I NFORMATION
  188                              CREATE TAB LE #PATIEN TS (PATIEN T_UID UNIQ UEIDENTIFI ER PRIMARY  KEY, PATI ENT_NAME N DNS    AR(250))             
  189                             INSERT  INTO #PAT IENTS(PATI ENT_UID, P ATIENT_NAM E)
  190                             SELECT  DISTINCT  PAC.PATIEN T_UID, SUB STRING(PER SON.[NAME_ FAMILY], 1 , 1) + SUB STRING(s.[ IDENTIFIER _EXTENSION ], 7, 5)
  191                             FROM # HISTORY_WA ITING_LIST  AS PAC
  192                             INNER  JOIN $(var BMS_EIS).d bo.ENTITY  AS ENTITY  ON ENTITY. IDENTIFIER  = PAC.PAT IENT_UID
  193                             INNER  JOIN $(var BMS_EIS).d bo.EHL7_PE RSON AS PE RSON ON PE RSON.PFK_P ERSON = EN TITY.PK_EN TITY
  194                             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 '
  195                             
  196                             --GET  BED INFORM ATION
  197                              CREATE TAB LE #BEDS ( BED_UID UN IQUEIDENTI FIER PRIMA RY KEY, BE D_NAME N DNS    AR(250))
  198                             INSERT  INTO #BED S(BED_UID,  BED_NAME)
  199                             SELECT  DISTINCT  BED.BED_UI D, PLACE.N AME
  200                             FROM # HISTORY_WA ITING_LIST  AS BED
  201                             INNER  JOIN $(var BMS_EIS).d bo.ENTITY  AS ENTITY  ON ENTITY. IDENTIFIER  = BED.BED _UID
  202                             INNER  JOIN $(var BMS_EIS).d bo.EHL7_PL ACE AS PLA CE ON PLAC E.PFK_PLAC E = ENTITY .PK_ENTITY
  203                             WHERE  BED.BED_UI D IS NOT N ULL
  204                             
  205                             
  206                    SELE CT H_WAITI NG_LIST.AC T_ID,
  207                             CASE H _WAITING_L IST.TRANSA CTION_TYPE _CODE
  208                                       WHEN 'D ' THEN 
  209                                                CASE WHEN  PREVIOUS_ H_WAITING_ LIST.PK IS  NOT NULL  THEN ''
  210                                                       EL SE H_WAITI NG_LIST.FA CILITY_NAM E                
  211                                                END 
  212                                       WHEN 'I ' THEN  H_ WAITING_LI ST.FACILIT Y_NAME
  213                                       WHEN 'U ' THEN
  214                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.FAC ILITY_NAME  = H_WAITI NG_LIST.FA CILITY_NAM E THEN ''
  215                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .FACILITY_ NAME IS NO T NULL AND  H_WAITING _LIST.FACI LITY_NAME  IS NULL TH EN 'DELETE D PREVIOUS  INFORMATI ON'
  216                                                        E LSE H_WAIT ING_LIST.F ACILITY_NA ME               
  217                                               END 
  218                              END A S FACILITY ,        
  219                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  220                                       WHEN 'D ' THEN 
  221                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  222                                               ELSE PATIE NT.PATIENT _NAME                
  223                                               END 
  224                                       WHEN 'I ' THEN  PA TIENT.PATI ENT_NAME
  225                                       WHEN 'U ' THEN
  226                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.PAT IENT_UID =  H_WAITING _LIST.PATI ENT_UID TH EN ''
  227                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .PATIENT_U ID IS NOT  NULL AND H _WAITING_L IST.PATIEN T_UID IS N ULL THEN ' DELETED PR EVIOUS INF ORMATION'
  228                                                        E LSE PATIEN T.PATIENT_ NAME               
  229                                               END 
  230                              END A S PATIENT_ NAME,
  231                              
  232                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  233                                       WHEN 'D ' THEN 
  234                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  235                                               ELSE BED.B ED_NAME                 
  236                                               END 
  237                                       WHEN 'I ' THEN  BE D.BED_NAME
  238                                       WHEN 'U ' THEN
  239                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.BED _UID = H_W AITING_LIS T.BED_UID  THEN ''
  240                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .BED_UID I S NOT NULL  AND H_WAI TING_LIST. BED_UID IS  NULL THEN  'DELETED  PREVIOUS I NFORMATION '
  241                                                        E LSE BED.BE D_NAME               
  242                                               END 
  243                              END A S BED,
  244                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  245                                       WHEN 'D ' THEN 
  246                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  247                                               ELSE conve rt(varchar (20),H_WAI TING_LIST. REQ_BED_DA TE,101)+ '  '+convert (varchar(2 0),H_WAITI NG_LIST.RE Q_BED_DATE ,108)+ ' '  +right(co nvert(varc har(30),H_ WAITING_LI ST.REQ_BED _DATE,109) ,2) 
  248                                               END 
  249                                       WHEN 'I ' THEN con vert(varch ar(20),H_W AITING_LIS T.REQ_BED_ DATE,101)+  ' '+conve rt(varchar (20),H_WAI TING_LIST. REQ_BED_DA TE,108)+ '  ' +right( convert(va rchar(30), H_WAITING_ LIST.REQ_B ED_DATE,10 9),2) 
  250                                       WHEN 'U ' THEN
  251                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.REQ _BED_DATE  = H_WAITIN G_LIST.REQ _BED_DATE  THEN ''
  252                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .REQ_BED_D ATE IS NOT  NULL AND  H_WAITING_ LIST.REQ_B ED_DATE IS  NULL THEN  'DELETED  PREVIOUS I NFORMATION '
  253                                                        E LSE   conv ert(varcha r(20),H_WA ITING_LIST .REQ_BED_D ATE,101)+  ' '+conver t(varchar( 20),H_WAIT ING_LIST.R EQ_BED_DAT E,108)+ '  ' +right(c onvert(var char(30),H _WAITING_L IST.REQ_BE D_DATE,109 ),2)               
  254                                               END 
  255                              END A S REQ_BED_ DATE,
  256                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  257                                       WHEN 'D ' THEN 
  258                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  259                                               ELSE  H_WA ITING_LIST .PROBLEM
  260                                               END 
  261                                       WHEN 'I ' THEN  H_ WAITING_LI ST.PROBLEM
  262                                       WHEN 'U ' THEN
  263                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.PRO BLEM = H_W AITING_LIS T.PROBLEM  THEN ''
  264                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .PROBLEM I S NOT NULL  AND H_WAI TING_LIST. PROBLEM IS  NULL THEN  'DELETED  PREVIOUS I NFORMATION '
  265                                                        E LSE  H_WAI TING_LIST. PROBLEM            
  266                                               END 
  267                              END A S PROBLEM,
  268                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  269                                       WHEN 'D ' THEN 
  270                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  271                                               ELSE  H_WA ITING_LIST .TYPE_OF_B ED_WARD
  272                                               END 
  273                                       WHEN 'I ' THEN  H_ WAITING_LI ST.TYPE_OF _BED_WARD
  274                                       WHEN 'U ' THEN
  275                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.TYP E_OF_BED_W ARD = H_WA ITING_LIST .TYPE_OF_B ED_WARD TH EN ''
  276                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .TYPE_OF_B ED_WARD IS  NOT NULL  AND H_WAIT ING_LIST.T YPE_OF_BED _WARD IS N ULL THEN ' DELETED PR EVIOUS INF ORMATION'
  277                                                        E LSE  H_WAI TING_LIST. TYPE_OF_BE D_WARD           
  278                                               END 
  279                              END A S TYPE_OF_ BED_WARD,
  280                              
  281                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  282                                       WHEN 'D ' THEN 
  283                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  284                                               ELSE  H_WA ITING_LIST .WAITING_A REA
  285                                               END 
  286                                       WHEN 'I ' THEN  H_ WAITING_LI ST.WAITING _AREA
  287                                       WHEN 'U ' THEN
  288                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.WAI TING_AREA  = H_WAITIN G_LIST.WAI TING_AREA  THEN ''
  289                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .WAITING_A REA IS NOT  NULL AND  H_WAITING_ LIST.WAITI NG_AREA IS  NULL THEN  'DELETED  PREVIOUS I NFORMATION '
  290                                                        E LSE  H_WAI TING_LIST. WAITING_AR EA               
  291                                               END 
  292                              END A S WAITING_ AREA,    
  293                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  294                                       WHEN 'D ' THEN 
  295                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  296                                               ELSE  H_WA ITING_LIST .FEE_DISPO SITION
  297                                               END 
  298                                       WHEN 'I ' THEN  H_ WAITING_LI ST.FEE_DIS POSITION
  299                                       WHEN 'U ' THEN
  300                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.FEE _DISPOSITI ON = H_WAI TING_LIST. FEE_DISPOS ITION THEN  ''
  301                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .FEE_DISPO SITION IS  NOT NULL A ND H_WAITI NG_LIST.FE E_DISPOSIT ION IS NUL L THEN 'DE LETED PREV IOUS INFOR MATION'
  302                                                        E LSE  H_WAI TING_LIST. FEE_DISPOS ITION            
  303                                               END 
  304                              END A S FEE_DISP OSITION, 
  305                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  306                                       WHEN 'D ' THEN 
  307                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  308                                               ELSE  H_WA ITING_LIST .CONTRACT_ FEE
  309                                               END 
  310                                       WHEN 'I ' THEN  H_ WAITING_LI ST.CONTRAC T_FEE
  311                                       WHEN 'U ' THEN
  312                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.CON TRACT_FEE  = H_WAITIN G_LIST.CON TRACT_FEE  THEN ''
  313                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .CONTRACT_ FEE IS NOT  NULL AND  H_WAITING_ LIST.CONTR ACT_FEE IS  NULL THEN  'DELETED  PREVIOUS I NFORMATION '
  314                                                        E LSE  H_WAI TING_LIST. CONTRACT_F EE               
  315                                               END 
  316                              END A S CONTRACT _FEE,
  317                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  318                                       WHEN 'D ' THEN 
  319                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  320                                               ELSE  H_WA ITING_LIST .AUTH_FEE
  321                                               END 
  322                                       WHEN 'I ' THEN  H_ WAITING_LI ST.AUTH_FE E
  323                                       WHEN 'U ' THEN
  324                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.AUT H_FEE = H_ WAITING_LI ST.AUTH_FE E THEN ''
  325                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .AUTH_FEE  IS NOT NUL L AND H_WA ITING_LIST .AUTH_FEE  IS NULL TH EN 'DELETE D PREVIOUS  INFORMATI ON'
  326                                                        E LSE  H_WAI TING_LIST. AUTH_FEE           
  327                                               END 
  328                              END A S AUTH_FEE
  329                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  330                                       WHEN 'D ' THEN 
  331                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  332                                               ELSE  H_WA ITING_LIST .SERV_REC
  333                                               END 
  334                                       WHEN 'I ' THEN  H_ WAITING_LI ST.SERV_RE C
  335                                       WHEN 'U ' THEN
  336                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.SER V_REC = H_ WAITING_LI ST.SERV_RE C THEN ''
  337                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .SERV_REC  IS NOT NUL L AND H_WA ITING_LIST .SERV_REC  IS NULL TH EN 'DELETE D PREVIOUS  INFORMATI ON'
  338                                                        E LSE  H_WAI TING_LIST. SERV_REC           
  339                                               END 
  340                              END A S SERV_REC ,
  341                              
  342                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  343                                       WHEN 'D ' THEN 
  344                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  345                                               ELSE  H_WA ITING_LIST .REASON
  346                                               END 
  347                                       WHEN 'I ' THEN  H_ WAITING_LI ST.REASON
  348                                       WHEN 'U ' THEN
  349                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.REA SON = H_WA ITING_LIST .REASON TH EN ''
  350                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .REASON IS  NOT NULL  AND H_WAIT ING_LIST.R EASON IS N ULL THEN ' DELETED PR EVIOUS INF ORMATION'
  351                                                        E LSE  H_WAI TING_LIST. REASON             
  352                                               END 
  353                              END A S REASON, 
  354                              CASE  H_WAITING_ LIST.TRANS ACTION_TYP E_CODE
  355                                       WHEN 'D ' THEN 
  356                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL T HEN ''
  357                                               ELSE  H_WA ITING_LIST .COMMENTS
  358                                               END 
  359                                       WHEN 'I ' THEN  H_ WAITING_LI ST.COMMENT S
  360                                       WHEN 'U ' THEN
  361                                               CASE WHEN  PREVIOUS_H _WAITING_L IST.PK IS  NOT NULL A ND PREVIOU S_H_WAITIN G_LIST.COM MENTS = H_ WAITING_LI ST.COMMENT S THEN ''
  362                                                        W HEN PREVIO US_H_WAITI NG_LIST.PK  IS NOT NU LL AND PRE VIOUS_H_WA ITING_LIST .COMMENTS  IS NOT NUL L AND H_WA ITING_LIST .COMMENTS  IS NULL TH EN 'DELETE D PREVIOUS  INFORMATI ON'
  363                                                        E LSE  H_WAI TING_LIST. COMMENTS           
  364                                               END 
  365                              END A S COMMENTS ,
  366                              CASE  WHEN H_WAI TING_LIST. CREATED_BY  IS NULL T HEN 'SYSTE M' 
  367                                                        E LSE  H_WAI TING_LIST. CREATED_BY
  368                                               END AS CRE ATED_BY,
  369                              H_WAI TING_LIST. DATE_FAC A S DATE_FAC ,
  370                             CASE H _WAITING_L IST.TRANSA CTION_TYPE _CODE WHEN  'I' THEN  'Inserted'
  371                                               WHEN 'U' T HEN 'Updat ed' WHEN ' D' THEN 'D eleted' EN D AS EVENT _TYPE
  372                    FROM  #HISTORY_ WAITING_LI ST AS H_WA ITING_LIST
  373                    LEFT  JOIN #HIS TORY_WAITI NG_LIST AS  PREVIOUS_ H_WAITING_ LIST ON PR EVIOUS_H_W AITING_LIS T.PK = (SE LECT MAX(P K) FROM #H ISTORY_WAI TING_LIST  WHERE ACT_ ID = H_WAI TING_LIST. ACT_ID AND  PK < H_WA ITING_LIST .PK)
  374                    LEFT  JOIN #BED S AS BED O N BED.BED_ UID = H_WA ITING_LIST .BED_UID
  375                    LEFT  JOIN #PAT IENTS AS P ATIENT ON  PATIENT.PA TIENT_UID  = H_WAITIN G_LIST.PAT IENT_UID
  376                    ORDE R BY  H_WA ITING_LIST .FACILITY_ NAME, H_WA ITING_LIST .ACT_ID,   H_WAITING_ LIST.DATE_ FAC 
  377    
  378                    DROP  TABLE #HI STORY_WAIT ING_LIST
  379                    DROP  TABLE #PA TIENTS
  380                    DROP  TABLE #BE DS
  381                             
  382                    END
  383           EN D
  384           
  385   END     
  386  
  387   GO