98. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 3/21/2018 5:29:12 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.

98.1 Files compared

# Location File Last Modified
1 Wed Mar 21 21:29:12 2018 UTC
2 AHOBPRe_v4.3.15_bld3.zip\DatabaseScripts\AHOBPR\Increment 2\Prod\Increment 2 - 20150827\AHOBPR_Database_1_0_50.zip Registry.AHOBPR.Database.Rollback.sql Wed Aug 12 17:19:18 2015 UTC

98.2 Comparison summary

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

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

98.4 Active regular expressions

No regular expressions were active.

98.5 Comparison detail

        1  
        2   :setvar Da tabaseName  "Registry QA"
        3   :setvar Ma jorRelease Number "1"
        4   :setvar Mi norRelease Number "0"
        5   :setvar Po intRelease Number "48 "
        6   :setvar De ployVersio n "2015072 2.1"
        7  
        8   PRINT ' 
        9   ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------
        10   Registry.A HOBPR.Data base.Rollb ack.sql
        11  
        12   Version Re lease $(Ma jorRelease Number).$( MinorRelea seNumber). $(PointRel easeNumber )
        13  
        14   Build $(De ployVersio n)
        15  
        16   ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------
        17    ';
        18   PRINT 'Sta rted ' + C AST(GETDAT E() as var char(20))  + '.';
        19   PRINT ' 
        20   ********** ********** ********** ********** ********** *******
        21   NOTE: This  script mu st be run  with SQLCM D Mode tur ned on.
        22   ********** ********** ********** ********** ********** *******
        23  
        24   ';
        25   GO
        26   :on error  exit
        27   GO
        28   :setvar __ IsSqlCmdEn abled "Tru e"
        29   /*
        30   Detect SQL CMD mode a nd disable  script ex ecution if  SQLCMD mo de is not  supported.
        31   To re-enab le the scr ipt after  enabling S QLCMD mode , execute  the follow ing:
        32   SET NOEXEC  OFF; 
        33   */
        34   GO
        35   IF N'$(__I sSqlCmdEna bled)' NOT  LIKE N'Tr ue'
        36       BEGIN
        37           PR INT N'SQLC MD mode mu st be enab led to suc cessfully  execute th is script. ';
        38           SE T NOEXEC O N;
        39       END
        40  
        41   GO
        42  
        43   USE [$(Dat abaseName) ]
        44   GO
        45  
        46   PRINT 'ALT ER PROCEDU RE [AHOBPR ].[SP_Repo rtRegistra ntContact] ..';
        47   GO
        48  
        49   -- ======= ========== ========== ========== ========
        50   -- Author:                Bruce  Clegg
        51   -- Create  date: Jan  12, 2015
        52   -- Descrip tion: Used  for the A HOBPR Cont act Report   -- exec  [AHOBPR].[ SP_ReportR egistrantC ontact]     (More opt ions at bo ttom)
        53   -- 2015-02 -23 - Cleg g - provid e individu al field n ames
        54   -- 2015033 0 - Bruce  Clegg - Ad ded VisnId  value of  NLA to fin d Null loc ations
        55   -- 2015042 7 - Bruce  Clegg - Ch ange to Lo cationType  and Key,  for both A ssigned an d Evaluate d Location s
        56   -- 2015042 9 - Bruce  Clegg - Ad ded Email  column (ag ain)
        57   -- 2015061 7 - D. Bar r - Added  state para meter
        58   -- ======= ========== ========== ========== ========
        59   ALTER PROC EDURE [AHO BPR].[SP_R eportRegis trantConta ct]
        60          @Re gistrantSt atus       VARCHAR(50 ) = '',     -- '1,2,3 ,4,5,6,7,8 '
        61          @Sv cStatus               VARCHAR(50 ) = '',     -- '1,2,3 '
        62          @Ad minFlagId             INT = 0,               -- 60
        63          @Ad minFromDat eText      VARCHAR(50 ) = NULL,
        64          @Ad minToDateT ext        VARCHAR(50 ) = NULL,
        65          @Su bPopulatio nFlagId    INT = 0,               -- 65
        66          @As signedLoca tionType   VARCHAR(20 ) = NULL,   -- 'VISN' , 'Base',  'Instituti on', 'NLA'  = No Loca tion Assig ned
        67          @As signedLoca tionKey    VARCHAR(50 ) = NULL,   -- 'V16',  'V01'     1000109,   1000089
        68          @Ev aluatedLoc ationType  VARCHAR(20 ) = NULL,   -- 'VISN' , 'Base',  'Instituti on', 'NLA'  = No Loca tion Assig ned
        69          @Ev aluatedLoc ationKey   VARCHAR(50 ) = NULL,   -- 'V16',  'V01'     1000109,   1000089
        70          @Co mpletedFro mDateText  VARCHAR(50 ) = NULL,
        71          @Co mpletedToD ateText    VARCHAR(50 ) = NULL,
        72          @st ate varcha r(8000) =  NULL -- Mu ltiple sta tes, comma -separated  values wh en not NUL
        73   AS
        74   BEGIN
        75  
        76   DECLARE @A dminFromDa te DATETIM E2(0) = IS NULL(dbo.C leanDate(@ AdminFromD ateText),' 19000101')
        77   DECLARE @A dminToDate    DATETIM E2(0) = db o.AddMaxTi me(ISNULL( dbo.CleanD ate(@Admin ToDateText ),GETDATE( ))); 
        78   DECLARE @C ompletedFr omDate DAT ETIME2(0)  = ISNULL(d bo.CleanDa te(@Comple tedFromDat eText),'19 000101')
        79   DECLARE @C ompletedTo Date   DAT ETIME2(0)  = dbo.AddM axTime(ISN ULL(dbo.Cl eanDate(@C ompletedTo DateText), GETDATE()) ); 
        80  
        81   PRINT @Ass ignedLocat ionType;
        82   PRINT @Ass ignedLocat ionKey;
        83  
        84   DECLARE @A ssignedIns titutionId  INT = 0,
        85           @E valuatedIn stitutionI d INT = 0;
        86  
        87   IF @Assign edLocation Type IN (' Base','Ins titution')  
        88   AND ISNUME RIC(@Assig nedLocatio nKey) = 1
        89     SET @Ass ignedInsti tutionId =  CONVERT(I NT,@Assign edLocation Key);
        90     
        91   IF @Evalua tedLocatio nType IN ( 'Base','In stitution'
        92   AND ISNUME RIC(@Evalu atedLocati onKey) = 1
        93     SET @Eva luatedInst itutionId  = CONVERT( INT,@Evalu atedLocati onKey);
        94  
        95   WITH addr 
        96   AS (     
        97       SELECT  REGISTRAN T_ID,
        98                            ISNULL( STREET1,'' )  AS STRE ET1, 
        99                            ISNULL( STREET2,'' )  AS STRE ET2,
        100                            ISNULL( CITY,'')      AS CITY ,
        101                            ISNULL( [STATE],'' )  AS [STA TE],
        102                            ISNULL( COUNTRY,'' )  AS COUN TRY,
        103                            ISNULL( ZIP,'')       AS ZIP
        104                      FR OM  AHOBPR .[REGISTRA NT_ADDRESS ]
        105       )  
        106   ,phone1 
        107   AS (     
        108       SELECT  REGISTRAN T_ID,                      
        109                            ISNULL( PHONE_NUMB ER,'') AS  PHONE_NUMB ER_Main
        110         FROM  AHOBPR.RE GISTRANT_P HONE      
        111        WHERE  ISNULL(TY PE,'Main')  = 'Main'
        112       )        
        113   ,phone2 
        114   AS (     
        115       SELECT  REGISTRAN T_ID,                      
        116                            ISNULL( PHONE_NUMB ER,'') AS  PHONE_NUMB ER_Mobile
        117         FROM  AHOBPR.RE GISTRANT_P HONE      
        118        WHERE  TYPE = 'M obile'
        119       )
        120   ,email 
        121   AS (     
        122       SELECT  REGISTRAN T_ID,                      
        123                            ISNULL( EMAIL,'')  AS EMAIL
        124         FROM  AHOBPR.RE GISTRANT_E MAIL      
        125       )
        126   ,Pref    
        127   AS(
        128         SELE CT fr.REGI STRANT_ID 
        129               ,ans.TEXT  AS Contac tPreferenc e
        130           FR OM  AHOBPR .FORM_RESP ONSE fr
        131           JO IN AHOBPR. FORM_RESPO NSE_QUESTI ON rQst ON  fr.FORM_R ESPONSE_ID  = rQst.FO RM_RESPONS E_ID
        132           JO IN AHOBPR. STD_FORM_Q UESTION qs t ON rQst. STD_FORM_Q UESTION_ID  = qst.STD _FORM_QUES TION_ID
        133           JO IN AHOBPR. FORM_RESPO NSE_ANSWER  rAns ON r Qst.FORM_R ESPONSE_QU ESTION_ID  = rAns.FOR M_RESPONSE _QUESTION_ ID
        134           JO IN AHOBPR. STD_FORM_A NSWER ans  ON ans.STD _FORM_ANSW ER_ID = rA ns.STD_FOR M_ANSWER_I D
        135          WHE RE qst.STD _FORM_ID =  fr.STD_FO RM_ID
        136            A ND qst.FOR M_QUESTION _UNIQUE_ID  = '8.A'
        137    )            
        138           SE LECT 
        139                  reg.RE GISTRANT_I D,
        140                           ISNULL(r eg.LAST_NA ME,'') AS   LAST_NAME ,
        141              ISNULL(reg .FIRST_NAM E,'') AS   FIRST_NAME
        142              ISNULL(Pre f.ContactP reference, '') AS  Co ntactPrefe rence,
        143                           ISNULL(S TREET1,'')  AS  STREE T1, 
        144                           ISNULL(S TREET2,'')  AS  STREE T2,
        145                           ISNULL(C ITY,'') AS   CITY,
        146                           ISNULL([ STATE],'')  AS  [STAT E],
        147                           ISNULL(C OUNTRY,'')  AS  COUNT RY,
        148                           ISNULL(Z IP,'') AS   ZIP,
        149                           ISNULL(p hone1.PHON E_NUMBER_M ain,'') AS   PHONE_NU MBER_Main,
        150                           ISNULL(p hone2.PHON E_NUMBER_M obile,'')  AS  PHONE_ NUMBER_Mob ile,
        151              ISNULL(ema il.EMAIL,' ') AS EMAI L       
        152              FROM AHOBP R.REGISTRA NT reg    
        153              LEFT JOIN  addr  
        154                      ON  reg.REGIS TRANT_ID =  addr.REGI STRANT_ID       
        155              LEFT JOIN  phone1  
        156                      ON  reg.REGIS TRANT_ID =  phone1.RE GISTRANT_I D                       
        157              LEFT JOIN  phone2  
        158                      ON  reg.REGIS TRANT_ID =  phone2.RE GISTRANT_I D            
        159              LEFT JOIN  email  
        160                      ON  reg.REGIS TRANT_ID =  email.REG ISTRANT_ID                               
        161              LEFT JOIN  Pref  
        162                      ON  reg.REGIS TRANT_ID =  Pref.REGI STRANT_ID                                         
        163            W HERE (reg. STD_REGIST RANT_STATU S_ID IN (S ELECT * FR OM fncSpli t(@Registr antStatus,  ',')) 
        164                    OR I SNULL(@Reg istrantSta tus,'') =  '')
        165               AND (reg. STD_SERVIC E_STATUS_I D IN (SELE CT * FROM  fncSplit(@ SvcStatus,  ',')) 
        166                    OR I SNULL(@Svc Status,'')  = '')
        167        AND ( @AssignedL ocationTyp e IS NULL
        168              OR (@Assig nedLocatio nType = 'N LA' 
        169                  AND re g.STD_INST ITUTION_ID  IS NULL)
        170              OR (@Assig nedLocatio nType = 'V ISN' 
        171                   AND E XISTS(SELE CT * FROM  AHOBPR.VIE W_FACILITY _LOOKUP in st
        172                                        WHERE  inst.ID =  reg.STD_IN STITUTION_ ID
        173                                          AND  inst.VisnI D = @Assig nedLocatio nKey)
        174                 )  
        175              OR (@Assig nedLocatio nType = 'B ase' 
        176                   AND E XISTS(SELE CT * FROM  AHOBPR.VIE W_FACILITY _LOOKUP in st
        177                                        WHERE  inst.ID =  reg.STD_IN STITUTION_ ID
        178                                          AND  inst.BASE_ ID = @Assi gnedInstit utionId)
        179                 )  
        180              OR (@Assig nedLocatio nType = 'I nstitution
        181                   AND r eg.STD_INS TITUTION_I D = @Assig nedInstitu tionId)      
        182              )
        183        AND ( @Evaluated LocationTy pe IS NULL
        184              OR (@Evalu atedLocati onType = ' NLA' 
        185                  AND NO T EXISTS(  SELECT * F ROM AHOBPR .REGISTRAN T_VISIT ev al
        186                                     WHERE eva l.REGISTRA NT_ID = Re g.REGISTRA NT_ID 
        187                                       AND eva l.EVALUATI ON_FLAG =  'Y') 
        188                 )
        189              OR (@Evalu atedLocati onType = ' VISN' 
        190                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        191                                         JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID
        192                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        193                                          AND  inst.VisnI D = @Evalu atedLocati onKey
        194                                          AND  eval.EVALU ATION_FLAG  = 'Y') 
        195                 )  
        196              OR (@Evalu atedLocati onType = ' Base' 
        197                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        198                                         JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID
        199                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        200                                          AND  inst.BASE_ ID = @Eval uatedInsti tutionId
        201                                          AND  eval.EVALU ATION_FLAG  = 'Y' )     
        202                 )  
        203              OR (@Evalu atedLocati onType = ' Institutio n' 
        204                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        205                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        206                                          AND  eval.STD_I NSTITUTION _ID = @Eva luatedInst itutionId
        207                                          AND  eval.EVALU ATION_FLAG  = 'Y') 
        208                 )  
        209              )           
        210        AND ( ISNULL(@Su bPopulatio nFlagId, 0 ) = 0 
        211              OR EXISTS( SELECT [RE GISTRANT_I D] FROM AH OBPR.REGIS TRANT_REGI STRY_FLAG  popFlag
        212                          WHERE pop Flag.REGIS TRANT_ID =  reg.REGIS TRANT_ID
        213                            AND pop Flag.STD_R EGISTRY_FL AG_ID = @S ubPopulati onFlagId))
        214        AND ( ISNULL(@Ad minFlagId,  0) = 0 
        215              OR EXISTS( SELECT [RE GISTRANT_I D] FROM AH OBPR.REGIS TRANT_REGI STRY_FLAG  adminFlag
        216                          WHERE adm inFlag.REG ISTRANT_ID  = reg.REG ISTRANT_ID
        217                            AND adm inFlag.STD _REGISTRY_ FLAG_ID =  @AdminFlag Id
        218                            AND adm inFlag.CRE ATED BETWE EN @AdminF romDate AN D @AdminTo Date))   
        219        AND ( (ISNULL(@C ompletedFr omDateText ,'') = ''  AND ISNULL (@Complete dToDateTex t,'') = ''  )
        220            O R EXISTS(S ELECT resp .REGISTRAN T_ID, stat .QUESTIONN AIRE_COMPL ETED_DATE
        221                          FROM AHOB PR.FORM_RE SPONSE_STA TUS stat
        222                          JOIN AHOB PR.FORM_RE SPONSE res p
        223                            ON resp .FORM_RESP ONSE_ID =  stat.FORM_ RESPONSE_I D
        224                         WHERE resp .REGISTRAN T_ID = reg .REGISTRAN T_ID
        225                           AND stat .QUESTIONN AIRE_COMPL ETED_DATE  BETWEEN @C ompletedFr omDate AND  @Complete dToDate))
        226       AND (I SNULL(@sta te,'') = ' '
        227                   OR EX ISTS(SELEC T DISTINCT  addr.REGI STRANT_ID 
        228                                FRO M AHOBPR.R EGISTRANT_ ADDRESS ad dr 
        229                               WHER E addr.REG ISTRANT_ID  = reg.REG ISTRANT_ID  
        230                                 AN D addr.STA TE  IN (SE LECT * FRO M fncSplit (@state, ' ,'))))
        231         ;
        232                                                                                                                          
        233   END
        234   -- exec [A HOBPR].[SP _ReportReg istrantCon tact]
        235   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType =  'NLA'
        236   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType =  'VISN', @A ssignedLoc ationKey =  'V16'
        237   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType =  'Base', @A ssignedLoc ationKey =  '1000089'
        238   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType =  'Instituti on', @Assi gnedLocati onKey = '1 000089'
        239   -- exec [A HOBPR].[SP _ReportReg istrantCon tact]
        240   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType =  'NLA'
        241   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType =  'VISN', @ EvaluatedL ocationKey  = 'V16'
        242   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType =  'Base', @ EvaluatedL ocationKey  = '100008 9'
        243   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType =  'Institut ion', @Eva luatedLoca tionKey =  '1000089'
        244  
        245  
        246          --@ AssignedLo cationType   VARCHAR( 10) = NULL ,  -- 'VIS N', 'Base' , 'Institu tion', 'NL A' = No Lo cation Ass igned
        247          --@ AssignedLo cationKey    VARCHAR( 50) = NULL ,  -- 'V16 ', 'V01'     1000109,   1000089
        248    --exec [A HOBPR].[SP _ReportReg istrantCon tact] '5,6 ,7', NULL,  0, NULL,  NULL, 0, 0 , NULL  @E valuatedLo cationType
        249    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , '2', 0,  NULL, NULL , 0, 0, NU LL
        250    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 60 , NULL, '2 0141204',  0, 0, NULL
        251    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 60 , '12/04/2 014', NULL , 0, 0, NU LL
        252    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 60 , '12/03/2 014', '12/ 12/2014',  0, 0, NULL
        253    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 0,  NULL, NUL L, 65, 0,  NULL
        254    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 0,  NULL, NUL L, 0, 1000 109, NULL
        255    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 0,  NULL, NUL L, 0, 0, ' NLA' --'V0 1'
        256    --exec [A HOBPR].[SP _ReportReg istrantCon tact] @Com pletedFrom DateText =  '08/13/20 14'
        257    --exec [A HOBPR].[SP _ReportReg istrantCon tact] @Com pletedToDa teText = ' 08/13/2014 '
        258    --exec [A HOBPR].[SP _ReportReg istrantCon tact] @Com pletedFrom DateText =  '08/13/20 14', @Comp letedToDat eText = '0 8/13/2014'
        259  
        260   GO
        261  
        262  
        263   PRINT 'ALT ER PROCEDU RE [AHOBPR ].[SP_Repo rtStatusBy Location]. ..';
        264   GO
        265  
        266   -- ======= ========== ========== ========== ========
        267   -- Author:                Debora h Barr
        268   -- Create  date: Nove mber 12, 2 014
        269   -- Descrip tion: Used  for the A HOBPR Stat us by Loca tion Repor t
        270  
        271   -- Modific ation log
        272   -- 2015011 4 - Sherry  Wang: Cha nged query  for @Inst itutionId  and @VisnI d
        273   -- 2015020 2 - Change  state to  use state  codes, rem oved unnee ded tables  and joins , Removed  Distinct
        274   -- 2015021 9 - Change  state to  include te rritories  and Milita ry Bases
        275   -- 2015033 0 - Bruce  Clegg - Ad ded VisnId  value of  NLA to fin d Null loc ations
        276   -- 2015042 7 - Bruce  Clegg - Ch ange to Lo cationType  and Key,  for both A ssigned an d Evaluate d Location s
        277   -- ======= ========== ========== ========== ========
        278   ALTER PROC EDURE [AHO BPR].[SP_R eportStatu sByLocatio n]
        279          @st ate varcha r(8000) =  NULL, -- M ultiple st ates, comm a-separate d values w hen not NU LL 
        280          @st atus varch ar(1000) =  NULL, --  Multiple s tatues, co mma-separa ted values  when not  NULL         
        281          @As signedLoca tionType   VARCHAR(20 ) = NULL,   -- 'VISN' , 'Base',  'Instituti on', 'NLA'  = No Loca tion Assig ned
        282          @As signedLoca tionKey    VARCHAR(50 ) = NULL,   -- 'V16',  'V01'     1000109,   1000089
        283          @Ev aluatedLoc ationType  VARCHAR(20 ) = NULL,   -- 'VISN' , 'Base',  'Instituti on', 'NLA'  = No Loca tion Assig ned
        284          @Ev aluatedLoc ationKey   VARCHAR(50 ) = NULL   -- 'V16',  'V01'    1 000109,  1 000089
        285   AS
        286   BEGIN
        287     DECLARE  @Today DAT ETIME2 = G ETDATE();
        288     
        289   DECLARE @A ssignedIns titutionId  INT = 0,
        290           @E valuatedIn stitutionI d INT = 0;
        291  
        292   IF @Assign edLocation Type IN (' Base','Ins titution')  
        293   AND ISNUME RIC(@Assig nedLocatio nKey) = 1
        294     SET @Ass ignedInsti tutionId =  CONVERT(I NT,@Assign edLocation Key);
        295     
        296   IF @Evalua tedLocatio nType IN ( 'Base','In stitution'
        297   AND ISNUME RIC(@Evalu atedLocati onKey) = 1
        298     SET @Eva luatedInst itutionId  = CONVERT( INT,@Evalu atedLocati onKey);
        299    
        300    --Temp ta ble concat nate flags  for Regis trants wit h multiple  flags
        301   CREATE TAB LE #state
        302   (
        303      [Regist rant_Id] I NT,
        304      [state]  VARCHAR(8 000)
        305  
        306  
        307   SET @state  = REPLACE (@state, ' Foreign Co untry/Othe r', 'FM,MH ,PW,UM,US, CANAD,MX,E U,PI,FG,OT ,UN')
        308  
        309   INSERT INT O #state ( [Registran t_Id], [st ate])
        310   -- Load Ta ble
        311    SELECT a. REGISTRANT _ID, 
        312           ST UFF((SELEC T ', ' + b .STATE 
        313           FR OM AHOBPR. REGISTRANT _ADDRESS b  
        314          WHE RE a.REGIS TRANT_ID =  b.REGISTR ANT_ID 
        315                  FOR XM L PATH('') ), 1, 1, ' ')  [STATE ]
        316           FR OM AHOBPR. REGISTRANT  a
        317       GROUP  BY a.REGIS TRANT_ID
        318       ORDER  BY a.REGIS TRANT_ID;
        319    
        320           SE LECT  reg. REGISTRANT _ID
        321                          ,(reg.LAS T_NAME + ' , ' + reg. FIRST_NAME ) AS Name
        322                          ,b.REGIST RANT_STATU S AS Statu s
        323                          ,DATEDIFF (day, reg. REGISTRANT _STATUS_LA ST_UPDATED _DATE, @To day) As Da ys
        324                          ,s.STATE  AS State
        325                          ,RIGHT(in st.VisnID,  2)  AS VI SN
        326                          ,inst.Nam e AS Facil ity
        327                          ,reg.BIRT H_DATE AS  BirthDate
        328            , CONVERT(VA RCHAR(10),  reg.BIRTH _DATE, 101 ) AS Birth DateDispla y
        329              FROM AHOBP R.REGISTRA NT reg
        330                    JOIN  AHOBPR.ST D_REGISTRA NT_STATUS 
        331                      ON  reg.STD_R EGISTRANT_ STATUS_ID  = b.STD_RE GISTRANT_S TATUS_ID
        332              LEFT JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st
        333                      ON  inst.ID =  reg.STD_I NSTITUTION _ID
        334                    LEFT  JOIN #sta te s
        335                      ON  reg.REGIS TRANT_ID =  s.Registr ant_Id
        336            W HERE (ISNU LL(@state, '') = ''
        337                   OR EX ISTS(SELEC T DISTINCT  addr.REGI STRANT_ID 
        338                                FRO M AHOBPR.R EGISTRANT_ ADDRESS ad dr 
        339                               WHER E addr.REG ISTRANT_ID  = reg.REG ISTRANT_ID  
        340                                 AN D addr.STA TE  IN (SE LECT * FRO M fncSplit (@state, ' ,'))))
        341                     AND  (ISNULL(@ status,'')  = '' 
        342                          OR reg.ST D_REGISTRA NT_STATUS_ ID IN (SEL ECT * FROM  fncSplit( @status, ' ,')))
        343        AND ( @AssignedL ocationTyp e IS NULL
        344              OR (@Assig nedLocatio nType = 'N LA' 
        345                  AND re g.STD_INST ITUTION_ID  IS NULL)
        346              OR (@Assig nedLocatio nType = 'V ISN' 
        347                   AND E XISTS(SELE CT * FROM  AHOBPR.VIE W_FACILITY _LOOKUP in st
        348                                        WHERE  inst.ID =  reg.STD_IN STITUTION_ ID
        349                                          AND  inst.VisnI D = @Assig nedLocatio nKey)
        350                 )  
        351              OR (@Assig nedLocatio nType = 'B ase' 
        352                   AND E XISTS(SELE CT * FROM  AHOBPR.VIE W_FACILITY _LOOKUP in st
        353                                        WHERE  inst.ID =  reg.STD_IN STITUTION_ ID
        354                                          AND  inst.BASE_ ID = @Assi gnedInstit utionId)
        355                 )  
        356              OR (@Assig nedLocatio nType = 'I nstitution
        357                   AND r eg.STD_INS TITUTION_I D = @Assig nedInstitu tionId)      
        358              )
        359        AND ( @Evaluated LocationTy pe IS NULL
        360              OR (@Evalu atedLocati onType = ' NLA' 
        361                  AND NO T EXISTS(  SELECT * F ROM AHOBPR .REGISTRAN T_VISIT ev al
        362                                     WHERE eva l.REGISTRA NT_ID = Re g.REGISTRA NT_ID
        363                                       AND eva l.EVALUATI ON_FLAG =  'Y' ) 
        364                 )
        365              OR (@Evalu atedLocati onType = ' VISN' 
        366                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        367                                         JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID
        368                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        369                                          AND  inst.VisnI D = @Evalu atedLocati onKey
        370                                          AND  eval.EVALU ATION_FLAG  = 'Y' ) 
        371                 )  
        372              OR (@Evalu atedLocati onType = ' Base' 
        373                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        374                                         JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID
        375                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        376                                          AND  inst.BASE_ ID = @Eval uatedInsti tutionId
        377                                          AND  eval.EVALU ATION_FLAG  = 'Y' ) 
        378                 )  
        379              OR (@Evalu atedLocati onType = ' Institutio n' 
        380                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        381                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        382                                          AND  eval.EVALU ATION_FLAG  = 'Y' 
        383                                          AND  eval.STD_I NSTITUTION _ID = @Eva luatedInst itutionId)  
        384                 )  
        385              ); 
        386  
        387     DROP TAB LE #state
        388   END
        389  
        390   -- EXEC [A HOBPR].[SP _ReportSta tusByLocat ion] 
        391   -- EXEC [A HOBPR].[SP _ReportSta tusByLocat ion] @stat e = 'AA,Fo reign Coun try/Other'
        392   -- EXEC [A HOBPR].[SP _ReportSta tusByLocat ion] @stat us = 7
        393  
        394   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion]
        395   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Assi gnedLocati onType = ' NLA'
        396   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Assi gnedLocati onType = ' VISN', @As signedLoca tionKey =  'V16'
        397   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Assi gnedLocati onType = ' Base', @As signedLoca tionKey =  '1000089'
        398   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Assi gnedLocati onType = ' Institutio n', @Assig nedLocatio nKey = '10 00089'
        399   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion]
        400   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Eval uatedLocat ionType =  'NLA'
        401   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Eval uatedLocat ionType =  'VISN', @E valuatedLo cationKey  = 'V16'
        402   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Eval uatedLocat ionType =  'Base', @E valuatedLo cationKey  = '1000089 '
        403   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Eval uatedLocat ionType =  'Instituti on', @Eval uatedLocat ionKey = ' 1000089'
        404   GO
        405  
        406   PRINT 'ALT ER PROCEDU RE [AHOBPR ].[SP_Repo rtAdHocByL ocation].. .';
        407   GO
        408  
        409   -- ======= ========== ========== ========== ========
        410   -- Author:                Debora h Barr
        411   -- Create  date: Nove mber 12, 2 014
        412   -- Descrip tion: Used  for the A HOBPR Ad H oc Report   
        413  
        414   -- Modific ation log
        415   -- 2014-12 -31 - Chan ged from F LAG to RES PONSE for  Health Con cerns and  REQUEST_SE EN, Reform atted stat ements for  readabili ty
        416   -- 2015-01 -05 - Chan ge Date Fo rmat to MM /DD/YYYY
        417   -- 2015-01 -14 - Sher ry Wang Ad d more par ameters: @ healthFact or, @formS tartFromDa te, @formS tartToDate , @subpopu lationFlag
        418   -- 2015-01 -14 - Sher ry Wang Ad d more par ameters: @ adminFlag,  @deployme ntAll, @de ploymentEx posure, @a dminFlagFr omDate, @a dminFlagTo Date
        419   -- 2015-01 -16 - Bruc e Clegg -  Fix parame ters, Add  distinct a nd outer q uery to gr oup counts .
        420   -- 2015-02 -09 - Bruc e Clegg -  Change Hea lth Factor  Exists st atements t o use new  REGISTRANT _VISIT
        421   -- 2015-05 -07 - Bruc e Clegg -  Change Fac ility name  from "Oth er" to "No  Facitilty  Assigned"  when not  found
        422   -- 2015-06 -04 - Bruc e Clegg -  Add more p arameters
        423   -- 2015-06 -18 - Bruc e Clegg -  Changed @s eparationT ype to an  Integer 
        424   -- 2015-07 -09 - Bruc e Clegg -  Rewrote as  Dynamic S QL for per formance
        425   -- ======= ========== ========== ========== ========
        426   ALTER PROC EDURE [AHO BPR].[SP_R eportAdHoc ByLocation ]
        427          @st atus varch ar(100) =  NULL, -- M ultiple st atues, com ma-separat ed values  when not N ULL
        428          @du tyStatus v archar(100 ) = NULL,  -- Multipl e states,  comma-sepa rated valu es when no t NULL  
        429          @fo rmStartFro mDateText  varchar(10 0) = NULL,
        430          @fo rmStartToD ateText va rchar(100)  = NULL,
        431          @he althFactor  varchar(1 00) = NULL , -- Multi ple health  factor ID s, comma-s eparated v alues when  not NULL
        432          @fo rmCompleti onFromDate Text varch ar(100) =  NULL,
        433          @fo rmCompleti onToDateTe xt varchar (100) = NU LL,
        434          @qu estionNumb er varchar (100) = NU LL,
        435          @an swer varch ar(100) =  NULL,
        436          @he althConcer ns varchar (10) = 'Al l', 
        437          @re questToBeS een varcha r(10) = 'A ll',
        438          @gr oupBy VARC HAR(50) =  '',                   -- 'VISN'  or 'Facili ty'   
        439          @su bpopulatio nFlag varc har (10) =  NULL, 
        440          @ad minFlag va rchar (10)  = NULL, 
        441          @de ploymentAl l varchar  (256) = NU LL, 
        442          @de ploymentEx posure var char (256)  = NULL, 
        443          @ad minFlagFro mDateText  varchar (2 0) = NULL,  
        444          @ad minFlagToD ateText va rchar (20)  = NULL,
        445          @ex cludeDead  varchar(1)  = 'N',
        446          @ge nder varch ar(50) = ' ',
        447          @ra ce varchar (50) = '',
        448          @et hnicity va rchar(50)  = '',
        449          @se parationTy pe INT = 0 ,
        450          @se parationFr omDateText  varchar ( 20) = NULL
        451          @se parationTo DateText v archar (20 ) = NULL, 
        452          @en rollmentSt atus varch ar(50) = ' '
        453   AS
        454  
        455   BEGIN
        456  
        457     DECLARE  @formStart FromDate D ATETIME2(0 ) = NULL,
        458              @formStart ToDate DAT ETIME2(0)  = NULL,
        459              @formCompl etionFromD ate DATETI ME2(0) = N ULL,
        460              @formCompl etionToDat e DATETIME 2(0) = NUL L,
        461              @adminFlag FromDate D ATETIME2(0 ) = NULL,
        462              @adminFlag ToDate DAT ETIME2(0)  = NULL,
        463              @separatio nFromDate  DATETIME2( 0) = NULL,
        464              @separatio nToDate DA TETIME2(0)  = NULL;
        465             
        466     DECLARE  @Query VAR CHAR(8000) ;      
        467  
        468     -- Conve rt date pa rameters       
        469  
        470     SET @for mStartFrom Date = dbo .CleanDate (@formStar tFromDateT ext);
        471     SET @for mStartToDa te = dbo.A ddMaxTime( dbo.CleanD ate(@formS tartToDate Text));
        472     SET @for mCompletio nFromDate  = dbo.Clea nDate(@for mCompletio nFromDateT ext);
        473     SET @for mCompletio nToDate =  dbo.AddMax Time(dbo.C leanDate(@ formComple tionToDate Text));      
        474     SET @adm inFlagFrom Date = ISN ULL(dbo.Cl eanDate(@a dminFlagFr omDateText ),'1900010 1');
        475     SET @adm inFlagToDa te = dbo.A ddMaxTime( ISNULL(dbo .CleanDate (@adminFla gToDateTex t),GETDATE ())); 
        476     SET @sep arationFro mDate = db o.CleanDat e(@separat ionFromDat eText);
        477     SET @sep arationToD ate = dbo. AddMaxTime (dbo.Clean Date(@sepa rationToDa teText));    
        478  
        479     -- Build  Src TDE
        480     SET @Que ry = ' WIT H Src 
        481       AS( SE LECT a.REG ISTRANT_ID , a.STD_IN STITUTION_ ID FROM AH OBPR.REGIS TRANT a WH ERE 1 = 1  ';
        482     
        483     IF @stat us IS NOT  NULL
        484       SET @Q uery = @Qu ery + ' AN D a.STD_RE GISTRANT_S TATUS_ID I N (' + @st atus + ')' ;
        485  
        486     IF ISNUL L(@dutySta tus,'') >  ''
        487       SET @Q uery = @Qu ery + ' AN D a.STD_SE RVICE_STAT US_ID IN ( ' + @dutyS tatus + ') ';
        488             
        489     IF @heal thConcerns  != 'All'
        490       SET @Q uery = @Qu ery + ' AN D a.HEALTH _CONCERNS_ RESPONSE =  ''' + @he althConcer ns + '''';  
        491     
        492     IF @requ estToBeSee n != 'All'
        493       SET @Q uery = @Qu ery + ' AN D a.REQUES T_SEEN_RES PONSE = '' ' + @reque stToBeSeen   + '''';
        494       
        495     IF @form StartFromD ate IS NOT  NULL OR @ formStartT oDate IS N OT NULL 
        496     OR @form Completion FromDate I S NOT NULL  OR @formC ompletionT oDate IS N OT NULL
        497       BEGIN
        498         SET  @Query = @ Query + '  AND EXISTS ( SELECT d .REGISTRAN T_ID FROM  AHOBPR.FOR M_RESPONSE  d 
        499                                               JOIN AHOBP R.FORM_RES PONSE_STAT US e ON d. FORM_RESPO NSE_ID = e .FORM_RESP ONSE_ID   
        500                                             W HERE a.REG ISTRANT_ID  = d.REGIS TRANT_ID ' ;
        501                      IF  @formStar tFromDate  IS NOT NUL L                       
        502                          SET @Quer y = @Query  + ' AND e .QUESTIONN AIRE_START ED_DATE >=  ''' + CON VERT(VARCH AR(20),@fo rmStartFro mDate,121)  + '''';
        503                      IF  @formStar tToDate IS  NOT NULL                       
        504                          SET @Quer y = @Query  + ' AND e .QUESTIONN AIRE_START ED_DATE <=  ''' + CON VERT(VARCH AR(20),@fo rmStartToD ate,121) +  '''';
        505                      IF  @formComp letionFrom Date IS NO T NULL                       
        506                          SET @Quer y = @Query  + ' AND e .QUESTIONN AIRE_COMPL ETED_DATE  >= ''' + C ONVERT(VAR CHAR(20),@ formComple tionFromDa te,121) +  '''';
        507                      IF  @formComp letionToDa te IS NOT  NULL                       
        508                          SET @Quer y = @Query  + ' AND e .QUESTIONN AIRE_COMPL ETED_DATE  <= ''' + C ONVERT(VAR CHAR(20),@ formComple tionToDate ,121) + '' '';
        509                       S ET @Query  = @Query +  ' ) ' --  Close Exis its statem ent
        510       END     
        511       
        512     IF ISNUL L(@answer, '') != '' 
        513       SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT fr.R EGISTRANT_ ID FROM AH OBPR.FORM_ RESPONSE_A NSWER ra '  +
        514                               'JOI N AHOBPR.F ORM_RESPON SE_QUESTIO N rq ON rq .FORM_RESP ONSE_QUEST ION_ID = r a.FORM_RES PONSE_QUES TION_ID '  +
        515                               'JOI N AHOBPR.F ORM_RESPON SE fr ON f r.FORM_RES PONSE_ID =  rq.FORM_R ESPONSE_ID  ' +
        516                             ' WHER E ra.STD_F ORM_ANSWER _ID IN ('  + @answer  + ') AND f r.REGISTRA NT_ID = a. REGISTRANT _ID )';
        517     
        518     IF ISNUL L(@subpopu lationFlag ,'') != ''
        519       SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT * FR OM AHOBPR. REGISTRANT _REGISTRY_ FLAG subpo p ' +
        520                                            '  WHERE subp op.STD_REG ISTRY_FLAG _ID IN ('  + @subpopu lationFlag  + ') ' +
        521                                               ' AND subp op.REGISTR ANT_ID = a .REGISTRAN T_ID ) ';
        522  
        523           IF  ISNULL(@a dminFlag,' ') != ''
        524       SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT * FR OM AHOBPR. REGISTRANT _REGISTRY_ FLAG admin flag ' +
        525                             ' WHER E adminfla g.STD_REGI STRY_FLAG_ ID IN (' +  @adminFla g + ') ' +
        526                               ' AN D adminfla g.REGISTRA NT_ID = a. REGISTRANT _ID ' +
        527                               ' AN D adminfla g.CREATED  BETWEEN '' ' + CONVER T(VARCHAR( 20),@admin FlagFromDa te,121) + 
        528                                                          ''' AND '' ' + CONVER T(VARCHAR( 20),@admin FlagToDate ,121) + '' ' ) ';  
        529                                 
        530     IF ISNUL L(@healthF actor,'')  != ''
        531       SET @Q uery = @Qu ery + ' AN D EXISTS ( SELECT re. REGISTRANT _ID FROM A HOBPR.REGI STRANT_VIS IT re ' +
        532                                               ' JOIN AHO BPR.REGIST RANT_HEALT H_FACTOR h f ON re.RE GISTRANT_V ISIT_ID =  hf.REGISTR ANT_VISIT_ ID ' +
        533                                             '  WHERE a.R EGISTRANT_ ID = re.RE GISTRANT_I D AND re.E VALUATION_ FLAG = ''Y '' ' +
        534                                             '    AND hf. STD_HEALTH _FACTOR_ID  IN (' + @ healthFact or + ') )  '
        535  
        536     IF ISNUL L(@deploym entAll,'')  != '' 
        537       SET @Q uery = @Qu ery + ' AN D EXISTS ( SELECT dep l.REGISTRA NT_ID FROM  AHOBPR.RE GISTRANT_D EPLOYMENT  depl ' +
        538                                             '  WHERE a.R EGISTRANT_ ID = depl. REGISTRANT _ID
        539                                                  AND dep l.DEPLOYME NT_COUNTRY  = ''' + @ deployment All + ''')  ' ;
        540  
        541     IF ISNUL L(@deploym entExposur e,'') != '
        542       SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT depl oymentExpo sure.REGIS TRANT_ID F ROM AHOBPR .REGISTRAN T_DEPLOYME NT deploym entExposur e ' +
        543                                               '  JOIN AH OBPR.FORM_ RESPONSE_Q UESTION ex posure ON  deployment Exposure.R EGISTRANT_ DEPLOYMENT _ID = expo sure.REGIS TRANT_DEPL OYMENT_ID  ' +
        544                                               '  JOIN AH OBPR.STD_F ORM_QUESTI ON quest O N exposure .STD_FORM_ QUESTION_I D = quest. STD_FORM_Q UESTION_ID  ' +
        545                                               ' WHERE qu est.FORM_Q UESTION_UN IQUE_ID =  ''1.2.A''  ' +
        546                                               '   AND de ploymentEx posure.DEP LOYMENT_CO UNTRY = '' ' + @deplo ymentExpos ure + ''''  + 
        547                                               '   AND de ploymentEx posure.REG ISTRANT_ID  = a.REGIS TRANT_ID )  ';
        548     IF ISNUL L(@exclude Dead,'N')  = 'Y'
        549       SET @Q uery = @Qu ery + ' AN D a.DECEAS ED_FLAG =  0 ';
        550     
        551     IF ISNUL L(@gender, '') != ''
        552       SET @Q uery = @Qu ery + ' AN D ''' + @g ender + '' ' = ISNULL (a.GENDER, ''No Data  Available' ') ';
        553       
        554     IF ISNUL L(@ethnici ty,'') !=  ''
        555       SET @Q uery = @Qu ery + ' AN D ''' + @e thnicity +  ''' = ISN ULL(a.ETHN ICITY,''No  Data Avai lable'') ' ;
        556     
        557     IF ISNUL L(@separat ionType,0)  != 0
        558       SET @Q uery = @Qu ery + ' AN D ''' + @s eparationT ype + '''  = ISNULL(a .STD_SEPAR ATION_REAS ON_ID_CURR ENT,0) ';
        559  
        560     IF @sepa rationFrom Date IS NO T NULL 
        561       SET @Q uery = @Qu ery + ' AN D a.SEPARA TION_DATE_ CURRENT >=  ''' + CON VERT(VARCH AR(20),@se parationFr omDate,121 ) + '''';
        562     
        563     IF @sepa rationToDa te IS NOT  NULL 
        564       SET @Q uery = @Qu ery + ' AN D  a.SEPAR ATION_DATE _CURRENT < = ''' + CO NVERT(VARC HAR(20),@s eparationT oDate,121)  + '''';
        565     
        566     IF ISNUL L(@race,'' ) != ''
        567       SET @Q uery = @Qu ery + ' AN D ''' + @r ace + '''  =  ISNULL( a.RACE ,'' No Data Av ailable'')  ';
        568       
        569     IF ISNUL L(@enrollm entStatus, '') != ''
        570       SET @Q uery = @Qu ery + ' AN D ''' + @e nrollmentS tatus + '' ' = ISNULL (a.ENROLLM ENT_STATUS ,''No Data  Available '') ';
        571  
        572     -- Add S ummary TDE                     
        573     SET @Que ry = @Quer y + '  )     ,Summary   AS( ' + 
        574                             ' SELE CT Src.STD _INSTITUTI ON_ID, COU NT(*) AS T otalRegist rants FROM  Src ' +
        575                             ' GROU P BY STD_I NSTITUTION _ID ) ';
        576   -- By Faci lity 
        577           IF  @groupBy  = 'Facilit y'
        578              SET @Query  = @Query  + ' SELECT  inst.Name  AS Locati on, ' +
        579                                               ' ISNULL(C ONVERT(VAR CHAR(10),S ummary.STD _INSTITUTI ON_ID),''- 1'') AS Lo cationId,  ' +
        580                                         '  SU M(TotalReg istrants)  AS TotalRe gistrants  FROM Summa ry ' +                         
        581                                       '  JOIN  AHOBPR.VI EW_INSTITU TION_NAME  inst ON in st.ID = IS NULL(Summa ry.STD_INS TITUTION_I D,-1) ' +
        582                                       ' GROUP  BY inst.N ame,STD_IN STITUTION_ ID ' +
        583                                           ' O PTION (OPT IMIZE FOR  UNKNOWN);' ;
        584     
        585   -- By VISN
        586           IF  @groupBy  = 'VISN'
        587               SET @Quer y = @Query  + ' ,Visn Summary AS  ( ' +
        588                     ' S ELECT ISNU LL(inst.Vi snID,''NLA '') AS Loc ation, ' +
        589                            '  ISNU LL(inst.Vi snID, ''-1 '') AS Loc ationId, '  +
        590                            '  SUM( TotalRegis trants) AS  TotalRegi strants '  +                 
        591                     '    FROM Summ ary ' +   
        592                     '    LEFT JOIN  AHOBPR.VI EW_FACILIT Y_LOOKUP i nst ON ins t.ID = ISN ULL(Summar y.STD_INST ITUTION_ID ,-1) ' +  
        593                     '    GROUP BY  inst.VisnI D  ) ' +
        594                     ' S ELECT REPL ACE(Locati on,''NLA'' ,''No Faci tilty Assi gned'') AS  Location,  ' +
        595                     '         CONV ERT(VARCHA R(10),Loca tionId) AS  LocationI d, TotalRe gistrants  ' +
        596                     '    FROM Visn Summary  '  +
        597                     '   ORDER BY L ocation ' 
        598                     '   OPTION (OP TIMIZE FOR  UNKNOWN);  ' ;
        599           
        600     PRINT @Q uery;          
        601                                           
        602     EXECUTE  (@Query);                                                  
        603   END
        604   -- Paramet ers
        605     --@statu s, @dutySt atus ,@que stionnaire StartDate,  @question naireCompl eteDate, 
        606     --@quest ionNumber,  @answer,  @healthCon cerns= 'Al l', @reque stToBeSeen  = 'All',
        607     --@regis tryFlag,@I nstitution Id = 0, @V isnId = ''  
        608   -- Test Ca ses
        609   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @st atus = '6, 7'
        610   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @du tyStatus =  '1,2'
        611   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @fo rmStartFro mDateText   = '200101 01'
        612   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @fo rmStartToD ateText =  '20141231'
        613   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @he althFactor  = '44,45, 46,47' 
        614   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @fo rmCompleti onFromDate Text  = '2 0010101'
        615   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @fo rmCompleti onToDateTe xt  = '201 41231'
        616   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @he althConcer ns = 'Yes'  
        617   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @re questToBeS een = 'Yes '
        618   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @su bpopulatio nFlag = '6 4,65,66,67 '
        619   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @de ploymentAl l = 'Iraq'     -- 'Eg ypt'
        620   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @de ploymentEx posure  =  'Iraq'
        621   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @ad minFlag =  '59,60' ,@ adminFlagF romDateTex t = '20150 101' , @ad minFlagToD ateText =  '20150201'
        622   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @qu estionNumb er = '1.2. E'  , @ans wer = '234 6,1571,17'   
        623   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy =  ' Facility'  , @status  = '6,7' ,@ answer = ' 2346,1571, 17'   -- ' 20,795,157 0' 
        624   GO
        625  
        626   -- ======= ========== ========== ========== ========
        627   --      Au thor:          Bruce  Clegg
        628   -- Create  date: Febr uary 4, 20 15
        629   -- Descrip tion: Used  for the A HOBPR Clin ically Rev elant Summ ary
        630   --         Note: Data  is massag ed for que stions 1.2 .A, 1.2.F,  1.2.G, 2. 5.A and 2. 5.C 
        631   -- Modific ation log
        632   -- 2015042 7 - Clegg  - get depl oyment cou nts indepe ndent of Q uestion nu mbers
        633   -- ======= ========== ========== ========== ========
        634   ALTER PROC EDURE [AHO BPR].[SP_R eportClini callyRevel antSummary ]
        635          @Re gistrantId  INT = 0          
        636   AS
        637   BEGIN
        638  
        639      --Temp  table conc atenate An swers for  Questions
        640     CREATE T ABLE #Answ ers
        641     (
        642        Quest ionNumber  VARCHAR(10 0),
        643        Quest ionNumberD isplay VAR CHAR(100),
        644        Answe rValues VA RCHAR(8000 )
        645     ); 
        646  
        647  
        648     -- Load  all clinic al releven t answers  that are N OT from a  Deployment
        649     WITH Res ponses
        650     AS (SELE CT qst.FOR M_QUESTION _UNIQUE_ID  AS Questi onNumber,
        651                       I SNULL(rAns .ANSWER_VA LUE,ans.[T EXT])  AS  AnswerValu e
        652                  FROM A HOBPR.REGI STRANT reg
        653                  JOIN A HOBPR.FORM _RESPONSE  fr ON fr.R EGISTRANT_ ID = Reg.R EGISTRANT_ ID
        654                  JOIN A HOBPR.FORM _RESPONSE_ QUESTION r Qst ON fr. FORM_RESPO NSE_ID = r Qst.FORM_R ESPONSE_ID
        655                  JOIN A HOBPR.FORM _RESPONSE_ ANSWER rAn s ON rQst. FORM_RESPO NSE_QUESTI ON_ID = rA ns.FORM_RE SPONSE_QUE STION_ID
        656                  JOIN A HOBPR.STD_ FORM_ANSWE R ans ON r Ans.STD_FO RM_ANSWER_ ID = ans.S TD_FORM_AN SWER_ID
        657                  JOIN A HOBPR.STD_ FORM_QUEST ION qst ON  rQst.STD_ FORM_QUEST ION_ID = q st.STD_FOR M_QUESTION _ID
        658                 WHERE f r.STD_FORM _ID = ans. STD_FORM_I D
        659                   AND q st.STD_FOR M_ID = fr. STD_FORM_I D
        660                   AND a ns.CLINICA L_RELEVANT _FLAG = 1
        661                   AND r eg.REGISTR ANT_ID = @ Registrant Id
        662                   AND r Qst.REGIST RANT_DEPLO YMENT_ID I S NULL
        663     )
        664  
        665     INSERT I NTO #Answe rs (Questi onNumber,  QuestionNu mberDispla y, AnswerV alues)
        666      SELECT  a.Question Number, a. QuestionNu mber,
        667              STUFF((SEL ECT '~' +  b.AnswerVa lue 
        668              FROM Respo nses b 
        669            W HERE a.Que stionNumbe r = b.Ques tionNumber  
        670                    FOR  XML PATH(' ')), 1, 1,  '')  Answ erValues
        671              FROM Respo nses a
        672         GROU P BY a.Que stionNumbe r
        673         ORDE R BY a.Que stionNumbe r;
        674         
        675         
        676     -- Get D eployment  Count with out limiti ng it to a  specific  Question.
        677        DECLA RE @Deploy mentCount  INT = 0;
        678        With  Deployment
        679        AS(    
        680            S ELECT DIST INCT rQst. REGISTRANT _DEPLOYMEN T_ID
        681               FROM AHOB PR.REGISTR ANT reg
        682               JOIN AHOB PR.FORM_RE SPONSE fr  ON fr.REGI STRANT_ID  = Reg.REGI STRANT_ID
        683               JOIN AHOB PR.FORM_RE SPONSE_QUE STION rQst  ON fr.FOR M_RESPONSE _ID = rQst .FORM_RESP ONSE_ID
        684              WHERE reg. REGISTRANT _ID = @Reg istrantId 
        685                AND rQst .REGISTRAN T_DEPLOYME NT_ID IS N OT NULL
        686           )
        687        SELEC T @Deploym entCount =   COUNT(RE GISTRANT_D EPLOYMENT_ ID) 
        688          FRO M Deployme nts;  
        689        
        690     -- Load  specific c linical re levent ans wers summa rized for  all Deploy ments - '1 .2.A','1.2 .F' 
        691     INSERT I NTO #Answe rs (Questi onNumber,  QuestionNu mberDispla y, AnswerV alues)
        692          SEL ECT qst.FO RM_QUESTIO N_UNIQUE_I D AS Quest ionNumber
        693                 ,qst.FO RM_QUESTIO N_UNIQUE_I D AS Quest ionNumberD isplay
        694                       , 'Said yes  to '+ CONV ERT(VARCHA R(2),SUM(C ASE WHEN I SNULL(rAns .ANSWER_VA LUE,ans.[T EXT]) = 'Y es' THEN 1  ELSE 0 EN D)) 
        695                       +  ' of ' +  CONVERT(VA RCHAR(2),@ Deployment Count) + '  deploymen ts' AS Ans werValues
        696              FROM AHOBP R.REGISTRA NT reg
        697              JOIN AHOBP R.FORM_RES PONSE fr O N fr.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        698              JOIN AHOBP R.FORM_RES PONSE_QUES TION rQst  ON fr.FORM _RESPONSE_ ID = rQst. FORM_RESPO NSE_ID
        699              LEFT JOIN  AHOBPR.FOR M_RESPONSE _ANSWER rA ns ON rQst .FORM_RESP ONSE_QUEST ION_ID = r Ans.FORM_R ESPONSE_QU ESTION_ID
        700              LEFT JOIN  AHOBPR.STD _FORM_ANSW ER ans ON  rAns.STD_F ORM_ANSWER _ID = ans. STD_FORM_A NSWER_ID
        701              JOIN AHOBP R.STD_FORM _QUESTION  qst ON rQs t.STD_FORM _QUESTION_ ID = qst.S TD_FORM_QU ESTION_ID
        702            W HERE qst.S TD_FORM_ID  = fr.STD_ FORM_ID
        703               AND reg.R EGISTRANT_ ID = @Regi strantId
        704               AND qst.F ORM_QUESTI ON_UNIQUE_ ID in ('1. 2.A','1.2. F')
        705               GROUP BY  qst.FORM_Q UESTION_UN IQUE_ID; 
        706     
        707       -- Alw ays Delete  any zero  counts fro m above th at were cr eated in o rder to ca pture true  Deploymen t count.           
        708     DELETE F ROM #Answe rs WHERE A nswerValue s LIKE 'Sa id yes to  0 of % dep loyments'
        709                               AND  QuestionNu mber in (' 1.2.A','1. 2.F');
        710     
        711       
        712     -- Load  specific c linical re levent ans wers summa rized for  all Deploy ments -- ' 1.2.G'
        713     INSERT I NTO #Answe rs (Questi onNumber,  QuestionNu mberDispla y, AnswerV alues)
        714         SELE CT qst.FOR M_QUESTION _UNIQUE_ID  AS Questi onNumber
        715               ,qst.FORM _QUESTION_ UNIQUE_ID  AS Questio nNumberDis play
        716                     ,'M aximum: '+  CONVERT(V ARCHAR(2), MAX(CONVER T(INT,rAns .ANSWER_VA LUE))) 
        717                     + '  hours, Av erage: '+  LEFT(CONVE RT(VARCHAR (20),AVG(C ONVERT(DEC IMAL(6,2), rAns.ANSWE R_VALUE))) ,4)
        718                     + '  hours, De ployments:  ' + CONVE RT(VARCHAR (2),@Deplo ymentCount ) AS Answe rValues
        719           FR OM AHOBPR. REGISTRANT  reg
        720           JO IN AHOBPR. FORM_RESPO NSE fr ON  fr.REGISTR ANT_ID = R eg.REGISTR ANT_ID
        721           JO IN AHOBPR. FORM_RESPO NSE_QUESTI ON rQst ON  fr.FORM_R ESPONSE_ID  = rQst.FO RM_RESPONS E_ID
        722           JO IN AHOBPR. FORM_RESPO NSE_ANSWER  rAns ON r Qst.FORM_R ESPONSE_QU ESTION_ID  = rAns.FOR M_RESPONSE _QUESTION_ ID
        723           JO IN AHOBPR. STD_FORM_Q UESTION qs t ON rQst. STD_FORM_Q UESTION_ID  = qst.STD _FORM_QUES TION_ID
        724          WHE RE qst.STD _FORM_ID =  fr.STD_FO RM_ID
        725            A ND qst.STD _FORM_ID =  fr.STD_FO RM_ID
        726            A ND reg.REG ISTRANT_ID  = @Regist rantId
        727            A ND qst.FOR M_QUESTION _UNIQUE_ID  = '1.2.G'
        728            G ROUP BY qs t.FORM_QUE STION_UNIQ UE_ID; 
        729                                         
        730       -- Alw ays Delete  any Null  or Empty A nswers.           
        731     DELETE F ROM #Answe rs WHERE I SNULL(Answ erValues,' ')  = '';
        732         
        733  
        734     -- Tobac co Exposur e
        735     -- if bo th 2.5.A a nd 2.5.C e xist, repl ace with C ombined an swer text'   
        736     DECLARE  @25A VARCH AR(200) =  (SELECT An swerValues  FROM #Ans wers WHERE  QuestionN umber = '2 .5.A')
        737     DECLARE  @25C VARCH AR(200) =  (SELECT An swerValues  FROM #Ans wers WHERE  QuestionN umber = '2 .5.C')
        738     IF @25A  = 'Yes'
        739          IF   @25C = 'N ot at all'
        740              UPDATE #An swers SET  AnswerValu es = 'Past  Smoker' 
        741                                  , QuestionNu mberDispla y = '2.5'
        742                             WHERE  QuestionNu mber = '2. 5.A';
        743          ELS E
        744              UPDATE #An swers SET  AnswerValu es = 'Curr ent Smoker '
        745                                  , QuestionNu mberDispla y = '2.5'
        746                             WHERE  QuestionNu mber = '2. 5.A';
        747      IF  @25 A = 'No'
        748          UPD ATE #Answe rs SET Ans werValues  = 'Never s moked' 
        749                                  , QuestionNu mberDispla y = '2.5'
        750                             WHERE  QuestionNu mber = '2. 5.A';
        751  
        752     -- Alway s Delete 2 .5.C, as i t cannot s tand on it 's own          
        753     DELETE F ROM #Answe rs WHERE Q uestionNum ber = '2.5 .C';     
        754         
        755     -- Final  Query          
        756           SE LECT DISTI NCT 
        757              list.Quest ionNumberD isplay AS  QuestionNu mber
        758                   ,CASE  WHEN qst. SHORT_TEXT  = 'Have y ou smoked  at least 1 00 cigaret tes in you r entire l ife?'  --  2.5.A
        759                          THEN 'Hav e you ever  smoked?'
        760                          ELSE qst. SHORT_TEXT  END  AS Q uestionTex t
        761                   ,REPL ACE(list.A nswerValue s,'~','<br />') AS An swerValues
        762                   ,sec. STD_FORM_S ECTION_ID  AS Section Id                      
        763                   ,sub. STD_FORM_S UB_SECTION _ID AS Sub sectionId                     
        764                   ,CASE  WHEN ISNU LL(sub.MEN U_ITEM_NAM E, '') = '
        765                          THEN Conv ert(VARCHA R, sec.BRP _FORM_SECT ION_ID) +  ' ' + sec. MENU_ITEM_ NAME
        766                          ELSE Conv ert(VARCHA R, sec.BRP _FORM_SECT ION_ID) +  '.' + Conv ert(VARCHA R, sub.BRP _FORM_SUB_ SECTION_ID ) + ' ' +  sec.MENU_I TEM_NAME +  ' > ' + s ub.MENU_IT EM_NAME
        767                          END AS Se ctionAndSu bSection
        768              FROM AHOBP R.REGISTRA NT reg
        769              JOIN AHOBP R.FORM_RES PONSE fr O N fr.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        770              JOIN AHOBP R.FORM_RES PONSE_QUES TION rQst  ON fr.FORM _RESPONSE_ ID = rQst. FORM_RESPO NSE_ID
        771              JOIN AHOBP R.STD_FORM _QUESTION  qst ON rQs t.STD_FORM _QUESTION_ ID = qst.S TD_FORM_QU ESTION_ID
        772              JOIN #Answ ers list O N qst.FORM _QUESTION_ UNIQUE_ID  = list.Que stionNumbe
        773              JOIN STD_F ORM_SECTIO N sec ON s ec.STD_FOR M_SECTION_ ID = qst.S TD_FORM_SE CTION_ID
        774              JOIN STD_F ORM_SUB_SE CTION sub  ON sub.STD _FORM_SUB_ SECTION_ID  = qst.STD _FORM_SUB_ SECTION_ID
        775            W HERE qst.S TD_FORM_ID  = fr.STD_ FORM_ID
        776               AND reg.R EGISTRANT_ ID = @Regi strantId;
        777                     
        778     DROP TAB LE #Answer s
        779   END
        780  
        781   -- EXEC [A HOBPR].[SP _ReportCli nicallyRev elantSumma ry] 149
        782   -- 5  6  7   8  108
        783  
        784  
        785  
        786   PRINT 'Dro p Index IX _DOD_DEPLO YMENT_IMPO RT_EDIPI.. .';
        787   GO
        788  
        789   IF  EXISTS  (SELECT *  FROM sys. indexes WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[DO D_DEPLOYME NT_IMPORT] ') AND nam e = N'IX_D OD_DEPLOYM ENT_IMPORT _EDIPI')
        790   DROP INDEX  [IX_DOD_D EPLOYMENT_ IMPORT_EDI PI] ON [AH OBPR].[DOD _DEPLOYMEN T_IMPORT]  WITH ( ONL INE = OFF  )
        791   GO
        792  
        793   PRINT 'DEL ETE PROCED URE [AHOBP R].[SP_Loa dDodDeploy mentInsert ]';
        794   GO
        795  
        796   IF  EXISTS  (SELECT *  FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _LoadDodDe ploymentIn sert]') AN D type in  (N'P', N'P C'))
        797   DROP PROCE DURE [AHOB PR].[SP_Lo adDodDeplo ymentInser t]
        798   GO
        799  
        800  
        801   PRINT 'DRO P TABLE [A HOBPR].[ST AGED_DOD_D EPLOYMENT_ IMPORT]';
        802   GO
        803   IF  EXISTS  (SELECT *  FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[ST AGED_DOD_D EPLOYMENT_ IMPORT]')  AND type i n (N'U'))
        804   DROP TABLE  [AHOBPR]. [STAGED_DO D_DEPLOYME NT_IMPORT]
        805   GO
        806  
        807   -- ======= ========== ========== ========== ========
        808   -- Author:                Bruce  Clegg
        809   -- Create  date: 6/12 /2015
        810   -- Descrip tion: Call ed after l oading CDW  Staging t ables
        811   -- ======= ========== ========== ========== ========
        812   ALTER PROC EDURE [AHO BPR].[SP_U pdateFromC DW]
        813   AS
        814   BEGIN
        815  
        816     DECLARE  @Now DATET IME2(0) =  GETDATE();
        817     DECLARE  @ProcName  VARCHAR(30 ) = 'AHOBP R.SP_Updat eFromCDW';
        818  
        819     PRINT 'S et Institu tion ID in  Staged Pa tient';
        820     
        821     WITH Src
        822     AS(
        823     SELECT R EGISTRANT_ ID
        824                ,Preferr edInstitut ionCode
        825                ,Inst.ID
        826       FROM [ AHOBPR].[S TAGED_PATI ENT] Stg
        827       JOIN A HOBPR.VIEW _INSTITUTI ON Inst ON  Inst.STAT IONNUMBER  = Stg.Pref erredInsti tutionCode
        828       )
        829       MERGE  INTO [AHOB PR].[STAGE D_PATIENT]  AS Tgt
        830       USING  Src
        831               ON Tgt.RE GISTRANT_I D = Src.RE GISTRANT_I D
        832       WHEN M ATCHED
        833       THEN U PDATE
        834                         SET Tgt.ST D_INSTITUT ION_ID = S rc.ID;
        835     
        836     PRINT 'U pdate Regi strant fro m staged p atient...' ;
        837  
        838     WITH Src
        839     AS (
        840       SELECT  [REGISTRA NT_ID]
        841              ,[GENDER]
        842              ,[DECEASED ]
        843              ,[DateOfDe ath]
        844              ,[RaceText ]
        845              ,[MaritalS tatus]
        846              ,[Eligibil ityStatus]
        847              ,[Eligibil ity]
        848              ,[PatientI CN]
        849              ,[Enrollme ntStatus]
        850              ,[Preferre dInstituti onCode]
        851              ,[Enrollme ntDate]
        852              ,[STD_INST ITUTION_ID ]
        853         FROM  [AHOBPR]. [STAGED_PA TIENT]
        854         )
        855         MERG E INTO [AH OBPR].[REG ISTRANT] A S Tgt
        856         USIN G Src
        857                 ON Tgt. REGISTRANT _ID = Src. REGISTRANT _ID
        858         WHEN  MATCHED
        859         THEN  UPDATE
        860                           SET Tgt. STD_INSTIT UTION_ID =  Src.STD_I NSTITUTION _ID
        861                              ,Tgt. GENDER = C ASE Src.GE NDER WHEN  'F' THEN ' FEMALE' 
        862                                                               WHEN  'M' THEN ' MALE' END     
        863                              ,Tgt. MARITAL_ST ATUS = Src .[MaritalS tatus] 
        864                              ,Tgt. RACE = Src .[RaceText ]  
        865                              ,Tgt. DECEASED_F LAG = CONV ERT(BIT,(C ASE Src.[D ECEASED] W HEN 'Y' TH EN 1 ELSE  0 END))
        866                              ,Tgt. DEATH_DATE  = Src.[Da teOfDeath]     
        867                              ,Tgt. ELIGIBILIT Y_STATUS =  Src.[Elig ibilitySta tus]                        
        868                              ,Tgt. ELIGIBILIT Y = Src.[E ligibility ]    
        869                              ,Tgt. ENROLLMENT _STATUS =  Src.[Enrol lmentStatu s]    
        870                              ,Tgt. ENROLLED_D ATE = Src. [Enrollmen tDate]        
        871                              ,Tgt. ETL_UPDATE D = @Now;
        872                        
        873     PRINT 'D elete heal th factors  for encou nters bein g updated' ;
        874     DELETE 
        875     FROM AHO BPR.REGIST RANT_HEALT H_FACTOR
        876     WHERE EX ISTS(SELEC T REGISTRA NT_VISIT_I
        877                     FRO M AHOBPR.R EGISTRANT_ VISIT
        878                     JOI N AHOBPR.S TAGED_VISI T ON STAGE D_VISIT.RE GISTRANT_I D = REGIST RANT_VISIT .REGISTRAN T_ID
        879                    WHER E REGISTRA NT_VISIT.R EGISTRANT_ VISIT_ID =  REGISTRAN T_HEALTH_F ACTOR.REGI STRANT_VIS IT_ID
        880                      AN D STAGED_V ISIT.EVALU ATION_FLAG  = 'Y');
        881                      
        882     PRINT 'D elete enco uters bein g updated' ;
        883  
        884     DELETE 
        885     FROM AHO BPR.REGIST RANT_VISIT
        886     WHERE EV ALUATION_F LAG = 'Y'
        887       AND EX ISTS(SELEC T REGISTRA NT_ID FROM  AHOBPR.ST AGED_VISIT
        888                    WHER E STAGED_V ISIT.REGIS TRANT_ID =  REGISTRAN T_VISIT.RE GISTRANT_I D
        889                    AND  STAGED_VIS IT.EVALUAT ION_FLAG =  'Y');
        890  
        891     PRINT 'D elete rece nt visits  being upda ted';               
        892  
        893     DELETE 
        894     FROM AHO BPR.REGIST RANT_VISIT
        895     WHERE EV ALUATION_F LAG = 'N'
        896       AND EX ISTS(SELEC T REGISTRA NT_ID FROM  AHOBPR.ST AGED_VISIT
        897                    WHER E STAGED_V ISIT.REGIS TRANT_ID =  REGISTRAN T_VISIT.RE GISTRANT_I D
        898                    AND  STAGED_VIS IT.EVALUAT ION_FLAG =  'N');                                 
        899     
        900     PRINT 'S et Institu tion ID in  Staged VI SIT';
        901     
        902     WITH Src
        903     AS(
        904     SELECT S tg.VisitSI D
        905           ,S tg.INSTITU TION_CODE
        906           ,I nst.ID
        907       FROM [ AHOBPR].[S TAGED_VISI T] Stg
        908       JOIN A HOBPR.VIEW _INSTITUTI ON Inst ON  Inst.STAT IONNUMBER  = Stg.INST ITUTION_CO DE
        909       )
        910       MERGE  INTO [AHOB PR].[STAGE D_VISIT] A S Tgt
        911       USING  Src
        912               ON Tgt.Vi sitSID = S rc.VisitSI D
        913       WHEN M ATCHED
        914       THEN U PDATE
        915                         SET Tgt.ST D_INSTITUT ION_ID = S rc.ID;                      
        916                        
        917     PRINT 'I nsert enco unters and  visits... ';               
        918  
        919     INSERT I NTO [AHOBP R].[REGIST RANT_VISIT ]
        920                 ([REGIS TRANT_ID]
        921                 ,[VISIT _DATE_TIME ]
        922                 ,[STD_I NSTITUTION _ID]
        923                 ,[VISTA _Encounter ID]
        924                 ,[VISTA _Sta3n]
        925                 ,[VISTA _Eligibili tyStatus]
        926                 ,[EVALU ATION_FLAG ]
        927                 ,[APPOI NTMENT_TYP E]
        928                 ,[STOP_ CODE]
        929                 ,[CREAT EDBY]
        930                 ,[UPDAT EDBY]
        931                 ,[CREAT ED]
        932                 ,[UPDAT ED])
        933         SELE CT [REGIST RANT_ID]
        934                ,[VISIT_ DATE_TIME]
        935                ,[STD_IN STITUTION_ ID]
        936                ,[VISTA_ EncounterI D]
        937                ,[VISTA_ Sta3n]
        938                ,[VISTA_ Eligibilit y]
        939                ,[EVALUA TION_FLAG]
        940                ,[APPOIN TMENT_TYPE ]
        941                ,[STOP_C ODE]
        942                ,@ProcNa me
        943                ,@ProcNa me
        944                ,@Now
        945                ,@Now
        946       FROM [ AHOBPR].[S TAGED_VISI T];                     
        947    
        948     PRINT 'S et Standar d Health F actors ID  from STD_H EALTH_FACT OR...';  
        949       
        950     WITH Src
        951      AS(
        952         SELE CT [CDW_VI SIT_SID]
        953                ,[REGIST RANT_ID]
        954                ,std.[ST D_HEALTH_F ACTOR_ID]
        955                ,[HEALTH _FACTOR_TE XT]      
        956           FR OM [AHOBPR ].[STAGED_ HEALTH_FAC TOR] stage d
        957           JO IN AHOBPR. STD_HEALTH _FACTOR st d ON std.N AME = stag ed.HEALTH_ FACTOR_TEX T
        958       )
        959       MERGE  INTO AHOBP R.[STAGED_ HEALTH_FAC TOR] AS Tg t
        960       USING  Src  ON Tg t.[CDW_VIS IT_SID] =  Src.[CDW_V ISIT_SID]
        961       WHEN M ATCHED
        962                 AND Tgt .[REGISTRA NT_ID] = S rc.[REGIST RANT_ID]
        963                 AND Tgt .[HEALTH_F ACTOR_TEXT ] = Src.[H EALTH_FACT OR_TEXT]
        964       THEN U PDATE
        965                         SET Tgt.[S TD_HEALTH_ FACTOR_ID]  = Src.[ST D_HEALTH_F ACTOR_ID];
        966    
        967      PRINT ' Insert Hea lth Factor s...';  
        968      
        969     INSERT I NTO [AHOBP R].[REGIST RANT_HEALT H_FACTOR]
        970                 ([REGIS TRANT_VISI T_ID]
        971                 ,[STD_H EALTH_FACT OR_ID]
        972                 ,[ACTIV E_FLAG]
        973                 ,[HEALT H_FACTOR_T EXT]
        974                 ,[COMME NTS]
        975                 ,[CREAT EDBY]
        976                 ,[UPDAT EDBY]
        977                 ,[CREAT ED]
        978                 ,[UPDAT ED])           
        979         SELE CT visit.R EGISTRANT_ VISIT_ID
        980                ,hf.[STD _HEALTH_FA CTOR_ID]
        981                ,1
        982                ,hf.[HEA LTH_FACTOR _TEXT]
        983                ,hf.[COM MENTS]
        984                ,@ProcNa me    
        985                ,@ProcNa me
        986                ,@Now
        987                ,@Now      
        988       FROM [ AHOBPR].[S TAGED_HEAL TH_FACTOR]  hf -- 295
        989       JOIN A HOBPR.STAG ED_VISIT s tage ON st age.VisitS ID = hf.CD W_VISIT_SI D
        990       JOIN A HOBPR.REGI STRANT_VIS IT visit O N visit.VI STA_Encoun terID = st age.VISTA_ EncounterI
        991  
        992   END;
        993   -- EXECUTE  [AHOBPR]. [SP_Update FromCDW]; 
        994  
        995  
        996  
        997  
        998  
        999   INSERT INT O [dbo].[D atabaseCha ngeLog]
        1000               ([MajorRe leaseNumbe r]
        1001               ,[MinorRe leaseNumbe r]
        1002               ,[PointRe leaseNumbe r]
        1003               ,[Hotfix]
        1004               ,[ScriptN ame]
        1005               ,[ScriptD escription ]
        1006               ,[TargetR egistry]
        1007               ,[DateApp lied])
        1008        VALUE S
        1009               ('$(Major ReleaseNum ber)'
        1010               ,'$(Minor ReleaseNum ber)'
        1011               ,'$(Point ReleaseNum ber)'
        1012               ,0
        1013               ,'Registr y.AHOBPR.D atabase.Ro llback.sql '
        1014                            ,'Regis try.AHOBPR .Database. Rollback.s ql Script'
        1015               ,'AHOBPR'
        1016               ,GETDATE( ))
        1017  
        1018  
        1019   PRINT '';
        1020   PRINT 'Reg istry.AHOB PR.Databas e.Rollback .sql Scrip t Complete .';
        1021   PRINT '';
        1022   PRINT 'Com pleted ' +  CAST(GETD ATE() AS v archar(20) ) + '.';
        1023  
        1024   ---------- ---------- ---------- ---
        1025   -- END OF  GENERATED  DEPLOYMENT  --
        1026   ---------- ---------- ---------- ---