Produced by Araxis Merge on 3/21/2018 5:29:11 PM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | Wed Mar 21 21:29:11 2018 UTC | ||
| 2 | AHOBPRe_v4.3.15_bld3.zip\DatabaseScripts\AHOBPR\Increment 2\Pre-Prod\Increment 2c - 20151005\AHOBPR_Database_1_0_52.zip | Registry.AHOBPR.Database.Rollback.sql | Sat Oct 3 03:24:30 2015 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 0 | 0 |
| Changed | 0 | 0 |
| Inserted | 1 | 2041 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | ||||||
| 2 | :setvar Da tabaseName "Registry QA" | |||||
| 3 | :setvar Ma jorRelease Number "1" | |||||
| 4 | :setvar Mi norRelease Number "0" | |||||
| 5 | :setvar Po intRelease Number "52 " | |||||
| 6 | :setvar De ployVersio n "2015100 2.1" | |||||
| 7 | ||||||
| 8 | PRINT ' | |||||
| 9 | ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------ | |||||
| 10 | Registry.A HOBPR.Data base.Rollb ack.sql | |||||
| 11 | ||||||
| 12 | Version Re lease $(Ma jorRelease Number).$( MinorRelea seNumber). $(PointRel easeNumber ) | |||||
| 13 | ||||||
| 14 | Build $(De ployVersio n) | |||||
| 15 | ||||||
| 16 | ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------ | |||||
| 17 | '; | |||||
| 18 | PRINT 'Sta rted ' + C AST(GETDAT E() as var char(20)) + '.'; | |||||
| 19 | PRINT ' | |||||
| 20 | ********** ********** ********** ********** ********** ******* | |||||
| 21 | NOTE: This script mu st be run with SQLCM D Mode tur ned on. | |||||
| 22 | ********** ********** ********** ********** ********** ******* | |||||
| 23 | ||||||
| 24 | '; | |||||
| 25 | GO | |||||
| 26 | :on error exit | |||||
| 27 | GO | |||||
| 28 | :setvar __ IsSqlCmdEn abled "Tru e" | |||||
| 29 | /* | |||||
| 30 | Detect SQL CMD mode a nd disable script ex ecution if SQLCMD mo de is not supported. | |||||
| 31 | To re-enab le the scr ipt after enabling S QLCMD mode , execute the follow ing: | |||||
| 32 | SET NOEXEC OFF; | |||||
| 33 | */ | |||||
| 34 | GO | |||||
| 35 | IF N'$(__I sSqlCmdEna bled)' NOT LIKE N'Tr ue' | |||||
| 36 | BEGIN | |||||
| 37 | PR INT N'SQLC MD mode mu st be enab led to suc cessfully execute th is script. '; | |||||
| 38 | SE T NOEXEC O N; | |||||
| 39 | END | |||||
| 40 | ||||||
| 41 | GO | |||||
| 42 | ||||||
| 43 | USE [$(Dat abaseName) ] | |||||
| 44 | GO | |||||
| 45 | ||||||
| 46 | PRINT 'CRE ATE TABLE [AHOBPR].[ FORM_RESPO NSE_ANSWER _ETL]...'; | |||||
| 47 | GO | |||||
| 48 | ||||||
| 49 | IF NOT EX ISTS (SELE CT * FROM sys.object s WHERE ob ject_id = OBJECT_ID( N'[AHOBPR] .[FORM_RES PONSE_ANSW ER_ETL]') AND type i n (N'U')) | |||||
| 50 | CREATE TAB LE [AHOBPR ].[FORM_RE SPONSE_ANS WER_ETL] ( | |||||
| 51 | [FORM_ RESPONSE_A NSWER_ID] INT IDE NTITY (1, 1) NOT NUL L, | |||||
| 52 | [FORM_ RESPONSE_Q UESTION_ID ] INT NOT NULL, | |||||
| 53 | [STD_F ORM_ANSWER _ID] INT NOT NULL, | |||||
| 54 | [ANSWE R_VALUE] VARCHAR (4000) NUL L, | |||||
| 55 | [CREAT EDBY] VARCHAR (30) NOT NULL, | |||||
| 56 | [UPDAT EDBY] VARCHAR (30) NOT NULL, | |||||
| 57 | [CREAT ED] DATETIME 2 (0) NOT NULL, | |||||
| 58 | [UPDAT ED] DATETIME 2 (0) NOT NULL, | |||||
| 59 | [ROW_V ERSION] ROWVERSI ON NOT NULL | |||||
| 60 | ) ON [AHOB PR]; | |||||
| 61 | ||||||
| 62 | GO | |||||
| 63 | ||||||
| 64 | PRINT 'CRE ATE TABLE [AHOBPR].[ FORM_RESPO NSE_QUESTI ON_ETL]... '; | |||||
| 65 | GO | |||||
| 66 | ||||||
| 67 | IF NOT EX ISTS (SELE CT * FROM sys.object s WHERE ob ject_id = OBJECT_ID( N'[AHOBPR] .[FORM_RES PONSE_QUES TION_ETL]' ) AND type in (N'U') ) | |||||
| 68 | CREATE TAB LE [AHOBPR ].[FORM_RE SPONSE_QUE STION_ETL] ( | |||||
| 69 | [FORM_ RESPONSE_Q UESTION_ID ] INT IDEN TITY (1, 1 ) NOT NULL , | |||||
| 70 | [FORM_ RESPONSE_I D] INT NOT NULL, | |||||
| 71 | [STD_F ORM_QUESTI ON_ID] INT NOT NULL, | |||||
| 72 | [REGIS TRANT_DEPL OYMENT_ID] INT NULL , | |||||
| 73 | [START ED_DATE] DATETIME 2 (0) NOT NULL, | |||||
| 74 | [COMPL ETED_DATE] DATETIME 2 (0) NULL , | |||||
| 75 | [CREAT EDBY] VARCHAR (30) NOT NULL, | |||||
| 76 | [UPDAT EDBY] VARCHAR (30) NOT NULL, | |||||
| 77 | [CREAT ED] DATETIME 2 (0) NOT NULL, | |||||
| 78 | [UPDAT ED] DATETIME 2 (0) NOT NULL, | |||||
| 79 | [ROW_V ERSION] ROWVERSI ON NOT NULL | |||||
| 80 | ) ON [AHOB PR]; | |||||
| 81 | ||||||
| 82 | ||||||
| 83 | GO | |||||
| 84 | ||||||
| 85 | PRINT 'CRE ATE TABLE [AHOBPR].[ JSON_QUEUE _STATUS] . ..'; | |||||
| 86 | GO | |||||
| 87 | ||||||
| 88 | IF NOT E XISTS (SEL ECT * FROM sys.objec ts WHERE o bject_id = OBJECT_ID (N'[AHOBPR ].[JSON_QU EUE_STATUS ]') AND ty pe in (N'U ')) | |||||
| 89 | CREATE TAB LE [AHOBPR ].[JSON_QU EUE_STATUS ] ( | |||||
| 90 | [JSON_ QUEUE_STAT US_ID] IN T IDENTIT Y (1, 1) N OT NULL, | |||||
| 91 | [JSON_ QUEUE_ID] IN T NOT NUL L, | |||||
| 92 | [REGIS TRANT_JSON _ID] IN T NOT NUL L, | |||||
| 93 | [PROCE SS_START_D ATE] DA TETIME2 (0 ) NULL, | |||||
| 94 | [PROCE SS_COMPLET E_DATE] DA TETIME2 (0 ) NULL, | |||||
| 95 | [PROCE SS_STATUS] VA RCHAR (100 ) NULL, | |||||
| 96 | [PROCE SS_ERROR] VA RCHAR (400 0) NULL, | |||||
| 97 | [ROW_V ERSION] RO WVERSION NOT NUL L, | |||||
| 98 | [CREAT EDBY] VA RCHAR (30) NOT NUL L, | |||||
| 99 | [UPDAT EDBY] VA RCHAR (30) NOT NUL L, | |||||
| 100 | [CREAT ED] DA TETIME2 (0 ) NOT NUL L, | |||||
| 101 | [UPDAT ED] DA TETIME2 (0 ) NOT NUL L, | |||||
| 102 | CONSTR AINT [JSON _QUEUE_STA TUS_PK] PR IMARY KEY CLUSTERED ([JSON_QUE UE_STATUS_ ID] ASC) O N [AHOBPR] | |||||
| 103 | ); | |||||
| 104 | ||||||
| 105 | ||||||
| 106 | ||||||
| 107 | GO | |||||
| 108 | ||||||
| 109 | PRINT 'CRE ATE TABLE [AHOBPR].[ REGISTRANT _JSON_DATA FIX]...'; | |||||
| 110 | GO | |||||
| 111 | ||||||
| 112 | IF NOT E XISTS (SEL ECT * FROM sys.objec ts WHERE o bject_id = OBJECT_ID (N'[AHOBPR ].[REGISTR ANT_JSON_D ATAFIX]') AND type i n (N'U')) | |||||
| 113 | CREATE TAB LE [AHOBPR ].[REGISTR ANT_JSON_D ATAFIX] ( | |||||
| 114 | [REGIS TRANT_JSON _datafix_I D] INT IDE NTITY (1, 1) NOT NUL L, | |||||
| 115 | [REGIS TRANT_JSON _ID] INT NOT NULL, | |||||
| 116 | [OBJEC T_ID] VARCHAR (256) NOT NULL, | |||||
| 117 | [OBJEC T_TYPE] VARCHAR (100) NOT NULL, | |||||
| 118 | [JSON_ DATA] VARCHAR (MAX) NOT NULL, | |||||
| 119 | [CREAT EDBY] VARCHAR (30) NOT NULL, | |||||
| 120 | [UPDAT EDBY] VARCHAR (30) NOT NULL, | |||||
| 121 | [CREAT ED] DATETIM E2 (0) NOT NULL, | |||||
| 122 | [UPDAT ED] DATETIM E2 (0) NOT NULL, | |||||
| 123 | [RECOR D_CREATED] DATETIM E2 (7) NOT NULL, | |||||
| 124 | CONSTR AINT [REGI STRANT_JSO N_datafix_ PK] PRIMAR Y KEY CLUS TERED ([RE GISTRANT_J SON_datafi x_ID] ASC) ON [AHOBP R] | |||||
| 125 | ) TEXTIMAG E_ON [AHOB PR]; | |||||
| 126 | ||||||
| 127 | ||||||
| 128 | ||||||
| 129 | GO | |||||
| 130 | ||||||
| 131 | PRINT ' CR EATE TABLE [AHOBPR]. [REGISTRAN T_JSON_H]. ..'; | |||||
| 132 | GO | |||||
| 133 | IF NOT E XISTS (SEL ECT * FROM sys.objec ts WHERE o bject_id = OBJECT_ID (N'[AHOBPR ].[REGISTR ANT_JSON_H ]') AND ty pe in (N'U ')) | |||||
| 134 | CREATE T ABLE [AHOB PR].[REGIS TRANT_JSON _H]( | |||||
| 135 | [REGISTRAN T_JSON_H_I D] [int] I DENTITY(1, 1) NOT NUL L, | |||||
| 136 | [REGISTRAN T_JSON_ID] [int] NOT NULL, | |||||
| 137 | [OBJECT_ID ] [varchar ](256) NOT NULL, | |||||
| 138 | [OBJECT_TY PE] [varch ar](100) N OT NULL, | |||||
| 139 | [JSON_DATA ] [varchar ](max) NOT NULL, | |||||
| 140 | [CREATEDBY ] [varchar ](30) NOT NULL, | |||||
| 141 | [UPDATEDBY ] [varchar ](30) NOT NULL, | |||||
| 142 | [CREATED] [datetime2 ](0) NOT N ULL, | |||||
| 143 | [UPDATED] [datetime2 ](0) NOT N ULL, | |||||
| 144 | [RECORD_CR EATED] [da tetime2](7 ) CONSTRAI NT DF_RegJ sonRecCrea ted DEFAUL T (getdate ()) NOT N ULL, | |||||
| 145 | CONSTRA INT [REGIS TRANT_JSON _H_PK] PRI MARY KEY C LUSTERED | |||||
| 146 | ( | |||||
| 147 | [REGISTRAN T_JSON_H_I D] ASC | |||||
| 148 | )WITH (P AD_INDEX = OFF, STA TISTICS_NO RECOMPUTE = OFF, IG NORE_DUP_K EY = OFF, ALLOW_ROW_ LOCKS = O N, ALLOW_P AGE_LOCKS = ON) ON [AHOBPR] | |||||
| 149 | ) ON [AH OBPR] TEXT IMAGE_ON [ AHOBPR] | |||||
| 150 | ||||||
| 151 | GO | |||||
| 152 | ||||||
| 153 | ||||||
| 154 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_GetJ sonQueue]. ..'; | |||||
| 155 | GO | |||||
| 156 | ||||||
| 157 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _GetJsonQu eue]') AND type in ( N'P', N'PC ')) | |||||
| 158 | DROP PROCE DURE [AHOB PR].[SP_Ge tJsonQueue ] | |||||
| 159 | GO | |||||
| 160 | ||||||
| 161 | CREATE PRO CEDURE [AH OBPR].[SP_ GetJsonQue ue] | |||||
| 162 | AS | |||||
| 163 | /* | |||||
| 164 | SP_GetJson Queue | |||||
| 165 | Get all th e items th at need to be proces sed by JSO N_QUEUE_ID s: | |||||
| 166 | a. Dele te the pre vious/old/ duplicated records f rom REGIST RANT_JSON table | |||||
| 167 | b. Inse rt the new records t o JSON_QUE UE table | |||||
| 168 | c. Orde r the JSON _QUEUE_IDs to be pro cessed by object_typ e in the f ollowing o rder: USE R, INFO, R ESPONSE | |||||
| 169 | d. Igno re any REG ISTRANT_JS ON records that are less than 30 minutes old | |||||
| 170 | */ | |||||
| 171 | ||||||
| 172 | BEGIN | |||||
| 173 | ||||||
| 174 | -- INSER T new REGI STRANT_JSO N rows to [AHOBPR].[ REGISTRANT _JSON_H] | |||||
| 175 | WITH Ma sterData | |||||
| 176 | AS ( | |||||
| 177 | SELECT R EGISTRANT_ JSON_ID | |||||
| 178 | ,[OBJECT_I D] | |||||
| 179 | ,[OBJECT_T YPE] | |||||
| 180 | ,[JSON_DAT A] | |||||
| 181 | ,[CREATEDB Y] | |||||
| 182 | ,[UPDATEDB Y] | |||||
| 183 | ,[CREATED] | |||||
| 184 | ,[UPDATED] | |||||
| 185 | FROM [ AHOBPR].[R EGISTRANT_ JSON] A | |||||
| 186 | WHERE NOT EXISTS (SELECT ' X' FROM [A HOBPR].[JS ON_QUEUE] | |||||
| 187 | WHERE [R EGISTRANT_ JSON_ID] = A.[REGIST RANT_JSON_ ID]) | |||||
| 188 | ) | |||||
| 189 | MERGE | |||||
| 190 | INTO [AHOBPR].[ REGISTRANT _JSON_H] A S Tgt | |||||
| 191 | USING MasterData AS Src | |||||
| 192 | ON Tgt.REGIST RANT_JSON_ ID = Src.R EGISTRANT_ JSON_ID | |||||
| 193 | WHEN NO T MATCHED | |||||
| 194 | THEN INSERT | |||||
| 195 | (R EGISTRANT_ JSON_ID,[O BJECT_ID], [OBJECT_TY PE],[JSON_ DATA],[CRE ATEDBY],[U PDATEDBY], [CREATED], [UPDATED]) | |||||
| 196 | VA LUES | |||||
| 197 | (S rc.REGISTR ANT_JSON_I D,Src.[OBJ ECT_ID],Sr c.[OBJECT_ TYPE],Src. [JSON_DATA ],Src.[CRE ATEDBY],Sr c.[UPDATED BY],Src.[C REATED],Sr c.[UPDATED ]); | |||||
| 198 | ||||||
| 199 | -- DELET E any dupl icate REGI STRANT_JSO N rows | |||||
| 200 | WITH | |||||
| 201 | Ranked Row AS | |||||
| 202 | ( | |||||
| 203 | SELE CT [REGIST RANT_JSON_ ID] | |||||
| 204 | ,RANK() OVER(PARTI TION BY [O BJECT_TYPE ], [OBJECT _ID] | |||||
| 205 | O RDER BY [R EGISTRANT_ JSON_ID] D ESC) AS Ro wRank | |||||
| 206 | FR OM | |||||
| 207 | [AHOBPR] .[REGISTRA NT_JSON] W ITH (READP AST)--don' t bother w ith record s that are locked | |||||
| 208 | ) | |||||
| 209 | , Duplic ate AS | |||||
| 210 | ( | |||||
| 211 | SEL ECT [REG ISTRANT_JS ON_ID] | |||||
| 212 | F ROM Rank edRow | |||||
| 213 | W HERE RowR ank > 1 | |||||
| 214 | ) | |||||
| 215 | DELETE | |||||
| 216 | FROM [ AHOBPR].[R EGISTRANT_ JSON] WITH (READPAST )--don't b other with records t hat are lo cked | |||||
| 217 | WHERE EXISTS ( SELECT * | |||||
| 218 | FROM Dupl icate | |||||
| 219 | WHERE Dupl icate.REGI STRANT_JSO N_ID = REG ISTRANT_JS ON.REGISTR ANT_JSON_I D | |||||
| 220 | ); | |||||
| 221 | ||||||
| 222 | -- Inser t the new records in the JSON_ QUEUE | |||||
| 223 | -- Ignor e any REGI STRANT_JSO N records that are l ess than 3 0 minutes old | |||||
| 224 | DECLARE @ThirtyMin utesAgo DA TETIME2(0) = DATEADD (MINUTE, - 30, GETDAT E()); | |||||
| 225 | WITH | |||||
| 226 | Ranked Row AS --w e just del eted dupli cates abov e, but sin ce we used READPAST and since there is n o | |||||
| 227 | --g uarantee t hat new du p has not been added since we take the p recaution of ranking | |||||
| 228 | --t hem again. | |||||
| 229 | ( SELE CT * | |||||
| 230 | ,RANK() OVER(PARTI TION BY [O BJECT_TYPE ], [OBJECT _ID] | |||||
| 231 | O RDER BY [R EGISTRANT_ JSON_ID] D ESC) AS Ro wRank | |||||
| 232 | FRO M [AHOBPR] .[REGISTRA NT_JSON] W ITH (READP AST) --don 't bother with recor ds that ar e locked | |||||
| 233 | WHE RE NOT EXI STS ( SELE CT * | |||||
| 234 | FROM AHOBPR .JSON_QUEU E AS Q | |||||
| 235 | WHER E Q.REGI STRANT_JSO N_ID = [RE GISTRANT_J SON].REGIS TRANT_JSON _ID | |||||
| 236 | ) | |||||
| 237 | AN D UPDATED < @ThirtyM inutesAgo | |||||
| 238 | ) | |||||
| 239 | , Src AS | |||||
| 240 | ( SELE CT [REGIST RANT_JSON_ ID] | |||||
| 241 | ,[CREATE D] | |||||
| 242 | ,[UPDATE D] | |||||
| 243 | ,[CREATE DBY] | |||||
| 244 | ,[UPDATE DBY] | |||||
| 245 | FROM RankedRo w | |||||
| 246 | WHER E RowRank = 1 | |||||
| 247 | ) | |||||
| 248 | MERGE | |||||
| 249 | INTO [AHOBPR] .[JSON_QUE UE] Tgt | |||||
| 250 | USIN G Src | |||||
| 251 | ON Tgt.[REG ISTRANT_JS ON_ID] = S rc.[REGIST RANT_JSON_ ID] | |||||
| 252 | WHE N NOT MATC HED | |||||
| 253 | THE N INSERT | |||||
| 254 | ( [REGIS TRANT_JSON _ID] | |||||
| 255 | , [CREAT ED] | |||||
| 256 | , [UPDAT ED] | |||||
| 257 | , [CREAT EDBY] | |||||
| 258 | , [UPDAT EDBY] | |||||
| 259 | ) | |||||
| 260 | VALUES | |||||
| 261 | ( Src.[ REGISTRANT _JSON_ID] | |||||
| 262 | ,Src.[ CREATED] | |||||
| 263 | ,Src.[ UPDATED] | |||||
| 264 | ,Src.[ CREATEDBY] | |||||
| 265 | ,Src.[ UPDATEDBY] | |||||
| 266 | ); | |||||
| 267 | ||||||
| 268 | -- Get the IDs of th e queued J SON object s to be pa rsed | |||||
| 269 | -- Order t he JSON_QU EUE_IDs to be proces sed by obj ect_type i n the foll owing orde r: USER, INFO, RESP ONSE | |||||
| 270 | ||||||
| 271 | --Switched to just p ull record s from the JSON QUEU E table wh ere there are NO | |||||
| 272 | --correspo nding reco rds in the JSON_QUEU E_STATUS t able. I.e ., only gr ab items | |||||
| 273 | --that hav e never be en tried b efore. 9/ 30/15 MW. | |||||
| 274 | SELECT J SON_QUEUE_ ID | |||||
| 275 | FROM A HOBPR.JSON _QUEUE Q | |||||
| 276 | JOIN A HOBPR.REGI STRANT_JSO N AS J ON Q.REGISTRA NT_JSON_ID = J.REGIS TRANT_JSON _ID | |||||
| 277 | WHERE N OT EXISTS( SELECT * F ROM AHOBPR .JSON_QUEU E_STATUS S WHERE S.J SON_QUEUE_ ID = Q.JSO N_QUEUE_ID ) | |||||
| 278 | AND J .OBJECT_TY PE != 'for m' | |||||
| 279 | ORDER | |||||
| 280 | BY CASE J.OBJ ECT_TYPE WHEN 'user ' THEN 1 | |||||
| 281 | WHEN 'info ' THEN 2 | |||||
| 282 | WHEN 'resp onses' THE N 3 | |||||
| 283 | ELSE 99 -- should not happen | |||||
| 284 | EN D; | |||||
| 285 | ||||||
| 286 | --WITH M ostRecent | |||||
| 287 | --AS( | |||||
| 288 | -- SE LECT MAX(J SON_QUEUE_ STATUS_ID) AS MaxQue ueStatusId | |||||
| 289 | -- ,JSON_ QUEUE_ID | |||||
| 290 | -- FROM AHOBP R.JSON_QUE UE_STATUS | |||||
| 291 | -- GR OUP BY JSO N_QUEUE_ID | |||||
| 292 | -- ) | |||||
| 293 | --,Failu res | |||||
| 294 | --AS ( | |||||
| 295 | -- SE LECT MostR ecent.JSON _QUEUE_ID | |||||
| 296 | -- FROM AHOBP R.JSON_QUE UE_STATUS | |||||
| 297 | -- JOIN MostR ecent ON [ JSON_QUEUE _STATUS_ID ] = MaxQue ueStatusId | |||||
| 298 | -- W HERE PROCE SS_STATUS = 'failed' | |||||
| 299 | -- ) | |||||
| 300 | --SELECT JSON_QUEU E_ID | |||||
| 301 | -- FROM AHOBPR.JS ON_QUEUE Q | |||||
| 302 | -- JOIN AHOBPR.RE GISTRANT_J SON AS J O N Q.REGIST RANT_JSON_ ID = J.REG ISTRANT_JS ON_ID | |||||
| 303 | -- WHERE NOT EXIST S(SELECT * FROM AHOB PR.JSON_QU EUE_STATUS S WHERE S .JSON_QUEU E_ID = Q.J SON_QUEUE_ ID) | |||||
| 304 | -- AND J.OBJECT_ TYPE != 'f orm' | |||||
| 305 | --UNION | |||||
| 306 | --SELECT JSON_QUEU E_ID | |||||
| 307 | -- FROM Failures; | |||||
| 308 | ||||||
| 309 | ||||||
| 310 | ||||||
| 311 | ||||||
| 312 | --SELECT Q.JSON_Q UEUE_ID | |||||
| 313 | --FROM | |||||
| 314 | -- AHOBPR.J SON_QUEUE AS Q WITH (READPAST) | |||||
| 315 | --INNER | |||||
| 316 | --JOIN AHOBPR.R EGISTRANT_ JSON AS J WITH (READ PAST) | |||||
| 317 | -- ON Q.REGIST RANT_JSON_ ID = J.REG ISTRANT_JS ON_ID | |||||
| 318 | --WHERE ISNULL(Q. PROCESS_ST ATUS,'fail ed') = 'fa iled' | |||||
| 319 | -- AND J.OBJECT _TYPE != 'form' | |||||
| 320 | --ORDER | |||||
| 321 | -- BY CASE J.O BJECT_TYPE WHEN 'us er' THEN 1 | |||||
| 322 | -- WHEN 'in fo' THEN 2 | |||||
| 323 | -- WHEN 're sponses' T HEN 3 | |||||
| 324 | -- ELSE 99 --should n ot happen | |||||
| 325 | --END | |||||
| 326 | END -- 12 rows | |||||
| 327 | -- EXECUTE [AHOBPR]. [SP_GetJso nQueue] | |||||
| 328 | --select * from ahob pr.json_qu eue where json_queue _id = 1116 3 | |||||
| 329 | GO | |||||
| 330 | ||||||
| 331 | ||||||
| 332 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_GetJ sonQueueRo w]...'; | |||||
| 333 | GO | |||||
| 334 | ||||||
| 335 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _GetJsonQu eueRow]') AND type i n (N'P', N 'PC')) | |||||
| 336 | DROP PROCE DURE [AHOB PR].[SP_Ge tJsonQueue Row] | |||||
| 337 | GO | |||||
| 338 | ||||||
| 339 | ||||||
| 340 | CREATE PRO CEDURE [AH OBPR].[SP_ GetJsonQue ueRow] | |||||
| 341 | @j sonQueueId INT | |||||
| 342 | AS | |||||
| 343 | BEGIN | |||||
| 344 | SE T NOCOUNT ON; | |||||
| 345 | ||||||
| 346 | SE LECT JSON_ QUEUE_ID | |||||
| 347 | , REGISTRAN T_JSON_ID | |||||
| 348 | , PROCESS_S TART_DATE | |||||
| 349 | , PROCESS_C OMPLETE_DA TE | |||||
| 350 | , PROCESS_S TATUS | |||||
| 351 | , PROCESS_E RROR | |||||
| 352 | , CREATEDBY | |||||
| 353 | , CREATED | |||||
| 354 | , UPDATEDBY | |||||
| 355 | , UPDATED | |||||
| 356 | , ROW_VERSI ON | |||||
| 357 | F ROM AHOBPR .JSON_QUEU E | |||||
| 358 | WH ERE JSON_Q UEUE_ID = @jsonQueue Id; | |||||
| 359 | ||||||
| 360 | END | |||||
| 361 | GO | |||||
| 362 | ||||||
| 363 | ||||||
| 364 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_GetR egistrantJ sonRow]... '; | |||||
| 365 | GO | |||||
| 366 | ||||||
| 367 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _GetRegist rantJsonRo w]') AND t ype in (N' P', N'PC') ) | |||||
| 368 | DROP PROCE DURE [AHOB PR].[SP_Ge tRegistran tJsonRow] | |||||
| 369 | GO | |||||
| 370 | ||||||
| 371 | ||||||
| 372 | CREATE PRO CEDURE [AH OBPR].[SP_ GetRegistr antJsonRow ] | |||||
| 373 | @j sonId INT | |||||
| 374 | AS | |||||
| 375 | BEGIN | |||||
| 376 | SE T NOCOUNT ON; | |||||
| 377 | ||||||
| 378 | SE LECT REGIS TRANT_JSON _ID | |||||
| 379 | , OBJECT_ID | |||||
| 380 | , OBJECT_TY PE | |||||
| 381 | , JSON_DATA | |||||
| 382 | , CREATEDBY | |||||
| 383 | , UPDATEDBY | |||||
| 384 | , CREATED | |||||
| 385 | , UPDATED | |||||
| 386 | , ROW_VERSI ON | |||||
| 387 | F ROM AHOBPR .REGISTRAN T_JSON | |||||
| 388 | WH ERE REGIST RANT_JSON_ ID = @json Id; | |||||
| 389 | ||||||
| 390 | END | |||||
| 391 | GO | |||||
| 392 | ||||||
| 393 | ||||||
| 394 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Inse rtErrorLog ]...'; | |||||
| 395 | GO | |||||
| 396 | ||||||
| 397 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _InsertErr orLog]') A ND type in (N'P', N' PC')) | |||||
| 398 | DROP PROCE DURE [AHOB PR].[SP_In sertErrorL og] | |||||
| 399 | GO | |||||
| 400 | ||||||
| 401 | CREATE PRO CEDURE [AH OBPR].[SP_ InsertErro rLog] | |||||
| 402 | @c ompoType VARCHAR( 100), | |||||
| 403 | @e rrorType VARCHAR( 100), | |||||
| 404 | @e rrorSource VARCHA R(200), | |||||
| 405 | @e rrorMessag e VARCHA R(max), | |||||
| 406 | @c reated VARCHA R(30) | |||||
| 407 | AS | |||||
| 408 | BEGIN | |||||
| 409 | SE T NOCOUNT ON; | |||||
| 410 | ||||||
| 411 | IN SERT INTO AHOBPR.ERR OR_LOG ( | |||||
| 412 | CO MPONENT_TY PE | |||||
| 413 | , ERROR_ TYPE | |||||
| 414 | , ERROR_ SOURCE | |||||
| 415 | , ERROR_ MESSAGE | |||||
| 416 | , CREATE D | |||||
| 417 | , UPDATE D | |||||
| 418 | , CREATE DBY | |||||
| 419 | , UPDATE DBY) | |||||
| 420 | VALU ES ( | |||||
| 421 | @c ompoType | |||||
| 422 | , @error Type | |||||
| 423 | , @error Source | |||||
| 424 | , @error Message | |||||
| 425 | , GETDAT E() | |||||
| 426 | , GETDAT E() | |||||
| 427 | , @creat ed | |||||
| 428 | , @creat ed); | |||||
| 429 | ||||||
| 430 | SE LECT SCOPE _IDENTITY( ); | |||||
| 431 | ||||||
| 432 | END | |||||
| 433 | ||||||
| 434 | GO | |||||
| 435 | ||||||
| 436 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Inse rtJsonQueu e]...'; | |||||
| 437 | GO | |||||
| 438 | ||||||
| 439 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _InsertJso nQueue]') AND type i n (N'P', N 'PC')) | |||||
| 440 | DROP PROCE DURE [AHOB PR].[SP_In sertJsonQu eue] | |||||
| 441 | GO | |||||
| 442 | ||||||
| 443 | CREATE PRO CEDURE [AH OBPR].[SP_ InsertJson Queue] | |||||
| 444 | @j sonQueueId IN T, | |||||
| 445 | @r egistrantJ sonId INT, | |||||
| 446 | @p rocessStar tDate DATETIME 2(0) = nul l, | |||||
| 447 | @p rocessComp leteDate DATETIME 2(0) = nul l, | |||||
| 448 | @p rocessStat us VARCHAR( 100), | |||||
| 449 | @p rocessErro r VARCHA R(4000), | |||||
| 450 | @c reatedBy VARCHAR( 30) | |||||
| 451 | AS | |||||
| 452 | BEGIN | |||||
| 453 | SE T NOCOUNT ON; | |||||
| 454 | ||||||
| 455 | IN SERT INTO AHOBPR.JSO N_QUEUE_ST ATUS ( | |||||
| 456 | JSON_QUEUE _ID | |||||
| 457 | , REGIST RANT_JSON_ ID | |||||
| 458 | , PROCES S_START_DA TE | |||||
| 459 | , PROCES S_COMPLETE _DATE | |||||
| 460 | , PROCES S_STATUS | |||||
| 461 | , PROCES S_ERROR | |||||
| 462 | , CREATE DBY | |||||
| 463 | , CREATE D | |||||
| 464 | , UPDATE DBY | |||||
| 465 | , UPDATE D) | |||||
| 466 | VA LUES ( @jsonQue ueId | |||||
| 467 | , @regis trantJsonI d | |||||
| 468 | , @proce ssStartDat e | |||||
| 469 | , @proce ssComplete Date | |||||
| 470 | , @proce ssStatus | |||||
| 471 | , @proce ssError | |||||
| 472 | , @creat edBy | |||||
| 473 | , GETDAT E() | |||||
| 474 | , @creat edBy | |||||
| 475 | , GETDAT E()); | |||||
| 476 | ||||||
| 477 | SE LECT SCOPE _IDENTITY( ); | |||||
| 478 | ||||||
| 479 | END | |||||
| 480 | GO | |||||
| 481 | ||||||
| 482 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Inse rtRegistra ntFile]... '; | |||||
| 483 | GO | |||||
| 484 | ||||||
| 485 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _InsertReg istrantFil e]') AND t ype in (N' P', N'PC') ) | |||||
| 486 | DROP PROCE DURE [AHOB PR].[SP_In sertRegist rantFile] | |||||
| 487 | GO | |||||
| 488 | ||||||
| 489 | CREATE PRO CEDURE [AH OBPR].[SP_ InsertRegi strantFile ] | |||||
| 490 | @f ileId VARCHAR( 256), | |||||
| 491 | @f ileType VARCHAR( 256), | |||||
| 492 | @f ileContent VARBIN ARY(max), | |||||
| 493 | @c reatedBy VARCHAR( 30) | |||||
| 494 | AS | |||||
| 495 | BEGIN | |||||
| 496 | SE T NOCOUNT ON; | |||||
| 497 | ||||||
| 498 | DE CLARE @reg istrantFil eId uniqueiden tifier; | |||||
| 499 | ||||||
| 500 | SE LECT @reg istrantFil eId = regi strant_fil e_id | |||||
| 501 | FR OM AHOB PR.REGISTR ANT_FILE | |||||
| 502 | WH ERE FILE _ID = @fil eId AND | |||||
| 503 | FILE_T YPE = @fil eType; | |||||
| 504 | ||||||
| 505 | IF (@registr antFileId is null) | |||||
| 506 | BEGI N | |||||
| 507 | INSERT INTO AHOB PR.REGISTR ANT_FILE | |||||
| 508 | (REGISTR ANT_FILE_I D, | |||||
| 509 | FILE_ID , | |||||
| 510 | FILE_TY PE, | |||||
| 511 | FILE_CO NTENT, | |||||
| 512 | CREATED BY, | |||||
| 513 | UPDATED BY, | |||||
| 514 | CREATED , | |||||
| 515 | UPDATED ) | |||||
| 516 | VALUES | |||||
| 517 | (NEWID() , | |||||
| 518 | @fileId , | |||||
| 519 | @fileTy pe, | |||||
| 520 | @fileCo ntent, | |||||
| 521 | @create dBy, | |||||
| 522 | @create dBy, | |||||
| 523 | GETDATE (), | |||||
| 524 | GETDATE ()); | |||||
| 525 | END | |||||
| 526 | EL SE | |||||
| 527 | BEGI N | |||||
| 528 | UPDATE AHOBPR.RE GISTRANT_F ILE | |||||
| 529 | SET | |||||
| 530 | FILE_CON TENT = @fi leContent, | |||||
| 531 | UPDATEDB Y = @creat edBy, | |||||
| 532 | UPDATED = GETDATE( ) | |||||
| 533 | WHERE REGISTRANT _FILE_ID = @registra ntFileId; | |||||
| 534 | END | |||||
| 535 | END | |||||
| 536 | GO | |||||
| 537 | ||||||
| 538 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Inse rtRegistra ntJson]... '; | |||||
| 539 | GO | |||||
| 540 | ||||||
| 541 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _InsertReg istrantJso n]') AND t ype in (N' P', N'PC') ) | |||||
| 542 | DROP PROCE DURE [AHOB PR].[SP_In sertRegist rantJson] | |||||
| 543 | GO | |||||
| 544 | ||||||
| 545 | ||||||
| 546 | CREATE PRO CEDURE [AH OBPR].[SP_ InsertRegi strantJson ] | |||||
| 547 | @o bjectId VARC HAR(256), | |||||
| 548 | @o bjectType VARCHA R(100), | |||||
| 549 | @j sonData VARC HAR(max), | |||||
| 550 | @c reatedBy VARCHA R(30) | |||||
| 551 | AS | |||||
| 552 | BEGIN | |||||
| 553 | SE T NOCOUNT ON; | |||||
| 554 | ||||||
| 555 | IN SERT INTO AHOBPR.REG ISTRANT_JS ON ( | |||||
| 556 | OBJECT _ID | |||||
| 557 | , OBJECT _TYPE | |||||
| 558 | , JSON_D ATA | |||||
| 559 | , CREATE D | |||||
| 560 | , CREATE DBY | |||||
| 561 | , UPDATE D | |||||
| 562 | , UPDATE DBY) | |||||
| 563 | VA LUES ( | |||||
| 564 | @objec tId | |||||
| 565 | , @objec tType | |||||
| 566 | , @jsonD ata | |||||
| 567 | , GETDAT E() | |||||
| 568 | , @creat edBy | |||||
| 569 | , GETDAT E() | |||||
| 570 | , @creat edBy); | |||||
| 571 | ||||||
| 572 | SE LECT SCOPE _IDENTITY( ); | |||||
| 573 | ||||||
| 574 | END | |||||
| 575 | GO | |||||
| 576 | ||||||
| 577 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Json GetCurrent ]...'; | |||||
| 578 | GO | |||||
| 579 | ||||||
| 580 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _JsonGetCu rrent]') A ND type in (N'P', N' PC')) | |||||
| 581 | DROP PROCE DURE [AHOB PR].[SP_Js onGetCurre nt] | |||||
| 582 | GO | |||||
| 583 | CREATE PRO CEDURE [AH OBPR].[SP_ JsonGetCur rent] | |||||
| 584 | @ObjectTyp e VARCHAR( 100), | |||||
| 585 | @ObjectId VARCHAR(2 56) | |||||
| 586 | AS | |||||
| 587 | ||||||
| 588 | BEGIN | |||||
| 589 | ||||||
| 590 | DECLARE @C urrentId I NT; | |||||
| 591 | ||||||
| 592 | -- G et the Mos t Current JSON ID fo r the Type and ID | |||||
| 593 | SELE CT @Curren tId = MAX( [REGISTRAN T_JSON_ID] ) | |||||
| 594 | FR OM [AHOBPR ].[REGISTR ANT_JSON] | |||||
| 595 | WHE RE [OBJECT _TYPE] = @ ObjectType | |||||
| 596 | A ND [OBJECT _ID] = @Ob jectId; | |||||
| 597 | ||||||
| 598 | -- G et the rec ord | |||||
| 599 | SELE CT * | |||||
| 600 | FR OM [AHOBPR ].[REGISTR ANT_JSON] WITH (NOLO CK) | |||||
| 601 | WHE RE [REGIST RANT_JSON_ ID] = @Cur rentId; | |||||
| 602 | ||||||
| 603 | END | |||||
| 604 | -- EXECUTE AHOBPR.SP _JsonGetCu rrent 5187 | |||||
| 605 | ||||||
| 606 | GO | |||||
| 607 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Repo rtAdHocByI ndividual] ...'; | |||||
| 608 | GO | |||||
| 609 | ||||||
| 610 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _ReportAdH ocByIndivi dual]') AN D type in (N'P', N'P C')) | |||||
| 611 | DROP PROCE DURE [AHOB PR].[SP_Re portAdHocB yIndividua l] | |||||
| 612 | GO | |||||
| 613 | ||||||
| 614 | -- ======= ========== ========== ========== ======== | |||||
| 615 | -- Author: Debora h Barr | |||||
| 616 | -- Create date: Nove mber 12, 2 014 | |||||
| 617 | -- Descrip tion: Used for the A HOBPR Ad H oc Report | |||||
| 618 | ||||||
| 619 | -- Modific ation log | |||||
| 620 | -- 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 | |||||
| 621 | -- 2015-01 -05 - Chan ge Date Fo rmat to MM /DD/YYYY | |||||
| 622 | -- 2015-01 -14 - Sher ry Wang Ad d more par ameters: @ healthFact or, @formS tartFromDa te, @formS tartToDate , @subpopu lationFlag | |||||
| 623 | -- 2015-01 -14 - Sher ry Wang Ad d more par ameters: @ adminFlag, @deployme ntAll, @de ploymentEx posure, @a dminFlagFr omDate, @a dminFlagTo Date | |||||
| 624 | -- 2015-01 -16 - Bruc e Clegg - Fix parame ters and r emove NULL s from dis play where possible | |||||
| 625 | -- 2015-02 -09 - Bruc e Clegg - Change Hea lth Factor Exists st atements t o use new REGISTRANT _VISIT | |||||
| 626 | -- 2015-03 -30 - Bruc e Clegg - Added Visn Id value o f NLA to f ind Null l ocations | |||||
| 627 | -- 2015-04 -27 - Bruc e Clegg - Change to LocationTy pe and Key , for both Assigned and Evalua ted Locati ons | |||||
| 628 | -- 2015-06 -04 - Bruc e Clegg - Add more p arameters | |||||
| 629 | -- 2015-06 -18 - Bruc e Clegg - Changed @s eparationT ype to an Integer | |||||
| 630 | -- 2015-07 -09 - Bruc e CLegg - Rewrote as Dynamic S QL for per formance | |||||
| 631 | -- ======= ========== ========== ========== ======== | |||||
| 632 | CREATE PRO CEDURE [AH OBPR].[SP_ ReportAdHo cByIndivid ual] | |||||
| 633 | @st atus varch ar(100) = NULL, -- M ultiple st atues, com ma-separat ed values when not N ULL | |||||
| 634 | @du tyStatus v archar(100 ) = NULL, -- Multipl e states, comma-sepa rated valu es when no t NULL | |||||
| 635 | @fo rmStartFro mDateText varchar(10 0) = NULL, | |||||
| 636 | @fo rmStartToD ateText va rchar(100) = NULL, | |||||
| 637 | @he althFactor varchar(1 00) = NULL , -- Multi ple health factor ID s, comma-s eparated v alues when not NULL | |||||
| 638 | @fo rmCompleti onFromDate Text varch ar(100) = NULL, | |||||
| 639 | @fo rmCompleti onToDateTe xt varchar (100) = NU LL, | |||||
| 640 | @qu estionNumb er varchar (100) = NU LL, | |||||
| 641 | @an swer varch ar(100) = NULL, | |||||
| 642 | @he althConcer ns varchar (100) = 'A ll', | |||||
| 643 | @re questToBeS een varcha r(100) = ' All', | |||||
| 644 | @As signedLoca tionType VARCHAR(20 ) = NULL, -- 'VISN' , 'Base', 'Instituti on', 'NLA' = No Loca tion Assig ned | |||||
| 645 | @As signedLoca tionKey VARCHAR(50 ) = NULL, -- 'V16', 'V01' 1000109, 1000089 | |||||
| 646 | @Ev aluatedLoc ationType VARCHAR(20 ) = NULL, -- 'VISN' , 'Base', 'Instituti on', 'NLA' = No Loca tion Assig ned | |||||
| 647 | @Ev aluatedLoc ationKey VARCHAR(50 ) = NULL, -- 'V16', 'V01' 1000109, 1000089 | |||||
| 648 | @su bpopulatio nFlag varc har (10) = NULL, | |||||
| 649 | @ad minFlag va rchar (10) = NULL, | |||||
| 650 | @de ploymentAl l varchar (256) = NU LL, | |||||
| 651 | @de ploymentEx posure var char (256) = NULL, | |||||
| 652 | @ad minFlagFro mDateText varchar (2 0) = NULL, | |||||
| 653 | @ad minFlagToD ateText va rchar (20) = NULL, | |||||
| 654 | @ex cludeDead varchar(1) = 'N', | |||||
| 655 | @ge nder varch ar(50) = ' ', | |||||
| 656 | @ra ce varchar (50) = '', | |||||
| 657 | @et hnicity va rchar(50) = '', | |||||
| 658 | @se parationTy pe INT = 0 , | |||||
| 659 | @se parationFr omDateText varchar ( 20) = NULL , | |||||
| 660 | @se parationTo DateText v archar (20 ) = NULL, | |||||
| 661 | @en rollmentSt atus varch ar(50) = ' ' | |||||
| 662 | AS | |||||
| 663 | ||||||
| 664 | BEGIN | |||||
| 665 | ||||||
| 666 | -- Convert date para meters fro m VARCHAR to DATETIM E2(0) | |||||
| 667 | DECLARE @formStart FromDate D ATETIME2(0 ) = NULL, | |||||
| 668 | @formStart ToDate DAT ETIME2(0) = NULL, | |||||
| 669 | @formCompl etionFromD ate DATETI ME2(0) = N ULL, | |||||
| 670 | @formCompl etionToDat e DATETIME 2(0) = NUL L, | |||||
| 671 | @adminFlag FromDate D ATETIME2(0 ) = NULL, | |||||
| 672 | @adminFlag ToDate DAT ETIME2(0) = NULL, | |||||
| 673 | @separatio nFromDate DATETIME2( 0) = NULL, | |||||
| 674 | @separatio nToDate DA TETIME2(0) = NULL; | |||||
| 675 | ||||||
| 676 | DECLARE @Query VAR CHAR(8000) ; | |||||
| 677 | DECLARE @MainQuery VARCHAR(8 000); | |||||
| 678 | DECLARE @RegCriter ia VARCHAR (8000) = ' '; | |||||
| 679 | DECLARE @AdminWith VARCHAR(8 000); | |||||
| 680 | DECLARE @SubPopWit h VARCHAR( 8000); | |||||
| 681 | DECLARE @DeployWit h VARCHAR( 8000); | |||||
| 682 | ||||||
| 683 | SET @for mStartFrom Date = dbo .CleanDate (@formStar tFromDateT ext); | |||||
| 684 | SET @for mStartToDa te = dbo.A ddMaxTime( dbo.CleanD ate(@formS tartToDate Text)); | |||||
| 685 | SET @for mCompletio nFromDate = dbo.Clea nDate(@for mCompletio nFromDateT ext); | |||||
| 686 | SET @for mCompletio nToDate = dbo.AddMax Time(dbo.C leanDate(@ formComple tionToDate Text)); | |||||
| 687 | SET @adm inFlagFrom Date = ISN ULL(dbo.Cl eanDate(@a dminFlagFr omDateText ),'1900010 1'); | |||||
| 688 | SET @adm inFlagToDa te = dbo.A ddMaxTime( ISNULL(dbo .CleanDate (@adminFla gToDateTex t),GETDATE ())); | |||||
| 689 | SE T @separat ionFromDat e = dbo.Cl eanDate(@s eparationF romDateTex t); | |||||
| 690 | SET @sep arationToD ate = dbo. AddMaxTime (dbo.Clean Date(@sepa rationToDa teText)); | |||||
| 691 | ||||||
| 692 | DE CLARE @Adm inType INT = (SELECT STD_REGIS TRY_FLAG_T YPE_ID | |||||
| 693 | FROM AHOBPR.ST D_REGISTRY _FLAG_TYPE | |||||
| 694 | WHERE REGISTRY_ FLAG_TYPE = 'Adminis trative Fl ag'); | |||||
| 695 | ||||||
| 696 | DE CLARE @Sub PopType IN T = (SELEC T STD_REGI STRY_FLAG_ TYPE_ID | |||||
| 697 | FROM AHOBPR.ST D_REGISTRY _FLAG_TYPE | |||||
| 698 | WHERE REGISTRY_ FLAG_TYPE = 'SubPopu lation Fla g'); | |||||
| 699 | ||||||
| 700 | -- Set Ins titutionID values if needed. | |||||
| 701 | DECLARE @A ssignedIns titutionId INT = 0, | |||||
| 702 | @E valuatedIn stitutionI d INT = 0; | |||||
| 703 | ||||||
| 704 | IF @Assign edLocation Type IN (' Base','Ins titution') | |||||
| 705 | AND ISNUME RIC(@Assig nedLocatio nKey) = 1 | |||||
| 706 | SET @Ass ignedInsti tutionId = CONVERT(I NT,@Assign edLocation Key); | |||||
| 707 | ||||||
| 708 | IF @Evalua tedLocatio nType IN ( 'Base','In stitution' ) | |||||
| 709 | AND ISNUME RIC(@Evalu atedLocati onKey) = 1 | |||||
| 710 | SET @Eva luatedInst itutionId = CONVERT( INT,@Evalu atedLocati onKey); | |||||
| 711 | ||||||
| 712 | --Concat enate one or more Su b-populati on flags f or Registr ants with flags | |||||
| 713 | SET @Sub PopWith = 'WITH SubP op AS ( SE LECT a.REG ISTRANT_ID , '+ | |||||
| 714 | 'STUF F((SELECT '', '' + c .REGISTRY_ FLAG_NAME ' + | |||||
| 715 | ' FROM AHOBPR.REG ISTRANT_RE GISTRY_FLA G b ' + | |||||
| 716 | ' JOIN AHOBPR.STD _REGISTRY_ FLAG c ON b.STD_REGI STRY_FLAG_ ID = c.STD _REGISTRY_ FLAG_ID ' + | |||||
| 717 | ' WHERE a.REGISTRA NT_ID = b. REGISTRANT _ID ' + | |||||
| 718 | ' AND c.STD_REGI STRY_FLAG_ TYPE_ID = ' + CONVER T(VARCHAR( 3),@SubPop Type) + | |||||
| 719 | ' FOR XML PATH(' ''')), 1, 1, '''') A S [REGISTR Y_FLAG_NAM E] ' + | |||||
| 720 | ' F ROM AHOBPR .REGISTRAN T a ' + | |||||
| 721 | 'WH ERE 1 = 1 '; | |||||
| 722 | ||||||
| 723 | --Concat enate one or more Ad min flags for Regist rants with flags | |||||
| 724 | SET @Adm inWith = ' , Admin AS ( SELECT a.REGISTR ANT_ID, ' + | |||||
| 725 | ' STUFF ((SELECT ' ', '' + c. REGISTRY_F LAG_NAME ' + | |||||
| 726 | ' FROM A HOBPR.REGI STRANT_REG ISTRY_FLAG b ' + | |||||
| 727 | ' JOIN A HOBPR.STD_ REGISTRY_F LAG c ON b .STD_REGIS TRY_FLAG_I D = c.STD_ REGISTRY_F LAG_ID ' + | |||||
| 728 | ' WHERE a .REGISTRAN T_ID = b.R EGISTRANT_ ID ' + | |||||
| 729 | ' AND c .STD_REGIS TRY_FLAG_T YPE_ID = ' + CONVERT (VARCHAR(3 ),@AdminTy pe) + | |||||
| 730 | ' AND b .CREATED B ETWEEN ''' + CONVERT (VARCHAR(2 0),@adminF lagFromDat e,121) + | |||||
| 731 | ' '' AND ''' + CONVERT (VARCHAR(2 0),@adminF lagToDate, 121) + ''' ' + | |||||
| 732 | ' FOR X ML PATH('' '')), 1, 1 , '''') AS [REGISTRY _FLAG_NAME ] ' + | |||||
| 733 | ' FROM A HOBPR.REGI STRANT a ' + | |||||
| 734 | ' WHERE 1 = 1 '; | |||||
| 735 | ||||||
| 736 | --Concat enate one or more De ployment C ountries f or Registr ants with Deployment s | |||||
| 737 | SET @Dep loyWith = ', Deploy AS (SELECT a.REGISTR ANT_ID, ' + | |||||
| 738 | ' STUFF((SE LECT '', ' ' + b.DEPL OYMENT_COU NTRY ' + | |||||
| 739 | ' FROM AHOBP R.REGISTRA NT_DEPLOYM ENT b ' + | |||||
| 740 | ' W HERE a.REG ISTRANT_ID = b.REGIS TRANT_ID ' + | |||||
| 741 | ' FOR XML P ATH('''')) , 1, 1, '' '') AS DEP LOYMENT_CO UNTRY ' + | |||||
| 742 | ' FROM AHOBPR.RE GISTRANT a ' + | |||||
| 743 | ' WHERE 1 = 1 '; | |||||
| 744 | ||||||
| 745 | SET @Mai nQuery = ' SELECT D ISTINCT a. REGISTRANT _ID ' + | |||||
| 746 | ', (a.LAST_NA ME + '', ' ' + a.FIRS T_NAME) AS Name ' + | |||||
| 747 | ', b.REGISTRA NT_STATUS AS Status ' + | |||||
| 748 | ', c.SERVICE_ STATUS AS DutyStatus ' + | |||||
| 749 | ', e.QUESTION NAIRE_STAR TED_DATE A S Question StartDate ' + | |||||
| 750 | ', e.QUESTION NAIRE_COMP LETED_DATE AS Questi onComplete Date ' + | |||||
| 751 | ', ISNULL(CON VERT(VARCH AR(10), e. QUESTIONNA IRE_STARTE D_DATE, 10 1),'''') A S Question StartDateD isplay ' + | |||||
| 752 | ', ISNULL(CON VERT(VARCH AR(10), e. QUESTIONNA IRE_COMPLE TED_DATE, 101),'''') AS Questi onComplete DateDispla y '; | |||||
| 753 | --Decide w hich query to run de pending on if a ques tion was s elected as a paramet er for the report | |||||
| 754 | IF ISNUL L(@questio nNumber, ' ') = '' | |||||
| 755 | SET @M ainQuery = @MainQuer y + ','''' AS Questi onNumber ' + | |||||
| 756 | ','''' AS Answer ' | |||||
| 757 | ELSE | |||||
| 758 | SET @M ainQuery = @MainQuer y + ',''' + @questio nNumber + ''' AS Que stionNumbe r ' + | |||||
| 759 | ',STUF F((SELECT '', '' + s tdAnswer.T EXT ' + | |||||
| 760 | ' FROM AHOBPR.FOR M_RESPONSE _ANSWER an swer ' + | |||||
| 761 | ' JOIN AHOBPR.STD _FORM_ANSW ER stdAnsw er ON answ er.STD_FOR M_ANSWER_I D = stdAns wer.STD_FO RM_ANSWER_ ID ' + | |||||
| 762 | ' WHERE formQuesti on.FORM_RE SPONSE_QUE STION_ID = answer.FO RM_RESPONS E_QUESTION _ID ' + | |||||
| 763 | ' FOR XM L PATH(''' ')), 1, 1, '''') AS Answer ' ; | |||||
| 764 | ||||||
| 765 | SET @Mai nQuery = @ MainQuery + ',ISNULL (a.HEALTH_ CONCERNS_R ESPONSE,'' '') AS Hea lthConcern s ' + | |||||
| 766 | ',ISNULL (a.REQUEST _SEEN_RESP ONSE,'''') AS Reque stBeSeen ' + | |||||
| 767 | ',RTRIM( LTRIM(ISNU LL(SubPop. REGISTRY_F LAG_NAME,' '''))) AS Subpopulat ionFlag ' + | |||||
| 768 | ',RTRIM( LTRIM(ISNU LL(Admin.R EGISTRY_FL AG_NAME,'' ''))) AS A dminFlag ' + | |||||
| 769 | ',ISNULL (Deploy.DE PLOYMENT_C OUNTRY,''' ') AS Depl oymentCoun try ' + | |||||
| 770 | ',a.BI RTH_DATE A S BirthDat e ' + | |||||
| 771 | ',CONV ERT(VARCHA R(10), a.B IRTH_DATE, 101) AS B irthDateDi splay ' + | |||||
| 772 | 'FROM AH OBPR.REGIS TRANT a ' | |||||
| 773 | ||||||
| 774 | SET @Mai nQuery = @ MainQuery + ' JOIN A HOBPR.STD_ REGISTRANT _STATUS b ON a.STD_R EGISTRANT_ STATUS_ID = b.STD_RE GISTRANT_S TATUS_ID ' + | |||||
| 775 | ' JOIN AHOBP R.STD_SERV ICE_STATUS c ON a.ST D_SERVICE_ STATUS_ID = c.STD_SE RVICE_STAT US_ID ' + | |||||
| 776 | ' LEFT JOIN AHOB PR.FORM_RE SPONSE d O N a.REGIST RANT_ID = d.REGISTR ANT_ID ' + | |||||
| 777 | ' LEFT JOIN AHOB PR.FORM_RE SPONSE_STA TUS e ON d .FORM_RESP ONSE_ID = e.FORM_RES PONSE_ID ' + | |||||
| 778 | ' LEFT JOIN SubP op ON a.R EGISTRANT_ ID = SubPo p.REGISTRA NT_ID ' + | |||||
| 779 | ' LEFT JOIN Admi n ON a.R EGISTRANT_ ID = Admin .REGISTRAN T_ID ' + | |||||
| 780 | ' LEFT JOIN Depl oy ON a.R EGISTRANT_ ID = Deplo y.REGISTRA NT_ID '; | |||||
| 781 | ||||||
| 782 | IF ISNUL L(@questio nNumber, ' ') != '' | |||||
| 783 | SET @M ainQuery = @MainQuer y + ' JOIN AHOBPR.FO RM_RESPONS E_QUESTION formQuest ion ON d.F ORM_RESPON SE_ID = fo rmQuestion .FORM_RESP ONSE_ID ' + | |||||
| 784 | ' JOIN AHOBPR.ST D_FORM_QUE STION stdQ uestion ON formQuest ion.STD_FO RM_QUESTIO N_ID = std Question.S TD_FORM_QU ESTION_ID '; | |||||
| 785 | ||||||
| 786 | SET @Mai nQuery = @ MainQuery + ' WHERE 1 = 1 '; | |||||
| 787 | ||||||
| 788 | -- Quest ion Number and Answe r criteria are only used again st Main Qu ery | |||||
| 789 | IF ISNUL L(@questio nNumber, ' ') > '' | |||||
| 790 | SET @MainQ uery = @Ma inQuery + ' AND stdQ uestion.FO RM_QUESTIO N_UNIQUE_I D = ''' + @questionN umber + '' ' '; | |||||
| 791 | ||||||
| 792 | IF ISNUL L(@answer, '') != '' | |||||
| 793 | SET @M ainQuery = @MainQuer y + ' AND EXISTS(SE LECT fr.RE GISTRANT_I D FROM AHO BPR.FORM_R ESPONSE_AN SWER ra ' + | |||||
| 794 | '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 ' + | |||||
| 795 | 'JOI N AHOBPR.F ORM_RESPON SE fr ON f r.FORM_RES PONSE_ID = rq.FORM_R ESPONSE_ID ' + | |||||
| 796 | 'JOI N AHOBPR.S TD_FORM_AN SWER A1 ON A1.STD_FO RM_ANSWER_ ID = ra.ST D_FORM_ANS WER_ID ' + | |||||
| 797 | 'JOI N AHOBPR.S TD_FORM_QU ESTION Q1 ON Q1.STD_ FORM_QUEST ION_ID = r q.STD_FORM _QUESTION_ ID ' + | |||||
| 798 | 'JOI N AHOBPR.S TD_FORM_QU ESTION Q2 ON Q2.FORM _QUESTION_ UNIQUE_ID = Q1.FORM_ QUESTION_U NIQUE_ID ' + | |||||
| 799 | 'JOI N AHOBPR.S TD_FORM_AN SWER A2 ON A2.STD_FO RM_QUESTIO N_ID = Q2. STD_FORM_Q UESTION_ID ' + | |||||
| 800 | ' AN D A1.BRP_F ORM_ANSWER _ID = A2.B RP_FORM_AN SWER_ID ' + | |||||
| 801 | ' WHER E A2.STD_F ORM_ANSWER _ID IN (' + @answer + ') AND f r.REGISTRA NT_ID = a. REGISTRANT _ID )'; | |||||
| 802 | ||||||
| 803 | IF @form StartFromD ate IS NOT NULL | |||||
| 804 | SET @ MainQuery = @MainQue ry + ' AND e.QUESTIO NNAIRE_STA RTED_DATE >= ''' + C ONVERT(VAR CHAR(20),@ formStartF romDate,12 1) + ''''; | |||||
| 805 | ||||||
| 806 | IF @form StartToDat e IS NOT N ULL | |||||
| 807 | SET @ MainQuery = @MainQue ry + ' AND e.QUESTIO NNAIRE_STA RTED_DATE <= ''' + C ONVERT(VAR CHAR(20),@ formStartT oDate,121) + ''''; | |||||
| 808 | ||||||
| 809 | IF @form Completion FromDate I S NOT NULL | |||||
| 810 | SET @ MainQuery = @MainQue ry + ' AND e.QUESTIO NNAIRE_COM PLETED_DAT E >= ''' + CONVERT(V ARCHAR(20) ,@formComp letionFrom Date,121) + ''''; | |||||
| 811 | ||||||
| 812 | IF @form Completion ToDate IS NOT NULL | |||||
| 813 | SET @ MainQuery = @MainQue ry + ' AND e.QUESTIO NNAIRE_COM PLETED_DAT E <= ''' + CONVERT(V ARCHAR(20) ,@formComp letionToDa te,121) + ''''; | |||||
| 814 | ||||||
| 815 | IF ISNUL L(@subpopu lationFlag ,'') != '' | |||||
| 816 | SET @M ainQuery = @MainQuer y + ' AND EXISTS(SEL ECT * FROM AHOBPR.RE GISTRANT_R EGISTRY_FL AG subpop ' + | |||||
| 817 | ' WHERE subp op.STD_REG ISTRY_FLAG _ID IN (' + @subpopu lationFlag + ') ' + | |||||
| 818 | ' AND subp op.REGISTR ANT_ID = a .REGISTRAN T_ID ) '; | |||||
| 819 | ||||||
| 820 | IF ISNULL(@a dminFlag,' ') != '' | |||||
| 821 | SET @M ainQuery = @MainQuer y + ' AND EXISTS(SEL ECT * FROM AHOBPR.RE GISTRANT_R EGISTRY_FL AG adminfl ag ' + | |||||
| 822 | ' WHER E adminfla g.STD_REGI STRY_FLAG_ ID IN (' + @adminFla g + ') ' + | |||||
| 823 | ' AN D adminfla g.REGISTRA NT_ID = a. REGISTRANT _ID ' + | |||||
| 824 | ' AN D adminfla g.CREATED BETWEEN '' ' + CONVER T(VARCHAR( 20),@admin FlagFromDa te,121) + | |||||
| 825 | ''' AND '' ' + CONVER T(VARCHAR( 20),@admin FlagToDate ,121) + '' ' ) '; | |||||
| 826 | ||||||
| 827 | IF ISNUL L(@deploym entAll,'') != '' | |||||
| 828 | SET @M ainQuery = @MainQuer y + 'AND E XISTS (SEL ECT depl.R EGISTRANT_ ID FROM AH OBPR.REGIS TRANT_DEPL OYMENT dep l ' + | |||||
| 829 | ' WHERE a. REGISTRANT _ID = depl .REGISTRAN T_ID | |||||
| 830 | AND de pl.DEPLOYM ENT_COUNTR Y = ''' + @deploymen tAll + ''' ) ' ; | |||||
| 831 | ||||||
| 832 | IF ISNUL L(@healthF actor,'') != '' | |||||
| 833 | SET @M ainQuery = @MainQuer y + ' AND EXISTS (SE LECT re.RE GISTRANT_I D FROM AHO BPR.REGIST RANT_VISIT re ' + | |||||
| 834 | ' JOIN AHO BPR.REGIST RANT_HEALT H_FACTOR h f ON re.RE GISTRANT_V ISIT_ID = hf.REGISTR ANT_VISIT_ ID ' + | |||||
| 835 | ' WHERE a.R EGISTRANT_ ID = re.RE GISTRANT_I D AND re.E VALUATION_ FLAG = ''Y '' ' + | |||||
| 836 | ' AND hf. STD_HEALTH _FACTOR_ID IN (' + @ healthFact or + ') ) ' | |||||
| 837 | ||||||
| 838 | ||||||
| 839 | IF ISNUL L(@deploym entExposur e,'') != ' ' | |||||
| 840 | SET @M ainQuery = @MainQuer y + ' AND EXISTS(SEL ECT deploy mentExposu re.REGISTR ANT_ID FRO M AHOBPR.R EGISTRANT_ DEPLOYMENT deploymen tExposure ' + | |||||
| 841 | ' JOIN AH OBPR.FORM_ RESPONSE_Q UESTION ex posure ON deployment Exposure.R EGISTRANT_ DEPLOYMENT _ID = expo sure.REGIS TRANT_DEPL OYMENT_ID ' + | |||||
| 842 | ' JOIN AH OBPR.STD_F ORM_QUESTI ON quest O N exposure .STD_FORM_ QUESTION_I D = quest. STD_FORM_Q UESTION_ID ' + | |||||
| 843 | ' WHERE qu est.FORM_Q UESTION_UN IQUE_ID = ''1.2.A'' ' + | |||||
| 844 | ' AND de ploymentEx posure.DEP LOYMENT_CO UNTRY = '' ' + @deplo ymentExpos ure + '''' + | |||||
| 845 | ' AND de ploymentEx posure.REG ISTRANT_ID = a.REGIS TRANT_ID ) '; | |||||
| 846 | ||||||
| 847 | ||||||
| 848 | -- The re st of the criteria w ill be app lied to Ma in Query a nd With st atememts | |||||
| 849 | IF @stat us IS NOT NULL | |||||
| 850 | SET @R egCriteria = @RegCri teria + ' AND a.STD_ REGISTRANT _STATUS_ID IN (' + @ status + ' )'; | |||||
| 851 | ||||||
| 852 | IF ISNUL L(@dutySta tus,'') > '' | |||||
| 853 | SET @R egCriteria = @RegCri teria + ' AND a.STD_ SERVICE_ST ATUS_ID IN (' + @dut yStatus + ')'; | |||||
| 854 | ||||||
| 855 | IF @heal thConcerns != 'All' | |||||
| 856 | SET @R egCriteria = @RegCri teria + ' AND a.HEAL TH_CONCERN S_RESPONSE = ''' + @ healthConc erns + ''' '; | |||||
| 857 | ||||||
| 858 | IF @requ estToBeSee n != 'All' | |||||
| 859 | SET @R egCriteria = @RegCri teria + ' AND a.REQU EST_SEEN_R ESPONSE = ''' + @req uestToBeSe en + '''' ; | |||||
| 860 | ||||||
| 861 | IF ISNUL L(@exclude Dead,'N') = 'Y' | |||||
| 862 | SET @R egCriteria = @RegCri teria + ' AND a.DECE ASED_FLAG = 0 '; | |||||
| 863 | ||||||
| 864 | IF ISNUL L(@gender, '') != '' | |||||
| 865 | SET @R egCriteria = @RegCri teria + ' AND ''' + @gender + ''' = ISNU LL(a.GENDE R,''No Dat a Availabl e'') '; | |||||
| 866 | ||||||
| 867 | IF ISNUL L(@ethnici ty,'') != '' | |||||
| 868 | SET @R egCriteria = @RegCri teria + ' AND ''' + @ethnicity + ''' = I SNULL(a.ET HNICITY,'' No Data Av ailable'') '; | |||||
| 869 | ||||||
| 870 | IF ISNUL L(@separat ionType,0) != 0 | |||||
| 871 | SET @R egCriteria = @RegCri teria + ' AND ''' + @separatio nType + ' = ISNULL(a .STD_SEPAR ATION_REAS ON_ID_CURR ENT,0) '; | |||||
| 872 | ||||||
| 873 | IF @sepa rationFrom Date IS NO T NULL | |||||
| 874 | SET @R egCriteria = @RegCri teria + ' AND a.SEPA RATION_DAT E_CURRENT >= ''' + C ONVERT(VAR CHAR(20),@ separation FromDate,1 21) + '''' ; | |||||
| 875 | ||||||
| 876 | IF @sepa rationToDa te IS NOT NULL | |||||
| 877 | SET @R egCriteria = @RegCri teria + ' AND a.SEP ARATION_DA TE_CURRENT <= ''' + CONVERT(VA RCHAR(20), @separatio nToDate,12 1) + ''''; | |||||
| 878 | ||||||
| 879 | IF ISNUL L(@race,'' ) != '' | |||||
| 880 | SET @R egCriteria = @RegCri teria + ' AND ''' + @race + '' ' = ISNUL L(a.RACE , ''No Data Available' ') '; | |||||
| 881 | ||||||
| 882 | IF ISNUL L(@enrollm entStatus, '') != '' | |||||
| 883 | SET @R egCriteria = @RegCri teria + ' AND ''' + @enrollmen tStatus + ''' = ISNU LL(a.ENROL LMENT_STAT US,''No Da ta Availab le'') '; | |||||
| 884 | ||||||
| 885 | IF @Assi gnedLocati onType IS NOT NULL | |||||
| 886 | BEGIN | |||||
| 887 | IF @ AssignedLo cationType = 'NLA' | |||||
| 888 | SE T @RegCrit eria = @Re gCriteria + ' AND a. STD_INSTIT UTION_ID I S NULL ' ; | |||||
| 889 | ELSE | |||||
| 890 | IF @ AssignedLo cationType = 'VISN' | |||||
| 891 | SE T @RegCrit eria = @Re gCriteria + ' AND EX ISTS(SELEC T * FROM A HOBPR.VIEW _FACILITY_ LOOKUP ins t ' + | |||||
| 892 | ' WHERE i nst.ID = a .STD_INSTI TUTION_ID ' + | |||||
| 893 | ' AND i nst.VisnID = ''' + @ AssignedLo cationKey + ''') '; | |||||
| 894 | ELSE | |||||
| 895 | IF @ AssignedLo cationType = 'Base' | |||||
| 896 | SE T @RegCrit eria = @Re gCriteria + ' AND EX ISTS(SELEC T * FROM A HOBPR.VIEW _FACILITY_ LOOKUP ins t ' + | |||||
| 897 | ' WHER E inst.ID = a.STD_IN STITUTION_ ID ' + | |||||
| 898 | ' AN D inst.BAS E_ID = ' + CONVERT(V ARCHAR(20) ,@Assigned Institutio nId) + ') ' | |||||
| 899 | ELSE | |||||
| 900 | IF @ AssignedLo cationType = 'Instit ution' | |||||
| 901 | SE T @RegCrit eria = @Re gCriteria + ' AND a. STD_INSTIT UTION_ID = ' + CONVE RT(VARCHAR (20),@Assi gnedInstit utionId); | |||||
| 902 | END; | |||||
| 903 | ||||||
| 904 | IF @Eval uatedLocat ionType IS NOT NULL | |||||
| 905 | BEGIN | |||||
| 906 | IF @ EvaluatedL ocationTyp e = 'NLA' | |||||
| 907 | SE T @RegCrit eria = @Re gCriteria + ' AND NO T EXISTS( SELECT * F ROM AHOBPR .REGISTRAN T_VISIT ev al ' + | |||||
| 908 | ' WHERE eva l.REGISTRA NT_VISIT_I D = a.REGI STRANT_ID ' + | |||||
| 909 | ' AND eva l.EVALUATI ON_FLAG = ''Y'') ' ; | |||||
| 910 | ELSE | |||||
| 911 | IF @ EvaluatedL ocationTyp e = 'VISN' | |||||
| 912 | SE T @RegCrit eria = @Re gCriteria + ' AND EX ISTS(SELEC T * FROM A HOBPR.REGI STRANT_VIS IT eval ' + | |||||
| 913 | ' JOI N AHOBPR.V IEW_FACILI TY_LOOKUP inst ON in st.ID = ev al.STD_INS TITUTION_I D ' + | |||||
| 914 | ' WHER E eval.REG ISTRANT_VI SIT_ID = a .REGISTRAN T_ID ' + | |||||
| 915 | ' AN D eval.EVA LUATION_FL AG = ''Y'' ' + | |||||
| 916 | ' AN D inst.Vis nID = ''' + @Evaluat edLocation Key + ''') '; | |||||
| 917 | ELSE | |||||
| 918 | IF @ EvaluatedL ocationTyp e = 'Base' | |||||
| 919 | SE T @RegCrit eria = @Re gCriteria + ' AND E XISTS(SELE CT * FROM AHOBPR.REG ISTRANT_VI SIT eval ' + | |||||
| 920 | ' JOI N AHOBPR.V IEW_FACILI TY_LOOKUP inst ON in st.ID = ev al.STD_INS TITUTION_I D ' + | |||||
| 921 | ' WHER E eval.REG ISTRANT_VI SIT_ID = a .REGISTRAN T_ID ' + | |||||
| 922 | ' AN D eval.EVA LUATION_FL AG = ''Y'' ' + | |||||
| 923 | ' AN D inst.BAS E_ID = ' + CONVERT(V ARCHAR(20) ,@Evaluate dInstituti onId) + ') '; | |||||
| 924 | ELSE | |||||
| 925 | IF @ EvaluatedL ocationTyp e = 'Insti tution' | |||||
| 926 | SE T @RegCrit eria = @Re gCriteria + ' AND E XISTS(SELE CT * FROM AHOBPR.REG ISTRANT_VI SIT eval ' + | |||||
| 927 | ' JOI N AHOBPR.V IEW_FACILI TY_LOOKUP inst ON in st.ID = ev al.STD_INS TITUTION_I D ' + | |||||
| 928 | ' WHER E eval.REG ISTRANT_VI SIT_ID = a .REGISTRAN T_ID ' + | |||||
| 929 | ' AN D eval.EVA LUATION_FL AG = ''Y'' ' + | |||||
| 930 | ' AN D eval.STD _INSTITUTI ON_ID = ' + CONVERT( VARCHAR(20 ),@Evaluat edInstitut ionId) + ') '; | |||||
| 931 | END; | |||||
| 932 | ||||||
| 933 | -- Add cri teria and Close With Statement | |||||
| 934 | SET @Dep loyWith = @DeployWit h + @RegCr iteria + ' GROUP BY a.REGISTRA NT_ID ) ' | |||||
| 935 | SET @Sub PopWith = @SubPopWit h + @RegCr iteria + ' GROUP BY a.REGISTRA NT_ID ) ' | |||||
| 936 | SET @Adm inWith = @AdminWith + @RegCr iteria + ' GROUP BY a.REGISTRA NT_ID ) ' | |||||
| 937 | ||||||
| 938 | SET @Que ry = @Sub PopWith + @AdminWit h + @Deplo yWith + @ MainQuery + @RegCrit eria; | |||||
| 939 | ||||||
| 940 | PRINT @ Query; | |||||
| 941 | ||||||
| 942 | EXECUTE ( @Query); | |||||
| 943 | END; | |||||
| 944 | ||||||
| 945 | ||||||
| 946 | ||||||
| 947 | -- Test Ca ses | |||||
| 948 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] | |||||
| 949 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ status = ' 6,7' | |||||
| 950 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ dutyStatus = '1,2' | |||||
| 951 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ formStartF romDateTex t = '2001 0101' | |||||
| 952 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ formStartT oDateText = '2014123 1' | |||||
| 953 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ healthFact or = '44,4 5,46,47' | |||||
| 954 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ formComple tionFromDa teText = '20010101' | |||||
| 955 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ formComple tionToDate Text = '2 0141231' | |||||
| 956 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ healthConc erns = 'Ye s' , | |||||
| 957 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ requestToB eSeen = 'Y es | |||||
| 958 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ subpopulat ionFlag = '64,65,66, 67' | |||||
| 959 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ deployment All = 'Egy pt' | |||||
| 960 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ deployment Exposure = 'Iraq' | |||||
| 961 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ adminFlag = '59,60' ,@adminFla gFromDateT ext = '201 50101' , @ adminFlagT oDateText = '2015020 1' | |||||
| 962 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByInd ividual] @ questionNu mber = '5. 4.A' , @a nswer = '2 221' | |||||
| 963 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] | |||||
| 964 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] @Ass ignedLocat ionType = 'NLA' | |||||
| 965 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] @Ass ignedLocat ionType = 'VISN', @A ssignedLoc ationKey = 'V16' | |||||
| 966 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] @Ass ignedLocat ionType = 'Base', @A ssignedLoc ationKey = '1000089' | |||||
| 967 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] @Ass ignedLocat ionType = 'Instituti on', @Assi gnedLocati onKey = '1 000089' | |||||
| 968 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] @et hnicity = 'JEWISH' | |||||
| 969 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] @Eva luatedLoca tionType = 'NLA' | |||||
| 970 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] @Eva luatedLoca tionType = 'VISN', @ EvaluatedL ocationKey = 'V16' | |||||
| 971 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] @Eva luatedLoca tionType = 'Base', @ EvaluatedL ocationKey = '100008 9' | |||||
| 972 | -- exec [A HOBPR].[SP _ReportAdH ocByIndivi dual] @Eva luatedLoca tionType = 'Institut ion', @Eva luatedLoca tionKey = '1000089' | |||||
| 973 | ||||||
| 974 | GO | |||||
| 975 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Repo rtAdHocByL ocation].. .'; | |||||
| 976 | GO | |||||
| 977 | ||||||
| 978 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _ReportAdH ocByLocati on]') AND type in (N 'P', N'PC' )) | |||||
| 979 | DROP PROCE DURE [AHOB PR].[SP_Re portAdHocB yLocation] | |||||
| 980 | GO | |||||
| 981 | ||||||
| 982 | -- ======= ========== ========== ========== ======== | |||||
| 983 | -- Author: Debora h Barr | |||||
| 984 | -- Create date: Nove mber 12, 2 014 | |||||
| 985 | -- Descrip tion: Used for the A HOBPR Ad H oc Report | |||||
| 986 | ||||||
| 987 | -- Modific ation log | |||||
| 988 | -- 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 | |||||
| 989 | -- 2015-01 -05 - Chan ge Date Fo rmat to MM /DD/YYYY | |||||
| 990 | -- 2015-01 -14 - Sher ry Wang Ad d more par ameters: @ healthFact or, @formS tartFromDa te, @formS tartToDate , @subpopu lationFlag | |||||
| 991 | -- 2015-01 -14 - Sher ry Wang Ad d more par ameters: @ adminFlag, @deployme ntAll, @de ploymentEx posure, @a dminFlagFr omDate, @a dminFlagTo Date | |||||
| 992 | -- 2015-01 -16 - Bruc e Clegg - Fix parame ters, Add distinct a nd outer q uery to gr oup counts . | |||||
| 993 | -- 2015-02 -09 - Bruc e Clegg - Change Hea lth Factor Exists st atements t o use new REGISTRANT _VISIT | |||||
| 994 | -- 2015-05 -07 - Bruc e Clegg - Change Fac ility name from "Oth er" to "No Facitilty Assigned" when not found | |||||
| 995 | -- 2015-06 -04 - Bruc e Clegg - Add more p arameters | |||||
| 996 | -- 2015-06 -18 - Bruc e Clegg - Changed @s eparationT ype to an Integer | |||||
| 997 | -- 2015-07 -09 - Bruc e Clegg - Rewrote as Dynamic S QL for per formance | |||||
| 998 | -- 2015-08 -05 - Bruc e Clegg - Fix bug wi th AdminFl ag - Set F rom and To date defa ults | |||||
| 999 | -- ======= ========== ========== ========== ======== | |||||
| 1000 | CREATE PRO CEDURE [AH OBPR].[SP_ ReportAdHo cByLocatio n] | |||||
| 1001 | @st atus varch ar(100) = NULL, -- M ultiple st atues, com ma-separat ed values when not N ULL | |||||
| 1002 | @du tyStatus v archar(100 ) = NULL, -- Multipl e states, comma-sepa rated valu es when no t NULL | |||||
| 1003 | @fo rmStartFro mDateText varchar(10 0) = NULL, | |||||
| 1004 | @fo rmStartToD ateText va rchar(100) = NULL, | |||||
| 1005 | @he althFactor varchar(1 00) = NULL , -- Multi ple health factor ID s, comma-s eparated v alues when not NULL | |||||
| 1006 | @fo rmCompleti onFromDate Text varch ar(100) = NULL, | |||||
| 1007 | @fo rmCompleti onToDateTe xt varchar (100) = NU LL, | |||||
| 1008 | @qu estionNumb er varchar (100) = NU LL, | |||||
| 1009 | @an swer varch ar(100) = NULL, | |||||
| 1010 | @he althConcer ns varchar (10) = 'Al l', | |||||
| 1011 | @re questToBeS een varcha r(10) = 'A ll', | |||||
| 1012 | @gr oupBy VARC HAR(50) = '', -- 'VISN' or 'Facili ty' | |||||
| 1013 | @su bpopulatio nFlag varc har (10) = NULL, | |||||
| 1014 | @ad minFlag va rchar (10) = NULL, | |||||
| 1015 | @de ploymentAl l varchar (256) = NU LL, | |||||
| 1016 | @de ploymentEx posure var char (256) = NULL, | |||||
| 1017 | @ad minFlagFro mDateText varchar (2 0) = NULL, | |||||
| 1018 | @ad minFlagToD ateText va rchar (20) = NULL, | |||||
| 1019 | @ex cludeDead varchar(1) = 'N', | |||||
| 1020 | @ge nder varch ar(50) = ' ', | |||||
| 1021 | @ra ce varchar (50) = '', | |||||
| 1022 | @et hnicity va rchar(50) = '', | |||||
| 1023 | @se parationTy pe INT = 0 , | |||||
| 1024 | @se parationFr omDateText varchar ( 20) = NULL , | |||||
| 1025 | @se parationTo DateText v archar (20 ) = NULL, | |||||
| 1026 | @en rollmentSt atus varch ar(50) = ' ' | |||||
| 1027 | AS | |||||
| 1028 | ||||||
| 1029 | BEGIN | |||||
| 1030 | ||||||
| 1031 | DECLARE @formStart FromDate D ATETIME2(0 ) = NULL, | |||||
| 1032 | @formStart ToDate DAT ETIME2(0) = NULL, | |||||
| 1033 | @formCompl etionFromD ate DATETI ME2(0) = N ULL, | |||||
| 1034 | @formCompl etionToDat e DATETIME 2(0) = NUL L, | |||||
| 1035 | @adminFlag FromDate D ATETIME2(0 ) = NULL, | |||||
| 1036 | @adminFlag ToDate DAT ETIME2(0) = NULL, | |||||
| 1037 | @separatio nFromDate DATETIME2( 0) = NULL, | |||||
| 1038 | @separatio nToDate DA TETIME2(0) = NULL; | |||||
| 1039 | ||||||
| 1040 | DECLARE @Query VAR CHAR(8000) ; | |||||
| 1041 | ||||||
| 1042 | -- Conve rt date pa rameters | |||||
| 1043 | ||||||
| 1044 | SET @for mStartFrom Date = dbo .CleanDate (@formStar tFromDateT ext); | |||||
| 1045 | SET @for mStartToDa te = dbo.A ddMaxTime( dbo.CleanD ate(@formS tartToDate Text)); | |||||
| 1046 | SET @for mCompletio nFromDate = dbo.Clea nDate(@for mCompletio nFromDateT ext); | |||||
| 1047 | SET @for mCompletio nToDate = dbo.AddMax Time(dbo.C leanDate(@ formComple tionToDate Text)); | |||||
| 1048 | SET @adm inFlagFrom Date = ISN ULL(dbo.Cl eanDate(@a dminFlagFr omDateText ),'1900010 1'); | |||||
| 1049 | SET @adm inFlagToDa te = dbo.A ddMaxTime( ISNULL(dbo .CleanDate (@adminFla gToDateTex t),GETDATE ())); | |||||
| 1050 | SET @sep arationFro mDate = db o.CleanDat e(@separat ionFromDat eText); | |||||
| 1051 | SET @sep arationToD ate = dbo. AddMaxTime (dbo.Clean Date(@sepa rationToDa teText)); | |||||
| 1052 | ||||||
| 1053 | -- Build Src TDE | |||||
| 1054 | SET @Que ry = ' WIT H Src | |||||
| 1055 | AS( SE LECT a.REG ISTRANT_ID , a.STD_IN STITUTION_ ID FROM AH OBPR.REGIS TRANT a WH ERE 1 = 1 '; | |||||
| 1056 | ||||||
| 1057 | IF @stat us IS NOT NULL | |||||
| 1058 | SET @Q uery = @Qu ery + ' AN D a.STD_RE GISTRANT_S TATUS_ID I N (' + @st atus + ')' ; | |||||
| 1059 | ||||||
| 1060 | IF ISNUL L(@dutySta tus,'') > '' | |||||
| 1061 | SET @Q uery = @Qu ery + ' AN D a.STD_SE RVICE_STAT US_ID IN ( ' + @dutyS tatus + ') '; | |||||
| 1062 | ||||||
| 1063 | IF @heal thConcerns != 'All' | |||||
| 1064 | SET @Q uery = @Qu ery + ' AN D a.HEALTH _CONCERNS_ RESPONSE = ''' + @he althConcer ns + ''''; | |||||
| 1065 | ||||||
| 1066 | IF @requ estToBeSee n != 'All' | |||||
| 1067 | SET @Q uery = @Qu ery + ' AN D a.REQUES T_SEEN_RES PONSE = '' ' + @reque stToBeSeen + ''''; | |||||
| 1068 | ||||||
| 1069 | IF @form StartFromD ate IS NOT NULL OR @ formStartT oDate IS N OT NULL | |||||
| 1070 | OR @form Completion FromDate I S NOT NULL OR @formC ompletionT oDate IS N OT NULL | |||||
| 1071 | BEGIN | |||||
| 1072 | SET @Query = @ Query + ' AND EXISTS ( SELECT d .REGISTRAN T_ID FROM AHOBPR.FOR M_RESPONSE d | |||||
| 1073 | JOIN AHOBP R.FORM_RES PONSE_STAT US e ON d. FORM_RESPO NSE_ID = e .FORM_RESP ONSE_ID | |||||
| 1074 | W HERE a.REG ISTRANT_ID = d.REGIS TRANT_ID ' ; | |||||
| 1075 | IF @formStar tFromDate IS NOT NUL L | |||||
| 1076 | SET @Quer y = @Query + ' AND e .QUESTIONN AIRE_START ED_DATE >= ''' + CON VERT(VARCH AR(20),@fo rmStartFro mDate,121) + ''''; | |||||
| 1077 | IF @formStar tToDate IS NOT NULL | |||||
| 1078 | SET @Quer y = @Query + ' AND e .QUESTIONN AIRE_START ED_DATE <= ''' + CON VERT(VARCH AR(20),@fo rmStartToD ate,121) + ''''; | |||||
| 1079 | IF @formComp letionFrom Date IS NO T NULL | |||||
| 1080 | SET @Quer y = @Query + ' AND e .QUESTIONN AIRE_COMPL ETED_DATE >= ''' + C ONVERT(VAR CHAR(20),@ formComple tionFromDa te,121) + ''''; | |||||
| 1081 | IF @formComp letionToDa te IS NOT NULL | |||||
| 1082 | SET @Quer y = @Query + ' AND e .QUESTIONN AIRE_COMPL ETED_DATE <= ''' + C ONVERT(VAR CHAR(20),@ formComple tionToDate ,121) + '' ''; | |||||
| 1083 | S ET @Query = @Query + ' ) ' -- Close Exis its statem ent | |||||
| 1084 | END | |||||
| 1085 | ||||||
| 1086 | IF ISNUL L(@answer, '') != '' | |||||
| 1087 | --SET @Query = @ Query + ' AND EXISTS (SELECT fr .REGISTRAN T_ID FROM AHOBPR.FOR M_RESPONSE _ANSWER ra ' + | |||||
| 1088 | -- 'J OIN AHOBPR .FORM_RESP ONSE_QUEST ION rq ON rq.FORM_RE SPONSE_QUE STION_ID = ra.FORM_R ESPONSE_QU ESTION_ID ' + | |||||
| 1089 | -- 'J OIN AHOBPR .FORM_RESP ONSE fr ON fr.FORM_R ESPONSE_ID = rq.FORM _RESPONSE_ ID ' + | |||||
| 1090 | -- ' WH ERE ra.STD _FORM_ANSW ER_ID IN ( ' + @answe r + ') AND fr.REGIST RANT_ID = a.REGISTRA NT_ID )'; | |||||
| 1091 | ||||||
| 1092 | SET @Que ry = @Quer y + ' AND EXISTS(SEL ECT fr.REG ISTRANT_ID FROM AHOB PR.FORM_RE SPONSE_ANS WER ra ' + | |||||
| 1093 | 'JOIN AHOBPR.FOR M_RESPONSE _QUESTION rq ON rq.F ORM_RESPON SE_QUESTIO N_ID = ra. FORM_RESPO NSE_QUESTI ON_ID ' + | |||||
| 1094 | 'JOIN AHOBPR.FOR M_RESPONSE fr ON fr. FORM_RESPO NSE_ID = r q.FORM_RES PONSE_ID ' + | |||||
| 1095 | 'JOIN AHOBPR.STD _FORM_ANSW ER A1 ON A 1.STD_FORM _ANSWER_ID = ra.STD_ FORM_ANSWE R_ID ' + | |||||
| 1096 | 'JOIN AHOBPR.STD _FORM_QUES TION Q1 ON Q1.STD_FO RM_QUESTIO N_ID = rq. STD_FORM_Q UESTION_ID ' + | |||||
| 1097 | 'JOIN AHOBPR.STD _FORM_QUES TION Q2 ON Q2.FORM_Q UESTION_UN IQUE_ID = Q1.FORM_QU ESTION_UNI QUE_ID ' + | |||||
| 1098 | 'JOIN AHOBPR.STD _FORM_ANSW ER A2 ON A 2.STD_FORM _QUESTION_ ID = Q2.ST D_FORM_QUE STION_ID ' + | |||||
| 1099 | ' AND A1.BRP_FOR M_ANSWER_I D = A2.BRP _FORM_ANSW ER_ID ' + | |||||
| 1100 | ' WHERE A2.STD_FOR M_ANSWER_I D IN (' + @answer + ') AND fr. REGISTRANT _ID = a.RE GISTRANT_I D )'; | |||||
| 1101 | ||||||
| 1102 | ||||||
| 1103 | IF ISNUL L(@subpopu lationFlag ,'') != '' | |||||
| 1104 | SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT * FR OM AHOBPR. REGISTRANT _REGISTRY_ FLAG subpo p ' + | |||||
| 1105 | ' WHERE subp op.STD_REG ISTRY_FLAG _ID IN (' + @subpopu lationFlag + ') ' + | |||||
| 1106 | ' AND subp op.REGISTR ANT_ID = a .REGISTRAN T_ID ) '; | |||||
| 1107 | ||||||
| 1108 | IF ISNULL(@a dminFlag,' ') != '' | |||||
| 1109 | SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT * FR OM AHOBPR. REGISTRANT _REGISTRY_ FLAG admin flag ' + | |||||
| 1110 | ' WHER E adminfla g.STD_REGI STRY_FLAG_ ID IN (' + @adminFla g + ') ' + | |||||
| 1111 | ' AN D adminfla g.REGISTRA NT_ID = a. REGISTRANT _ID ' + | |||||
| 1112 | ' AN D adminfla g.CREATED BETWEEN '' ' + CONVER T(VARCHAR( 20),@admin FlagFromDa te,121) + | |||||
| 1113 | ''' AND '' ' + CONVER T(VARCHAR( 20),@admin FlagToDate ,121) + '' ' ) '; | |||||
| 1114 | ||||||
| 1115 | IF ISNUL L(@healthF actor,'') != '' | |||||
| 1116 | SET @Q uery = @Qu ery + ' AN D EXISTS ( SELECT re. REGISTRANT _ID FROM A HOBPR.REGI STRANT_VIS IT re ' + | |||||
| 1117 | ' JOIN AHO BPR.REGIST RANT_HEALT H_FACTOR h f ON re.RE GISTRANT_V ISIT_ID = hf.REGISTR ANT_VISIT_ ID ' + | |||||
| 1118 | ' WHERE a.R EGISTRANT_ ID = re.RE GISTRANT_I D AND re.E VALUATION_ FLAG = ''Y '' ' + | |||||
| 1119 | ' AND hf. STD_HEALTH _FACTOR_ID IN (' + @ healthFact or + ') ) ' | |||||
| 1120 | ||||||
| 1121 | IF ISNUL L(@deploym entAll,'') != '' | |||||
| 1122 | SET @Q uery = @Qu ery + ' AN D EXISTS ( SELECT dep l.REGISTRA NT_ID FROM AHOBPR.RE GISTRANT_D EPLOYMENT depl ' + | |||||
| 1123 | ' WHERE a.R EGISTRANT_ ID = depl. REGISTRANT _ID | |||||
| 1124 | AND dep l.DEPLOYME NT_COUNTRY = ''' + @ deployment All + ''') ' ; | |||||
| 1125 | ||||||
| 1126 | IF ISNUL L(@deploym entExposur e,'') != ' ' | |||||
| 1127 | 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 ' + | |||||
| 1128 | ' JOIN AH OBPR.FORM_ RESPONSE_Q UESTION ex posure ON deployment Exposure.R EGISTRANT_ DEPLOYMENT _ID = expo sure.REGIS TRANT_DEPL OYMENT_ID ' + | |||||
| 1129 | ' JOIN AH OBPR.STD_F ORM_QUESTI ON quest O N exposure .STD_FORM_ QUESTION_I D = quest. STD_FORM_Q UESTION_ID ' + | |||||
| 1130 | ' WHERE qu est.FORM_Q UESTION_UN IQUE_ID = ''1.2.A'' ' + | |||||
| 1131 | ' AND de ploymentEx posure.DEP LOYMENT_CO UNTRY = '' ' + @deplo ymentExpos ure + '''' + | |||||
| 1132 | ' AND de ploymentEx posure.REG ISTRANT_ID = a.REGIS TRANT_ID ) '; | |||||
| 1133 | IF ISNUL L(@exclude Dead,'N') = 'Y' | |||||
| 1134 | SET @Q uery = @Qu ery + ' AN D a.DECEAS ED_FLAG = 0 '; | |||||
| 1135 | ||||||
| 1136 | IF ISNUL L(@gender, '') != '' | |||||
| 1137 | SET @Q uery = @Qu ery + ' AN D ''' + @g ender + '' ' = ISNULL (a.GENDER, ''No Data Available' ') '; | |||||
| 1138 | ||||||
| 1139 | IF ISNUL L(@ethnici ty,'') != '' | |||||
| 1140 | SET @Q uery = @Qu ery + ' AN D ''' + @e thnicity + ''' = ISN ULL(a.ETHN ICITY,''No Data Avai lable'') ' ; | |||||
| 1141 | ||||||
| 1142 | IF ISNUL L(@separat ionType,0) != 0 | |||||
| 1143 | SET @Q uery = @Qu ery + ' AN D ''' + @s eparationT ype + ''' = ISNULL(a .STD_SEPAR ATION_REAS ON_ID_CURR ENT,0) '; | |||||
| 1144 | ||||||
| 1145 | IF @sepa rationFrom Date IS NO T NULL | |||||
| 1146 | SET @Q uery = @Qu ery + ' AN D a.SEPARA TION_DATE_ CURRENT >= ''' + CON VERT(VARCH AR(20),@se parationFr omDate,121 ) + ''''; | |||||
| 1147 | ||||||
| 1148 | IF @sepa rationToDa te IS NOT NULL | |||||
| 1149 | SET @Q uery = @Qu ery + ' AN D a.SEPAR ATION_DATE _CURRENT < = ''' + CO NVERT(VARC HAR(20),@s eparationT oDate,121) + ''''; | |||||
| 1150 | ||||||
| 1151 | IF ISNUL L(@race,'' ) != '' | |||||
| 1152 | SET @Q uery = @Qu ery + ' AN D ''' + @r ace + ''' = ISNULL( a.RACE ,'' No Data Av ailable'') '; | |||||
| 1153 | ||||||
| 1154 | IF ISNUL L(@enrollm entStatus, '') != '' | |||||
| 1155 | SET @Q uery = @Qu ery + ' AN D ''' + @e nrollmentS tatus + '' ' = ISNULL (a.ENROLLM ENT_STATUS ,''No Data Available '') '; | |||||
| 1156 | ||||||
| 1157 | -- Add S ummary TDE | |||||
| 1158 | SET @Que ry = @Quer y + ' ) ,Summary AS( ' + | |||||
| 1159 | ' SELE CT Src.STD _INSTITUTI ON_ID, COU NT(*) AS T otalRegist rants FROM Src ' + | |||||
| 1160 | ' GROU P BY STD_I NSTITUTION _ID ) '; | |||||
| 1161 | -- By Faci lity | |||||
| 1162 | IF @groupBy = 'Facilit y' | |||||
| 1163 | SET @Query = @Query + ' SELECT inst.Name AS Locati on, ' + | |||||
| 1164 | ' ISNULL(C ONVERT(VAR CHAR(10),S ummary.STD _INSTITUTI ON_ID),''- 1'') AS Lo cationId, ' + | |||||
| 1165 | ' SU M(TotalReg istrants) AS TotalRe gistrants FROM Summa ry ' + | |||||
| 1166 | ' JOIN AHOBPR.VI EW_INSTITU TION_NAME inst ON in st.ID = IS NULL(Summa ry.STD_INS TITUTION_I D,-1) ' + | |||||
| 1167 | ' GROUP BY inst.N ame,STD_IN STITUTION_ ID ' + | |||||
| 1168 | ' O PTION (OPT IMIZE FOR UNKNOWN);' ; | |||||
| 1169 | ||||||
| 1170 | -- By VISN | |||||
| 1171 | IF @groupBy = 'VISN' | |||||
| 1172 | SET @Quer y = @Query + ' ,Visn Summary AS ( ' + | |||||
| 1173 | ' S ELECT ISNU LL(inst.Vi snID,''NLA '') AS Loc ation, ' + | |||||
| 1174 | ' ISNU LL(inst.Vi snID, ''-1 '') AS Loc ationId, ' + | |||||
| 1175 | ' SUM( TotalRegis trants) AS TotalRegi strants ' + | |||||
| 1176 | ' FROM Summ ary ' + | |||||
| 1177 | ' LEFT JOIN AHOBPR.VI EW_FACILIT Y_LOOKUP i nst ON ins t.ID = ISN ULL(Summar y.STD_INST ITUTION_ID ,-1) ' + | |||||
| 1178 | ' GROUP BY inst.VisnI D ) ' + | |||||
| 1179 | ' S ELECT REPL ACE(Locati on,''NLA'' ,''No Faci tilty Assi gned'') AS Location, ' + | |||||
| 1180 | ' CONV ERT(VARCHA R(10),Loca tionId) AS LocationI d, TotalRe gistrants ' + | |||||
| 1181 | ' FROM Visn Summary ' + | |||||
| 1182 | ' ORDER BY L ocation ' + | |||||
| 1183 | ' OPTION (OP TIMIZE FOR UNKNOWN); ' ; | |||||
| 1184 | ||||||
| 1185 | PRINT @Q uery; | |||||
| 1186 | ||||||
| 1187 | EXECUTE (@Query); | |||||
| 1188 | END | |||||
| 1189 | -- Paramet ers | |||||
| 1190 | --@statu s, @dutySt atus ,@que stionnaire StartDate, @question naireCompl eteDate, | |||||
| 1191 | --@quest ionNumber, @answer, @healthCon cerns= 'Al l', @reque stToBeSeen = 'All', | |||||
| 1192 | --@regis tryFlag,@I nstitution Id = 0, @V isnId = '' | |||||
| 1193 | -- Test Ca ses | |||||
| 1194 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @st atus = '6, 7' | |||||
| 1195 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @du tyStatus = '1,2' | |||||
| 1196 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @fo rmStartFro mDateText = '200101 01' | |||||
| 1197 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @fo rmStartToD ateText = '20141231' | |||||
| 1198 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @he althFactor = '44,45, 46,47' | |||||
| 1199 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @fo rmCompleti onFromDate Text = '2 0010101' | |||||
| 1200 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @fo rmCompleti onToDateTe xt = '201 41231' | |||||
| 1201 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @he althConcer ns = 'Yes' | |||||
| 1202 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @re questToBeS een = 'Yes ' | |||||
| 1203 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @su bpopulatio nFlag = '6 4,65,66,67 ' | |||||
| 1204 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @de ploymentAl l = 'Iraq' -- 'Eg ypt' | |||||
| 1205 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @de ploymentEx posure = 'Iraq' | |||||
| 1206 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @ad minFlag = '59,60' ,@ adminFlagF romDateTex t = '20150 101' , @ad minFlagToD ateText = '20150201' | |||||
| 1207 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = 'V ISN', @an swer = '22 21' | |||||
| 1208 | -- EXECUTE [AHOBPR]. [SP_Report AdHocByLoc ation] @gr oupBy = ' Facility' , @status = '6,7' ,@ answer = ' 2346,1571, 17' -- ' 20,795,157 0' | |||||
| 1209 | GO | |||||
| 1210 | ||||||
| 1211 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Repo rtParticip ation]...' ; | |||||
| 1212 | GO | |||||
| 1213 | ||||||
| 1214 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _ReportPar ticipation ]') AND ty pe in (N'P ', N'PC')) | |||||
| 1215 | DROP PROCE DURE [AHOB PR].[SP_Re portPartic ipation] | |||||
| 1216 | GO | |||||
| 1217 | ||||||
| 1218 | -- ======= ========== ========== ========== ======== | |||||
| 1219 | -- Author: Bruce Clegg | |||||
| 1220 | -- Create date: Dec 30, 2014 | |||||
| 1221 | -- Descrip tion: Used for the A HOBPR Part icipation Report -- exec [AHOBPR]. [SP_Report Participat ion] | |||||
| 1222 | -- 2015033 0 - Bruce Clegg - Ad ded VisnId value of NLA to fin d Null loc ations | |||||
| 1223 | -- 2015042 7 - Bruce Clegg - Ch ange to Lo cationType and Key, for both A ssigned an d Evaluate d Location s | |||||
| 1224 | -- 2015071 0 - Bruce Clegg - Re write usin g Dynamic SQL for Pe rformance | |||||
| 1225 | -- 2015091 0 - Bruce Clegg - Re moved sele ction for Question 1 .2.A for D eployments | |||||
| 1226 | -- 2015091 5 - Bruce Clegg - Ad d Max Time to End da te paramet er | |||||
| 1227 | -- ======= ========== ========== ========== ======== | |||||
| 1228 | CREATE PRO CEDURE [AH OBPR].[SP_ ReportPart icipation] | |||||
| 1229 | @St artDate DA TETIME2(0) = NULL, | |||||
| 1230 | @En dDate DA TETIME2(0) = NULL, | |||||
| 1231 | @As signedLoca tionType VARCHAR(20 ) = NULL, -- 'VISN' , 'Base', 'Instituti on', 'NLA' = No Loca tion Assig ned | |||||
| 1232 | @As signedLoca tionKey VARCHAR(50 ) = NULL, -- 'V16', 'V01' 1000109, 1000089 | |||||
| 1233 | @Ev aluatedLoc ationType VARCHAR(20 ) = NULL, -- 'VISN' , 'Base', 'Instituti on', 'NLA' = No Loca tion Assig ned | |||||
| 1234 | @Ev aluatedLoc ationKey VARCHAR(50 ) = NULL -- 'V16', 'V01' 1000109, 1000089 | |||||
| 1235 | AS | |||||
| 1236 | BEGIN | |||||
| 1237 | ||||||
| 1238 | SET @Sta rtDate = I SNULL(@Sta rtDate,'19 900802'); -- Desert Storm star t date | |||||
| 1239 | SET @End Date = ISN ULL(@EndDa te, GETDAT E()); | |||||
| 1240 | ||||||
| 1241 | SET @End Date = dbo .AddMaxTim e(@EndDate ); | |||||
| 1242 | ||||||
| 1243 | DECLARE @ConsentSt atusCount INT = 0, | |||||
| 1244 | @EligibleS tatusCount INT = 0, | |||||
| 1245 | @Participa ntStatusCo unt INT = 0, | |||||
| 1246 | @HealthCon cernsCount INT = 0, | |||||
| 1247 | @NoHealthC oncernsCou nt INT = 0 , | |||||
| 1248 | @RequestSe enCount IN T = 0, | |||||
| 1249 | @NoRequest SeenCount INT = 0, | |||||
| 1250 | @DoNotKnow RequestSee nCount INT = 0, | |||||
| 1251 | @VeteranSe rviceStatu sCount INT = 0, | |||||
| 1252 | @ActiveDut yServiceSt atusCount INT = 0, | |||||
| 1253 | @RetireeSe rviceStatu sCount INT = 0, | |||||
| 1254 | @Afgh911Co unt INT = 0, | |||||
| 1255 | @Iraq911Co unt INT = 0, | |||||
| 1256 | @SWA911Cou nt INT = 0 , | |||||
| 1257 | @Pre911Cou nt INT = 0 , | |||||
| 1258 | @Djibouti9 11Count IN T = 0, | |||||
| 1259 | @MedianDay sToPartici pant DECIM AL(9,2) = 0; | |||||
| 1260 | ||||||
| 1261 | DECLARE @AssignedI nstitution Id INT = 0 , | |||||
| 1262 | @E valuatedIn stitutionI d INT = 0; | |||||
| 1263 | ||||||
| 1264 | DECLARE @Query NVA RCHAR(MAX) ; | |||||
| 1265 | DECLARE @Criteria VARCHAR(20 00) = ''; | |||||
| 1266 | ||||||
| 1267 | IF @Assign edLocation Type IN (' Base','Ins titution') | |||||
| 1268 | AND ISNUME RIC(@Assig nedLocatio nKey) = 1 | |||||
| 1269 | SET @Ass ignedInsti tutionId = CONVERT(I NT,@Assign edLocation Key); | |||||
| 1270 | ||||||
| 1271 | IF @Evalua tedLocatio nType IN ( 'Base','In stitution' ) | |||||
| 1272 | AND ISNUME RIC(@Evalu atedLocati onKey) = 1 | |||||
| 1273 | SET @Eva luatedInst itutionId = CONVERT( INT,@Evalu atedLocati onKey); | |||||
| 1274 | ||||||
| 1275 | -- Buil d Criteria string | |||||
| 1276 | ||||||
| 1277 | SET @Cri teria = ' AND respon seStat.QUE STIONNAIRE _COMPLETED _DATE BETW EEN ''' + CONVERT(VA RCHAR(20), @StartDate ,121) + | |||||
| 1278 | '' ' AND ''' + CONVERT( VARCHAR(20 ),@EndDate ,121) + '' ' ' ; | |||||
| 1279 | IF @Assi gnedLocati onType = ' NLA' | |||||
| 1280 | SET @C riteria = @Criteria + ' AND re g.STD_INST ITUTION_ID IS NULL ' ; | |||||
| 1281 | ||||||
| 1282 | IF @Assi gnedLocati onType = ' VISN' | |||||
| 1283 | SET @C riteria = @Criteria + ' AND EX ISTS(SELEC T * FROM A HOBPR.VIEW _FACILITY_ LOOKUP ins t ' + | |||||
| 1284 | ' WHERE inst .ID = reg. STD_INSTIT UTION_ID ' + | |||||
| 1285 | 'AND inst .VisnID = ''' + @Ass ignedLocat ionKey + ' '') '; | |||||
| 1286 | ||||||
| 1287 | IF @Assi gnedLocati onType = ' Base' | |||||
| 1288 | SET @C riteria = @Criteria + ' AND EX ISTS(SELEC T * FROM A HOBPR.VIEW _FACILITY_ LOOKUP ins t ' + | |||||
| 1289 | ' WHERE inst .ID = reg. STD_INSTIT UTION_ID ' + | |||||
| 1290 | 'AND inst .BASE_ID = ' + CONVE RT(VARCHAR (20),@Assi gnedInstit utionId) + ' ) '; | |||||
| 1291 | ||||||
| 1292 | IF @Assi gnedLocati onType = ' Institutio n' | |||||
| 1293 | SET @C riteria = @Criteria + ' AND re g.STD_INST ITUTION_ID = ' + CON VERT(VARCH AR(20),@As signedInst itutionId) + ' ' | |||||
| 1294 | ||||||
| 1295 | IF @Eval uatedLocat ionType = 'NLA' | |||||
| 1296 | SET @C riteria = @Criteria + ' AND NO T EXISTS( SELECT * F ROM AHOBPR .REGISTRAN T_VISIT ev al ' + | |||||
| 1297 | 'WHERE eval.REGI STRANT_ID = Reg.REGI STRANT_ID ' + | |||||
| 1298 | 'AN D eval.EVA LUATION_FL AG = ''Y'' ) '; | |||||
| 1299 | ||||||
| 1300 | IF @Eval uatedLocat ionType = 'VISN' | |||||
| 1301 | SET @C riteria = @Criteria + ' AND EX ISTS(SELEC T * FROM A HOBPR.REGI STRANT_VIS IT eval ' + | |||||
| 1302 | 'JO IN AHOBPR. VIEW_FACIL ITY_LOOKUP inst ON i nst.ID = e val.STD_IN STITUTION_ ID ' + | |||||
| 1303 | ' WHE RE eval.RE GISTRANT_I D = Reg.RE GISTRANT_I D ' + | |||||
| 1304 | 'A ND inst.Vi snID = ''' + @Evalu atedLocati onKey + '' ' ' + | |||||
| 1305 | 'A ND eval.EV ALUATION_F LAG = ''Y' ') ' ; | |||||
| 1306 | ||||||
| 1307 | IF @Eval uatedLocat ionType = 'Base' | |||||
| 1308 | SET @C riteria = @Criteria + ' AND EX ISTS(SELEC T * FROM A HOBPR.REGI STRANT_VIS IT eval ' + | |||||
| 1309 | 'JO IN AHOBPR. VIEW_FACIL ITY_LOOKUP inst ON i nst.ID = e val.STD_IN STITUTION_ ID ' + | |||||
| 1310 | ' WHE RE eval.RE GISTRANT_I D = Reg.RE GISTRANT_I D ' + | |||||
| 1311 | ' AND inst .BASE_ID = ' + CONVE RT(VARCHAR (20),@Eval uatedInsti tutionId) + | |||||
| 1312 | ' AND ev al.EVALUAT ION_FLAG = ''Y'') '; | |||||
| 1313 | IF @Eval uatedLocat ionType = 'Instituti on' | |||||
| 1314 | SET @C riteria = @Criteria + ' AND EX ISTS(SELEC T * FROM A HOBPR.REGI STRANT_VIS IT eval ' + | |||||
| 1315 | ' WHERE eval .REGISTRAN T_ID = Reg .REGISTRAN T_ID '+ | |||||
| 1316 | ' AND eval .STD_INSTI TUTION_ID = ' + CONV ERT(VARCHA R(20),@Eva luatedInst itutionId) + | |||||
| 1317 | ' AND eval .EVALUATIO N_FLAG = ' 'Y'') '; | |||||
| 1318 | ||||||
| 1319 | -- @Par ticipantSt atusCount | |||||
| 1320 | SET @Que ry = ' SEL ECT @Parti cipantStat usCount = COUNT(*) ' + | |||||
| 1321 | ' F ROM [AHOBP R].[REGIST RANT] reg ' + | |||||
| 1322 | ' J OIN AHOBPR .STD_REGIS TRANT_STAT US stat ON stat.STD_ REGISTRANT _STATUS_ID = reg.STD _REGISTRAN T_STATUS_I D ' + | |||||
| 1323 | ' J OIN AHOBPR .FORM_RESP ONSE resp ON resp.RE GISTRANT_I D = reg.RE GISTRANT_I D ' + | |||||
| 1324 | ' J OIN AHOBPR .FORM_RESP ONSE_STATU S response Stat ON r esponseSta t.FORM_RES PONSE_ID = resp.FORM _RESPONSE_ ID ' | |||||
| 1325 | + @Cri teria | |||||
| 1326 | + ' A ND stat.RE GISTRANT_S TATUS = '' Participan t'' '; | |||||
| 1327 | ||||||
| 1328 | PRINT @Q uery; | |||||
| 1329 | EXEC sp_ executesql @Query, N'@Partici pantStatus Count INT OUTPUT', @Partici pantStatus Count OUTP UT; | |||||
| 1330 | ||||||
| 1331 | ||||||
| 1332 | -- @H ealthConce rnsCount | |||||
| 1333 | SET @Que ry = ' SEL ECT @Healt hConcernsC ount = COU NT(*) ' + | |||||
| 1334 | ' F ROM [AHOBP R].[REGIST RANT] reg ' + | |||||
| 1335 | ' J OIN AHOBPR .STD_REGIS TRANT_STAT US stat ON stat.STD_ REGISTRANT _STATUS_ID = reg.STD _REGISTRAN T_STATUS_I D ' + | |||||
| 1336 | ' J OIN AHOBPR .FORM_RESP ONSE resp ON resp.RE GISTRANT_I D = reg.RE GISTRANT_I D ' + | |||||
| 1337 | ' J OIN AHOBPR .FORM_RESP ONSE_STATU S response Stat ON r esponseSta t.FORM_RES PONSE_ID = resp.FORM _RESPONSE_ ID ' | |||||
| 1338 | + ' WH ERE reg.HE ALTH_CONCE RNS_RESPON SE = ''Yes '' ' | |||||
| 1339 | + @Cri teria; | |||||
| 1340 | ||||||
| 1341 | PRINT @Q uery; | |||||
| 1342 | EXEC sp_ executesql @Query, N'@HealthC oncernsCou nt INT OUT PUT', @ HealthConc ernsCount OUTPUT; | |||||
| 1343 | ||||||
| 1344 | -- @NoH ealthConce rnsCount | |||||
| 1345 | SET @Que ry = ' SEL ECT @NoHea lthConcern sCount = C OUNT(*) ' + | |||||
| 1346 | ' F ROM [AHOBP R].[REGIST RANT] reg ' + | |||||
| 1347 | ' J OIN AHOBPR .STD_REGIS TRANT_STAT US stat ON stat.STD_ REGISTRANT _STATUS_ID = reg.STD _REGISTRAN T_STATUS_I D ' + | |||||
| 1348 | ' J OIN AHOBPR .FORM_RESP ONSE resp ON resp.RE GISTRANT_I D = reg.RE GISTRANT_I D ' + | |||||
| 1349 | ' J OIN AHOBPR .FORM_RESP ONSE_STATU S response Stat ON r esponseSta t.FORM_RES PONSE_ID = resp.FORM _RESPONSE_ ID ' | |||||
| 1350 | + ' WH ERE reg.HE ALTH_CONCE RNS_RESPON SE IS NULL ' | |||||
| 1351 | + @Cri teria; | |||||
| 1352 | ||||||
| 1353 | PRINT @Q uery; | |||||
| 1354 | EXEC sp_ executesql @Query, N'@NoHealt hConcernsC ount INT O UTPUT', @NoHealth ConcernsCo unt OUTPUT ; | |||||
| 1355 | ||||||
| 1356 | ||||||
| 1357 | -- @Req uestSeenCo unt | |||||
| 1358 | SET @Que ry = ' SEL ECT @Reque stSeenCoun t = COUNT( *) ' + | |||||
| 1359 | ' F ROM [AHOBP R].[REGIST RANT] reg ' + | |||||
| 1360 | ' J OIN AHOBPR .STD_REGIS TRANT_STAT US stat ON stat.STD_ REGISTRANT _STATUS_ID = reg.STD _REGISTRAN T_STATUS_I D ' + | |||||
| 1361 | ' J OIN AHOBPR .FORM_RESP ONSE resp ON resp.RE GISTRANT_I D = reg.RE GISTRANT_I D ' + | |||||
| 1362 | ' J OIN AHOBPR .FORM_RESP ONSE_STATU S response Stat ON r esponseSta t.FORM_RES PONSE_ID = resp.FORM _RESPONSE_ ID ' | |||||
| 1363 | + ' WH ERE reg.RE QUEST_SEEN _RESPONSE = ''Yes'' ' | |||||
| 1364 | + @Cri teria; | |||||
| 1365 | ||||||
| 1366 | PRINT @Q uery; | |||||
| 1367 | EXEC sp_ executesql @Query, N'@Request SeenCount INT OUTPUT ', @Req uestSeenCo unt OUTPUT ; | |||||
| 1368 | ||||||
| 1369 | -- @NoR equestSeen Count | |||||
| 1370 | SET @Que ry = ' SEL ECT @NoReq uestSeenCo unt = COUN T(*) ' + | |||||
| 1371 | ' F ROM [AHOBP R].[REGIST RANT] reg ' + | |||||
| 1372 | ' J OIN AHOBPR .STD_REGIS TRANT_STAT US stat ON stat.STD_ REGISTRANT _STATUS_ID = reg.STD _REGISTRAN T_STATUS_I D ' + | |||||
| 1373 | ' J OIN AHOBPR .FORM_RESP ONSE resp ON resp.RE GISTRANT_I D = reg.RE GISTRANT_I D ' + | |||||
| 1374 | ' J OIN AHOBPR .FORM_RESP ONSE_STATU S response Stat ON r esponseSta t.FORM_RES PONSE_ID = resp.FORM _RESPONSE_ ID ' | |||||
| 1375 | + ' WH ERE reg.RE QUEST_SEEN _RESPONSE = ''No'' ' | |||||
| 1376 | + @Cri teria; | |||||
| 1377 | ||||||
| 1378 | PRINT @Q uery; | |||||
| 1379 | EXEC sp_ executesql @Query, N'@NoReque stSeenCoun t INT OUTP UT', @N oRequestSe enCount OU TPUT; | |||||
| 1380 | ||||||
| 1381 | -- @DoN otKnowRequ estSeenCou nt | |||||
| 1382 | SET @Que ry = ' SEL ECT @DoNot KnowReques tSeenCount = COUNT(* ) ' + | |||||
| 1383 | ' F ROM [AHOBP R].[REGIST RANT] reg ' + | |||||
| 1384 | ' J OIN AHOBPR .STD_REGIS TRANT_STAT US stat ON stat.STD_ REGISTRANT _STATUS_ID = reg.STD _REGISTRAN T_STATUS_I D ' + | |||||
| 1385 | ' J OIN AHOBPR .FORM_RESP ONSE resp ON resp.RE GISTRANT_I D = reg.RE GISTRANT_I D ' + | |||||
| 1386 | ' J OIN AHOBPR .FORM_RESP ONSE_STATU S response Stat ON r esponseSta t.FORM_RES PONSE_ID = resp.FORM _RESPONSE_ ID ' | |||||
| 1387 | + ' WH ERE ISNULL (reg.REQUE ST_SEEN_RE SPONSE,''' ') NOT IN (''Yes'',' 'No'') ' | |||||
| 1388 | + @Cri teria; | |||||
| 1389 | ||||||
| 1390 | PRINT @Q uery; | |||||
| 1391 | EXEC sp_ executesql @Query, N'@DoNotKn owRequestS eenCount I NT OUTPUT' , @DoNotKn owRequestS eenCount O UTPUT; | |||||
| 1392 | ||||||
| 1393 | -- @Act iveDutySer viceStatus Count | |||||
| 1394 | SET @Que ry = ' SEL ECT @Activ eDutyServi ceStatusCo unt = COUN T(*) ' + | |||||
| 1395 | ' F ROM [AHOBP R].[REGIST RANT] reg ' + | |||||
| 1396 | ' J OIN AHOBPR .STD_REGIS TRANT_STAT US stat ON stat.STD_ REGISTRANT _STATUS_ID = reg.STD _REGISTRAN T_STATUS_I D ' + | |||||
| 1397 | ' J OIN AHOBPR .FORM_RESP ONSE resp ON resp.RE GISTRANT_I D = reg.RE GISTRANT_I D ' + | |||||
| 1398 | ' J OIN AHOBPR .FORM_RESP ONSE_STATU S response Stat ON r esponseSta t.FORM_RES PONSE_ID = resp.FORM _RESPONSE_ ID ' + | |||||
| 1399 | ' J OIN AHOBPR .STD_SERVI CE_STATUS svc ON sv c.STD_SERV ICE_STATUS _ID = reg. STD_SERVIC E_STATUS_I D ' | |||||
| 1400 | + ' WH ERE svc.SE RVICE_STAT US = ''Act ive Duty'' ' | |||||
| 1401 | + @Cri teria; | |||||
| 1402 | ||||||
| 1403 | PRINT @Q uery; | |||||
| 1404 | EXEC sp_ executesql @Query, N'@ActiveD utyService StatusCoun t INT OUTP UT', @Acti veDutyServ iceStatusC ount OUTPU T; | |||||
| 1405 | ||||||
| 1406 | ||||||
| 1407 | -- @Vet eranServic eStatusCou nt | |||||
| 1408 | SET @Que ry = ' SEL ECT @Veter anServiceS tatusCount = COUNT(* ) ' + | |||||
| 1409 | ' F ROM [AHOBP R].[REGIST RANT] reg ' + | |||||
| 1410 | ' J OIN AHOBPR .STD_REGIS TRANT_STAT US stat ON stat.STD_ REGISTRANT _STATUS_ID = reg.STD _REGISTRAN T_STATUS_I D ' + | |||||
| 1411 | ' J OIN AHOBPR .FORM_RESP ONSE resp ON resp.RE GISTRANT_I D = reg.RE GISTRANT_I D ' + | |||||
| 1412 | ' J OIN AHOBPR .FORM_RESP ONSE_STATU S response Stat ON r esponseSta t.FORM_RES PONSE_ID = resp.FORM _RESPONSE_ ID ' + | |||||
| 1413 | ' J OIN AHOBPR .STD_SERVI CE_STATUS svc ON sv c.STD_SERV ICE_STATUS _ID = reg. STD_SERVIC E_STATUS_I D ' | |||||
| 1414 | + ' WH ERE svc.SE RVICE_STAT US = ''Sep arated'' ' | |||||
| 1415 | + @Cri teria; | |||||
| 1416 | ||||||
| 1417 | PRINT @Q uery; | |||||
| 1418 | EXEC sp_ executesql @Query, N'@Veteran ServiceSta tusCount I NT OUTPUT' , @Veteran ServiceSta tusCount O UTPUT; | |||||
| 1419 | ||||||
| 1420 | -- @Ret ireeServic eStatusCou nt | |||||
| 1421 | SET @Que ry = ' SEL ECT @Retir eeServiceS tatusCount = COUNT(* ) ' + | |||||
| 1422 | ' F ROM [AHOBP R].[REGIST RANT] reg ' + | |||||
| 1423 | ' J OIN AHOBPR .STD_REGIS TRANT_STAT US stat ON stat.STD_ REGISTRANT _STATUS_ID = reg.STD _REGISTRAN T_STATUS_I D ' + | |||||
| 1424 | ' J OIN AHOBPR .FORM_RESP ONSE resp ON resp.RE GISTRANT_I D = reg.RE GISTRANT_I D ' + | |||||
| 1425 | ' J OIN AHOBPR .FORM_RESP ONSE_STATU S response Stat ON r esponseSta t.FORM_RES PONSE_ID = resp.FORM _RESPONSE_ ID ' + | |||||
| 1426 | ' J OIN AHOBPR .STD_SERVI CE_STATUS svc ON sv c.STD_SERV ICE_STATUS _ID = reg. STD_SERVIC E_STATUS_I D ' | |||||
| 1427 | + ' WH ERE svc.SE RVICE_STAT US = ''Ret iree'' ' | |||||
| 1428 | + @Cri teria; | |||||
| 1429 | ||||||
| 1430 | PRINT @Q uery; | |||||
| 1431 | EXEC sp_ executesql @Query, N'@Retiree ServiceSta tusCount I NT OUTPUT' , @Retiree ServiceSta tusCount O UTPUT; | |||||
| 1432 | ||||||
| 1433 | ||||||
| 1434 | ||||||
| 1435 | -- Deploym ent Counts | |||||
| 1436 | SET @Que ry = 'WITH Deploymen ts | |||||
| 1437 | AS ( | |||||
| 1438 | SELECT | |||||
| 1439 | dp ly.REGISTR ANT_ID , | |||||
| 1440 | CASE WHEN (SUM (CASE WHEN [DEPLOYME NT_COUNTRY ] = ''Iraq '' | |||||
| 1441 | AND [DEPLOYME NT_START_D ATE] > ''2 0010911'' | |||||
| 1442 | THE N 1 ELSE 0 END) )> 0 | |||||
| 1443 | THEN 1 EL SE 0 END A S Iraq911C ount, | |||||
| 1444 | CASE WHEN (SUM (CASE WHEN [DEPLOYME NT_COUNTRY ] = ''Afgh anistan'' | |||||
| 1445 | AND [DEPLOYME NT_START_D ATE] > ''2 0010911'' | |||||
| 1446 | THEN 1 ELSE 0 END)) > 0 | |||||
| 1447 | THEN 1 EL SE 0 END A S Afgh911C ount, | |||||
| 1448 | CASE WHEN (SUM (CASE WHEN [DEPLOYME NT_COUNTRY ] = ''Djib outi'' | |||||
| 1449 | AND [DEPLOYME NT_START_D ATE] > ''2 0010911'' | |||||
| 1450 | THEN 1 ELSE 0 END)) > 0 | |||||
| 1451 | THEN 1 EL SE 0 END A S Djibouti 911Count, | |||||
| 1452 | CASE WHEN (SUM (CASE WHEN [DEPLOYME NT_COUNTRY ] IN (''Ku wait'',''S audi Arabi a'',''Bahr ain'', ''G ulf of Ade n'', ''Gul f of Oman' ', ''Oman' ', ''Qatar '', ''Unit ed Arab Em irates'', ''Persian Gulf'', '' Arabian Se a'', ''Red Sea'') | |||||
| 1453 | AND [DEPLOYME NT_START_D ATE] > ''2 0010911'' | |||||
| 1454 | THE N 1 ELSE 0 END)) > 0 | |||||
| 1455 | THEN 1 EL SE 0 END A S SWA911Co unt, | |||||
| 1456 | CASE WHEN (SUM (CASE WHEN ([DEPLOYM ENT_START_ DATE] BETW EEN ''1990 0802'' AND ''2001091 1'' ) | |||||
| 1457 | AND [DEPLOYM ENT_COUNTR Y] IN (''I raq'',''Ku wait'',''S audi Arabi a'',''Bahr ain'', ''G ulf of Ade n'', ''Gul f of Oman' ', ''Oman' ', ''Qatar '', ''Unit ed Arab Em irates'', ''Persian Gulf'', '' Arabian Se a'', ''Red Sea'') | |||||
| 1458 | THEN 1 ELSE 0 END)) > 0 | |||||
| 1459 | THEN 1 EL SE 0 END AS Pre911C ount | |||||
| 1460 | FROM [ AHOBPR].[R EGISTRANT_ DEPLOYMENT ] dply | |||||
| 1461 | JO IN AHOBPR. REGISTRANT Reg ON Re g.REGISTRA NT_ID = dp ly.REGISTR ANT_ID | |||||
| 1462 | JO IN AHOBPR. FORM_RESPO NSE resp O N resp.REG ISTRANT_ID = dply.RE GISTRANT_I D | |||||
| 1463 | JO IN AHOBPR. FORM_RESPO NSE_STATUS responseS tat ON res ponseStat. FORM_RESPO NSE_ID = r esp.FORM_R ESPONSE_ID | |||||
| 1464 | WHERE 1 = 1 ' + | |||||
| 1465 | @Criter ia + | |||||
| 1466 | ' GROU P BY dply. REGISTRANT _ID | |||||
| 1467 | ) | |||||
| 1468 | SELEC T @Afgh911 Count = S UM(ISNULL( Deployment s.Afgh911C ount,0)) | |||||
| 1469 | ,@Iraq911 Count = S UM(ISNULL( Deployment s.Iraq911C ount,0)) | |||||
| 1470 | ,@SWA911C ount = SUM (ISNULL(De ployments. SWA911Coun t,0)) | |||||
| 1471 | ,@Pre911C ount = S UM(ISNULL( Deployment s.Pre911Co unt,0)) | |||||
| 1472 | ,@Djibout i911Count = SUM(ISNU LL(Deploym ents.Djibo uti911Coun t,0)) | |||||
| 1473 | FROM Deploymen ts' ; | |||||
| 1474 | ||||||
| 1475 | PRINT @Q uery; | |||||
| 1476 | EXEC sp_ executesql @Query, | |||||
| 1477 | N'@ Afgh911Cou nt INT OUT PUT, @Iraq 911Count I NT OUTPUT, @SWA911Co unt INT OU TPUT, @Pre 911Count I NT OUTPUT, @Djibouti 911Count I NT OUTPUT' | |||||
| 1478 | , @A fgh911Coun t OUTPUT, @Iraq911Co unt OUTPUT , @SWA911C ount OUTPU T, @Pre911 Count OUTP UT, @Djibo uti911Coun t OUTPUT; | |||||
| 1479 | ||||||
| 1480 | ||||||
| 1481 | CREAT E TABLE #D aysToParti cipant(DAY S INT); | |||||
| 1482 | ||||||
| 1483 | -- Med ian Days f rom Eligib le to Part icipant St atus | |||||
| 1484 | -- Not e that onl y Registra nts with B oth values and DateP articipant > DateEli gible will be counte d for eith er Numerat or or Deno minator | |||||
| 1485 | ||||||
| 1486 | SET @Q uery = 'WI TH eligibl e | |||||
| 1487 | AS ( | |||||
| 1488 | SELECT [RE GISTRANT_I D],MIN([CR EATED]) AS DateEligi ble | |||||
| 1489 | FROM [AH OBPR].[PRO CESS_METRI CS] | |||||
| 1490 | WHERE [PR OCESS_METR ICS_VALUE] = ''Eligi ble'' | |||||
| 1491 | GROUP BY [REGISTRAN T_ID] | |||||
| 1492 | ) , | |||||
| 1493 | part icipant | |||||
| 1494 | AS ( | |||||
| 1495 | S ELECT [REG ISTRANT_ID ],MAX([CRE ATED]) AS DatePartic ipant | |||||
| 1496 | FROM [AHO BPR].[PROC ESS_METRIC S] | |||||
| 1497 | WHERE [PRO CESS_METRI CS_VALUE] = ''Partic ipant'' | |||||
| 1498 | GROUP BY [REGISTRAN T_ID] | |||||
| 1499 | ) | |||||
| 1500 | INSER T INTO #Da ysToPartic ipant(DAYS ) | |||||
| 1501 | SELECT | |||||
| 1502 | CASE WHEN Date Participan t > DateEl igible THE N DATEDIFF (Day,DateE ligible,Da teParticip ant) ELSE 0 END AS D aysDiffere nce | |||||
| 1503 | FROM [AHOBPR]. [REGISTRAN T] reg | |||||
| 1504 | JOIN eligible ON reg.REG ISTRANT_ID = eligibl e.REGISTRA NT_ID | |||||
| 1505 | JOIN participa nt ON reg. REGISTRANT _ID = part icipant.RE GISTRANT_I D | |||||
| 1506 | JOIN AHOBPR.FO RM_RESPONS E resp ON resp.REGIS TRANT_ID = reg.REGIS TRANT_ID | |||||
| 1507 | JOIN AHOBPR.FO RM_RESPONS E_STATUS r esponseSta t ON respo nseStat.FO RM_RESPONS E_ID = res p.FORM_RES PONSE_ID ' + | |||||
| 1508 | 'WHERE 1 = 1 ' + @Criteri a + | |||||
| 1509 | ' ORDER BY DaysDi fference'; | |||||
| 1510 | ||||||
| 1511 | PRINT @Q uery; | |||||
| 1512 | EXECUTE( @Query); | |||||
| 1513 | ||||||
| 1514 | WITH C ounts AS | |||||
| 1515 | ( | |||||
| 1516 | SEL ECT c=COUN T(*) | |||||
| 1517 | FRO M #DaysToP articipant | |||||
| 1518 | ) | |||||
| 1519 | SELECT @MedianDa ysToPartic ipant = AV G(0. + DAY S) | |||||
| 1520 | FROM C ounts a | |||||
| 1521 | CROSS APPLY | |||||
| 1522 | ( | |||||
| 1523 | SEL ECT TOP((( a.c - 1) / 2) + (1 + (1 - a.c % 2))) | |||||
| 1524 | DAYS, r=RO W_NUMBER() OVER (ORD ER BY DAYS ) | |||||
| 1525 | FRO M #DaysToP articipant b | |||||
| 1526 | ORD ER BY DAYS | |||||
| 1527 | ) p | |||||
| 1528 | WHERE r BETWEEN ((a.c - 1) / 2) + 1 AND (((a.c - 1) / 2) + (1 + (1 - a.c % 2 ))); | |||||
| 1529 | ||||||
| 1530 | DROP TABLE #Day sToPartici pant; | |||||
| 1531 | ||||||
| 1532 | -- Return Results | |||||
| 1533 | SELECT ISNULL(@Pa rticipantS tatusCount ,0) AS Par ticipantSt atusCount, | |||||
| 1534 | ISNULL(@He althConcer nsCount,0) AS Report edHealthCo ncernsCoun t, | |||||
| 1535 | ISNULL(@No HealthConc ernsCount, 0) AS NoR eportedHea lthConcern sCount, | |||||
| 1536 | ISNULL(@Re questSeenC ount,0) AS RequestSe enCount, | |||||
| 1537 | ISNULL(@No RequestSee nCount,0) AS NoReque stSeenCoun t, | |||||
| 1538 | ISNULL(@Do NotKnowReq uestSeenCo unt,0) AS DoNotKnowR equestSeen Count, | |||||
| 1539 | ISNULL(@Ve teranServi ceStatusCo unt,0) AS VeteranSer viceStatus Count , | |||||
| 1540 | ISNULL(@Ac tiveDutySe rviceStatu sCount,0) AS Active DutyServic eStatusCou nt, | |||||
| 1541 | ISNULL(@Re tireeServi ceStatusCo unt,0) AS RetireeSer viceStatus Count, | |||||
| 1542 | ISNULL(@Af gh911Count ,0) AS Af gh911Count , | |||||
| 1543 | ISNULL(@Ir aq911Count ,0) AS Ira q911Count, | |||||
| 1544 | ISNULL(@SW A911Count, 0) AS Sou thWestAsia 911Count, | |||||
| 1545 | ISNULL(@Pr e911Count, 0) AS Pre 911Count, | |||||
| 1546 | ISNULL(@Me dianDaysTo Participan t,0.0) AS MedianDays ToParticip ant, | |||||
| 1547 | ISNULL(@Dj ibouti911C ount,0) AS Djibouti9 11Count ; | |||||
| 1548 | ||||||
| 1549 | END | |||||
| 1550 | ||||||
| 1551 | -- exec [A HOBPR].[SP _ReportPar ticipation ] @StartDa te = '2015 0901' | |||||
| 1552 | -- exec [A HOBPR].[SP _ReportPar ticipation ] @Assigne dLocationT ype = 'NLA ' | |||||
| 1553 | -- exec [A HOBPR].[SP _ReportPar ticipation ] @Assigne dLocationT ype = 'VIS N', @Assig nedLocatio nKey = 'V1 6' | |||||
| 1554 | -- exec [A HOBPR].[SP _ReportPar ticipation ] @Assigne dLocationT ype = 'Bas e', @Assig nedLocatio nKey = '10 00089' | |||||
| 1555 | -- exec [A HOBPR].[SP _ReportPar ticipation ] @Assigne dLocationT ype = 'Ins titution', @Assigned LocationKe y = '10000 89' | |||||
| 1556 | -- exec [A HOBPR].[SP _ReportPar ticipation ] | |||||
| 1557 | -- exec [A HOBPR].[SP _ReportPar ticipation ] @Evaluat edLocation Type = 'NL A' | |||||
| 1558 | -- exec [A HOBPR].[SP _ReportPar ticipation ] @Evaluat edLocation Type = 'VI SN', @Eval uatedLocat ionKey = ' V16' | |||||
| 1559 | -- exec [A HOBPR].[SP _ReportPar ticipation ] @Evaluat edLocation Type = 'Ba se', @Eval uatedLocat ionKey = ' 1000089' | |||||
| 1560 | -- exec [A HOBPR].[SP _ReportPar ticipation ] @Evaluat edLocation Type = 'In stitution' , @Evaluat edLocation Key = '100 0089' | |||||
| 1561 | ||||||
| 1562 | ||||||
| 1563 | ||||||
| 1564 | ||||||
| 1565 | ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- | |||||
| 1566 | GO | |||||
| 1567 | ||||||
| 1568 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Repo rtRegistra ntContact] ...'; | |||||
| 1569 | GO | |||||
| 1570 | ||||||
| 1571 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _ReportReg istrantCon tact]') AN D type in (N'P', N'P C')) | |||||
| 1572 | DROP PROCE DURE [AHOB PR].[SP_Re portRegist rantContac t] | |||||
| 1573 | GO | |||||
| 1574 | ||||||
| 1575 | ||||||
| 1576 | -- ======= ========== ========== ========== ======== | |||||
| 1577 | -- Author: Bruce Clegg | |||||
| 1578 | -- Create date: Jan 12, 2015 | |||||
| 1579 | -- Descrip tion: Used for the A HOBPR Cont act Report -- exec [AHOBPR].[ SP_ReportR egistrantC ontact] (More opt ions at bo ttom) | |||||
| 1580 | -- 2015-02 -23 - Cleg g - provid e individu al field n ames | |||||
| 1581 | -- 2015033 0 - Bruce Clegg - Ad ded VisnId value of NLA to fin d Null loc ations | |||||
| 1582 | -- 2015042 7 - Bruce Clegg - Ch ange to Lo cationType and Key, for both A ssigned an d Evaluate d Location s | |||||
| 1583 | -- 2015042 9 - Bruce Clegg - Ad ded Email column (ag ain) | |||||
| 1584 | -- 2015061 7 - D. Bar r - Added state para meter | |||||
| 1585 | -- 2015072 2 - Bruce Clegg - Fi x bug with @Evaluate dLocationT ype = 'Bas e' | |||||
| 1586 | -- 2015090 1 - Bruce Clegg Fix Main phone . TYPE is not NULL so old way does not work | |||||
| 1587 | -- ======= ========== ========== ========== ======== | |||||
| 1588 | CREATE PRO CEDURE [AH OBPR].[SP_ ReportRegi strantCont act] | |||||
| 1589 | @Re gistrantSt atus VARCHAR(50 ) = '', -- '1,2,3 ,4,5,6,7,8 ' | |||||
| 1590 | @Sv cStatus VARCHAR(50 ) = '', -- '1,2,3 ' | |||||
| 1591 | @Ad minFlagId INT = 0, -- 60 | |||||
| 1592 | @Ad minFromDat eText VARCHAR(50 ) = NULL, | |||||
| 1593 | @Ad minToDateT ext VARCHAR(50 ) = NULL, | |||||
| 1594 | @Su bPopulatio nFlagId INT = 0, -- 65 | |||||
| 1595 | @As signedLoca tionType VARCHAR(20 ) = NULL, -- 'VISN' , 'Base', 'Instituti on', 'NLA' = No Loca tion Assig ned | |||||
| 1596 | @As signedLoca tionKey VARCHAR(50 ) = NULL, -- 'V16', 'V01' 1000109, 1000089 | |||||
| 1597 | @Ev aluatedLoc ationType VARCHAR(20 ) = NULL, -- 'VISN' , 'Base', 'Instituti on', 'NLA' = No Loca tion Assig ned | |||||
| 1598 | @Ev aluatedLoc ationKey VARCHAR(50 ) = NULL, -- 'V16', 'V01' 1000109, 1000089 | |||||
| 1599 | @Co mpletedFro mDateText VARCHAR(50 ) = NULL, | |||||
| 1600 | @Co mpletedToD ateText VARCHAR(50 ) = NULL, | |||||
| 1601 | @st ate varcha r(8000) = NULL -- Mu ltiple sta tes, comma -separated values wh en not NUL L | |||||
| 1602 | AS | |||||
| 1603 | BEGIN | |||||
| 1604 | ||||||
| 1605 | DECLARE @A dminFromDa te DATETIM E2(0) = IS NULL(dbo.C leanDate(@ AdminFromD ateText),' 19000101') | |||||
| 1606 | DECLARE @A dminToDate DATETIM E2(0) = db o.AddMaxTi me(ISNULL( dbo.CleanD ate(@Admin ToDateText ),GETDATE( ))); | |||||
| 1607 | DECLARE @C ompletedFr omDate DAT ETIME2(0) = ISNULL(d bo.CleanDa te(@Comple tedFromDat eText),'19 000101') | |||||
| 1608 | DECLARE @C ompletedTo Date DAT ETIME2(0) = dbo.AddM axTime(ISN ULL(dbo.Cl eanDate(@C ompletedTo DateText), GETDATE()) ); | |||||
| 1609 | ||||||
| 1610 | --PRINT @A ssignedLoc ationType; | |||||
| 1611 | --PRINT @A ssignedLoc ationKey; | |||||
| 1612 | ||||||
| 1613 | DECLARE @A ssignedIns titutionId INT = 0, | |||||
| 1614 | @E valuatedIn stitutionI d INT = 0; | |||||
| 1615 | ||||||
| 1616 | IF @Assign edLocation Type IN (' Base','Ins titution') | |||||
| 1617 | AND ISNUME RIC(@Assig nedLocatio nKey) = 1 | |||||
| 1618 | SET @Ass ignedInsti tutionId = CONVERT(I NT,@Assign edLocation Key); | |||||
| 1619 | ||||||
| 1620 | IF @Evalua tedLocatio nType IN ( 'Base','In stitution' ) | |||||
| 1621 | AND ISNUME RIC(@Evalu atedLocati onKey) = 1 | |||||
| 1622 | SET @Eva luatedInst itutionId = CONVERT( INT,@Evalu atedLocati onKey); | |||||
| 1623 | ||||||
| 1624 | WITH addr | |||||
| 1625 | AS ( | |||||
| 1626 | SELECT REGISTRAN T_ID, | |||||
| 1627 | ISNULL( STREET1,'' ) AS STRE ET1, | |||||
| 1628 | ISNULL( STREET2,'' ) AS STRE ET2, | |||||
| 1629 | ISNULL( CITY,'') AS CITY , | |||||
| 1630 | ISNULL( [STATE],'' ) AS [STA TE], | |||||
| 1631 | ISNULL( COUNTRY,'' ) AS COUN TRY, | |||||
| 1632 | ISNULL( ZIP,'') AS ZIP | |||||
| 1633 | FR OM AHOBPR .[REGISTRA NT_ADDRESS ] | |||||
| 1634 | ) | |||||
| 1635 | ,phone1 | |||||
| 1636 | AS ( | |||||
| 1637 | SELECT REGISTRAN T_ID, | |||||
| 1638 | ISNULL( PHONE_NUMB ER,'') AS PHONE_NUMB ER_Main | |||||
| 1639 | FROM AHOBPR.RE GISTRANT_P HONE | |||||
| 1640 | WHERE ISNULL(TY PE,'') != 'Mobile' | |||||
| 1641 | ) | |||||
| 1642 | ,phone2 | |||||
| 1643 | AS ( | |||||
| 1644 | SELECT REGISTRAN T_ID, | |||||
| 1645 | ISNULL( PHONE_NUMB ER,'') AS PHONE_NUMB ER_Mobile | |||||
| 1646 | FROM AHOBPR.RE GISTRANT_P HONE | |||||
| 1647 | WHERE TYPE = 'M obile' | |||||
| 1648 | ) | |||||
| 1649 | ||||||
| 1650 | AS ( | |||||
| 1651 | SELECT REGISTRAN T_ID, | |||||
| 1652 | ISNULL( EMAIL,'') AS EMAIL | |||||
| 1653 | FROM AHOBPR.RE GISTRANT_E MAIL | |||||
| 1654 | ) | |||||
| 1655 | ,Pref | |||||
| 1656 | AS( | |||||
| 1657 | SELE CT fr.REGI STRANT_ID | |||||
| 1658 | ,ans.TEXT AS Contac tPreferenc e | |||||
| 1659 | FR OM AHOBPR .FORM_RESP ONSE fr | |||||
| 1660 | JO IN AHOBPR. FORM_RESPO NSE_QUESTI ON rQst ON fr.FORM_R ESPONSE_ID = rQst.FO RM_RESPONS E_ID | |||||
| 1661 | JO IN AHOBPR. STD_FORM_Q UESTION qs t ON rQst. STD_FORM_Q UESTION_ID = qst.STD _FORM_QUES TION_ID | |||||
| 1662 | JO IN AHOBPR. FORM_RESPO NSE_ANSWER rAns ON r Qst.FORM_R ESPONSE_QU ESTION_ID = rAns.FOR M_RESPONSE _QUESTION_ ID | |||||
| 1663 | JO IN AHOBPR. STD_FORM_A NSWER ans ON ans.STD _FORM_ANSW ER_ID = rA ns.STD_FOR M_ANSWER_I D | |||||
| 1664 | WHE RE qst.STD _FORM_ID = fr.STD_FO RM_ID | |||||
| 1665 | A ND qst.FOR M_QUESTION _UNIQUE_ID = '8.A' | |||||
| 1666 | ) | |||||
| 1667 | SE LECT | |||||
| 1668 | reg.RE GISTRANT_I D, | |||||
| 1669 | ISNULL(r eg.LAST_NA ME,'') AS LAST_NAME , | |||||
| 1670 | ISNULL(reg .FIRST_NAM E,'') AS FIRST_NAME , | |||||
| 1671 | ISNULL(Pre f.ContactP reference, '') AS Co ntactPrefe rence, | |||||
| 1672 | ISNULL(S TREET1,'') AS STREE T1, | |||||
| 1673 | ISNULL(S TREET2,'') AS STREE T2, | |||||
| 1674 | ISNULL(C ITY,'') AS CITY, | |||||
| 1675 | ISNULL([ STATE],'') AS [STAT E], | |||||
| 1676 | ISNULL(C OUNTRY,'') AS COUNT RY, | |||||
| 1677 | ISNULL(Z IP,'') AS ZIP, | |||||
| 1678 | ISNULL(p hone1.PHON E_NUMBER_M ain,'') AS PHONE_NU MBER_Main, | |||||
| 1679 | ISNULL(p hone2.PHON E_NUMBER_M obile,'') AS PHONE_ NUMBER_Mob ile, | |||||
| 1680 | ISNULL(ema il.EMAIL,' ') AS EMAI L | |||||
| 1681 | FROM AHOBP R.REGISTRA NT reg | |||||
| 1682 | LEFT JOIN addr | |||||
| 1683 | ON reg.REGIS TRANT_ID = addr.REGI STRANT_ID | |||||
| 1684 | LEFT JOIN phone1 | |||||
| 1685 | ON reg.REGIS TRANT_ID = phone1.RE GISTRANT_I D | |||||
| 1686 | LEFT JOIN phone2 | |||||
| 1687 | ON reg.REGIS TRANT_ID = phone2.RE GISTRANT_I D | |||||
| 1688 | LEFT JOIN email | |||||
| 1689 | ON reg.REGIS TRANT_ID = email.REG ISTRANT_ID | |||||
| 1690 | LEFT JOIN Pref | |||||
| 1691 | ON reg.REGIS TRANT_ID = Pref.REGI STRANT_ID | |||||
| 1692 | W HERE (reg. STD_REGIST RANT_STATU S_ID IN (S ELECT * FR OM fncSpli t(@Registr antStatus, ',')) | |||||
| 1693 | OR I SNULL(@Reg istrantSta tus,'') = '') | |||||
| 1694 | AND (reg. STD_SERVIC E_STATUS_I D IN (SELE CT * FROM fncSplit(@ SvcStatus, ',')) | |||||
| 1695 | OR I SNULL(@Svc Status,'') = '') | |||||
| 1696 | AND ( @AssignedL ocationTyp e IS NULL | |||||
| 1697 | OR (@Assig nedLocatio nType = 'N LA' | |||||
| 1698 | AND re g.STD_INST ITUTION_ID IS NULL) | |||||
| 1699 | OR (@Assig nedLocatio nType = 'V ISN' | |||||
| 1700 | AND E XISTS(SELE CT * FROM AHOBPR.VIE W_FACILITY _LOOKUP in st | |||||
| 1701 | WHERE inst.ID = reg.STD_IN STITUTION_ ID | |||||
| 1702 | AND inst.VisnI D = @Assig nedLocatio nKey) | |||||
| 1703 | ) | |||||
| 1704 | OR (@Assig nedLocatio nType = 'B ase' | |||||
| 1705 | AND E XISTS(SELE CT * FROM AHOBPR.VIE W_FACILITY _LOOKUP in st | |||||
| 1706 | WHERE inst.ID = reg.STD_IN STITUTION_ ID | |||||
| 1707 | AND inst.BASE_ ID = @Assi gnedInstit utionId) | |||||
| 1708 | ) | |||||
| 1709 | OR (@Assig nedLocatio nType = 'I nstitution ' | |||||
| 1710 | AND r eg.STD_INS TITUTION_I D = @Assig nedInstitu tionId) | |||||
| 1711 | ) | |||||
| 1712 | AND ( @Evaluated LocationTy pe IS NULL | |||||
| 1713 | OR (@Evalu atedLocati onType = ' NLA' | |||||
| 1714 | AND NO T EXISTS( SELECT * F ROM AHOBPR .REGISTRAN T_VISIT ev al | |||||
| 1715 | WHERE eva l.REGISTRA NT_ID = Re g.REGISTRA NT_ID | |||||
| 1716 | AND eva l.EVALUATI ON_FLAG = 'Y') | |||||
| 1717 | ) | |||||
| 1718 | OR (@Evalu atedLocati onType = ' VISN' | |||||
| 1719 | AND E XISTS(SELE CT * FROM AHOBPR.REG ISTRANT_VI SIT eval | |||||
| 1720 | JOIN AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID | |||||
| 1721 | WHERE eval.REGIS TRANT_ID = Reg.REGIS TRANT_ID | |||||
| 1722 | AND inst.VisnI D = @Evalu atedLocati onKey | |||||
| 1723 | AND eval.EVALU ATION_FLAG = 'Y') | |||||
| 1724 | ) | |||||
| 1725 | OR (@Evalu atedLocati onType = ' Base' | |||||
| 1726 | AND E XISTS(SELE CT * FROM AHOBPR.REG ISTRANT_VI SIT eval | |||||
| 1727 | JOIN AHOBPR.VIE W_FACILITY _LOOKUP in st ON inst .ID = eval .STD_INSTI TUTION_ID | |||||
| 1728 | WHERE eval.REGIS TRANT_ID = Reg.REGIS TRANT_ID | |||||
| 1729 | AND inst.BASE_ ID = @Eval uatedInsti tutionId | |||||
| 1730 | AND eval.EVALU ATION_FLAG = 'Y' ) | |||||
| 1731 | ) | |||||
| 1732 | OR (@Evalu atedLocati onType = ' Institutio n' | |||||
| 1733 | AND E XISTS(SELE CT * FROM AHOBPR.REG ISTRANT_VI SIT eval | |||||
| 1734 | WHERE eval.REGIS TRANT_ID = Reg.REGIS TRANT_ID | |||||
| 1735 | AND eval.STD_I NSTITUTION _ID = @Eva luatedInst itutionId | |||||
| 1736 | AND eval.EVALU ATION_FLAG = 'Y') | |||||
| 1737 | ) | |||||
| 1738 | ) | |||||
| 1739 | AND ( ISNULL(@Su bPopulatio nFlagId, 0 ) = 0 | |||||
| 1740 | OR EXISTS( SELECT [RE GISTRANT_I D] FROM AH OBPR.REGIS TRANT_REGI STRY_FLAG popFlag | |||||
| 1741 | WHERE pop Flag.REGIS TRANT_ID = reg.REGIS TRANT_ID | |||||
| 1742 | AND pop Flag.STD_R EGISTRY_FL AG_ID = @S ubPopulati onFlagId)) | |||||
| 1743 | AND ( ISNULL(@Ad minFlagId, 0) = 0 | |||||
| 1744 | OR EXISTS( SELECT [RE GISTRANT_I D] FROM AH OBPR.REGIS TRANT_REGI STRY_FLAG adminFlag | |||||
| 1745 | WHERE adm inFlag.REG ISTRANT_ID = reg.REG ISTRANT_ID | |||||
| 1746 | AND adm inFlag.STD _REGISTRY_ FLAG_ID = @AdminFlag Id | |||||
| 1747 | AND adm inFlag.CRE ATED BETWE EN @AdminF romDate AN D @AdminTo Date)) | |||||
| 1748 | AND ( (ISNULL(@C ompletedFr omDateText ,'') = '' AND ISNULL (@Complete dToDateTex t,'') = '' ) | |||||
| 1749 | O R EXISTS(S ELECT resp .REGISTRAN T_ID, stat .QUESTIONN AIRE_COMPL ETED_DATE | |||||
| 1750 | FROM AHOB PR.FORM_RE SPONSE_STA TUS stat | |||||
| 1751 | JOIN AHOB PR.FORM_RE SPONSE res p | |||||
| 1752 | ON resp .FORM_RESP ONSE_ID = stat.FORM_ RESPONSE_I D | |||||
| 1753 | WHERE resp .REGISTRAN T_ID = reg .REGISTRAN T_ID | |||||
| 1754 | AND stat .QUESTIONN AIRE_COMPL ETED_DATE BETWEEN @C ompletedFr omDate AND @Complete dToDate)) | |||||
| 1755 | AND (I SNULL(@sta te,'') = ' ' | |||||
| 1756 | OR EX ISTS(SELEC T DISTINCT addr.REGI STRANT_ID | |||||
| 1757 | FRO M AHOBPR.R EGISTRANT_ ADDRESS ad dr | |||||
| 1758 | WHER E addr.REG ISTRANT_ID = reg.REG ISTRANT_ID | |||||
| 1759 | AN D addr.STA TE IN (SE LECT * FRO M fncSplit (@state, ' ,')))) | |||||
| 1760 | ; | |||||
| 1761 | ||||||
| 1762 | END | |||||
| 1763 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] | |||||
| 1764 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType = 'NLA' | |||||
| 1765 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType = 'VISN', @A ssignedLoc ationKey = 'V16' | |||||
| 1766 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType = 'Base', @A ssignedLoc ationKey = '1000089' | |||||
| 1767 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Ass ignedLocat ionType = 'Instituti on', @Assi gnedLocati onKey = '1 000089' | |||||
| 1768 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] | |||||
| 1769 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType = 'NLA' | |||||
| 1770 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType = 'VISN', @ EvaluatedL ocationKey = 'V16' | |||||
| 1771 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType = 'Base', @ EvaluatedL ocationKey = '100008 9' | |||||
| 1772 | -- exec [A HOBPR].[SP _ReportReg istrantCon tact] @Eva luatedLoca tionType = 'Institut ion', @Eva luatedLoca tionKey = '1000089' | |||||
| 1773 | ||||||
| 1774 | ||||||
| 1775 | --@ AssignedLo cationType VARCHAR( 10) = NULL , -- 'VIS N', 'Base' , 'Institu tion', 'NL A' = No Lo cation Ass igned | |||||
| 1776 | --@ AssignedLo cationKey VARCHAR( 50) = NULL , -- 'V16 ', 'V01' 1000109, 1000089 | |||||
| 1777 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] '5,6 ,7', NULL, 0, NULL, NULL, 0, 0 , NULL @E valuatedLo cationType | |||||
| 1778 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , '2', 0, NULL, NULL , 0, 0, NU LL | |||||
| 1779 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 60 , NULL, '2 0141204', 0, 0, NULL | |||||
| 1780 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 60 , '12/04/2 014', NULL , 0, 0, NU LL | |||||
| 1781 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 60 , '12/03/2 014', '12/ 12/2014', 0, 0, NULL | |||||
| 1782 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 0, NULL, NUL L, 65, 0, NULL | |||||
| 1783 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 0, NULL, NUL L, 0, 1000 109, NULL | |||||
| 1784 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] NULL , NULL, 0, NULL, NUL L, 0, 0, ' NLA' --'V0 1' | |||||
| 1785 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] @Com pletedFrom DateText = '08/13/20 14' | |||||
| 1786 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] @Com pletedToDa teText = ' 08/13/2014 ' | |||||
| 1787 | --exec [A HOBPR].[SP _ReportReg istrantCon tact] @Com pletedFrom DateText = '08/13/20 14', @Comp letedToDat eText = '0 8/13/2014' | |||||
| 1788 | ||||||
| 1789 | ||||||
| 1790 | GO | |||||
| 1791 | ||||||
| 1792 | PRINT 'DRO P and CREA TE PROCEDU RE [AHOBPR ].[SP_Repo rtParticip antDetails ]...'; | |||||
| 1793 | GO | |||||
| 1794 | ||||||
| 1795 | IF EXISTS (SELECT * FROM sys. objects WH ERE object _id = OBJE CT_ID(N'[A HOBPR].[SP _ReportPar ticipantDe tails]') A ND type in (N'P', N' PC')) | |||||
| 1796 | DROP PROCE DURE [AHOB PR].[SP_Re portPartic ipantDetai ls] | |||||
| 1797 | GO | |||||
| 1798 | ||||||
| 1799 | ||||||
| 1800 | -- ======= ========== ========== ========== ======== | |||||
| 1801 | -- Author: Bruce Clegg | |||||
| 1802 | -- Create date: Jan 5, 2015 | |||||
| 1803 | -- Descrip tion: Used for the A HOBPR Part icipation Report Dri lldown -- exec [AHO BPR].[SP_R eportParti cipantDeta ils] (M ore option s at botto m) | |||||
| 1804 | -- 2015033 0 - Bruce Clegg - Ad ded VisnId value of NLA to fin d Null loc ations | |||||
| 1805 | -- 2015042 7 - Bruce Clegg - Ch ange to Lo cationType and Key, for both A ssigned an d Evaluate d Location s | |||||
| 1806 | -- 2015050 4 - Bruce Clegg - Fi x @Request Seen selec tion logic to match Participat ion Report | |||||
| 1807 | -- 2015071 0 - Bruce Clegg - Re write usin g Dynamic SQL for Pe rformance | |||||
| 1808 | -- 2015091 0 - Bruce Clegg - Re moved sele ction for Question 1 .2.A for D eployments | |||||
| 1809 | -- 2015091 6 - Bruce Clegg - Re place Elig able with Questionai re start d ate | |||||
| 1810 | -- ======= ========== ========== ========== ======== | |||||
| 1811 | CREATE PRO CEDURE [AH OBPR].[SP_ ReportPart icipantDet ails] | |||||
| 1812 | @St artDate DA TETIME2(0) = NULL, | |||||
| 1813 | @En dDate DATE TIME2(0) = NULL, | |||||
| 1814 | @Re gistrantSt atus VARC HAR(50) = '', -- 'P articipant ', 'Review - Not Eli gible', 'E ligible', 'No Consen t', 'Conse nt', 'Revi ew' | |||||
| 1815 | @Sv cStatus V ARCHAR(50) = '', -- 'V eteran', ' Retiree', 'Active Du ty' | |||||
| 1816 | @Re questSeen VARCHAR(5 0) = '', -- 'Y es', 'No', 'Unknown' | |||||
| 1817 | @He althConcer n VARCHAR (50) = '', -- 'Y es', 'No' | |||||
| 1818 | @De ploymentGr oup VARCHA R(50) = '' , -- 'A fgh911', ' Iraq911', 'Southwest AsiaAfter9 11', 'Pre9 11', 'Dji boutiAfter 911' | |||||
| 1819 | @As signedLoca tionType VARCHAR(20 ) = NULL, -- 'VISN' , 'Base', 'Instituti on', 'NLA' = No Loca tion Assig ned | |||||
| 1820 | @As signedLoca tionKey VARCHAR(50 ) = NULL, -- 'V16', 'V01' 1000109, 1000089 | |||||
| 1821 | @Ev aluatedLoc ationType VARCHAR(20 ) = NULL, -- 'VISN' , 'Base', 'Instituti on', 'NLA' = No Loca tion Assig ned | |||||
| 1822 | @Ev aluatedLoc ationKey VARCHAR(50 ) = NULL -- 'V16', 'V01' 1000109, 1000089 | |||||
| 1823 | AS | |||||
| 1824 | BEGIN | |||||
| 1825 | ||||||
| 1826 | SET @Sta rtDate = I SNULL(@Sta rtDate,'19 900802'); -- Desert Storm sta rt date | |||||
| 1827 | SET @End Date = ISN ULL(@EndDa te, GetDat e()); | |||||
| 1828 | SET @End Date = dbo .AddMaxTim e(@EndDate ); -- Add s 23:59:59 to criter ia paramet er | |||||
| 1829 | ||||||
| 1830 | DECLARE @AssignedI nstitution Id INT = 0 , | |||||
| 1831 | @Evaluated Institutio nId INT = 0; | |||||
| 1832 | DECLARE @Query NVA RCHAR(MAX) ; | |||||
| 1833 | ||||||
| 1834 | IF @Assi gnedLocati onType IN ('Base','I nstitution ') | |||||
| 1835 | AND ISNU MERIC(@Ass ignedLocat ionKey) = 1 | |||||
| 1836 | SET @A ssignedIns titutionId = CONVERT (INT,@Assi gnedLocati onKey); | |||||
| 1837 | ||||||
| 1838 | IF @Eval uatedLocat ionType IN ('Base',' Institutio n') | |||||
| 1839 | AND ISNU MERIC(@Eva luatedLoca tionKey) = 1 | |||||
| 1840 | SET @E valuatedIn stitutionI d = CONVER T(INT,@Eva luatedLoca tionKey); | |||||
| 1841 | ||||||
| 1842 | --Temp t able for D eployments | |||||
| 1843 | CREATE T ABLE #Depl oyments | |||||
| 1844 | ( | |||||
| 1845 | [REGISTRA NT_ID] INT | |||||
| 1846 | ); | |||||
| 1847 | ||||||
| 1848 | -- INSER T Registra nts if the y are in t he Deploym ent Group | |||||
| 1849 | SET @Que ry = ' INS ERT INTO # Deployment s([REGISTR ANT_ID]) ' + | |||||
| 1850 | ' SEL ECT DISTIN CT deploym ent.REGIST RANT_ID ' + | |||||
| 1851 | ' F ROM AHOBPR .REGISTRAN T_DEPLOYME NT deploym ent ' + | |||||
| 1852 | ' WH ERE 1 = 1 '; | |||||
| 1853 | IF @Depl oymentGrou p = 'Afgh9 11' | |||||
| 1854 | SET @ Query = @ Query + ' AND [DEPLO YMENT_COUN TRY] = ''A fghanistan '' ' + | |||||
| 1855 | ' AND [DEPLO YMENT_STAR T_DATE] > ''20010911 '' '; | |||||
| 1856 | ELSE | |||||
| 1857 | IF @Depl oymentGrou p = 'Iraq9 11' | |||||
| 1858 | SET @Query = @Query + ' AND [DEPL OYMENT_COU NTRY] = '' Iraq'' ' + | |||||
| 1859 | 'AND [DEPL OYMENT_STA RT_DATE] > ''2001091 1'' '; | |||||
| 1860 | ELSE | |||||
| 1861 | IF @Depl oymentGrou p = 'Djibo utiAfter91 1' | |||||
| 1862 | SET @Query = @Query + ' AND [DEPL OYMENT_COU NTRY] = '' Djibouti'' ' + | |||||
| 1863 | 'AND [DEPL OYMENT_STA RT_DATE] > ''2001091 1'' '; | |||||
| 1864 | ELSE | |||||
| 1865 | IF @Depl oymentGrou p = 'South westAsiaAf ter911' | |||||
| 1866 | SET @Query = @Query + ' AND [DEPL OYMENT_COU NTRY] IN ( ''Kuwait'' ,''Saudi A rabia'','' Bahrain'', ''Gulf of Aden'', ' 'Gulf of O man'', ''O man'', ''Q atar'', '' United Ara b Emirates '', ''Pers ian Gulf'' , ''Arabia n Sea'', ' 'Red Sea'' ) ' + | |||||
| 1867 | ' AND [DEPLO YMENT_STAR T_DATE] > ''20010911 '' '; | |||||
| 1868 | ELSE | |||||
| 1869 | IF @Depl oymentGrou p = 'Pre91 1' | |||||
| 1870 | SET @Query = @Query + ' AND [DEPL OYMENT_COU NTRY] IN ( ''Iraq'',' 'Kuwait'', ''Saudi Ar abia'',''B ahrain'', ''Gulf of Aden'', '' Gulf of Om an'', ''Om an'', ''Qa tar'', ''U nited Arab Emirates' ', ''Persi an Gulf'', ''Arabian Sea'', '' Red Sea'') ' + | |||||
| 1871 | ' AND [DEPL OYMENT_STA RT_DATE] B ETWEEN ''1 9900802'' AND ''2001 0911'' '; | |||||
| 1872 | IF ISNUL L(@Deploym entGroup,' ') > '' | |||||
| 1873 | EXECUT E(@Query); | |||||
| 1874 | ||||||
| 1875 | SET @Que ry = ' | |||||
| 1876 | WITH p articipant | |||||
| 1877 | AS ( | |||||
| 1878 | S ELECT [REG ISTRANT_ID ], CONVERT (DATE,MAX( [CREATED]) ) AS DateP articipant | |||||
| 1879 | FROM [AHO BPR].[PROC ESS_METRIC S] | |||||
| 1880 | WHERE [PRO CESS_METRI CS_VALUE] = ''Partic ipant'' | |||||
| 1881 | GROUP BY [ REGISTRANT _ID] | |||||
| 1882 | ) | |||||
| 1883 | SE LECT reg.R EGISTRANT_ ID | |||||
| 1884 | ,(reg.LAS T_NAME + ' ', '' + re g.FIRST_NA ME) AS Nam e | |||||
| 1885 | ,stat.REG ISTRANT_ST ATUS | |||||
| 1886 | ,svc.SERV ICE_STATUS | |||||
| 1887 | ,QUESTION NAIRE_COMP LETED_DATE | |||||
| 1888 | ,ISNULL(r eg.REQUEST _SEEN_RESP ONSE, ''Un known'') A S REQUEST_ SEEN_RESPO NSE | |||||
| 1889 | ,ISNULL(r eg.HEALTH_ CONCERNS_R ESPONSE,'' No'') AS H EALTH_CONC ERNS_RESPO NSE | |||||
| 1890 | ,ISNULL(i nst.Name,' ''') AS In stitutionN ame | |||||
| 1891 | ,CONVERT( VARCHAR(10 ), respons eStat.QUES TIONNAIRE_ COMPLETED_ DATE, 101) AS QUESTI ONNAIRE_CO MPLETED_Di splay | |||||
| 1892 | ,CASE WHE N DatePart icipant > QUESTIONNA IRE_STARTE D_DATE THE N DATEDIFF (Day,QUEST IONNAIRE_S TARTED_DAT E,DatePart icipant) E LSE 0 END AS DaysEli gibleToPar ticipant | |||||
| 1893 | , reg.BIRTH_ DATE AS Bi rthDate | |||||
| 1894 | , CONVERT(VA RCHAR(10), reg.BIRTH _DATE, 101 ) AS Birth DateDispla y | |||||
| 1895 | FROM AHOBP R.REGISTRA NT reg | |||||
| 1896 | JOIN AHOBPR.ST D_REGISTRA NT_STATUS stat | |||||
| 1897 | ON reg.STD_R EGISTRANT_ STATUS_ID = stat.STD _REGISTRAN T_STATUS_I D | |||||
| 1898 | JOIN AHOBPR.ST D_SERVICE_ STATUS svc | |||||
| 1899 | ON svc.STD_S ERVICE_STA TUS_ID = r eg.STD_SER VICE_STATU S_ID | |||||
| 1900 | JOIN AHOBPR.FO RM_RESPONS E resp | |||||
| 1901 | ON resp.REGI STRANT_ID = reg.REGI STRANT_ID | |||||
| 1902 | JOIN AHOBPR.FO RM_RESPONS E_STATUS r esponseSta t | |||||
| 1903 | ON responseS tat.FORM_R ESPONSE_ID = resp.FO RM_RESPONS E_ID | |||||
| 1904 | JOIN p articipant | |||||
| 1905 | ON r eg.REGISTR ANT_ID = p articipant .REGISTRAN T_ID | |||||
| 1906 | LEFT JOIN AHOB PR.VIEW_FA CILITY_LOO KUP inst | |||||
| 1907 | ON inst.ID = reg.STD_I NSTITUTION _ID | |||||
| 1908 | W HERE respo nseStat.QU ESTIONNAIR E_COMPLETE D_DATE BET WEEN ''' + CONVERT(V ARCHAR(20) , @StartDa te,121) + | |||||
| 1909 | ''' AND ' '' + CONVE RT(VARCHAR (20), @End Date,121) + ''' '; | |||||
| 1910 | ||||||
| 1911 | IF ISNUL L(@Registr antStatus, '') > '' | |||||
| 1912 | SET @Query = @Query + ' AND st at.REGISTR ANT_STATUS = ''' + @ Registrant Status + ' '' '; | |||||
| 1913 | ||||||
| 1914 | IF ISNUL L(@SvcStat us,'') > ' ' | |||||
| 1915 | IF @Sv cStatus = 'Veteran' | |||||
| 1916 | SET @Query = @Query + ' AND sv c.SERVICE_ STATUS = ' 'Separated '' '; | |||||
| 1917 | EL SE | |||||
| 1918 | SET @Que ry = @Quer y + ' AND svc.SERVIC E_STATUS = ''' + @S vcStatus + ''' '; | |||||
| 1919 | ||||||
| 1920 | IF ISNUL L(@HealthC oncern,'') > '' | |||||
| 1921 | SET @Query = @Query + ' AND IS NULL(reg.H EALTH_CONC ERNS_RESPO NSE,''No'' ) = ''' + @HealthCo ncern + '' ' '; | |||||
| 1922 | ||||||
| 1923 | IF ISNUL L(@Request Seen,'') > '' | |||||
| 1924 | IF @Re questSeen = 'Yes' OR @RequestS een = 'No' | |||||
| 1925 | SET @Qu ery = @Que ry + 'AND reg.REQUES T_SEEN_RES PONSE = '' ' + @Reque stSeen + ' '' '; | |||||
| 1926 | ELSE | |||||
| 1927 | SET @Qu ery = @Que ry + 'AND reg.REQUES T_SEEN_RES PONSE NOT IN ( ''Yes '', ''No'' ) '; | |||||
| 1928 | ||||||
| 1929 | ||||||
| 1930 | IF ISNUL L(@Deploym entGroup,' ') > '' | |||||
| 1931 | SET @Query = @Query + 'AND EXI STS(SELECT * FROM #D eployments WHERE #De ployments. REGISTRANT _ID = reg. REGISTRANT _ID) '; | |||||
| 1932 | ||||||
| 1933 | IF @Assi gnedLocati onType = ' NLA' | |||||
| 1934 | SET @Q uery = @Qu ery + ' AN D reg.STD_ INSTITUTIO N_ID IS NU LL ' ; | |||||
| 1935 | ||||||
| 1936 | IF @Assi gnedLocati onType = ' VISN' | |||||
| 1937 | SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT * FR OM AHOBPR. VIEW_FACIL ITY_LOOKUP inst ' + | |||||
| 1938 | ' WHERE inst .ID = reg. STD_INSTIT UTION_ID ' + | |||||
| 1939 | ' AND inst .VisnID = ''' + @Ass ignedLocat ionKey + ' '') '; | |||||
| 1940 | ||||||
| 1941 | IF @Assi gnedLocati onType = ' Base' | |||||
| 1942 | SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT * FR OM AHOBPR. VIEW_FACIL ITY_LOOKUP inst ' + | |||||
| 1943 | ' WHERE in st.ID = re g.STD_INST ITUTION_ID ' + | |||||
| 1944 | ' AND in st.BASE_ID = ' + CON VERT(VARCH AR(20),@As signedInst itutionId) + ') ' | |||||
| 1945 | ||||||
| 1946 | IF @Assi gnedLocati onType = ' Institutio n' | |||||
| 1947 | SET @Q uery = @Qu ery + ' AN D reg.STD_ INSTITUTIO N_ID = ' + CONVERT(V ARCHAR(20) ,@Assigned Institutio nId); | |||||
| 1948 | ||||||
| 1949 | IF @Eval uatedLocat ionType = 'NLA' | |||||
| 1950 | SET @Q uery = @Qu ery + ' AN D NOT EXIS TS( SELECT * FROM AH OBPR.REGIS TRANT_VISI T eval ' + | |||||
| 1951 | ' WH ERE eval.R EGISTRANT_ VISIT_ID = reg.REGIS TRANT_ID ' + | |||||
| 1952 | ' AND eval.E VALUATION_ FLAG = ''Y '') ' ; | |||||
| 1953 | ||||||
| 1954 | IF @Eval uatedLocat ionType = 'VISN' | |||||
| 1955 | SET @Q uery = @Qu ery + ' AN D EXISTS(S ELECT * FR OM AHOBPR. REGISTRANT _VISIT eva l ' + | |||||
| 1956 | ' JOIN A HOBPR.VIEW _FACILITY_ LOOKUP ins t ON inst. ID = eval. STD_INSTIT UTION_ID ' + | |||||
| 1957 | ' WHERE ev al.REGISTR ANT_VISIT_ ID = reg.R EGISTRANT_ ID ' + | |||||
| 1958 | ' AND ev al.EVALUAT ION_FLAG = ''Y'' ' + | |||||
| 1959 | ' AND in st.VisnID = ''' + @E valuatedLo cationKey + ''') '; | |||||
| 1960 | ||||||
| 1961 | IF @Eval uatedLocat ionType = 'Base' | |||||
| 1962 | SET @Q uery = @Qu ery + ' A ND EXISTS( SELECT * F ROM AHOBPR .REGISTRAN T_VISIT ev al ' + | |||||
| 1963 | ' JOIN A HOBPR.VIEW _FACILITY_ LOOKUP ins t ON inst. ID = eval. STD_INSTIT UTION_ID ' + | |||||
| 1964 | ' WHERE ev al.REGISTR ANT_VISIT_ ID = reg.R EGISTRANT_ ID ' + | |||||
| 1965 | ' AND ev al.EVALUAT ION_FLAG = ''Y'' ' + | |||||
| 1966 | ' AND in st.BASE_ID = ' + CON VERT(VARCH AR(20),@Ev aluatedIns titutionId ) + ') '; | |||||
| 1967 | ||||||
| 1968 | IF @Eval uatedLocat ionType = 'Instituti on' | |||||
| 1969 | SET @Q uery = @Qu ery + ' A ND EXISTS( SELECT * F ROM AHOBPR .REGISTRAN T_VISIT ev al ' + | |||||
| 1970 | ' JOIN A HOBPR.VIEW _FACILITY_ LOOKUP ins t ON inst. ID = eval. STD_INSTIT UTION_ID ' + | |||||
| 1971 | ' WHERE ev al.REGISTR ANT_VISIT_ ID = reg.R EGISTRANT_ ID ' + | |||||
| 1972 | ' AND ev al.EVALUAT ION_FLAG = ''Y'' ' + | |||||
| 1973 | ' AND ev al.STD_INS TITUTION_I D = ' + CO NVERT(VARC HAR(20),@E valuatedIn stitutionI d) + ') ' ; | |||||
| 1974 | ||||||
| 1975 | SET @Que ry = @Quer y + ' ORDE R BY respo nseStat.QU ESTIONNAIR E_COMPLETE D_DATE '; | |||||
| 1976 | ||||||
| 1977 | PRINT @Q uery; | |||||
| 1978 | ||||||
| 1979 | EXECUTE( @Query); | |||||
| 1980 | ||||||
| 1981 | DROP TAB LE #Deploy ments; | |||||
| 1982 | END | |||||
| 1983 | ||||||
| 1984 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] '20 150901' | |||||
| 1985 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] '20 140101', ' 20150101', NULL, NUL L, | |||||
| 1986 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] @Re questSeen = 'sdf' | |||||
| 1987 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, ' Participan t' | |||||
| 1988 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, 'Sepa rated' | |||||
| 1989 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, 'Yes' | |||||
| 1990 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, 'No' | |||||
| 1991 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, 'Unknown' | |||||
| 1992 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, NULL, 'Ye s' | |||||
| 1993 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, NULL, 'No ' | |||||
| 1994 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, NULL, NUL L, 'Afgh91 1' | |||||
| 1995 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, NULL, NUL L, 'Iraq91 1' | |||||
| 1996 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, NULL, NUL L, 'Southw estAsiaAft er911' | |||||
| 1997 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, NULL, NUL L, 'Djibou tiAfter911 ' | |||||
| 1998 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] NUL L, NULL, N ULL, NULL, NULL, NUL L, 'Pre911 ' | |||||
| 1999 | ||||||
| 2000 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] | |||||
| 2001 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] @As signedLoca tionType = 'NLA' | |||||
| 2002 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] @As signedLoca tionType = 'VISN', @ AssignedLo cationKey = 'V16' | |||||
| 2003 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] @As signedLoca tionType = 'Base', @ AssignedLo cationKey = '1000089 ' | |||||
| 2004 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] @As signedLoca tionType = 'Institut ion', @Ass ignedLocat ionKey = ' 1000089' | |||||
| 2005 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] | |||||
| 2006 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] @Ev aluatedLoc ationType = 'NLA' | |||||
| 2007 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] @Ev aluatedLoc ationType = 'VISN', @Evaluated LocationKe y = 'V16' | |||||
| 2008 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] @Ev aluatedLoc ationType = 'Base', @Evaluated LocationKe y = '10000 89' | |||||
| 2009 | -- exec [A HOBPR].[SP _ReportPar ticipantDe tails] @Ev aluatedLoc ationType = 'Institu tion', @Ev aluatedLoc ationKey = '1000089' | |||||
| 2010 | ||||||
| 2011 | ||||||
| 2012 | GO | |||||
| 2013 | ||||||
| 2014 | INSERT INT O [dbo].[D atabaseCha ngeLog] | |||||
| 2015 | ([MajorRe leaseNumbe r] | |||||
| 2016 | ,[MinorRe leaseNumbe r] | |||||
| 2017 | ,[PointRe leaseNumbe r] | |||||
| 2018 | ,[Hotfix] | |||||
| 2019 | ,[ScriptN ame] | |||||
| 2020 | ,[ScriptD escription ] | |||||
| 2021 | ,[TargetR egistry] | |||||
| 2022 | ,[DateApp lied]) | |||||
| 2023 | VALUE S | |||||
| 2024 | ('$(Major ReleaseNum ber)' | |||||
| 2025 | ,'$(Minor ReleaseNum ber)' | |||||
| 2026 | ,'$(Point ReleaseNum ber)' | |||||
| 2027 | ,0 | |||||
| 2028 | ,'Registr y.AHOBPR.D atabase.Ro llback.sql ' | |||||
| 2029 | ,'Regis try.AHOBPR .Database. Rollback.s ql Script' | |||||
| 2030 | ,'AHOBPR' | |||||
| 2031 | ,GETDATE( )) | |||||
| 2032 | ||||||
| 2033 | ||||||
| 2034 | PRINT ''; | |||||
| 2035 | PRINT 'Reg istry.AHOB PR.Databas e.Rollback .sql Scrip t Complete .'; | |||||
| 2036 | PRINT ''; | |||||
| 2037 | PRINT 'Com pleted ' + CAST(GETD ATE() AS v archar(20) ) + '.'; | |||||
| 2038 | ||||||
| 2039 | ---------- ---------- ---------- --- | |||||
| 2040 | -- END OF GENERATED DEPLOYMENT -- | |||||
| 2041 | ---------- ---------- ---------- --- |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.