123. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 4/12/2018 7:40:28 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.

123.1 Files compared

# Location File Last Modified
1 Thu Apr 12 23:40:28 2018 UTC
2 AHOBPRe_v4.4.17_bld4.zip\DatabaseScripts\AHOBPR\Increment 2\Prod\Increment 2 - 20150827\AHOBPR_Database_1_0_50.zip Registry.AHOBPR.Database.Build.1.0.50.sql Wed Aug 12 18:46:34 2015 UTC

123.2 Comparison summary

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

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

123.4 Active regular expressions

No regular expressions were active.

123.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 "50 "
        6   :setvar De ployVersio n "2015081 0.1"
        7  
        8   PRINT ' 
        9   ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------
        10   Registry.A HOBPR.Data base.Build .1.0.50.sq l
        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   -- 2015072 2 - Bruce  Clegg - Fi x bug with  @Evaluate dLocationT ype = 'Bas e'
        59   -- ======= ========== ========== ========== ========
        60   ALTER PROC EDURE [AHO BPR].[SP_R eportRegis trantConta ct]
        61          @Re gistrantSt atus       VARCHAR(50 ) = '',     -- '1,2,3 ,4,5,6,7,8 '
        62          @Sv cStatus               VARCHAR(50 ) = '',     -- '1,2,3 '
        63          @Ad minFlagId             INT = 0,               -- 60
        64          @Ad minFromDat eText      VARCHAR(50 ) = NULL,
        65          @Ad minToDateT ext        VARCHAR(50 ) = NULL,
        66          @Su bPopulatio nFlagId    INT = 0,               -- 65
        67          @As signedLoca tionType   VARCHAR(20 ) = NULL,   -- 'VISN' , 'Base',  'Instituti on', 'NLA'  = No Loca tion Assig ned
        68          @As signedLoca tionKey    VARCHAR(50 ) = NULL,   -- 'V16',  'V01'     1000109,   1000089
        69          @Ev aluatedLoc ationType  VARCHAR(20 ) = NULL,   -- 'VISN' , 'Base',  'Instituti on', 'NLA'  = No Loca tion Assig ned
        70          @Ev aluatedLoc ationKey   VARCHAR(50 ) = NULL,   -- 'V16',  'V01'     1000109,   1000089
        71          @Co mpletedFro mDateText  VARCHAR(50 ) = NULL,
        72          @Co mpletedToD ateText    VARCHAR(50 ) = NULL,
        73          @st ate varcha r(8000) =  NULL -- Mu ltiple sta tes, comma -separated  values wh en not NUL
        74   AS
        75   BEGIN
        76  
        77   DECLARE @A dminFromDa te DATETIM E2(0) = IS NULL(dbo.C leanDate(@ AdminFromD ateText),' 19000101')
        78   DECLARE @A dminToDate    DATETIM E2(0) = db o.AddMaxTi me(ISNULL( dbo.CleanD ate(@Admin ToDateText ),GETDATE( ))); 
        79   DECLARE @C ompletedFr omDate DAT ETIME2(0)  = ISNULL(d bo.CleanDa te(@Comple tedFromDat eText),'19 000101')
        80   DECLARE @C ompletedTo Date   DAT ETIME2(0)  = dbo.AddM axTime(ISN ULL(dbo.Cl eanDate(@C ompletedTo DateText), GETDATE()) ); 
        81  
        82   PRINT @Ass ignedLocat ionType;
        83   PRINT @Ass ignedLocat ionKey;
        84  
        85   DECLARE @A ssignedIns titutionId  INT = 0,
        86           @E valuatedIn stitutionI d INT = 0;
        87  
        88   IF @Assign edLocation Type IN (' Base','Ins titution')  
        89   AND ISNUME RIC(@Assig nedLocatio nKey) = 1
        90     SET @Ass ignedInsti tutionId =  CONVERT(I NT,@Assign edLocation Key);
        91     
        92   IF @Evalua tedLocatio nType IN ( 'Base','In stitution'
        93   AND ISNUME RIC(@Evalu atedLocati onKey) = 1
        94     SET @Eva luatedInst itutionId  = CONVERT( INT,@Evalu atedLocati onKey);
        95  
        96   WITH addr 
        97   AS (     
        98       SELECT  REGISTRAN T_ID,
        99                            ISNULL( STREET1,'' )  AS STRE ET1, 
        100                            ISNULL( STREET2,'' )  AS STRE ET2,
        101                            ISNULL( CITY,'')      AS CITY ,
        102                            ISNULL( [STATE],'' )  AS [STA TE],
        103                            ISNULL( COUNTRY,'' )  AS COUN TRY,
        104                            ISNULL( ZIP,'')       AS ZIP
        105                      FR OM  AHOBPR .[REGISTRA NT_ADDRESS ]
        106       )  
        107   ,phone1 
        108   AS (     
        109       SELECT  REGISTRAN T_ID,                      
        110                            ISNULL( PHONE_NUMB ER,'') AS  PHONE_NUMB ER_Main
        111         FROM  AHOBPR.RE GISTRANT_P HONE      
        112        WHERE  ISNULL(TY PE,'Main')  = 'Main'
        113       )        
        114   ,phone2 
        115   AS (     
        116       SELECT  REGISTRAN T_ID,                      
        117                            ISNULL( PHONE_NUMB ER,'') AS  PHONE_NUMB ER_Mobile
        118         FROM  AHOBPR.RE GISTRANT_P HONE      
        119        WHERE  TYPE = 'M obile'
        120       )
        121   ,email 
        122   AS (     
        123       SELECT  REGISTRAN T_ID,                      
        124                            ISNULL( EMAIL,'')  AS EMAIL
        125         FROM  AHOBPR.RE GISTRANT_E MAIL      
        126       )
        127   ,Pref    
        128   AS(
        129         SELE CT fr.REGI STRANT_ID 
        130               ,ans.TEXT  AS Contac tPreferenc e
        131           FR OM  AHOBPR .FORM_RESP ONSE fr
        132           JO IN AHOBPR. FORM_RESPO NSE_QUESTI ON rQst ON  fr.FORM_R ESPONSE_ID  = rQst.FO RM_RESPONS E_ID
        133           JO IN AHOBPR. STD_FORM_Q UESTION qs t ON rQst. STD_FORM_Q UESTION_ID  = qst.STD _FORM_QUES TION_ID
        134           JO IN AHOBPR. FORM_RESPO NSE_ANSWER  rAns ON r Qst.FORM_R ESPONSE_QU ESTION_ID  = rAns.FOR M_RESPONSE _QUESTION_ ID
        135           JO IN AHOBPR. STD_FORM_A NSWER ans  ON ans.STD _FORM_ANSW ER_ID = rA ns.STD_FOR M_ANSWER_I D
        136          WHE RE qst.STD _FORM_ID =  fr.STD_FO RM_ID
        137            A ND qst.FOR M_QUESTION _UNIQUE_ID  = '8.A'
        138    )            
        139           SE LECT 
        140                  reg.RE GISTRANT_I D,
        141                           ISNULL(r eg.LAST_NA ME,'') AS   LAST_NAME ,
        142              ISNULL(reg .FIRST_NAM E,'') AS   FIRST_NAME
        143              ISNULL(Pre f.ContactP reference, '') AS  Co ntactPrefe rence,
        144                           ISNULL(S TREET1,'')  AS  STREE T1, 
        145                           ISNULL(S TREET2,'')  AS  STREE T2,
        146                           ISNULL(C ITY,'') AS   CITY,
        147                           ISNULL([ STATE],'')  AS  [STAT E],
        148                           ISNULL(C OUNTRY,'')  AS  COUNT RY,
        149                           ISNULL(Z IP,'') AS   ZIP,
        150                           ISNULL(p hone1.PHON E_NUMBER_M ain,'') AS   PHONE_NU MBER_Main,
        151                           ISNULL(p hone2.PHON E_NUMBER_M obile,'')  AS  PHONE_ NUMBER_Mob ile,
        152              ISNULL(ema il.EMAIL,' ') AS EMAI L       
        153              FROM AHOBP R.REGISTRA NT reg    
        154              LEFT JOIN  addr  
        155                      ON  reg.REGIS TRANT_ID =  addr.REGI STRANT_ID       
        156              LEFT JOIN  phone1  
        157                      ON  reg.REGIS TRANT_ID =  phone1.RE GISTRANT_I D                       
        158              LEFT JOIN  phone2  
        159                      ON  reg.REGIS TRANT_ID =  phone2.RE GISTRANT_I D            
        160              LEFT JOIN  email  
        161                      ON  reg.REGIS TRANT_ID =  email.REG ISTRANT_ID                               
        162              LEFT JOIN  Pref  
        163                      ON  reg.REGIS TRANT_ID =  Pref.REGI STRANT_ID                                         
        164            W HERE (reg. STD_REGIST RANT_STATU S_ID IN (S ELECT * FR OM fncSpli t(@Registr antStatus,  ',')) 
        165                    OR I SNULL(@Reg istrantSta tus,'') =  '')
        166               AND (reg. STD_SERVIC E_STATUS_I D IN (SELE CT * FROM  fncSplit(@ SvcStatus,  ',')) 
        167                    OR I SNULL(@Svc Status,'')  = '')
        168        AND ( @AssignedL ocationTyp e IS NULL
        169              OR (@Assig nedLocatio nType = 'N LA' 
        170                  AND re g.STD_INST ITUTION_ID  IS NULL)
        171              OR (@Assig nedLocatio nType = 'V ISN' 
        172                   AND E XISTS(SELE CT * FROM  AHOBPR.VIE W_FACILITY _LOOKUP in st
        173                                        WHERE  inst.ID =  reg.STD_IN STITUTION_ ID
        174                                          AND  inst.VisnI D = @Assig nedLocatio nKey)
        175                 )  
        176              OR (@Assig nedLocatio nType = 'B ase' 
        177                   AND E XISTS(SELE CT * FROM  AHOBPR.VIE W_FACILITY _LOOKUP in st
        178                                        WHERE  inst.ID =  reg.STD_IN STITUTION_ ID
        179                                          AND  inst.BASE_ ID = @Assi gnedInstit utionId)
        180                 )  
        181              OR (@Assig nedLocatio nType = 'I nstitution
        182                   AND r eg.STD_INS TITUTION_I D = @Assig nedInstitu tionId)      
        183              )
        184        AND ( @Evaluated LocationTy pe IS NULL
        185              OR (@Evalu atedLocati onType = ' NLA' 
        186                  AND NO T EXISTS(  SELECT * F ROM AHOBPR .REGISTRAN T_VISIT ev al
        187                                     WHERE eva l.REGISTRA NT_ID = Re g.REGISTRA NT_ID 
        188                                       AND eva l.EVALUATI ON_FLAG =  'Y') 
        189                 )
        190              OR (@Evalu atedLocati onType = ' VISN' 
        191                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        192                                         JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID
        193                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        194                                          AND  inst.VisnI D = @Evalu atedLocati onKey
        195                                          AND  eval.EVALU ATION_FLAG  = 'Y') 
        196                 )  
        197              OR (@Evalu atedLocati onType = ' Base' 
        198                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        199                                         JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID
        200                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        201                                          AND  inst.BASE_ ID = @Eval uatedInsti tutionId
        202                                          AND  eval.EVALU ATION_FLAG  = 'Y' )     
        203                 )  
        204              OR (@Evalu atedLocati onType = ' Institutio n' 
        205                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        206                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        207                                          AND  eval.STD_I NSTITUTION _ID = @Eva luatedInst itutionId
        208                                          AND  eval.EVALU ATION_FLAG  = 'Y') 
        209                 )  
        210              )           
        211        AND ( ISNULL(@Su bPopulatio nFlagId, 0 ) = 0 
        212              OR EXISTS( SELECT [RE GISTRANT_I D] FROM AH OBPR.REGIS TRANT_REGI STRY_FLAG  popFlag
        213                          WHERE pop Flag.REGIS TRANT_ID =  reg.REGIS TRANT_ID
        214                            AND pop Flag.STD_R EGISTRY_FL AG_ID = @S ubPopulati onFlagId))
        215        AND ( ISNULL(@Ad minFlagId,  0) = 0 
        216              OR EXISTS( SELECT [RE GISTRANT_I D] FROM AH OBPR.REGIS TRANT_REGI STRY_FLAG  adminFlag
        217                          WHERE adm inFlag.REG ISTRANT_ID  = reg.REG ISTRANT_ID
        218                            AND adm inFlag.STD _REGISTRY_ FLAG_ID =  @AdminFlag Id
        219                            AND adm inFlag.CRE ATED BETWE EN @AdminF romDate AN D @AdminTo Date))   
        220        AND ( (ISNULL(@C ompletedFr omDateText ,'') = ''  AND ISNULL (@Complete dToDateTex t,'') = ''  )
        221            O R EXISTS(S ELECT resp .REGISTRAN T_ID, stat .QUESTIONN AIRE_COMPL ETED_DATE
        222                          FROM AHOB PR.FORM_RE SPONSE_STA TUS stat
        223                          JOIN AHOB PR.FORM_RE SPONSE res p
        224                            ON resp .FORM_RESP ONSE_ID =  stat.FORM_ RESPONSE_I D
        225                         WHERE resp .REGISTRAN T_ID = reg .REGISTRAN T_ID
        226                           AND stat .QUESTIONN AIRE_COMPL ETED_DATE  BETWEEN @C ompletedFr omDate AND  @Complete dToDate))
        227       AND (I SNULL(@sta te,'') = ' '
        228                   OR EX ISTS(SELEC T DISTINCT  addr.REGI STRANT_ID 
        229                                FRO M AHOBPR.R EGISTRANT_ ADDRESS ad dr 
        230                               WHER E addr.REG ISTRANT_ID  = reg.REG ISTRANT_ID  
        231                                 AN D addr.STA TE  IN (SE LECT * FRO M fncSplit (@state, ' ,'))))
        232         ;
        233                                                                                                                          
        234   END
        235   -- exec [A HOBPR].[SP _ReportReg istrantCon tact]
        236   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType =  'NLA'
        237   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType =  'VISN', @A ssignedLoc ationKey =  'V16'
        238   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType =  'Base', @A ssignedLoc ationKey =  '1000089'
        239   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType =  'Instituti on', @Assi gnedLocati onKey = '1 000089'
        240   -- exec [A HOBPR].[SP _ReportReg istrantCon tact]
        241   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType =  'NLA'
        242   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType =  'VISN', @ EvaluatedL ocationKey  = 'V16'
        243   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType =  'Base', @ EvaluatedL ocationKey  = '100008 9'
        244   -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType =  'Institut ion', @Eva luatedLoca tionKey =  '1000089'
        245  
        246  
        247          --@ AssignedLo cationType   VARCHAR( 10) = NULL ,  -- 'VIS N', 'Base' , 'Institu tion', 'NL A' = No Lo cation Ass igned
        248          --@ AssignedLo cationKey    VARCHAR( 50) = NULL ,  -- 'V16 ', 'V01'     1000109,   1000089
        249    --exec [A HOBPR].[SP _ReportReg istrantCon tact] '5,6 ,7', NULL,  0, NULL,  NULL, 0, 0 , NULL  @E valuatedLo cationType
        250    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , '2', 0,  NULL, NULL , 0, 0, NU LL
        251    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 60 , NULL, '2 0141204',  0, 0, NULL
        252    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 60 , '12/04/2 014', NULL , 0, 0, NU LL
        253    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 60 , '12/03/2 014', '12/ 12/2014',  0, 0, NULL
        254    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 0,  NULL, NUL L, 65, 0,  NULL
        255    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 0,  NULL, NUL L, 0, 1000 109, NULL
        256    --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 0,  NULL, NUL L, 0, 0, ' NLA' --'V0 1'
        257    --exec [A HOBPR].[SP _ReportReg istrantCon tact] @Com pletedFrom DateText =  '08/13/20 14'
        258    --exec [A HOBPR].[SP _ReportReg istrantCon tact] @Com pletedToDa teText = ' 08/13/2014 '
        259    --exec [A HOBPR].[SP _ReportReg istrantCon tact] @Com pletedFrom DateText =  '08/13/20 14', @Comp letedToDat eText = '0 8/13/2014'
        260  
        261   GO
        262  
        263  
        264   PRINT 'ALT ER PROCEDU RE [AHOBPR ].[SP_Repo rtStatusBy Location]. ..';
        265   GO
        266  
        267   -- ======= ========== ========== ========== ========
        268   -- Author:                Debora h Barr
        269   -- Create  date: Nove mber 12, 2 014
        270   -- Descrip tion: Used  for the A HOBPR Stat us by Loca tion Repor t
        271  
        272   -- Modific ation log
        273   -- 2015011 4 - Sherry  Wang: Cha nged query  for @Inst itutionId  and @VisnI d
        274   -- 2015020 2 - Change  state to  use state  codes, rem oved unnee ded tables  and joins , Removed  Distinct
        275   -- 2015021 9 - Change  state to  include te rritories  and Milita ry Bases
        276   -- 2015033 0 - Bruce  Clegg - Ad ded VisnId  value of  NLA to fin d Null loc ations
        277   -- 2015042 7 - Bruce  Clegg - Ch ange to Lo cationType  and Key,  for both A ssigned an d Evaluate d Location s
        278   -- 2015072 2 - Bruce  Clegg - Fi x bug with  @Evaluate dLocationT ype = 'Bas e'
        279   -- ======= ========== ========== ========== ========
        280   ALTER PROC EDURE [AHO BPR].[SP_R eportStatu sByLocatio n]
        281          @st ate varcha r(8000) =  NULL, -- M ultiple st ates, comm a-separate d values w hen not NU LL 
        282          @st atus varch ar(1000) =  NULL, --  Multiple s tatues, co mma-separa ted values  when not  NULL         
        283          @As signedLoca tionType   VARCHAR(20 ) = NULL,   -- 'VISN' , 'Base',  'Instituti on', 'NLA'  = No Loca tion Assig ned
        284          @As signedLoca tionKey    VARCHAR(50 ) = NULL,   -- 'V16',  'V01'     1000109,   1000089
        285          @Ev aluatedLoc ationType  VARCHAR(20 ) = NULL,   -- 'VISN' , 'Base',  'Instituti on', 'NLA'  = No Loca tion Assig ned
        286          @Ev aluatedLoc ationKey   VARCHAR(50 ) = NULL   -- 'V16',  'V01'    1 000109,  1 000089
        287   AS
        288   BEGIN
        289     DECLARE  @Today DAT ETIME2 = G ETDATE();
        290     
        291   DECLARE @A ssignedIns titutionId  INT = 0,
        292           @E valuatedIn stitutionI d INT = 0;
        293  
        294   IF @Assign edLocation Type IN (' Base','Ins titution')  
        295   AND ISNUME RIC(@Assig nedLocatio nKey) = 1
        296     SET @Ass ignedInsti tutionId =  CONVERT(I NT,@Assign edLocation Key);
        297     
        298   IF @Evalua tedLocatio nType IN ( 'Base','In stitution'
        299   AND ISNUME RIC(@Evalu atedLocati onKey) = 1
        300     SET @Eva luatedInst itutionId  = CONVERT( INT,@Evalu atedLocati onKey);
        301    
        302    --Temp ta ble concat nate flags  for Regis trants wit h multiple  flags
        303   CREATE TAB LE #state
        304   (
        305      [Regist rant_Id] I NT,
        306      [state]  VARCHAR(8 000)
        307  
        308  
        309   SET @state  = REPLACE (@state, ' Foreign Co untry/Othe r', 'FM,MH ,PW,UM,US, CANAD,MX,E U,PI,FG,OT ,UN')
        310  
        311   INSERT INT O #state ( [Registran t_Id], [st ate])
        312   -- Load Ta ble
        313    SELECT a. REGISTRANT _ID, 
        314           ST UFF((SELEC T ', ' + b .STATE 
        315           FR OM AHOBPR. REGISTRANT _ADDRESS b  
        316          WHE RE a.REGIS TRANT_ID =  b.REGISTR ANT_ID 
        317                  FOR XM L PATH('') ), 1, 1, ' ')  [STATE ]
        318           FR OM AHOBPR. REGISTRANT  a
        319       GROUP  BY a.REGIS TRANT_ID
        320       ORDER  BY a.REGIS TRANT_ID;
        321    
        322           SE LECT  reg. REGISTRANT _ID
        323                          ,(reg.LAS T_NAME + ' , ' + reg. FIRST_NAME ) AS Name
        324                          ,b.REGIST RANT_STATU S AS Statu s
        325                          ,DATEDIFF (day, reg. REGISTRANT _STATUS_LA ST_UPDATED _DATE, @To day) As Da ys
        326                          ,s.STATE  AS State
        327                          ,RIGHT(in st.VisnID,  2)  AS VI SN
        328                          ,inst.Nam e AS Facil ity
        329                          ,reg.BIRT H_DATE AS  BirthDate
        330            , CONVERT(VA RCHAR(10),  reg.BIRTH _DATE, 101 ) AS Birth DateDispla y
        331              FROM AHOBP R.REGISTRA NT reg
        332                    JOIN  AHOBPR.ST D_REGISTRA NT_STATUS 
        333                      ON  reg.STD_R EGISTRANT_ STATUS_ID  = b.STD_RE GISTRANT_S TATUS_ID
        334              LEFT JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st
        335                      ON  inst.ID =  reg.STD_I NSTITUTION _ID
        336                    LEFT  JOIN #sta te s
        337                      ON  reg.REGIS TRANT_ID =  s.Registr ant_Id
        338            W HERE (ISNU LL(@state, '') = ''
        339                   OR EX ISTS(SELEC T DISTINCT  addr.REGI STRANT_ID 
        340                                FRO M AHOBPR.R EGISTRANT_ ADDRESS ad dr 
        341                               WHER E addr.REG ISTRANT_ID  = reg.REG ISTRANT_ID  
        342                                 AN D addr.STA TE  IN (SE LECT * FRO M fncSplit (@state, ' ,'))))
        343                     AND  (ISNULL(@ status,'')  = '' 
        344                          OR reg.ST D_REGISTRA NT_STATUS_ ID IN (SEL ECT * FROM  fncSplit( @status, ' ,')))
        345        AND ( @AssignedL ocationTyp e IS NULL
        346              OR (@Assig nedLocatio nType = 'N LA' 
        347                  AND re g.STD_INST ITUTION_ID  IS NULL)
        348              OR (@Assig nedLocatio nType = 'V ISN' 
        349                   AND E XISTS(SELE CT * FROM  AHOBPR.VIE W_FACILITY _LOOKUP in st
        350                                        WHERE  inst.ID =  reg.STD_IN STITUTION_ ID
        351                                          AND  inst.VisnI D = @Assig nedLocatio nKey)
        352                 )  
        353              OR (@Assig nedLocatio nType = 'B ase' 
        354                   AND E XISTS(SELE CT * FROM  AHOBPR.VIE W_FACILITY _LOOKUP in st
        355                                        WHERE  inst.ID =  reg.STD_IN STITUTION_ ID
        356                                          AND  inst.BASE_ ID = @Assi gnedInstit utionId)
        357                 )  
        358              OR (@Assig nedLocatio nType = 'I nstitution
        359                   AND r eg.STD_INS TITUTION_I D = @Assig nedInstitu tionId)      
        360              )
        361        AND ( @Evaluated LocationTy pe IS NULL
        362              OR (@Evalu atedLocati onType = ' NLA' 
        363                  AND NO T EXISTS(  SELECT * F ROM AHOBPR .REGISTRAN T_VISIT ev al
        364                                     WHERE eva l.REGISTRA NT_ID = Re g.REGISTRA NT_ID
        365                                       AND eva l.EVALUATI ON_FLAG =  'Y' ) 
        366                 )
        367              OR (@Evalu atedLocati onType = ' VISN' 
        368                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        369                                         JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID
        370                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        371                                          AND  inst.VisnI D = @Evalu atedLocati onKey
        372                                          AND  eval.EVALU ATION_FLAG  = 'Y' ) 
        373                 )  
        374              OR (@Evalu atedLocati onType = ' Base' 
        375                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        376                                         JOIN  AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID
        377                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        378                                          AND  inst.BASE_ ID = @Eval uatedInsti tutionId
        379                                          AND  eval.EVALU ATION_FLAG  = 'Y' ) 
        380                 )  
        381              OR (@Evalu atedLocati onType = ' Institutio n' 
        382                   AND E XISTS(SELE CT * FROM  AHOBPR.REG ISTRANT_VI SIT eval
        383                                        WHERE  eval.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        384                                          AND  eval.EVALU ATION_FLAG  = 'Y' 
        385                                          AND  eval.STD_I NSTITUTION _ID = @Eva luatedInst itutionId)  
        386                 )  
        387              ); 
        388  
        389     DROP TAB LE #state
        390   END
        391  
        392   -- EXEC [A HOBPR].[SP _ReportSta tusByLocat ion] 
        393   -- EXEC [A HOBPR].[SP _ReportSta tusByLocat ion] @stat e = 'AA,Fo reign Coun try/Other'
        394   -- EXEC [A HOBPR].[SP _ReportSta tusByLocat ion] @stat us = 7
        395  
        396   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion]
        397   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Assi gnedLocati onType = ' NLA'
        398   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Assi gnedLocati onType = ' VISN', @As signedLoca tionKey =  'V16'
        399   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Assi gnedLocati onType = ' Base', @As signedLoca tionKey =  '1000089'
        400   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Assi gnedLocati onType = ' Institutio n', @Assig nedLocatio nKey = '10 00089'
        401   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion]
        402   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Eval uatedLocat ionType =  'NLA'
        403   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Eval uatedLocat ionType =  'VISN', @E valuatedLo cationKey  = 'V16'
        404   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Eval uatedLocat ionType =  'Base', @E valuatedLo cationKey  = '1000089 '
        405   -- exec [A HOBPR].[SP _ReportSta tusByLocat ion] @Eval uatedLocat ionType =  'Instituti on', @Eval uatedLocat ionKey = ' 1000089'
        406   GO
        407  
        408   PRINT 'ALT ER PROCEDU RE [AHOBPR ].[SP_Repo rtAdHocByL ocation].. .';
        409   GO
        410  
        411   -- ======= ========== ========== ========== ========
        412   -- Author:                Debora h Barr
        413   -- Create  date: Nove mber 12, 2 014
        414   -- Descrip tion: Used  for the A HOBPR Ad H oc Report   
        415  
        416   -- Modific ation log
        417   -- 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
        418   -- 2015-01 -05 - Chan ge Date Fo rmat to MM /DD/YYYY
        419   -- 2015-01 -14 - Sher ry Wang Ad d more par ameters: @ healthFact or, @formS tartFromDa te, @formS tartToDate , @subpopu lationFlag
        420   -- 2015-01 -14 - Sher ry Wang Ad d more par ameters: @ adminFlag,  @deployme ntAll, @de ploymentEx posure, @a dminFlagFr omDate, @a dminFlagTo Date
        421   -- 2015-01 -16 - Bruc e Clegg -  Fix parame ters, Add  distinct a nd outer q uery to gr oup counts .
        422   -- 2015-02 -09 - Bruc e Clegg -  Change Hea lth Factor  Exists st atements t o use new  REGISTRANT _VISIT
        423   -- 2015-05 -07 - Bruc e Clegg -  Change Fac ility name  from "Oth er" to "No  Facitilty  Assigned"  when not  found
        424   -- 2015-06 -04 - Bruc e Clegg -  Add more p arameters
        425   -- 2015-06 -18 - Bruc e Clegg -  Changed @s eparationT ype to an  Integer 
        426   -- 2015-07 -09 - Bruc e Clegg -  Rewrote as  Dynamic S QL for per formance
        427   -- 2015-08 -05 - Bruc e Clegg -  Fix bug wi th AdminFl ag - Set F rom and To  date defa ults
        428   -- ======= ========== ========== ========== ========
        429   ALTER PROC EDURE [AHO BPR].[SP_R eportAdHoc ByLocation ]
        430          @st atus varch ar(100) =  NULL, -- M ultiple st atues, com ma-separat ed values  when not N ULL
        431          @du tyStatus v archar(100 ) = NULL,  -- Multipl e states,  comma-sepa rated valu es when no t NULL  
        432          @fo rmStartFro mDateText  varchar(10 0) = NULL,
        433          @fo rmStartToD ateText va rchar(100)  = NULL,
        434          @he althFactor  varchar(1 00) = NULL , -- Multi ple health  factor ID s, comma-s eparated v alues when  not NULL
        435          @fo rmCompleti onFromDate Text varch ar(100) =  NULL,
        436          @fo rmCompleti onToDateTe xt varchar (100) = NU LL,
        437          @qu estionNumb er varchar (100) = NU LL,
        438          @an swer varch ar(100) =  NULL,
        439          @he althConcer ns varchar (10) = 'Al l', 
        440          @re questToBeS een varcha r(10) = 'A ll',
        441          @gr oupBy VARC HAR(50) =  '',                   -- 'VISN'  or 'Facili ty'   
        442          @su bpopulatio nFlag varc har (10) =  NULL, 
        443          @ad minFlag va rchar (10)  = NULL, 
        444          @de ploymentAl l varchar  (256) = NU LL, 
        445          @de ploymentEx posure var char (256)  = NULL, 
        446          @ad minFlagFro mDateText  varchar (2 0) = NULL,  
        447          @ad minFlagToD ateText va rchar (20)  = NULL,
        448          @ex cludeDead  varchar(1)  = 'N',
        449          @ge nder varch ar(50) = ' ',
        450          @ra ce varchar (50) = '',
        451          @et hnicity va rchar(50)  = '',
        452          @se parationTy pe INT = 0 ,
        453          @se parationFr omDateText  varchar ( 20) = NULL
        454          @se parationTo DateText v archar (20 ) = NULL, 
        455          @en rollmentSt atus varch ar(50) = ' '
        456   AS
        457  
        458   BEGIN
        459  
        460     DECLARE  @formStart FromDate D ATETIME2(0 ) = NULL,
        461              @formStart ToDate DAT ETIME2(0)  = NULL,
        462              @formCompl etionFromD ate DATETI ME2(0) = N ULL,
        463              @formCompl etionToDat e DATETIME 2(0) = NUL L,
        464              @adminFlag FromDate D ATETIME2(0 ) = NULL,
        465              @adminFlag ToDate DAT ETIME2(0)  = NULL,
        466              @separatio nFromDate  DATETIME2( 0) = NULL,
        467              @separatio nToDate DA TETIME2(0)  = NULL;
        468             
        469     DECLARE  @Query VAR CHAR(8000) ;      
        470  
        471     -- Conve rt date pa rameters       
        472  
        473     SET @for mStartFrom Date = dbo .CleanDate (@formStar tFromDateT ext);
        474     SET @for mStartToDa te = dbo.A ddMaxTime( dbo.CleanD ate(@formS tartToDate Text));
        475     SET @for mCompletio nFromDate  = dbo.Clea nDate(@for mCompletio nFromDateT ext);
        476     SET @for mCompletio nToDate =  dbo.AddMax Time(dbo.C leanDate(@ formComple tionToDate Text));      
        477     SET @adm inFlagFrom Date = ISN ULL(dbo.Cl eanDate(@a dminFlagFr omDateText ),'1900010 1');
        478     SET @adm inFlagToDa te = dbo.A ddMaxTime( ISNULL(dbo .CleanDate (@adminFla gToDateTex t),GETDATE ())); 
        479     SET @sep arationFro mDate = db o.CleanDat e(@separat ionFromDat eText);
        480     SET @sep arationToD ate = dbo. AddMaxTime (dbo.Clean Date(@sepa rationToDa teText));    
        481  
        482     -- Build  Src TDE
        483     SET @Que ry = ' WIT H Src 
        484       AS( SE LECT a.REG ISTRANT_ID , a.STD_IN STITUTION_ ID FROM AH OBPR.REGIS TRANT a WH ERE 1 = 1  ';
        485     
        486     IF @stat us IS NOT  NULL
        487       SET @Q uery = @Qu ery + ' AN D a.STD_RE GISTRANT_S TATUS_ID I N (' + @st atus + ')' ;
        488  
        489     IF ISNUL L(@dutySta tus,'') >  ''
        490       SET @Q uery = @Qu ery + ' AN D a.STD_SE RVICE_STAT US_ID IN ( ' + @dutyS tatus + ') ';
        491             
        492     IF @heal thConcerns  != 'All'
        493       SET @Q uery = @Qu ery + ' AN D a.HEALTH _CONCERNS_ RESPONSE =  ''' + @he althConcer ns + '''';  
        494     
        495     IF @requ estToBeSee n != 'All'
        496       SET @Q uery = @Qu ery + ' AN D a.REQUES T_SEEN_RES PONSE = '' ' + @reque stToBeSeen   + '''';
        497       
        498     IF @form StartFromD ate IS NOT  NULL OR @ formStartT oDate IS N OT NULL 
        499     OR @form Completion FromDate I S NOT NULL  OR @formC ompletionT oDate IS N OT NULL
        500       BEGIN
        501         SET  @Query = @ Query + '  AND EXISTS ( SELECT d .REGISTRAN T_ID FROM  AHOBPR.FOR M_RESPONSE  d 
        502                                               JOIN AHOBP R.FORM_RES PONSE_STAT US e ON d. FORM_RESPO NSE_ID = e .FORM_RESP ONSE_ID   
        503                                             W HERE a.REG ISTRANT_ID  = d.REGIS TRANT_ID ' ;
        504                      IF  @formStar tFromDate  IS NOT NUL L                       
        505                          SET @Quer y = @Query  + ' AND e .QUESTIONN AIRE_START ED_DATE >=  ''' + CON VERT(VARCH AR(20),@fo rmStartFro mDate,121)  + '''';
        506                      IF  @formStar tToDate IS  NOT NULL                       
        507                          SET @Quer y = @Query  + ' AND e .QUESTIONN AIRE_START ED_DATE <=  ''' + CON VERT(VARCH AR(20),@fo rmStartToD ate,121) +  '''';
        508                      IF  @formComp letionFrom Date IS NO T NULL                       
        509                          SET @Quer y = @Query  + ' AND e .QUESTIONN AIRE_COMPL ETED_DATE  >= ''' + C ONVERT(VAR CHAR(20),@ formComple tionFromDa te,121) +  '''';
        510                      IF  @formComp letionToDa te IS NOT  NULL                       
        511                          SET @Quer y = @Query  + ' AND e .QUESTIONN AIRE_COMPL ETED_DATE  <= ''' + C ONVERT(VAR CHAR(20),@ formComple tionToDate ,121) + '' '';
        512                       S ET @Query  = @Query +  ' ) ' --  Close Exis its statem ent
        513       END     
        514       
        515     IF ISNUL L(@answer, '') != '' 
        516       SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT fr.R EGISTRANT_ ID FROM AH OBPR.FORM_ RESPONSE_A NSWER ra '  +
        517                               '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 '  +
        518                               'JOI N AHOBPR.F ORM_RESPON SE fr ON f r.FORM_RES PONSE_ID =  rq.FORM_R ESPONSE_ID  ' +
        519                             ' WHER E ra.STD_F ORM_ANSWER _ID IN ('  + @answer  + ') AND f r.REGISTRA NT_ID = a. REGISTRANT _ID )';
        520     
        521     IF ISNUL L(@subpopu lationFlag ,'') != ''
        522       SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT * FR OM AHOBPR. REGISTRANT _REGISTRY_ FLAG subpo p ' +
        523                                            '  WHERE subp op.STD_REG ISTRY_FLAG _ID IN ('  + @subpopu lationFlag  + ') ' +
        524                                               ' AND subp op.REGISTR ANT_ID = a .REGISTRAN T_ID ) ';
        525  
        526           IF  ISNULL(@a dminFlag,' ') != ''
        527       SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT * FR OM AHOBPR. REGISTRANT _REGISTRY_ FLAG admin flag ' +
        528                             ' WHER E adminfla g.STD_REGI STRY_FLAG_ ID IN (' +  @adminFla g + ') ' +
        529                               ' AN D adminfla g.REGISTRA NT_ID = a. REGISTRANT _ID ' +
        530                               ' AN D adminfla g.CREATED  BETWEEN '' ' + CONVER T(VARCHAR( 20),@admin FlagFromDa te,121) + 
        531                                                          ''' AND '' ' + CONVER T(VARCHAR( 20),@admin FlagToDate ,121) + '' ' ) ';  
        532                                 
        533     IF ISNUL L(@healthF actor,'')  != ''
        534       SET @Q uery = @Qu ery + ' AN D EXISTS ( SELECT re. REGISTRANT _ID FROM A HOBPR.REGI STRANT_VIS IT re ' +
        535                                               ' JOIN AHO BPR.REGIST RANT_HEALT H_FACTOR h f ON re.RE GISTRANT_V ISIT_ID =  hf.REGISTR ANT_VISIT_ ID ' +
        536                                             '  WHERE a.R EGISTRANT_ ID = re.RE GISTRANT_I D AND re.E VALUATION_ FLAG = ''Y '' ' +
        537                                             '    AND hf. STD_HEALTH _FACTOR_ID  IN (' + @ healthFact or + ') )  '
        538  
        539     IF ISNUL L(@deploym entAll,'')  != '' 
        540       SET @Q uery = @Qu ery + ' AN D EXISTS ( SELECT dep l.REGISTRA NT_ID FROM  AHOBPR.RE GISTRANT_D EPLOYMENT  depl ' +
        541                                             '  WHERE a.R EGISTRANT_ ID = depl. REGISTRANT _ID
        542                                                  AND dep l.DEPLOYME NT_COUNTRY  = ''' + @ deployment All + ''')  ' ;
        543  
        544     IF ISNUL L(@deploym entExposur e,'') != '
        545       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 ' +
        546                                               '  JOIN AH OBPR.FORM_ RESPONSE_Q UESTION ex posure ON  deployment Exposure.R EGISTRANT_ DEPLOYMENT _ID = expo sure.REGIS TRANT_DEPL OYMENT_ID  ' +
        547                                               '  JOIN AH OBPR.STD_F ORM_QUESTI ON quest O N exposure .STD_FORM_ QUESTION_I D = quest. STD_FORM_Q UESTION_ID  ' +
        548                                               ' WHERE qu est.FORM_Q UESTION_UN IQUE_ID =  ''1.2.A''  ' +
        549                                               '   AND de ploymentEx posure.DEP LOYMENT_CO UNTRY = '' ' + @deplo ymentExpos ure + ''''  + 
        550                                               '   AND de ploymentEx posure.REG ISTRANT_ID  = a.REGIS TRANT_ID )  ';
        551     IF ISNUL L(@exclude Dead,'N')  = 'Y'
        552       SET @Q uery = @Qu ery + ' AN D a.DECEAS ED_FLAG =  0 ';
        553     
        554     IF ISNUL L(@gender, '') != ''
        555       SET @Q uery = @Qu ery + ' AN D ''' + @g ender + '' ' = ISNULL (a.GENDER, ''No Data  Available' ') ';
        556       
        557     IF ISNUL L(@ethnici ty,'') !=  ''
        558       SET @Q uery = @Qu ery + ' AN D ''' + @e thnicity +  ''' = ISN ULL(a.ETHN ICITY,''No  Data Avai lable'') ' ;
        559     
        560     IF ISNUL L(@separat ionType,0)  != 0
        561       SET @Q uery = @Qu ery + ' AN D ''' + @s eparationT ype + '''  = ISNULL(a .STD_SEPAR ATION_REAS ON_ID_CURR ENT,0) ';
        562  
        563     IF @sepa rationFrom Date IS NO T NULL 
        564       SET @Q uery = @Qu ery + ' AN D a.SEPARA TION_DATE_ CURRENT >=  ''' + CON VERT(VARCH AR(20),@se parationFr omDate,121 ) + '''';
        565     
        566     IF @sepa rationToDa te IS NOT  NULL 
        567       SET @Q uery = @Qu ery + ' AN D  a.SEPAR ATION_DATE _CURRENT < = ''' + CO NVERT(VARC HAR(20),@s eparationT oDate,121)  + '''';
        568     
        569     IF ISNUL L(@race,'' ) != ''
        570       SET @Q uery = @Qu ery + ' AN D ''' + @r ace + '''  =  ISNULL( a.RACE ,'' No Data Av ailable'')  ';
        571       
        572     IF ISNUL L(@enrollm entStatus, '') != ''
        573       SET @Q uery = @Qu ery + ' AN D ''' + @e nrollmentS tatus + '' ' = ISNULL (a.ENROLLM ENT_STATUS ,''No Data  Available '') ';
        574  
        575     -- Add S ummary TDE                     
        576     SET @Que ry = @Quer y + '  )     ,Summary   AS( ' + 
        577                             ' SELE CT Src.STD _INSTITUTI ON_ID, COU NT(*) AS T otalRegist rants FROM  Src ' +
        578                             ' GROU P BY STD_I NSTITUTION _ID ) ';
        579   -- By Faci lity 
        580           IF  @groupBy  = 'Facilit y'
        581              SET @Query  = @Query  + ' SELECT  inst.Name  AS Locati on, ' +
        582                                               ' ISNULL(C ONVERT(VAR CHAR(10),S ummary.STD _INSTITUTI ON_ID),''- 1'') AS Lo cationId,  ' +
        583                                         '  SU M(TotalReg istrants)  AS TotalRe gistrants  FROM Summa ry ' +                         
        584                                       '  JOIN  AHOBPR.VI EW_INSTITU TION_NAME  inst ON in st.ID = IS NULL(Summa ry.STD_INS TITUTION_I D,-1) ' +
        585                                       ' GROUP  BY inst.N ame,STD_IN STITUTION_ ID ' +
        586                                           ' O PTION (OPT IMIZE FOR  UNKNOWN);' ;
        587     
        588   -- By VISN
        589           IF  @groupBy  = 'VISN'
        590               SET @Quer y = @Query  + ' ,Visn Summary AS  ( ' +
        591                     ' S ELECT ISNU LL(inst.Vi snID,''NLA '') AS Loc ation, ' +
        592                            '  ISNU LL(inst.Vi snID, ''-1 '') AS Loc ationId, '  +
        593                            '  SUM( TotalRegis trants) AS  TotalRegi strants '  +                 
        594                     '    FROM Summ ary ' +   
        595                     '    LEFT JOIN  AHOBPR.VI EW_FACILIT Y_LOOKUP i nst ON ins t.ID = ISN ULL(Summar y.STD_INST ITUTION_ID ,-1) ' +  
        596                     '    GROUP BY  inst.VisnI D  ) ' +
        597                     ' S ELECT REPL ACE(Locati on,''NLA'' ,''No Faci tilty Assi gned'') AS  Location,  ' +
        598                     '         CONV ERT(VARCHA R(10),Loca tionId) AS  LocationI d, TotalRe gistrants  ' +
        599                     '    FROM Visn Summary  '  +
        600                     '   ORDER BY L ocation ' 
        601                     '   OPTION (OP TIMIZE FOR  UNKNOWN);  ' ;
        602           
        603     PRINT @Q uery;          
        604                                           
        605     EXECUTE  (@Query);                                                  
        606   END
        607   -- Paramet ers
        608     --@statu s, @dutySt atus ,@que stionnaire StartDate,  @question naireCompl eteDate, 
        609     --@quest ionNumber,  @answer,  @healthCon cerns= 'Al l', @reque stToBeSeen  = 'All',
        610     --@regis tryFlag,@I nstitution Id = 0, @V isnId = ''  
        611   -- Test Ca ses
        612   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @st atus = '6, 7'
        613   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @du tyStatus =  '1,2'
        614   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @fo rmStartFro mDateText   = '200101 01'
        615   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @fo rmStartToD ateText =  '20141231'
        616   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @he althFactor  = '44,45, 46,47' 
        617   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @fo rmCompleti onFromDate Text  = '2 0010101'
        618   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @fo rmCompleti onToDateTe xt  = '201 41231'
        619   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @he althConcer ns = 'Yes'  
        620   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @re questToBeS een = 'Yes '
        621   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @su bpopulatio nFlag = '6 4,65,66,67 '
        622   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @de ploymentAl l = 'Iraq'     -- 'Eg ypt'
        623   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @de ploymentEx posure  =  'Iraq'
        624   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @ad minFlag =  '59,60' ,@ adminFlagF romDateTex t = '20150 101' , @ad minFlagToD ateText =  '20150201'
        625   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN',  @qu estionNumb er = '1.2. E'  , @ans wer = '234 6,1571,17'   
        626   -- EXECUTE  [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy =  ' Facility'  , @status  = '6,7' ,@ answer = ' 2346,1571, 17'   -- ' 20,795,157 0' 
        627   GO
        628  
        629   PRINT 'Cre ate Index  IX_DOD_DEP LOYMENT_IM PORT_EDIPI ...';
        630   GO
        631  
        632   CREATE IND EX [IX_DOD _DEPLOYMEN T_IMPORT_E DIPI] ON [ AHOBPR].[D OD_DEPLOYM ENT_IMPORT ] ([EDIPI] )
        633   GO
        634  
        635   PRINT 'CRE ATE TABLE  [AHOBPR].[ STAGED_DOD _DEPLOYMEN T_IMPORT]' ;
        636   GO
        637  
        638   CREATE TAB LE [AHOBPR ].[STAGED_ DOD_DEPLOY MENT_IMPOR T](
        639           [D EPLOYMENT_ ID] [int]  IDENTITY(1 ,1) NOT NU LL,
        640           [E DIPI] VARC HAR(10) NU LL,
        641           [S VC] VARCHA R(15) NULL ,
        642           [C OMPO] VARC HAR(10) NU LL,
        643           [L OCATION] V ARCHAR(2)  NULL,
        644           [D EP_BGN_CDT ] VARCHAR( 10) NULL,
        645           [D EP_END_CDT ] VARCHAR( 10) NULL,
        646           [L OC_BEGIN_D ATE] VARCH AR(10) NUL L,
        647           [L OC_END_DAT E] VARCHAR (10) NULL,
        648           [G RADE] VARC HAR(4) NUL L,
        649           [P N_SEX_CD]  VARCHAR(50 ) NULL,
        650           [M RTL_STAT_C D] VARCHAR (50) NULL,
        651           [E DU_LVL_CD]  VARCHAR(5 0) NULL,
        652           [R ACE_CD] VA RCHAR(50)  NULL,
        653           [E TH_AFF_CD]  VARCHAR(5 0) NULL,
        654           [D TY_DOD_OCC _CD] VARCH AR(50) NUL L,
        655           [S ervice] VA RCHAR(50)  NULL,
        656           [C omponent]  VARCHAR(50 ) NULL
        657   ) ON [AHOB PR]
        658   GO
        659  
        660   PRINT 'CRE ATE PROCED URE [AHOBP R].[SP_Loa dDodDeploy mentInsert ]';
        661   GO
        662  
        663   -- ======= ========== ========== ========== ========
        664   -- Author:                Bruce  Clegg
        665   -- Create  date: 2015 -08-07
        666   -- Descrip tion: Move  data from  Staged ta ble, creat ing orphan s and mass aging data
        667  
        668   -- Modific ation log
        669   CREATE PRO CEDURE [AH OBPR].[SP_ LoadDodDep loymentIns ert]
        670   AS
        671   BEGIN
        672  
        673     PRINT 'T runcate Do D Depoymen t...';
        674     
        675     TRUNCATE  TABLE [AH OBPR].[DOD _DEPLOYMEN T_IMPORT];
        676  
        677     PRINT 'A dd Orphan  Country co des if nee ded...';
        678  
        679     WITH Sta ged
        680     AS( 
        681         SELE CT DISTINC T LOCATION
        682           FR OM AHOBPR. STAGED_DOD _DEPLOYMEN T_IMPORT
        683        )
        684        INSER T INTO [AH OBPR].[STD _COUNTRY]
        685                 ([CODE]
        686                 ,[DESCR IPTION])
        687        SELEC T LOCATION ,
        688                LOCATION  + ' - Orp han'
        689          FRO M Staged
        690     WHERE NO T EXISTS(S ELECT [COD E]
        691                          FROM [AHO BPR].[STD_ COUNTRY]
        692                          WHERE [CO DE] = LOCA TION);
        693                          
        694     PRINT 'A dd Orphan  Pay Grade  codes if n eeded...';
        695  
        696     WITH Sta ged
        697     AS( 
        698         SELE CT DISTINC T GRADE
        699           FR OM AHOBPR. STAGED_DOD _DEPLOYMEN T_IMPORT
        700        )
        701        INSER T INTO AHO BPR.STD_PA Y_PLAN_GRA DE
        702                 ([CODE]
        703                 ,[DESCR IPTION])
        704        SELEC T GRADE,
        705                GRADE +  ' - Orphan '
        706          FRO M Staged
        707     WHERE NO T EXISTS(S ELECT [COD E]
        708                          FROM AHOB PR.STD_PAY _PLAN_GRAD E
        709                          WHERE [CO DE] = GRAD E);
        710  
        711     PRINT 'S et Service  Name valu es...';
        712  
        713     WITH Mas terData
        714     AS (
        715         SELE CT *
        716           FR OM ( VALUE S
        717           (' A','Army') ,
        718           (' C','Coast  Guard'),
        719           (' F','Air Fo rce'),
        720           (' M','Marine  Corps'),
        721           (' N','Navy')
        722                  ) Reco rd(Code, S erviceName )
        723          )
        724     ,Src 
        725     AS (
        726     SELECT S taged.DEPL OYMENT_ID,  ServiceNa me
        727       FROM M asterData
        728       JOIN A HOBPR.STAG ED_DOD_DEP LOYMENT_IM PORT AS St aged
        729         ON S taged.SVC  = MasterDa ta.Code
        730         )
        731     MERGE IN TO AHOBPR. STAGED_DOD _DEPLOYMEN T_IMPORT A S Tgt
        732     USING Sr c
        733        ON Tg t.DEPLOYME NT_ID = Sr c.DEPLOYME NT_ID
        734     WHEN MAT CHED
        735     THEN UPD ATE
        736              SET Tgt.[S ervice] =  Src.Servic eName;
        737  
        738     PRINT 'S et Compone nt Name va lues...';
        739  
        740     WITH Mas terData
        741     AS (
        742         SELE CT *
        743           FR OM ( VALUE S
        744           (' R','Regula r'),
        745           (' V','Reserv e'),
        746           (' G','Guard' )
        747                  ) Reco rd(Code, C ompoName)
        748          )
        749     ,Src 
        750     AS (
        751     SELECT S taged.DEPL OYMENT_ID,  CompoName
        752       FROM M asterData
        753       JOIN A HOBPR.STAG ED_DOD_DEP LOYMENT_IM PORT AS St aged
        754         ON S taged.COMP O = Master Data.Code
        755         )
        756     MERGE IN TO AHOBPR. STAGED_DOD _DEPLOYMEN T_IMPORT A S Tgt
        757     USING Sr c
        758        ON Tg t.DEPLOYME NT_ID = Sr c.DEPLOYME NT_ID
        759     WHEN MAT CHED
        760     THEN UPD ATE
        761              SET Tgt.[C omponent]  = Src.Comp oName;
        762  
        763     PRINT 'L oad from S tatged int o DOD Depl oyment..';
        764                          
        765     DECLARE  @Now DATET IME2(0) =  GETDATE();
        766     DECLARE  @DefaultSt art DATETI ME2(0) = ' 20010101';
        767  
        768     INSERT I NTO [AHOBP R].[DOD_DE PLOYMENT_I MPORT]
        769                 ([EDIPI ]
        770                 ,[SERVI CE]
        771                 ,[COMPO ]
        772                 ,[LOCAT ION]
        773                 ,[DEPLO YMENT_STAR T_DATE]
        774                 ,[DEPLO YMENT_END_ DATE]
        775                 ,[LOCAT ION_START_ DATE]
        776                 ,[LOCAT ION_END_DA TE]
        777                 ,[PAY_P LAN_GRADE]
        778                 ,[IMPOR T_DATE])
        779     SELECT [ EDIPI]
        780           ,I SNULL(SUBS TRING([Ser vice],1,15 ),SVC)
        781           ,I SNULL(SUBS TRING([Com ponent],1, 10),COMPO)
        782           ,[ LOCATION]
        783           ,I SNULL([DEP _BGN_CDT],  @DefaultS tart)
        784           ,I SNULL([DEP _END_CDT],  @Now)
        785           ,I SNULL([LOC _BEGIN_DAT E], @Defau ltStart)
        786           ,I SNULL([LOC _END_DATE] , @Now)
        787           ,[ GRADE]
        788           ,@ Now
        789           -- ,[PN_SEX_C D] -- New  fields to  be added n ext releas e
        790           -- ,[MRTL_STA T_CD]
        791           -- ,[EDU_LVL_ CD]
        792           -- ,[RACE_CD]
        793           -- ,[ETH_AFF_ CD]
        794           -- ,[DTY_DOD_ OCC_CD]
        795       FROM [ AHOBPR].[S TAGED_DOD_ DEPLOYMENT _IMPORT];
        796       
        797   END;
        798       -- EXE CUTE  [AHO BPR].[SP_L oadDodDepl oymentInse rt]    --  about 8 mi nutes
        799   GO   
        800  
        801   PRINT 'Mer ging data  for [AHOBP R].[STD_CO UNTRY]...'
        802   GO
        803   WITH  Mast erData
        804   AS    ( 
        805           SE LECT *
        806           FR OM    ( VA LUES                   
        807                      (' 1A','NORTH  ATLANTIC  OCEAN'),
        808                      (' 1B','BAY O F BISCAY') ,
        809                      (' 1C','BRIST OL CHANNEL '),
        810                      (' 1D','DENMA RK STRAIT' ),
        811                      (' 1E','ENGLI SH CHANNEL '),
        812                      (' 1F','BAY O F FUNDY'),
        813                      (' 1G','GULF  OF GUINEA' ),
        814                      (' 1H','HUDSO N BAY'),
        815                      (' 1J','PANAM A CANAL'),
        816                      (' 1K','WESTE RN SCOTLAN D/EASTERN  IRELAND IN  SEAS'),
        817                      (' 1L','LABRA DOR SEA'),
        818                      (' 1M','GULF  OF MEXICO' ),
        819                      (' 1N','NORTH  SEA'),
        820                      (' 1P','BAFFI N BAY'),
        821                      (' 1Q','ST. G EORGES CHA NNEL'),
        822                      (' 1R','IRISH  SEA'),
        823                      (' 1S','SKAGE RRAK'),
        824                      (' 1T','GULF  OF ST. LAW RENCE'),
        825                      (' 1U','HUDSO N STRAIT') ,
        826                      (' 1V','DAVIS  STRAIT'),
        827                      (' 1X','CARIB BEAN SEA') ,
        828                      (' 2A','SOUTH  ATLANTIC  OCEAN'),
        829                      (' 2D','DRAKE  PASSAGE') ,
        830                      (' 2J','GULF  OF SAN JOR GE'),
        831                      (' 2M','GULF  OF SAN MAT IAS'),
        832                      (' 2R','RIO D E LA PLATA '),
        833                      (' 2S','SCOTI A SEA'),
        834                      (' 2W','WEDDE LL SEA'),
        835                      (' 3A','NORTH  PACIFIC O CEAN'),
        836                      (' 3B','GULF  OF SAKHALI N'),
        837                      (' 3C','CELEB ES SEA'),
        838                      (' 3D','GULF  OF TATARY' ),
        839                      (' 3E','EAST  CHINA SEA' ),
        840                      (' 3F','FORMO SA STRAIT' ),
        841                      (' 3G','GULF  OF TONKIN' ),
        842                      (' 3H','HALMA HERA SEA') ,
        843                      (' 3I','LUZON  STRAIT'),
        844                      (' 3J','SEA O F JAPAN'),
        845                      (' 3K','SHELE KOVA GULF' ),
        846                      (' 3L','GULF  OF CALIFOR NIA'),
        847                      (' 3M','MOLUC CA SEA'),
        848                      (' 3N','INLAN D SEA'),
        849                      (' 3P','PHILI PPINE SEA' ),
        850                      (' 3Q','SEA O F OKHOTSK' ),
        851                      (' 3R','KOREA  BAY'),
        852                      (' 3S','SULU  SEA'),
        853                      (' 3T','GULF  OF SIAM'),
        854                      (' 3U','SOUTH  CHINA SEA '),
        855                      (' 3V','GULF  OF TOMINI' ),
        856                      (' 3X','GULF  OF CHIHLI' ),
        857                      (' 3Y','YELLO W SEA'),
        858                      (' 3Z','SINGA PORE STRAI T'),
        859                      (' 4A','SOUTH  PACIFIC O CEAN'),
        860                      (' 4B','BANDA  SEA'),
        861                      (' 4C','CORAL  SEA'),
        862                      (' 4D','AMUND SEN SEA'),
        863                      (' 4E','GULF  OF BONE'),
        864                      (' 4F','FLORE S SEA'),
        865                      (' 4G','BELLI NGSHAUSEN  SEA'),
        866                      (' 4J','JAVA  SEA'),
        867                      (' 4K','BISMA RK SEA'),
        868                      (' 4L','BALI  SEA'),
        869                      (' 4M','MAKAS SAR STRAIT '),
        870                      (' 4P','GULF  OF CARPENT ARIA'),
        871                      (' 4Q','CERAM  SEA'),
        872                      (' 4R','ROSS  SEA'),
        873                      (' 4S','SOLOM ON SEA'),
        874                      (' 4T','TASMA N SEA'),
        875                      (' 4U','ARAFU RA SEA'),
        876                      (' 5A','ARCTI C OCEAN'),
        877                      (' 5B','BAREN TS SEA'),
        878                      (' 5C','CHUKC HI SEA'),
        879                      (' 5D','BERIN G SEA'),
        880                      (' 5E','SE AL ASKA/W BRI TISH COLUM BIA COASTA L'),
        881                      (' 5F','GULF  OF ALASKA' ),
        882                      (' 5G','GREEN LAND SEA') ,
        883                      (' 5K','KARA  SEA'),
        884                      (' 5L','LINCO LN SEA'),
        885                      (' 5N','NORWE GIAN SEA') ,
        886                      (' 5P','LAPTE V SEA'),
        887                      (' 5R','BERIN G STRAIT') ,
        888                      (' 5S','EAST  SIBERIAN S EA'),
        889                      (' 5T','NORTH WEST PASSA GEA'),
        890                      (' 5U','BEAUF ORT SEA'),
        891                      (' 5W','WHITE  SEAEA'),
        892                      (' 5Y','GULF  OF ANADYR' ),
        893                      (' 6A','INDIA N OCEANAIT '),
        894                      (' 6B','BAY O F BENGALNT ARIA'),
        895                      (' 6C','MALAC CA STRAIT' ),
        896                      (' 6D','GULF  OF ADEN'),
        897                      (' 6E','RED S EA'),
        898                      (' 6F','BASS  STRAIT'),
        899                      (' 6G','GREAT  AUSTRALIA N BIGHT'),
        900                      (' 6L','LACCA DIVE SEA') ,
        901                      (' 6M','GULF  OF OMAN'),
        902                      (' 6N','ANDAM AN SEA'),
        903                      (' 6P','PERSI AN GULF'),
        904                      (' 6Q','GULF  OF AQABARI TISH COLUM BIA COASTA L'),
        905                      (' 6R','ARABI AN SEA'),
        906                      (' 6S','SAVU  SEAD SEA') ,
        907                      (' 6T','TIMOR  SEA'),
        908                      (' 6U','SUEZ  CANALA'),
        909                      (' 6W','GULF  OF SUEZA') ,
        910                      (' 6Z','MOZAM BIQUE CHAN NEL'),
        911                      (' 7B','BALTI C SEA'),
        912                      (' 7F','GULF  OF FINLAND '),
        913                      (' 7H','GULF  OF RIGAEN  SEA'),
        914                      (' 7K','KATTE GATFINLAND '),
        915                      (' 7T','GULF  OF BOTHNIA '),
        916                      (' 8B','BLACK  SEA'),
        917                      (' 8C','CASPI AN SEARAIT '),
        918                      (' 8D','ADRIA TIC SEA'),
        919                      (' 8E','EASTE RN MEDITER RANEAN SEA '),
        920                      (' 8G','AEGEA N SEA'),
        921                      (' 8J','BALEA RIC SEA'),
        922                      (' 8L','LIGUR IAN SEA'),
        923                      (' 8M','SEA O F MARMARA' ),
        924                      (' 8N','IONIA N SEA'),
        925                      (' 8P','BOSPO RUSSEA'),
        926                      (' 8R','ARAL  SEA'),
        927                      (' 8S','STRAI T OF GIBRA LTAR'),
        928                      (' 8T','TYRRH ENIAN SEAI TISH COLUM BIA COASTA L'),
        929                      (' 8U','DARDA NELLESSKA' ),
        930                      (' 8W','WESTE RN MEDITER RANEAN SEA '),
        931                      (' 8X','GULF  OF LION'),
        932                      (' 8Y','ALBOR AN SEA'),
        933                      (' 8Z','NORWE GIAN SEA') ,
        934                      (' 9E','GULF  OF FINLAND '),
        935                      (' 9H','GULF  OF RIGA'),
        936                      (' 9L','BALI  SEA'),
        937                      (' 9M','MAKAS SAR STRAIT '),
        938                      (' 9N','GULF  OF CARPENT ARIA'),
        939                      (' 9S','CERAM  SEA'),
        940                      (' AA','Aruba '),
        941                      (' AC','Antig ua and Bar buda'),
        942                      (' AE','Unite d Arab Emi rates'),
        943                      (' AF','Afgha nistan'),
        944                      (' AG','Alger ia'),
        945                      (' AJ','Azerb aijan'),
        946                      (' AL','Alban ia'),
        947                      (' AM','Armen ia'),
        948                      (' AN','Andor ra'),
        949                      (' AO','Angol a'),
        950                      (' AQ','Ameri can Samoa' ),
        951                      (' AR','Argen tina'),
        952                      (' AS','Austr alia'),
        953                      (' AT','Ashmo re and Car tier Islan ds'),
        954                      (' AU','Austr ia'),
        955                      (' AV','Angui lla'),
        956                      (' AX','Akrot iri'),
        957                      (' AY','Antar ctica'),
        958                      (' BA','Bahra in'),
        959                      (' BB','Barba dos'),
        960                      (' BC','Botsw ana'),
        961                      (' BD','Bermu da'),
        962                      (' BE','Belgi um'),
        963                      (' BF','Baham as, The'),
        964                      (' BG','Bangl adesh'),
        965                      (' BH','Beliz e'),
        966                      (' BK','Bosni a and Herz egovina'),
        967                      (' BL','Boliv ia'),
        968                      (' BM','Burma '),
        969                      (' BN','Benin '),
        970                      (' BO','Belar us'),
        971                      (' BP','Solom on Islands '),
        972                      (' BQ','Navas sa Island' ),
        973                      (' BR','Brazi l'),
        974                      (' BS','Bassa s da India '),
        975                      (' BT','Bhuta n'),
        976                      (' BU','Bulga ria'),
        977                      (' BV','Bouve t Island') ,
        978                      (' BX','Brune i'),
        979                      (' BY','Burun di'),
        980                      (' BZ','Germa ny, Berlin '),
        981                      (' CA','Canad a'),
        982                      (' CB','Cambo dia'),
        983                      (' CD','Chad' ),
        984                      (' CE','Sri L anka'),
        985                      (' CF','Congo  (Brazzavi lle)'),
        986                      (' CG','Congo  (Kinshasa )'),
        987                      (' CH','China '),
        988                      (' CI','Chile '),
        989                      (' CJ','Cayma n Islands' ),
        990                      (' CK','Cocos  (Keeling)  Islands') ,
        991                      (' CL','Centr al and Sou thern Line  Islands') ,
        992                      (' CM','Camer oon'),
        993                      (' CN','Comor os'),
        994                      (' CO','Colom bia'),
        995                      (' CQ','North ern Marian a Islands' ),
        996                      (' CR','Coral  Sea Islan ds'),
        997                      (' CS','Costa  Rica'),
        998                      (' CT','Centr al African  Republic' ),
        999                      (' CU','Cuba' ),
        1000                      (' CV','Cabo  Verde'),
        1001                      (' CW','Cook  Islands'),
        1002                      (' CY','Cypru s'),
        1003                      (' CZ','Czech oslovakia' ),
        1004                      (' D1','Bonai re, Sint E ustatius,  and Saba') ,
        1005                      (' D2','Diego  Garcia'),
        1006                      (' D3','Guant anamo Bay  Naval Base '),
        1007                      (' D4','Pales tinian Ter ritory'),
        1008                      (' DA','Denma rk'),
        1009                      (' DJ','Djibo uti'),
        1010                      (' DM','Dahom ey'),
        1011                      (' DO','Domin ica'),
        1012                      (' DQ','Jarvi s Island') ,
        1013                      (' DR','Domin ican Repub lic'),
        1014                      (' DX','Dheke lia'),
        1015                      (' EC','Ecuad or'),
        1016                      (' EG','Egypt '),
        1017                      (' EI','Irela nd'),
        1018                      (' EK','Equat orial Guin ea'),
        1019                      (' EN','Eston ia'),
        1020                      (' EQ','Canto n and Ende rbury Isla nds'),
        1021                      (' ER','Eritr ea'),
        1022                      (' ES','El Sa lvador'),
        1023                      (' ET','Ethio pia'),
        1024                      (' EU','Europ a Island') ,
        1025                      (' EZ','Czech  Republic' ),
        1026                      (' FA','Falkl and Island s'),
        1027                      (' FG','Frenc h Guiana') ,
        1028                      (' FI','Finla nd'),
        1029                      (' FJ','Fiji' ),
        1030                      (' FK','Falkl and Island s (Islas M alvinas)') ,
        1031                      (' FM','Micro nesia, Fed erated Sta tes of'),
        1032                      (' FO','Faroe  Islands') ,
        1033                      (' FP','Frenc h Polynesi a'),
        1034                      (' FQ','Baker  Island'),
        1035                      (' FR','Franc e'),
        1036                      (' FS','Frenc h Southern  and Antar ctic Lands '),
        1037                      (' FT','Frenc h Territor y of The A fars and I ssas'),
        1038                      (' GA','Gambi a, The'),
        1039                      (' GB','Gabon '),
        1040                      (' GC','Germa n Democrat ic Republi c'),
        1041                      (' GE','Germa ny, Federa l Republic  of'),
        1042                      (' GG','Georg ia'),
        1043                      (' GH','Ghana '),
        1044                      (' GI','Gibra ltar'),
        1045                      (' GJ','Grena da'),
        1046                      (' GK','Guern sey'),
        1047                      (' GL','Green land'),
        1048                      (' GM','Germa ny'),
        1049                      (' GN','Gilbe rt and Ell ice Island s'),
        1050                      (' GO','Glori oso Island s'),
        1051                      (' GP','Guade loupe'),
        1052                      (' GQ','Guam' ),
        1053                      (' GR','Greec e'),
        1054                      (' GS','Gilbe rt Islands '),
        1055                      (' GT','Guate mala'),
        1056                      (' GV','Guine a'),
        1057                      (' GY','Guyan a'),
        1058                      (' GZ','Gaza  Strip'),
        1059                      (' HA','Haiti '),
        1060                      (' HK','Hong  Kong'),
        1061                      (' HM','Heard  Island an d McDonald  Islands') ,
        1062                      (' HO','Hondu ras'),
        1063                      (' HQ','Howla nd Island' ),
        1064                      (' HR','Croat ia'),
        1065                      (' HU','Hunga ry'),
        1066                      (' IC','Icela nd'),
        1067                      (' ID','Indon esia'),
        1068                      (' IM','Isle  of Man'),
        1069                      (' IN','India '),
        1070                      (' IO','Briti sh Indian  Ocean Terr itory'),
        1071                      (' IP','Clipp erton Isla nd'),
        1072                      (' IQ','U.S.  Miscellane ous Island s'),
        1073                      (' IR','Iran' ),
        1074                      (' IS','Israe l'),
        1075                      (' IT','Italy '),
        1076                      (' IU','Israe l-Syria De militarize d Zone'),
        1077                      (' IV','Cote  DIvoire'),
        1078                      (' IW','Israe l-Jordan D emilitariz ed Zone'),
        1079                      (' IY','Iraq- Saudi Arab ia Neutral  Zone'),
        1080                      (' IZ','Iraq' ),
        1081                      (' JA','Japan '),
        1082                      (' JE','Jerse y'),
        1083                      (' JM','Jamai ca'),
        1084                      (' JN','Jan M ayen'),
        1085                      (' JO','Jorda n'),
        1086                      (' JQ','Johns ton Atoll' ),
        1087                      (' JS','Svalb ard and Ja n Mayen'),
        1088                      (' JU','Juan  de Nova Is land'),
        1089                      (' KE','Kenya '),
        1090                      (' KG','Kyrgy zstan'),
        1091                      (' KN','Korea , North'),
        1092                      (' KQ','Kingm an Reef'),
        1093                      (' KR','Kirib ati'),
        1094                      (' KS','Korea , South'),
        1095                      (' KT','Chris tmas Islan d'),
        1096                      (' KU','Kuwai t'),
        1097                      (' KV','Kosov o'),
        1098                      (' KZ','Kazak hstan'),
        1099                      (' LA','Laos' ),
        1100                      (' LE','Leban on'),
        1101                      (' LG','Latvi a'),
        1102                      (' LH','Lithu ania'),
        1103                      (' LI','Liber ia'),
        1104                      (' LO','Slova kia'),
        1105                      (' LQ','Palmy ra Atoll') ,
        1106                      (' LS','Liech tenstein') ,
        1107                      (' LT','Lesot ho'),
        1108                      (' LU','Luxem bourg'),
        1109                      (' LY','Libya '),
        1110                      (' MA','Madag ascar'),
        1111                      (' MB','Marti nique'),
        1112                      (' MC','Macau '),
        1113                      (' MD','Moldo va'),
        1114                      (' ME','Spani sh North A frica'),
        1115                      (' MF','Mayot te'),
        1116                      (' MG','Mongo lia'),
        1117                      (' MH','Monts errat'),
        1118                      (' MI','Malaw i'),
        1119                      (' MJ','Monte negro (200 6 - 2008)' ),
        1120                      (' MK','Maced onia'),
        1121                      (' ML','Mali' ),
        1122                      (' MN','Monac o'),
        1123                      (' MO','Moroc co'),
        1124                      (' MP','Mauri tius'),
        1125                      (' MQ','Midwa y Islands' ),
        1126                      (' MR','Mauri tania'),
        1127                      (' MT','Malta '),
        1128                      (' MU','Oman' ),
        1129                      (' MV','Maldi ves'),
        1130                      (' MW','Monte negro (199 2 - 2001)' ),
        1131                      (' MX','Mexic o'),
        1132                      (' MY','Malay sia'),
        1133                      (' MZ','Mozam bique'),
        1134                      (' NA','Nethe rlands Ant illes (197 0 - 1990)' ),
        1135                      (' NC','New C aledonia') ,
        1136                      (' NE','Niue' ),
        1137                      (' NF','Norfo lk Island' ),
        1138                      (' NG','Niger '),
        1139                      (' NH','Vanua tu'),
        1140                      (' NI','Niger ia'),
        1141                      (' NL','Nethe rlands'),
        1142                      (' NN','Sint  Maarten'),
        1143                      (' NO','Norwa y'),
        1144                      (' NP','Nepal '),
        1145                      (' NQ','Trust  Territory  Of The Pa cific Isla nds (1978- 98)'),
        1146                      (' NR','Nauru '),
        1147                      (' NS','Surin ame'),
        1148                      (' NT','Nethe rlands Ant illes (199 1 - 2010)' ),
        1149                      (' NU','Nicar agua'),
        1150                      (' NZ','New Z ealand'),
        1151                      (' OD','South  Sudan'),
        1152                      (' PA','Parag uay'),
        1153                      (' PC','Pitca irn Island s'),
        1154                      (' PE','Peru' ),
        1155                      (' PF','Parac el Islands '),
        1156                      (' PG','Sprat ly Islands '),
        1157                      (' PJ','Etoro fu, Haboma i, Kunashi ri, Shikot an Islands '),
        1158                      (' PK','Pakis tan'),
        1159                      (' PL','Polan d'),
        1160                      (' PM','Panam a (1980 -  Present)') ,
        1161                      (' PN','Panam a (1970 -  1980)'),
        1162                      (' PO','Portu gal'),
        1163                      (' PP','Papua  New Guine a'),
        1164                      (' PQ','Canal  Zone'),
        1165                      (' PS','Palau '),
        1166                      (' PT','Portu guese Timo r'),
        1167                      (' PU','Guine a-Bissau') ,
        1168                      (' QA','Qatar '),
        1169                      (' RB','Serbi a (2006 -  2008)'),
        1170                      (' RE','Reuni on'),
        1171                      (' RH','South ern Rhodes ia'),
        1172                      (' RI','Serbi a (2008 -  Present)') ,
        1173                      (' RM','Marsh all Island s'),
        1174                      (' RN','Saint  Martin'),
        1175                      (' RO','Roman ia'),
        1176                      (' RP','Phili ppines'),
        1177                      (' RQ','Puert o Rico'),
        1178                      (' RS','Russi a'),
        1179                      (' RW','Rwand a'),
        1180                      (' SA','Saudi  Arabia'),
        1181                      (' SB','Saint  Pierre an d Miquelon '),
        1182                      (' SC','Saint  Kitts and  Nevis'),
        1183                      (' SE','Seych elles'),
        1184                      (' SF','South  Africa'),
        1185                      (' SG','Seneg al'),
        1186                      (' SH','Saint  Helena, A scension,  and Trista n da Cunha '),
        1187                      (' SI','Slove nia'),
        1188                      (' SK','Sikki m'),
        1189                      (' SL','Sierr a Leone'),
        1190                      (' SM','San M arino'),
        1191                      (' SN','Singa pore'),
        1192                      (' SO','Somal ia'),
        1193                      (' SP','Spain '),
        1194                      (' SQ','Swan  Islands'),
        1195                      (' SR','Serbi a (1992 -  2004)'),
        1196                      (' SS','Spani sh Sahara' ),
        1197                      (' ST','Saint  Lucia'),
        1198                      (' SU','Sudan '),
        1199                      (' SV','Svalb ard'),
        1200                      (' SW','Swede n'),
        1201                      (' SX','South  Georgia a nd South S andwich Is lands'),
        1202                      (' SY','Syria '),
        1203                      (' SZ','Switz erland'),
        1204                      (' TB','Saint  Barthelem y'),
        1205                      (' TC','Truci al States' ),
        1206                      (' TD','Trini dad and To bago'),
        1207                      (' TE','Trome lin Island '),
        1208                      (' TH','Thail and'),
        1209                      (' TI','Tajik istan'),
        1210                      (' TK','Turks  and Caico s Islands' ),
        1211                      (' TL','Tokel au'),
        1212                      (' TN','Tonga '),
        1213                      (' TO','Togo' ),
        1214                      (' TP','Sao T ome and Pr incipe'),
        1215                      (' TQ','Trust  Territory  Of The Pa cific Isla nds (1970- 77)'),
        1216                      (' TS','Tunis ia'),
        1217                      (' TT','Timor -Leste'),
        1218                      (' TU','Turke y'),
        1219                      (' TV','Tuval u'),
        1220                      (' TW','Taiwa n'),
        1221                      (' TX','Turkm enistan'),
        1222                      (' TZ','Tanza nia'),
        1223                      (' UC','Curac ao'),
        1224                      (' UG','Ugand a'),
        1225                      (' UK','Unite d Kingdom' ),
        1226                      (' UP','Ukrai ne'),
        1227                      (' UR','Union  of Soviet  Socialist  Republics '),
        1228                      (' US','Unite d States') ,
        1229                      (' UV','Burki na Faso'),
        1230                      (' UY','Urugu ay'),
        1231                      (' UZ','Uzbek istan'),
        1232                      (' VC','Saint  Vincent a nd the Gre nadines'),
        1233                      (' VE','Venez uela'),
        1234                      (' VI','Virgi n Islands,  British') ,
        1235                      (' VM','Vietn am'),
        1236                      (' VN','Viet- Nam, North '),
        1237                      (' VQ','Virgi n Islands,  U.S.'),
        1238                      (' VS','Vietn am, Republ ic Of'),
        1239                      (' VT','Vatic an City'),
        1240                      (' WA','Namib ia'),
        1241                      (' WB','West  Berlin'),
        1242                      (' WE','West  Bank'),
        1243                      (' WF','Walli s and Futu na'),
        1244                      (' WI','Weste rn Sahara' ),
        1245                      (' WQ','Wake  Island'),
        1246                      (' WS','Samoa '),
        1247                      (' WZ','Swazi land'),
        1248                      (' YE','Yemen  (Sanaa)') ,
        1249                      (' YI','Monte negro (For merly Yugo slavia 01- 04'),
        1250                      (' YM','Yemen '),
        1251                      (' YO','Yugos lavia'),
        1252                      (' YQ','Ryuky u Islands,  Southern' ),
        1253                      (' YS','Yemen  (Aden)'),
        1254                      (' ZA','Zambi a'),
        1255                      (' ZI','Zimba bwe'),
        1256                      (' ZZ','Unkno wn')
        1257                    )
        1258          AS  MasterReco rd(Codeval ue, TextVa lue)
        1259          )
        1260   MERGE
        1261     INTO  [A HOBPR].[ST D_COUNTRY]  AS Tgt
        1262     USING Ma sterData A S Src
        1263     ON    Tg t.CODE = S rc.CodeVal ue
        1264    WHEN  NOT  MATCHED
        1265    THEN  INS ERT
        1266           ([ CODE],[DES CRIPTION])  
        1267           VA LUES
        1268           (S rc.CodeVal ue, Src.Te xtValue)
        1269    WHEN MATC HED 
        1270    THEN UPDA TE SET Tgt .[DESCRIPT ION] = Src .TextValue ;
        1271    GO 
        1272    
        1273   CREATE PRO CEDURE [AH OBPR].[SP_ LoadJsonQu eue]
        1274   AS
        1275  
        1276   BEGIN
        1277  
        1278     INSERT I NTO [AHOBP R].[JSON_Q UEUE] 
        1279                ([REGIST RANT_JSON_ ID]
        1280                ,[CREATE D]
        1281                ,[UPDATE D]
        1282                ,[CREATE DBY]
        1283                ,[UPDATE DBY])
        1284       SELECT  [REGISTRA NT_JSON_ID ]
        1285           ,[ CREATED]
        1286           ,[ UPDATED]
        1287           ,[ CREATEDBY]
        1288           ,[ UPDATEDBY]
        1289       FROM [ AHOBPR].[R EGISTRANT_ JSON];
        1290   END
        1291   GO
        1292   ALTER PROC EDURE [AHO BPR].[SP_P ostMigrati onDataUpda tes]
        1293         
        1294   AS
        1295   BEGIN
        1296  
        1297     PRINT 'P ostMigrati onDataUpda tes.sql st arted...';
        1298     PRINT 'S tarted ' +  CAST(GETD ATE() as v archar(20) ) + '.';
        1299  
        1300     PRINT 'S tep 01 - S et display  Question  Number...'
        1301      
        1302     With Goo dValues 
        1303     AS (
        1304     SELECT Q .STD_FORM_ QUESTION_I D
        1305           ,C ONVERT(VAR CHAR(10),s ec.BRP_FOR M_SECTION_ ID) + '.'
        1306           +C ONVERT(VAR CHAR(10),s s.[BRP_FOR M_SUB_SECT ION_ID])+  '.'
        1307           +Q .BRP_FORM_ QUESTION_I D AS Calcu latedID
        1308       FROM A HOBPR.STD_ FORM_QUEST ION Q 
        1309       JOIN [ AHOBPR].[S TD_FORM_SU B_SECTION]  ss  ON Q. STD_FORM_S UB_SECTION _ID = ss.S TD_FORM_SU B_SECTION_ ID
        1310       JOIN A HOBPR.STD_ FORM_SECTI ON sec          ON se c.STD_FORM _SECTION_I D = ss.STD _FORM_SECT ION_ID 
        1311       )
        1312       MERGE  INTO AHOBP R.STD_FORM _QUESTION  as Tgt
        1313       USING  GoodValues  AS Src
        1314          ON  tgt.STD_FO RM_QUESTIO N_ID = Src .STD_FORM_ QUESTION_I D
        1315        WHEN  MATCHED
        1316        THEN   UPDATE
        1317                  SET Tg t.FORM_QUE STION_UNIQ UE_ID = Sr c.Calculat edID;
        1318    
        1319     PRINT 'S tep 02 - C lear all C linical Re levant Fla g...)';
        1320     
        1321     UPDATE A HOBPR.STD_ FORM_ANSWE R
        1322       SET CL INICAL_REL EVANT_FLAG  = 0;
        1323     
        1324     PRINT 'S tep 03 - S etting Cli nical Rele vant Flag. ..)';
        1325     
        1326     WITH  Ma sterData
        1327       AS ( 
        1328              SELECT *
        1329              FROM   ( V ALUES
        1330              ('1.2.A',' Yes'),
        1331              ('1.2.F',' Yes'),
        1332              ('1.2.G',' '),
        1333              ('1.3.B',' '),
        1334              ('1.4.C',' '),
        1335              ('1.4.D',' Yes'),
        1336              ('1.4.E',' '),
        1337              ('1.4.F',' Yes'),
        1338              ('2.1.D',' can''t do  it at all' ),
        1339              ('2.1.D',' somewhat d ifficult') ,
        1340              ('2.1.D',' very diffi cult'),
        1341              ('2.1.E',' can''t do  it at all' ),
        1342              ('2.1.E',' somewhat d ifficult') ,
        1343              ('2.1.E',' very diffi cult'),
        1344              ('2.1.F',' Arthritis/ rheumatism '),
        1345              ('2.1.F',' Back or ne ck problem '),
        1346              ('2.1.F',' Benign Tum ors, Cysts '),
        1347              ('2.1.F',' Birth defe ct'),
        1348              ('2.1.F',' Brain inju ry, (for e xample, Tr aumatic Br ain Injury /TBI, Inte llectual d isability) '),
        1349              ('2.1.F',' Cancer'),
        1350              ('2.1.F',' Circulatio n problems  (includin g blood cl ots)'),
        1351              ('2.1.F',' Depression /anxiety/e motional p roblem'),
        1352              ('2.1.F',' Diabetes') ,
        1353              ('2.1.F',' Epilepsy,  seizures') ,
        1354              ('2.1.F',' Fibromyalg ia, lupus' ),
        1355              ('2.1.F',' Fracture,  bone/joint  injury'),
        1356              ('2.1.F',' Hearing pr oblem'),
        1357              ('2.1.F',' Heart prob lem'),
        1358              ('2.1.F',' Hernia'),
        1359              ('2.1.F',' Hypertensi on/high bl ood pressu re'),
        1360              ('2.1.F',' Kidney, bl adder or r enal probl ems'),
        1361              ('2.1.F',' Knee probl ems (not a rthritis,  not joint  injury)'),
        1362              ('2.1.F',' Lung/breat hing probl em (for ex ample, ast hma and em physema)') ,
        1363              ('2.1.F',' Migraine h eadaches ( not just h eadaches)' ),
        1364              ('2.1.F',' Missing li mbs (finge rs, toes o r digits),  amputee') ,
        1365              ('2.1.F',' Multiple S clerosis ( MS), Muscu lar Dystro phy (MD)') ,
        1366              ('2.1.F',' Osteoporos is, tendin itis'),
        1367              ('2.1.F',' Other deve lopmental  problem (f or example , cerebral  palsy)'),
        1368              ('2.1.F',' Other inju ry'),
        1369              ('2.1.F',' Other nerv e damage,  including  carpal tun nel syndro me'),
        1370              ('2.1.F',' Parkinson' 's disease , other tr emors'),
        1371              ('2.1.F',' Polio (mye litis), pa ralysis, p ara/quadri plegia'),
        1372              ('2.1.F',' Senility') ,
        1373              ('2.1.F',' Stroke pro blem'),
        1374              ('2.1.F',' Thyroid pr oblems, Gr ave''s dis ease, gout '),
        1375              ('2.1.F',' Ulcer'),
        1376              ('2.1.F',' Varicose v eins, hemo rrhoids'),
        1377              ('2.1.F',' Vision/pro blem seein g'),
        1378              ('2.1.F',' Weight pro blem'),
        1379              ('2.2.1.B' ,'Yes'),
        1380              ('2.2.1.C' ,'Yes'),
        1381              ('2.2.1.D' ,'Yes'),
        1382              ('2.2.1.E' ,'Yes'),
        1383              ('2.2.1.F' ,'Yes'),
        1384              ('2.2.1.G' ,'Yes'),
        1385              ('2.2.1.H' ,'Yes'),
        1386              ('2.2.1.I' ,'After de ployment') ,
        1387              ('2.2.1.I' ,'Before d eployment' ),
        1388              ('2.2.1.I' ,'During d eployment' ),
        1389              ('2.2.1.J' ,'About th e same'),
        1390              ('2.2.1.J' ,'Better') ,
        1391              ('2.2.1.J' ,'Worse'),
        1392              ('2.2.1.M' ,'Stopping  for breat h after wa lking abou t 100 yard s or after  a few min utes on le vel ground '),
        1393              ('2.2.1.M' ,'Too brea thless to  leave the  house, or  breathless  when dres sing or un dressing') ,
        1394              ('2.2.1.M' ,'Walking  slower tha n most peo ple on lev el ground,  stop afte r one mile , or stop  after 15 m inutes wal king at my  own pace' ),
        1395              ('2.4.A',' Yes'),
        1396              ('2.4.B',' Bladder'),
        1397              ('2.4.B',' Blood'),
        1398              ('2.4.B',' Bone'),
        1399              ('2.4.B',' Brain'),
        1400              ('2.4.B',' Breast'),
        1401              ('2.4.B',' Cervix'),
        1402              ('2.4.B',' Colon'),
        1403              ('2.4.B',' Esophagus' ),
        1404              ('2.4.B',' Gallbladde r'),
        1405              ('2.4.B',' Kidney'),
        1406              ('2.4.B',' Larynx-win dpipe'),
        1407              ('2.4.B',' Leukemia') ,
        1408              ('2.4.B',' Liver'),
        1409              ('2.4.B',' Lung'),
        1410              ('2.4.B',' Lymphoma') ,
        1411              ('2.4.B',' Melanoma') ,
        1412              ('2.4.B',' Mouth/tong ue/lip'),
        1413              ('2.4.B',' Other'),
        1414              ('2.4.B',' Ovary'),
        1415              ('2.4.B',' Pancreas') ,
        1416              ('2.4.B',' Prostate') ,
        1417              ('2.4.B',' Rectum'),
        1418              ('2.4.B',' Skin (Don' 't Know wh at kind)') ,
        1419              ('2.4.B',' Skin (non- melanoma)' ),
        1420              ('2.4.B',' Soft tissu e (muscle  or fat)'),
        1421              ('2.4.B',' Stomach'),
        1422              ('2.4.B',' Testis'),
        1423              ('2.4.B',' Throat-pha rynx'),
        1424              ('2.4.B',' Thyroid'),
        1425              ('2.4.B',' Uterus'),
        1426              ('2.5.A',' No'),
        1427              ('2.5.A',' Yes'),
        1428              ('2.5.C',' Don''t kno w'),
        1429              ('2.5.C',' Everyday') ,
        1430              ('2.5.C',' I do not w ish to ans wer'),
        1431              ('2.5.C',' Not at all '),
        1432              ('2.5.C',' Some days' ),
        1433              ('3.1.A',' About the  same'),
        1434              ('3.1.A',' Better'),
        1435              ('3.1.A',' Worse'),
        1436              ('3.1.E',' A little c oncerned') ,
        1437              ('3.1.E',' Very conce rned'),
        1438              ('3.1.F',' Cancer'),
        1439              ('3.1.F',' Effect on  children o r ability  to have ch ildren'),
        1440              ('3.1.F',' Eye proble m'),
        1441              ('3.1.F',' Gastrointe stinal (GI ) problem' ),
        1442              ('3.1.F',' Heart prob lem'),
        1443              ('3.1.F',' Immune pro blem'),
        1444              ('3.1.F',' Lung/Respi ratory/Bre athing pro blem'),
        1445              ('3.1.F',' Neurologic al problem '),
        1446              ('3.1.F',' Other prob lem'),
        1447              ('3.1.F',' Skin probl em'),
        1448              ('3.1.H',' Yes'),
        1449              ('3.1.J',' Cancer'),
        1450              ('3.1.J',' Effect on  children o r ability  to have ch ildren'),
        1451              ('3.1.J',' Eyes'),
        1452              ('3.1.J',' Heart'),
        1453              ('3.1.J',' Lung/Respi ratory/Bre athing'),
        1454              ('3.1.J',' Other'),
        1455              ('3.1.J',' Skin'),
        1456              ('5.4.A',' Yes'),
        1457              ('5.4.B.4' ,'Yes'),
        1458              ('5.5.D',' Yes')
        1459              )
        1460               AS Master Record(Que stionID, A nswerText)
        1461            )
        1462            U PDATE AHOB PR.STD_FOR M_ANSWER
        1463            S ET CLINICA L_RELEVANT _FLAG = 1
        1464            W HERE STD_F ORM_ANSWER _ID IN 
        1465                  (        
        1466                    SELE CT A.STD_F ORM_ANSWER _ID            
        1467                      FR OM AHOBPR. STD_FORM_A NSWER A
        1468                      JO IN AHOBPR. STD_FORM_Q UESTION B 
        1469                         ON A.STD_F ORM_QUESTI ON_ID = B. STD_FORM_Q UESTION_ID  
        1470                     WHE RE EXISTS( SELECT * F ROM Master Data 
        1471                                     WHERE B.F ORM_QUESTI ON_UNIQUE_ ID = Maste rData.Ques tionID
        1472                                       AND ISN ULL(A.[TEX T],'') = M asterData. AnswerText )
        1473                   );  
        1474                
        1475     PRINT 'S tep 04 - L oading Too l Tips for  Sections. ..';
        1476  
        1477     WITH  Ma sterData
        1478     AS    ( 
        1479              SELECT *
        1480              FROM    (  VALUES        
        1481           (1 ,'To view  questionna ire respon ses for De ployment H istory sel ect from t he sub sec tions belo w.'),
        1482           (2 ,'To view  questionna ire respon ses to Sym ptoms & Me dical Hist ory select  from the  sub sectio ns below.' ),
        1483           (3 ,'Select t o view reg istrant re sponses to  Health Co ncerns.'),
        1484           (4 ,'Select t o view reg istrant re sponses to  Places Yo u''ve Live d.'),
        1485           (5 ,'To view  questionna ire respon ses to Wor k History  select fro m the sub  sections b elow.'),
        1486           (6 ,'Select t o view reg istrant re sponses to  Home Envi ronment &  Hobbies.') ,
        1487           (7 ,'Select t o view reg istrant re sponses to  Health Ca re Utiliza tion.'),
        1488           (8 ,'Select t o view reg istrant re sponses to  Contact P references .')
        1489           )
        1490            A S MasterRe cord(id, T extValue)
        1491            )        
        1492     MERGE
        1493       INTO   AHOBPR.STD _FORM_SECT ION   AS T gt
        1494       USING  MasterData  AS Src
        1495       ON     Tgt.BRP_FO RM_SECTION _ID = Src. id
        1496      WHEN MA TCHED 
        1497      THEN UP DATE SET T gt.TOOL_TI P = Src.Te xtValue;    
        1498    
        1499     PRINT 'S tep 05 - L oading Too l Tips for  Sub Secti ons...';
        1500          
        1501     WITH  Ma sterData
        1502     AS    ( 
        1503              SELECT *
        1504              FROM    (  VALUES        
        1505                         (1,1,'Sele ct to view  registran t deployme nt history  received  from deplo yment inte rfaces.'),
        1506                         (1,2,'Sele ct to view  registran t response s for depl oyment spe cific ques tions.'),
        1507                         (1,3,'Sele ct to view  registran t response s to Milit ary Occupa tional Exp osures.'),
        1508                         (1,4,'Sele ct to view  registran t response s to Envir onment Exp osures & A ir Polluti on.'),
        1509                         (2,1,'Sele ct to view  registran t response s to Funct ional Limi tations &  Reported C auses.'),
        1510                         (2,2,'Sele ct to view  registran t response s to Healt h Conditio ns.'),
        1511                         (2,3,'Sele ct to view  registran t response s to Heigh t & Weight .'),
        1512                         (2,4,'Sele ct to view  registran t response s to Cance r History. '),
        1513                         (2,5,'Sele ct to view  registran t response s to Tobac co Exposur e.'),
        1514                         (2,6,'Sele ct to view  registran t response s to Deplo yment Smok ing Histor y.'),
        1515                         (2,7,'Sele ct to view  registran t response s to Month  Alcohol U se.'),
        1516                         (3,1,'Sele ct to view  registran t response s to Healt h Concerns .'),
        1517                         (4,1,'Sele ct to view  registran t response s to Place s You''ve  Lived.'),
        1518                         (5,1,'Sele ct to view  registran t response s to Curre nt Occupat ional Stat us.'),
        1519                         (5,2,'Sele ct to view  registran t response s to Main  Occupation .'),
        1520                         (5,3,'Sele ct to view  registran t response s to Dust  Exposures. '),
        1521                         (5,4,'Sele ct to view  registran t response s to Gas,  Smoke, Vap ors or Fum es Exposur e.'),
        1522                         (5,5,'Sele ct to view  registran t response s to Asbes tos Exposu re.'),
        1523                         (6,1,'Sele ct to view  registran t response s to Home  Environmen t & Hobbie s.'),
        1524                         (7,1,'Sele ct to view  registran t response s to Healt h Care Uti lization.' ),
        1525                         (8,1,'Sele ct to view  registran t response s to Conta ct Prefere nces.')
        1526           )
        1527            A S MasterRe cord(Secti onId, SubS ectionId,  TextValue)
        1528      )
        1529      ,Src
        1530      AS(      
        1531        SELEC T STD_FORM _SUB_SECTI ON_ID AS s sId, TextV alue
        1532          FRO M [AHOBPR] .[STD_FORM _SUB_SECTI ON]
        1533          JOI N AHOBPR.S TD_FORM_SE CTION 
        1534            O N STD_FORM _SECTION.S TD_FORM_SE CTION_ID =  STD_FORM_ SUB_SECTIO N.STD_FORM _SECTION_I D
        1535          JOI N MasterDa ta 
        1536                ON Maste rData.Sect ionId = ST D_FORM_SEC TION.BRP_F ORM_SECTIO N_ID
        1537                AND Mast erData.Sub SectionId  = STD_FORM _SUB_SECTI ON.BRP_FOR M_SUB_SECT ION_ID
        1538      )
        1539     MERGE
        1540       INTO   AHOBPR.STD _FORM_SUB_ SECTION    AS Tgt
        1541       USING   Src
        1542       ON     Tgt.STD_FO RM_SUB_SEC TION_ID =  Src.ssId
        1543      WHEN MA TCHED 
        1544      THEN UP DATE SET T gt.TOOL_TI P = Src.Te xtValue;
        1545          
        1546     PRINT 'S tep 06 - U pdate STD_ FORM_SECTI ON...';
        1547    
        1548     WITH  Ma sterData
        1549       AS ( 
        1550              SELECT *
        1551              FROM   ( V ALUES
        1552                                                 (1,'Depl oyment His tory'),
        1553                                                 (2,'Symp toms & Med ical Histo ry'),
        1554                                                 (3,'Heal th Concern s'),
        1555                                                 (4,'Plac es You''ve  Lived'),
        1556                                                 (5,'Work  History') ,
        1557                                                 (6,'Home  Environme nt & Hobbi es'),
        1558                                                 (7,'Heal th Care Ut ilization' ),
        1559                                                 (8,'Cont act Prefer ences')                           )
        1560               AS Master Record([BR P_FORM_SEC TION_ID],  [MENU_ITEM _NAME]) 
        1561            )
        1562      , Src 
        1563      AS (
        1564          SEL ECT sec.ST D_FORM_SEC TION_ID, 
        1565                MasterDa ta.[BRP_FO RM_SECTION _ID], Mast erData.[ME NU_ITEM_NA ME]
        1566          FRO M MasterDa ta 
        1567          JOI N AHOBPR.S TD_FORM_SE CTION sec  ON sec.[BR P_FORM_SEC TION_ID] =  MasterDat a.[BRP_FOR M_SECTION_ ID]
        1568          )
        1569          MER GE
        1570       INTO   [AHOBPR].[ STD_FORM_S ECTION] AS  Tgt
        1571       USING   Src
        1572       ON     Tgt.[STD_F ORM_SECTIO N_ID] = Sr c.[STD_FOR M_SECTION_ ID]
        1573       WHEN M ATCHED 
        1574      THEN UP DATE SET T gt.[MENU_I TEM_NAME]  = Src.[MEN U_ITEM_NAM E]; 
        1575      
        1576     PRINT 'S tep 07 Upd ate [STD_F ORM_SUBSEC TION]...';   
        1577  
        1578     WITH  Ma sterData
        1579       AS ( 
        1580              SELECT *
        1581              FROM   ( V ALUES
        1582                                        (1,1,' Deployment s'),
        1583                                        (1,2,' Deployment  Exposures '),
        1584                                        (1,3,' Military O ccupationa l Exposure s'),
        1585                                        (1,4,' Environmen tal Exposu res & Air  Pollution' ),
        1586                                        (2,1,' Functional  Limitatio n & Report ed Cause') ,
        1587                                        (2,2,' Health Con ditions'),
        1588                                        (2,3,' Height & W eight'),
        1589                                        (2,4,' Cancer His tory'),
        1590                                        (2,5,' Tobacco Ex posure'),
        1591                                        (2,6,' Deployment  Smoking H istory'),
        1592                                        (2,7,' 12 Month A lcohol Use '),
        1593                                        (5,1,' Current Oc cupational  Status'),
        1594                                        (5,2,' Main Occup ation'),
        1595                                        (5,3,' Dust Expos ures'),
        1596                                        (5,4,' Gas, Smoke , Vapors o r Fumes Ex posure?'),
        1597                                        (5,5,' Asbestos E xposure')
        1598                                  )
        1599               AS Master Record ( [ SECTION_ID ], [SUB_SE CTION_ID],  [MENU_ITE M]) 
        1600            ) ,
        1601     Src AS (
        1602            S ELECT ss.S TD_FORM_SU B_SECTION_ ID, -- [SE CTION_ID],  [SUB_SECT ION_ID], 
        1603                      [M ENU_ITEM]
        1604            F ROM Master Data
        1605            J OIN AHOBPR .[STD_FORM _SUB_SECTI ON] ss ON  ss.[BRP_FO RM_SUB_SEC TION_ID] =  MasterDat a.[SUB_SEC TION_ID]
        1606            J OIN AHOBPR .[STD_FORM _SECTION]  sec ON ss. [STD_FORM_ SECTION_ID ] = sec.[S TD_FORM_SE CTION_ID]
        1607            W HERE Maste rData.[SEC TION_ID] =  sec.BRP_F ORM_SECTIO N_ID
        1608          )
        1609       MERGE
        1610       INTO   [AHOBPR].[ STD_FORM_S UB_SECTION ] AS Tgt
        1611       USING   Src
        1612       ON     Tgt.[STD_F ORM_SUB_SE CTION_ID]  = Src.[STD _FORM_SUB_ SECTION_ID ]
        1613       WHEN M ATCHED 
        1614       THEN U PDATE 
        1615                SET Tgt. [MENU_ITEM _NAME] = S rc.[MENU_I TEM];
        1616  
        1617     PRINT 'S tep 08 - S et Short T ext = Text  with HTML  removed.' ;       
        1618          
        1619     UPDATE [ AHOBPR].[S TD_FORM_QU ESTION]
        1620          SET  SHORT_TEX T = REPLAC E(REPLACE( REPLACE([T EXT],'<str ong>',''), '</strong> ',''),'</b r>','');
        1621  
        1622    PRINT 'St ep 09 - Up date Quest ion Unique  ID to sho rt form fo r sections  1,3,6,7 &  8 - Shoul d be 33 ';        
        1623    
        1624     With Sho rtValues 
        1625     AS (
        1626     SELECT Q .STD_FORM_ QUESTION_I D
        1627           ,C ONVERT(VAR CHAR(10),s ec.BRP_FOR M_SECTION_ ID) + '.'
        1628           +Q .BRP_FORM_ QUESTION_I D AS Calcu latedID
        1629      FROM AH OBPR.STD_F ORM_QUESTI ON Q 
        1630       JOIN [ AHOBPR].[S TD_FORM_SU B_SECTION]  ss  ON Q. STD_FORM_S UB_SECTION _ID = ss.S TD_FORM_SU B_SECTION_ ID
        1631       JOIN A HOBPR.STD_ FORM_SECTI ON sec          ON se c.STD_FORM _SECTION_I D = ss.STD _FORM_SECT ION_ID 
        1632       WHERE  sec.BRP_FO RM_SECTION _ID IN (1, 3,6,7,8)
        1633         AND  ss.BRP_FOR M_SUB_SECT ION_ID = 1
        1634       )
        1635       MERGE  INTO AHOBP R.STD_FORM _QUESTION  as Tgt
        1636       USING  ShortValue s AS Src
        1637          ON  tgt.STD_FO RM_QUESTIO N_ID = Src .STD_FORM_ QUESTION_I D
        1638        WHEN  MATCHED
        1639        THEN   UPDATE
        1640                  SET Tg t.FORM_QUE STION_UNIQ UE_ID = Sr c.Calculat edID;  
        1641                  
        1642     PRINT 'E NABLE TRIG GER TRG_RE GISTRANT_J SON_INSERT ';                
        1643                  
        1644     ENABLE T RIGGER TRG _REGISTRAN T_JSON_INS ERT ON AHO BPR.REGIST RANT_JSON;
        1645     
        1646     PRINT 'D ROP INDEX  [IX_REGIST RANT_JSON_ Object] If  it exists ..';    
        1647     
        1648     IF  EXIS TS (SELECT  * FROM sy s.indexes  WHERE obje ct_id = OB JECT_ID(N' [AHOBPR].[ REGISTRANT _JSON]') A ND name =  N'IX_REGIS TRANT_JSON _Object')
        1649         DROP  INDEX [IX _REGISTRAN T_JSON_Obj ect] ON [A HOBPR].[RE GISTRANT_J SON] WITH  ( ONLINE =  OFF );
        1650  
        1651     PRINT 'C REATE INDE X [IX_REGI STRANT_JSO N_Object]  ....';    
        1652  
        1653     CREATE N ONCLUSTERE D INDEX [I X_REGISTRA NT_JSON_Ob ject] ON [ AHOBPR].[R EGISTRANT_ JSON] 
        1654     (
        1655              [OBJECT_TY PE] ASC,
        1656              [OBJECT_ID ] ASC,
        1657              [REGISTRAN T_JSON_ID]  ASC
        1658     )WITH (P AD_INDEX   = OFF, STA TISTICS_NO RECOMPUTE   = OFF, SO RT_IN_TEMP DB = OFF,  IGNORE_DUP _KEY = OFF , DROP_EXI STING = OF F, ONLINE  = OFF, ALL OW_ROW_LOC KS  = ON,  ALLOW_PAGE _LOCKS  =  ON) ON [AH OBPR];
        1659  
        1660                  
        1661  
        1662     PRINT '' ;
        1663     PRINT 'P ostMigrati onDataUpda tes.sql Sc ript End.' ;
        1664     PRINT '' ;
        1665     PRINT 'C ompleted '  + CAST(GE TDATE() AS  varchar(2 0)) + '.';
        1666  
        1667   END;
        1668  
        1669   -- EXECUTE  [AHOBPR]. [SP_PostMi grationDat aUpdates]
        1670   GO
        1671  
        1672   DISABLE TR IGGER TRG_ REGISTRANT _JSON_INSE RT ON AHOB PR.REGISTR ANT_JSON;
        1673   GO
        1674  
        1675   DROP INDEX  IX_REGIST RANT_JSON_ Object ON  AHOBPR.REG ISTRANT_JS ON;
        1676   GO
        1677  
        1678   PRINT 'ALT ER PROCEDU RE [AHOBPR ].[SP_Repo rtClinical lyRevelant Summary].. .';
        1679   GO
        1680  
        1681   -- ======= ========== ========== ========== ========
        1682   --      Au thor:          Bruce  Clegg
        1683   -- Create  date: Febr uary 4, 20 15
        1684   -- Descrip tion: Used  for the A HOBPR Clin ically Rev elant Summ ary
        1685   --         Note: Data  is massag ed for que stions 1.2 .A, 1.2.F,  1.2.G, 2. 5.A and 2. 5.C 
        1686   -- Modific ation log
        1687   -- 2015042 7 - Clegg  - get depl oyment cou nts indepe ndent of Q uestion nu mbers
        1688   -- 2015081 1 - Clegg  - remove t esting val ue
        1689   -- ======= ========== ========== ========== ========
        1690   ALTER PROC EDURE [AHO BPR].[SP_R eportClini callyRevel antSummary ]
        1691          @Re gistrantId  INT = 0          
        1692   AS
        1693   BEGIN
        1694  
        1695      --Temp  table conc atenate An swers for  Questions
        1696     CREATE T ABLE #Answ ers
        1697     (
        1698        Quest ionNumber  VARCHAR(10 0),
        1699        Quest ionNumberD isplay VAR CHAR(100),
        1700        Answe rValues VA RCHAR(8000 )
        1701     ); 
        1702  
        1703  
        1704     -- Load  all clinic al releven t answers  that are N OT from a  Deployment
        1705     WITH Res ponses
        1706     AS (SELE CT qst.FOR M_QUESTION _UNIQUE_ID  AS Questi onNumber,
        1707                       I SNULL(rAns .ANSWER_VA LUE,ans.[T EXT])  AS  AnswerValu e
        1708                  FROM A HOBPR.REGI STRANT reg
        1709                  JOIN A HOBPR.FORM _RESPONSE  fr ON fr.R EGISTRANT_ ID = Reg.R EGISTRANT_ ID
        1710                  JOIN A HOBPR.FORM _RESPONSE_ QUESTION r Qst ON fr. FORM_RESPO NSE_ID = r Qst.FORM_R ESPONSE_ID
        1711                  JOIN A HOBPR.FORM _RESPONSE_ ANSWER rAn s ON rQst. FORM_RESPO NSE_QUESTI ON_ID = rA ns.FORM_RE SPONSE_QUE STION_ID
        1712                  JOIN A HOBPR.STD_ FORM_ANSWE R ans ON r Ans.STD_FO RM_ANSWER_ ID = ans.S TD_FORM_AN SWER_ID
        1713                  JOIN A HOBPR.STD_ FORM_QUEST ION qst ON  rQst.STD_ FORM_QUEST ION_ID = q st.STD_FOR M_QUESTION _ID
        1714                 WHERE f r.STD_FORM _ID = ans. STD_FORM_I D
        1715                   AND q st.STD_FOR M_ID = fr. STD_FORM_I D
        1716                   AND a ns.CLINICA L_RELEVANT _FLAG = 1
        1717                   AND r eg.REGISTR ANT_ID = @ Registrant Id
        1718                   AND r Qst.REGIST RANT_DEPLO YMENT_ID I S NULL
        1719     )
        1720  
        1721     INSERT I NTO #Answe rs (Questi onNumber,  QuestionNu mberDispla y, AnswerV alues)
        1722      SELECT  a.Question Number, a. QuestionNu mber,
        1723              STUFF((SEL ECT '~' +  b.AnswerVa lue 
        1724              FROM Respo nses b 
        1725            W HERE a.Que stionNumbe r = b.Ques tionNumber  
        1726                    FOR  XML PATH(' ')), 1, 1,  '')  Answ erValues
        1727              FROM Respo nses a
        1728         GROU P BY a.Que stionNumbe r
        1729         ORDE R BY a.Que stionNumbe r;
        1730         
        1731         
        1732     -- Get D eployment  Count with out limiti ng it to a  specific  Question.
        1733        DECLA RE @Deploy mentCount  INT = 0;
        1734        With  Deployment
        1735        AS(    
        1736            S ELECT DIST INCT rQst. REGISTRANT _DEPLOYMEN T_ID
        1737               FROM AHOB PR.REGISTR ANT reg
        1738               JOIN AHOB PR.FORM_RE SPONSE fr  ON fr.REGI STRANT_ID  = Reg.REGI STRANT_ID
        1739               JOIN AHOB PR.FORM_RE SPONSE_QUE STION rQst  ON fr.FOR M_RESPONSE _ID = rQst .FORM_RESP ONSE_ID
        1740              WHERE reg. REGISTRANT _ID = @Reg istrantId 
        1741                AND rQst .REGISTRAN T_DEPLOYME NT_ID IS N OT NULL
        1742           )
        1743        SELEC T @Deploym entCount =   COUNT(RE GISTRANT_D EPLOYMENT_ ID) 
        1744          FRO M Deployme nts;  
        1745        
        1746     -- Load  specific c linical re levent ans wers summa rized for  all Deploy ments - '1 .2.A','1.2 .F' 
        1747     INSERT I NTO #Answe rs (Questi onNumber,  QuestionNu mberDispla y, AnswerV alues)
        1748          SEL ECT qst.FO RM_QUESTIO N_UNIQUE_I D AS Quest ionNumber
        1749                 ,qst.FO RM_QUESTIO N_UNIQUE_I D AS Quest ionNumberD isplay
        1750                       , '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)) 
        1751                       +  ' of ' +  CONVERT(VA RCHAR(2),@ Deployment Count) + '  deploymen ts' AS Ans werValues
        1752              FROM AHOBP R.REGISTRA NT reg
        1753              JOIN AHOBP R.FORM_RES PONSE fr O N fr.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        1754              JOIN AHOBP R.FORM_RES PONSE_QUES TION rQst  ON fr.FORM _RESPONSE_ ID = rQst. FORM_RESPO NSE_ID
        1755              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
        1756              LEFT JOIN  AHOBPR.STD _FORM_ANSW ER ans ON  rAns.STD_F ORM_ANSWER _ID = ans. STD_FORM_A NSWER_ID
        1757              JOIN AHOBP R.STD_FORM _QUESTION  qst ON rQs t.STD_FORM _QUESTION_ ID = qst.S TD_FORM_QU ESTION_ID
        1758            W HERE qst.S TD_FORM_ID  = fr.STD_ FORM_ID
        1759               AND reg.R EGISTRANT_ ID = @Regi strantId
        1760               AND qst.F ORM_QUESTI ON_UNIQUE_ ID in ('1. 2.A','1.2. F')
        1761               GROUP BY  qst.FORM_Q UESTION_UN IQUE_ID; 
        1762     
        1763       -- Alw ays Delete  any zero  counts fro m above th at were cr eated in o rder to ca pture true  Deploymen t count.           
        1764     DELETE F ROM #Answe rs WHERE A nswerValue s LIKE 'Sa id yes to  0 of % dep loyments'
        1765                               AND  QuestionNu mber in (' 1.2.A','1. 2.F');
        1766     
        1767       
        1768     -- Load  specific c linical re levent ans wers summa rized for  all Deploy ments -- ' 1.2.G'
        1769     INSERT I NTO #Answe rs (Questi onNumber,  QuestionNu mberDispla y, AnswerV alues)
        1770         SELE CT qst.FOR M_QUESTION _UNIQUE_ID  AS Questi onNumber
        1771               ,qst.FORM _QUESTION_ UNIQUE_ID  AS Questio nNumberDis play
        1772                     ,'M aximum: '+  CONVERT(V ARCHAR(2), MAX(CONVER T(INT,rAns .ANSWER_VA LUE))) 
        1773                     + '  hours, Av erage: '+  LEFT(CONVE RT(VARCHAR (20),AVG(C ONVERT(DEC IMAL(6,2), rAns.ANSWE R_VALUE))) ,4)
        1774                     + '  hours, De ployments:  ' + CONVE RT(VARCHAR (2),@Deplo ymentCount ) AS Answe rValues
        1775           FR OM AHOBPR. REGISTRANT  reg
        1776           JO IN AHOBPR. FORM_RESPO NSE fr ON  fr.REGISTR ANT_ID = R eg.REGISTR ANT_ID
        1777           JO IN AHOBPR. FORM_RESPO NSE_QUESTI ON rQst ON  fr.FORM_R ESPONSE_ID  = rQst.FO RM_RESPONS E_ID
        1778           JO IN AHOBPR. FORM_RESPO NSE_ANSWER  rAns ON r Qst.FORM_R ESPONSE_QU ESTION_ID  = rAns.FOR M_RESPONSE _QUESTION_ ID
        1779           JO IN AHOBPR. STD_FORM_Q UESTION qs t ON rQst. STD_FORM_Q UESTION_ID  = qst.STD _FORM_QUES TION_ID
        1780          WHE RE qst.STD _FORM_ID =  fr.STD_FO RM_ID
        1781            A ND qst.STD _FORM_ID =  fr.STD_FO RM_ID
        1782            A ND reg.REG ISTRANT_ID  = @Regist rantId
        1783            A ND qst.FOR M_QUESTION _UNIQUE_ID  = '1.2.G'
        1784            G ROUP BY qs t.FORM_QUE STION_UNIQ UE_ID; 
        1785                                         
        1786       -- Alw ays Delete  any Null  or Empty A nswers.           
        1787     DELETE F ROM #Answe rs WHERE I SNULL(Answ erValues,' ')  = '';
        1788         
        1789  
        1790     -- Tobac co Exposur e
        1791     -- if bo th 2.5.A a nd 2.5.C e xist, repl ace with C ombined an swer text'   
        1792     DECLARE  @25A VARCH AR(200) =  (SELECT An swerValues  FROM #Ans wers WHERE  QuestionN umber = '2 .5.A')
        1793     DECLARE  @25C VARCH AR(200) =  (SELECT An swerValues  FROM #Ans wers WHERE  QuestionN umber = '2 .5.C')
        1794     IF @25A  = 'Yes'
        1795          IF   @25C = 'N ot at all'
        1796              UPDATE #An swers SET  AnswerValu es = 'Past  Smoker' 
        1797                                  , QuestionNu mberDispla y = '2.5'
        1798                             WHERE  QuestionNu mber = '2. 5.A';
        1799          ELS E
        1800              UPDATE #An swers SET  AnswerValu es = 'Curr ent Smoker '
        1801                                  , QuestionNu mberDispla y = '2.5'
        1802                             WHERE  QuestionNu mber = '2. 5.A';
        1803      IF  @25 A = 'No'
        1804          UPD ATE #Answe rs SET Ans werValues  = 'Never s moked' 
        1805                                  , QuestionNu mberDispla y = '2.5'
        1806                             WHERE  QuestionNu mber = '2. 5.A';
        1807  
        1808     -- Alway s Delete 2 .5.C, as i t cannot s tand on it 's own          
        1809     DELETE F ROM #Answe rs WHERE Q uestionNum ber = '2.5 .C';     
        1810         
        1811     -- Final  Query          
        1812           SE LECT DISTI NCT 
        1813              list.Quest ionNumberD isplay AS  QuestionNu mber
        1814                   ,CASE  WHEN qst. SHORT_TEXT  = 'Have y ou smoked  at least 1 00 cigaret tes in you r entire l ife?'  --  2.5.A
        1815                          THEN 'Hav e you ever  smoked?'
        1816                          ELSE qst. SHORT_TEXT  END  AS Q uestionTex t
        1817                   ,REPL ACE(list.A nswerValue s,'~','<br />') AS An swerValues
        1818                   ,sec. STD_FORM_S ECTION_ID  AS Section Id                      
        1819                   ,sub. STD_FORM_S UB_SECTION _ID AS Sub sectionId                     
        1820                   ,CASE  WHEN ISNU LL(sub.MEN U_ITEM_NAM E, '') = '
        1821                          THEN Conv ert(VARCHA R, sec.BRP _FORM_SECT ION_ID) +  ' ' + sec. MENU_ITEM_ NAME
        1822                          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
        1823                          END AS Se ctionAndSu bSection
        1824              FROM AHOBP R.REGISTRA NT reg
        1825              JOIN AHOBP R.FORM_RES PONSE fr O N fr.REGIS TRANT_ID =  Reg.REGIS TRANT_ID
        1826              JOIN AHOBP R.FORM_RES PONSE_QUES TION rQst  ON fr.FORM _RESPONSE_ ID = rQst. FORM_RESPO NSE_ID
        1827              JOIN AHOBP R.STD_FORM _QUESTION  qst ON rQs t.STD_FORM _QUESTION_ ID = qst.S TD_FORM_QU ESTION_ID
        1828              JOIN #Answ ers list O N qst.FORM _QUESTION_ UNIQUE_ID  = list.Que stionNumbe
        1829              JOIN STD_F ORM_SECTIO N sec ON s ec.STD_FOR M_SECTION_ ID = qst.S TD_FORM_SE CTION_ID
        1830              JOIN STD_F ORM_SUB_SE CTION sub  ON sub.STD _FORM_SUB_ SECTION_ID  = qst.STD _FORM_SUB_ SECTION_ID
        1831            W HERE qst.S TD_FORM_ID  = fr.STD_ FORM_ID
        1832               AND reg.R EGISTRANT_ ID = @Regi strantId;
        1833                     
        1834     DROP TAB LE #Answer s
        1835   END
        1836  
        1837   -- EXEC [A HOBPR].[SP _ReportCli nicallyRev elantSumma ry] 149
        1838   GO
        1839  
        1840   PRINT 'ALT ER PROCEDU RE [AHOBPR ].[SP_Upda teFromCDW] ...';
        1841   GO
        1842   -- ======= ========== ========== ========== ========
        1843   -- Author:                Bruce  Clegg
        1844   -- Create  date: 6/12 /2015
        1845   -- Descrip tion: Call ed after l oading CDW  Staging t ables
        1846   -- 08/12/2 015 - Set  Gender to  MALE and F EMALE
        1847   -- ======= ========== ========== ========== ========
        1848   ALTER PROC EDURE [AHO BPR].[SP_U pdateFromC DW]
        1849   AS
        1850   BEGIN
        1851  
        1852     DECLARE  @Now DATET IME2(0) =  GETDATE();
        1853     DECLARE  @ProcName  VARCHAR(30 ) = 'AHOBP R.SP_Updat eFromCDW';
        1854  
        1855     PRINT 'S et Institu tion ID in  Staged Pa tient';
        1856     
        1857     WITH Src
        1858     AS(
        1859     SELECT R EGISTRANT_ ID
        1860                ,Preferr edInstitut ionCode
        1861                ,Inst.ID
        1862       FROM [ AHOBPR].[S TAGED_PATI ENT] Stg
        1863       JOIN A HOBPR.VIEW _INSTITUTI ON Inst ON  Inst.STAT IONNUMBER  = Stg.Pref erredInsti tutionCode
        1864       )
        1865       MERGE  INTO [AHOB PR].[STAGE D_PATIENT]  AS Tgt
        1866       USING  Src
        1867               ON Tgt.RE GISTRANT_I D = Src.RE GISTRANT_I D
        1868       WHEN M ATCHED
        1869       THEN U PDATE
        1870                         SET Tgt.ST D_INSTITUT ION_ID = S rc.ID;
        1871     
        1872     PRINT 'U pdate Regi strant fro m staged p atient...' ;
        1873  
        1874     WITH Src
        1875     AS (
        1876       SELECT  [REGISTRA NT_ID]
        1877              ,[GENDER]
        1878              ,[DECEASED ]
        1879              ,[DateOfDe ath]
        1880              ,[RaceText ]
        1881              ,[MaritalS tatus]
        1882              ,[Eligibil ityStatus]
        1883              ,[Eligibil ity]
        1884              ,[PatientI CN]
        1885              ,[Enrollme ntStatus]
        1886              ,[Preferre dInstituti onCode]
        1887              ,[Enrollme ntDate]
        1888              ,[STD_INST ITUTION_ID ]
        1889         FROM  [AHOBPR]. [STAGED_PA TIENT]
        1890         )
        1891         MERG E INTO [AH OBPR].[REG ISTRANT] A S Tgt
        1892         USIN G Src
        1893                 ON Tgt. REGISTRANT _ID = Src. REGISTRANT _ID
        1894         WHEN  MATCHED
        1895         THEN  UPDATE
        1896                           SET Tgt. STD_INSTIT UTION_ID =  Src.STD_I NSTITUTION _ID
        1897                              ,Tgt. GENDER = C ASE Src.GE NDER WHEN  'F' THEN ' FEMALE' 
        1898                                                               WHEN  'M' THEN ' MALE' END     
        1899                              ,Tgt. MARITAL_ST ATUS = Src .[MaritalS tatus] 
        1900                              ,Tgt. RACE = Src .[RaceText ]  
        1901                              ,Tgt. DECEASED_F LAG = CONV ERT(BIT,(C ASE Src.[D ECEASED] W HEN 'Y' TH EN 1 ELSE  0 END))
        1902                              ,Tgt. DEATH_DATE  = Src.[Da teOfDeath]     
        1903                              ,Tgt. ELIGIBILIT Y_STATUS =  Src.[Elig ibilitySta tus]                        
        1904                              ,Tgt. ELIGIBILIT Y = Src.[E ligibility ]    
        1905                              ,Tgt. ENROLLMENT _STATUS =  Src.[Enrol lmentStatu s]    
        1906                              ,Tgt. ENROLLED_D ATE = Src. [Enrollmen tDate]        
        1907                              ,Tgt. ETL_UPDATE D = @Now;
        1908                        
        1909     PRINT 'D elete heal th factors  for encou nters bein g updated' ;
        1910     DELETE 
        1911     FROM AHO BPR.REGIST RANT_HEALT H_FACTOR
        1912     WHERE EX ISTS(SELEC T REGISTRA NT_VISIT_I
        1913                     FRO M AHOBPR.R EGISTRANT_ VISIT
        1914                     JOI N AHOBPR.S TAGED_VISI T ON STAGE D_VISIT.RE GISTRANT_I D = REGIST RANT_VISIT .REGISTRAN T_ID
        1915                    WHER E REGISTRA NT_VISIT.R EGISTRANT_ VISIT_ID =  REGISTRAN T_HEALTH_F ACTOR.REGI STRANT_VIS IT_ID
        1916                      AN D STAGED_V ISIT.EVALU ATION_FLAG  = 'Y');
        1917                      
        1918     PRINT 'D elete enco uters bein g updated' ;
        1919  
        1920     DELETE 
        1921     FROM AHO BPR.REGIST RANT_VISIT
        1922     WHERE EV ALUATION_F LAG = 'Y'
        1923       AND EX ISTS(SELEC T REGISTRA NT_ID FROM  AHOBPR.ST AGED_VISIT
        1924                    WHER E STAGED_V ISIT.REGIS TRANT_ID =  REGISTRAN T_VISIT.RE GISTRANT_I D
        1925                    AND  STAGED_VIS IT.EVALUAT ION_FLAG =  'Y');
        1926  
        1927     PRINT 'D elete rece nt visits  being upda ted';               
        1928  
        1929     DELETE 
        1930     FROM AHO BPR.REGIST RANT_VISIT
        1931     WHERE EV ALUATION_F LAG = 'N'
        1932       AND EX ISTS(SELEC T REGISTRA NT_ID FROM  AHOBPR.ST AGED_VISIT
        1933                    WHER E STAGED_V ISIT.REGIS TRANT_ID =  REGISTRAN T_VISIT.RE GISTRANT_I D
        1934                    AND  STAGED_VIS IT.EVALUAT ION_FLAG =  'N');                                 
        1935     
        1936     PRINT 'S et Institu tion ID in  Staged VI SIT';
        1937     
        1938     WITH Src
        1939     AS(
        1940     SELECT S tg.VisitSI D
        1941           ,S tg.INSTITU TION_CODE
        1942           ,I nst.ID
        1943       FROM [ AHOBPR].[S TAGED_VISI T] Stg
        1944       JOIN A HOBPR.VIEW _INSTITUTI ON Inst ON  Inst.STAT IONNUMBER  = Stg.INST ITUTION_CO DE
        1945       )
        1946       MERGE  INTO [AHOB PR].[STAGE D_VISIT] A S Tgt
        1947       USING  Src
        1948               ON Tgt.Vi sitSID = S rc.VisitSI D
        1949       WHEN M ATCHED
        1950       THEN U PDATE
        1951                         SET Tgt.ST D_INSTITUT ION_ID = S rc.ID;                      
        1952                        
        1953     PRINT 'I nsert enco unters and  visits... ';               
        1954  
        1955     INSERT I NTO [AHOBP R].[REGIST RANT_VISIT ]
        1956                 ([REGIS TRANT_ID]
        1957                 ,[VISIT _DATE_TIME ]
        1958                 ,[STD_I NSTITUTION _ID]
        1959                 ,[VISTA _Encounter ID]
        1960                 ,[VISTA _Sta3n]
        1961                 ,[VISTA _Eligibili tyStatus]
        1962                 ,[EVALU ATION_FLAG ]
        1963                 ,[APPOI NTMENT_TYP E]
        1964                 ,[STOP_ CODE]
        1965                 ,[CREAT EDBY]
        1966                 ,[UPDAT EDBY]
        1967                 ,[CREAT ED]
        1968                 ,[UPDAT ED])
        1969         SELE CT [REGIST RANT_ID]
        1970                ,[VISIT_ DATE_TIME]
        1971                ,[STD_IN STITUTION_ ID]
        1972                ,[VISTA_ EncounterI D]
        1973                ,[VISTA_ Sta3n]
        1974                ,[VISTA_ Eligibilit y]
        1975                ,[EVALUA TION_FLAG]
        1976                ,[APPOIN TMENT_TYPE ]
        1977                ,[STOP_C ODE]
        1978                ,@ProcNa me
        1979                ,@ProcNa me
        1980                ,@Now
        1981                ,@Now
        1982       FROM [ AHOBPR].[S TAGED_VISI T];                     
        1983    
        1984     PRINT 'S et Standar d Health F actors ID  from STD_H EALTH_FACT OR...';  
        1985       
        1986     WITH Src
        1987      AS(
        1988         SELE CT [CDW_VI SIT_SID]
        1989                ,[REGIST RANT_ID]
        1990                ,std.[ST D_HEALTH_F ACTOR_ID]
        1991                ,[HEALTH _FACTOR_TE XT]      
        1992           FR OM [AHOBPR ].[STAGED_ HEALTH_FAC TOR] stage d
        1993           JO IN AHOBPR. STD_HEALTH _FACTOR st d ON std.N AME = stag ed.HEALTH_ FACTOR_TEX T
        1994       )
        1995       MERGE  INTO AHOBP R.[STAGED_ HEALTH_FAC TOR] AS Tg t
        1996       USING  Src  ON Tg t.[CDW_VIS IT_SID] =  Src.[CDW_V ISIT_SID]
        1997       WHEN M ATCHED
        1998                 AND Tgt .[REGISTRA NT_ID] = S rc.[REGIST RANT_ID]
        1999                 AND Tgt .[HEALTH_F ACTOR_TEXT ] = Src.[H EALTH_FACT OR_TEXT]
        2000       THEN U PDATE
        2001                         SET Tgt.[S TD_HEALTH_ FACTOR_ID]  = Src.[ST D_HEALTH_F ACTOR_ID];
        2002    
        2003      PRINT ' Insert Hea lth Factor s...';  
        2004      
        2005     INSERT I NTO [AHOBP R].[REGIST RANT_HEALT H_FACTOR]
        2006                 ([REGIS TRANT_VISI T_ID]
        2007                 ,[STD_H EALTH_FACT OR_ID]
        2008                 ,[ACTIV E_FLAG]
        2009                 ,[HEALT H_FACTOR_T EXT]
        2010                 ,[COMME NTS]
        2011                 ,[CREAT EDBY]
        2012                 ,[UPDAT EDBY]
        2013                 ,[CREAT ED]
        2014                 ,[UPDAT ED])           
        2015         SELE CT visit.R EGISTRANT_ VISIT_ID
        2016                ,hf.[STD _HEALTH_FA CTOR_ID]
        2017                ,1
        2018                ,hf.[HEA LTH_FACTOR _TEXT]
        2019                ,hf.[COM MENTS]
        2020                ,@ProcNa me    
        2021                ,@ProcNa me
        2022                ,@Now
        2023                ,@Now      
        2024       FROM [ AHOBPR].[S TAGED_HEAL TH_FACTOR]  hf -- 295
        2025       JOIN A HOBPR.STAG ED_VISIT s tage ON st age.VisitS ID = hf.CD W_VISIT_SI D
        2026       JOIN A HOBPR.REGI STRANT_VIS IT visit O N visit.VI STA_Encoun terID = st age.VISTA_ EncounterI
        2027  
        2028   END;
        2029   -- EXECUTE  [AHOBPR]. [SP_Update FromCDW]; 
        2030   GO 
        2031  
        2032   INSERT INT O [dbo].[D atabaseCha ngeLog]
        2033               ([MajorRe leaseNumbe r]
        2034               ,[MinorRe leaseNumbe r]
        2035               ,[PointRe leaseNumbe r]
        2036               ,[Hotfix]
        2037               ,[ScriptN ame]
        2038               ,[ScriptD escription ]
        2039               ,[TargetR egistry]
        2040               ,[DateApp lied])
        2041        VALUE S
        2042               ('$(Major ReleaseNum ber)'
        2043               ,'$(Minor ReleaseNum ber)'
        2044               ,'$(Point ReleaseNum ber)'
        2045               ,0
        2046               ,'Registr y.AHOBPR.D atabase.Bu ild.1.0.50 .sql'
        2047                            ,'Regis try.AHOBPR .Database. Build.1.0. 50.sql Scr ipt'
        2048               ,'AHOBPR'
        2049               ,GETDATE( ));
        2050   GO
        2051  
        2052   PRINT '';
        2053   PRINT 'Reg istry.AHOB PR.Databas e.Build.1. 0.50.sql S cript Comp lete.';
        2054   PRINT '';
        2055   PRINT 'Com pleted ' +  CAST(GETD ATE() AS v archar(20) ) + '.';
        2056  
        2057   ---------- ---------- ---------- ---
        2058   -- END OF  GENERATED  DEPLOYMENT  --
        2059   ---------- ---------- ---------- ---