Produced by Araxis Merge on 3/9/2018 10:32:18 AM Central Standard 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 | CIF_MHV_2018.2.0.0.zip\CIF_MHV_2018.2.0.0_Sprint2_SM_legacy.zip\mhv_sms_ng\mhv-sm-web\src\main\webapp | index2.jsp | Wed Feb 14 06:23:26 2018 UTC |
| 2 | CIF_MHV_2018.2.0.0.zip\CIF_MHV_2018.2.0.0_Sprint2_SM_legacy.zip\mhv_sms_ng\mhv-sm-web\src\main\webapp | index2.jsp | Thu Mar 8 20:47:33 2018 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 4 | 722 |
| Changed | 3 | 8 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | <%@page im port="java .util.Set" %> | |
| 2 | <%@page im port="java .util.Hash Set"%> | |
| 3 | <%@page im port="org. springfram ework.web. context.We bApplicati onContext" %> | |
| 4 | <%@page im port="org. springfram ework.web. context.su pport.WebA pplication ContextUti ls"%> | |
| 5 | <%@page im port="org. apache.str uts2.Servl etActionCo ntext"%> | |
| 6 | <%@page im port="gov. va.med.mhv .sm.util.M hvIntegrat ionUtils"% > | |
| 7 | ||
| 8 | <%@page im port="java .util.Hash Set"%> | |
| 9 | <%@page im port="gov. va.med.mhv .foundatio n.crypto.M HVCipher"% > | |
| 10 | ||
| 11 | <html lang ="en"> | |
| 12 | <head> | |
| 13 | <style typ e="text/cs s"> | |
| 14 | ul .footnotes li {list- style-type : none; fo nt-size: 0 .7em; } | |
| 15 | </style> | |
| 16 | </head> | |
| 17 | <body> | |
| 18 | ||
| 19 | ||
| 20 | ||
| 21 | <% | |
| 22 | if (getUtils ().getSett ings().isP roductionM ode()) { | |
| 23 | ||
| 24 | %> | |
| 25 | This page cann ot be used in produc tion mode. | |
| 26 | <% | |
| 27 | } else { | |
| 28 | St ring serve rPrefix = null; | |
| 29 | St ring appli cationPath = null; | |
| 30 | %> | |
| 31 | <table sty le="font-f amily: hel vetica,ari al;text-al ign:left;b order: thi n solid bl ack;border -collapse: collapse;v ertical-al ign: top;" > | |
| 32 | <tr> | |
| 33 | <td colspa n="9" styl e="text-al ign:center ;border: t hin solid black;" >< h1>Secure Messaging Test</h1>< /td> | |
| 34 | </tr> | |
| 35 | <tr> | |
| 36 | <td colspa n="9" styl e="text-al ign:center ;border: t hin solid black;" >S M Backdoor s</td> | |
| 37 | </tr> | |
| 38 | <tr style= "text-alig n:center;" > | |
| 39 | </tr> | |
| 40 | <tr style= "text-alig n:center"> | |
| 41 | <td style= "border: t hin solid black;"><b >Patient</ b></td> | |
| 42 | <td style= "border: t hin solid black;"><b >Clinician </b></td> | |
| 43 | <td style= "border: t hin solid black;"><b >Admin</b> </td> | |
| 44 | </tr> | |
| 45 | <tr> | |
| 46 | <% | |
| 47 | se rverPrefix = createS erverPrefi x(request, true); | |
| 48 | ap plicationP ath = crea teWebPrefi x(serverPr efix); | |
| 49 | %> | |
| 50 | <td style= "border: t hin solid black;vert ical-align : top;"> | |
| 51 | <%= create AuthTestPa tientLink( applicatio nPath, 7L, "Testse ven Mhvjbt estseven") %> | |
| 52 | </br> | |
| 53 | <%= create AuthTestPa tientLink( applicatio nPath, 8L, "Testei ght Mhvjbt esteight") %> | |
| 54 | </br> | |
| 55 | <%= create AuthTestPa tientLink( applicatio nPath, 9L, "Testni ne Mhvjbte stnine") % > | |
| 56 | </br> | |
| 57 | <%= create AuthTestPa tientLink( applicatio nPath, 4L, "Teste mhvjteste" ) %> | |
| 58 | </br> | |
| 59 | <%= create AuthTestPa tientLink( applicatio nPath, 5L, "Testf mhvjtestf" ) %> | |
| 60 | </br> | |
| 61 | <%= create AuthTestPa tientLink( applicatio nPath, 1L, "Chemte stone Mhvc hemlabtest one") %> | |
| 62 | </br> | |
| 63 | <%= create AuthTestPa tientLink( applicatio nPath, 2L, "TestTw o Mhvcheml abtesttwo" ) %> | |
| 64 | </br> | |
| 65 | <%= create AuthTestPa tientLink( applicatio nPath, 3L, "Testo Mhvchemlab testthree" ) %> | |
| 66 | </br> | |
| 67 | <%= create AuthTestPa tientLink( applicatio nPath, 6L, "Testf Mhvjcal") %> | |
| 68 | </br> | |
| 69 | <%= create AuthTestPa tientLink( applicatio nPath, 10L , "MHVTP SIMONSON" ) %> | |
| 70 | </br> | |
| 71 | <%= create AuthTestPa tientLink( applicatio nPath, 11L , "MHVDA YB PATIENT ") %> | |
| 72 | </br> | |
| 73 | </td><!-- Patient --> | |
| 74 | ||
| 75 | <td style= "border: t hin solid black;vert ical-align : top;"> | |
| 76 | <% | |
| 77 | if ((request. getRequest URL().toSt ring()).co ntains("sm -syst")||( request.ge tRequestUR L().toStri ng()).cont ains("loca lhost")){ | |
| 78 | ||
| 79 | %> | |
| 80 | <%out.prin tln("----- ----<b>DAY T29</b>--- ---------- ----</br>" );%> | |
| 81 | </br> | |
| 82 | <%= create AuthTestCl inicianLin k(applicat ionPath, 2 4280L, "W alter Zfat zinger") % > | |
| 83 | </br> | |
| 84 | <%= create AuthTestCl inicianLin k(applicat ionPath, 3 3950L, "K enneth Gra ham") %> | |
| 85 | </br> | |
| 86 | <%= create AuthTestCl inicianLin k(applicat ionPath, 3 5382L, "R ajesh Mani vasagam") %> | |
| 87 | </br> | |
| 88 | <%= create AuthTestCl inicianLin k(applicat ionPath, 3 5383L, "T wo MhvSyst esttwo") % > | |
| 89 | </br> | |
| 90 | <%= create AuthTestCl inicianLin k(applicat ionPath, 1 8186L, "J ohnnie Boy ette") %> | |
| 91 | </br> | |
| 92 | <%out.prin tln("----- ----<b>SLC 10</b>---- ---------- ----</br>" );%> | |
| 93 | </br> | |
| 94 | <%= create AuthTestCl inicianLin k(applicat ionPath, 2 0084L, "J ohnnie Boy ette") %> | |
| 95 | </br> | |
| 96 | <%= create AuthTestCl inicianLin k(applicat ionPath, 3 3950L, "W alter Zfat zinger") % > | |
| 97 | </br> | |
| 98 | <%= create AuthTestCl inicianLin k(applicat ionPath, 4 3353L, "S yamala Pak alapati") %> | |
| 99 | </br> | |
| 100 | <%}%> | |
| 101 | <% | |
| 102 | if ((request. getRequest URL().toSt ring()).co ntains("sm -intb")||( request.ge tRequestUR L().toStri ng()).cont ains("loca lhost")){ | |
| 103 | ||
| 104 | %> | |
| 105 | <%out.prin tln("----- ----<b>DAY T3</b>---- ---------- ----</br>" );%> | |
| 106 | </br> | |
| 107 | <%= create AuthTestCl inicianLin k(applicat ionPath, 7 609L, "Jo hnnie Boye tte") %> | |
| 108 | </br> | |
| 109 | <%= create AuthTestCl inicianLin k(applicat ionPath, 8 693L, "Wa lter Zfatz inger") %> | |
| 110 | </br> | |
| 111 | <%= create AuthTestCl inicianLin k(applicat ionPath, 1 47L, "Sya mala Pakal apati") %> | |
| 112 | </br> | |
| 113 | <%out.prin tln("----- ----<b>SLC 4</b>----- ---------- ---</br>") ;%> | |
| 114 | </br> | |
| 115 | <%= create AuthTestCl inicianLin k(applicat ionPath, 7 622, "Joh nnie Boyet te") %> | |
| 116 | </br> | |
| 117 | <%= create AuthTestCl inicianLin k(applicat ionPath, 1 0722L, "W alter Zfat zinger") % > | |
| 118 | </br> | |
| 119 | <%= create AuthTestCl inicianLin k(applicat ionPath, 1 0961L, "S yamala Pak alapati") %> | |
| 120 | <%}%> | |
| 121 | </td><!-- Clinician --> | |
| 122 | ||
| 123 | <% | |
| 124 | ap plicationP ath = crea teAdminPre fix(server Prefix); | |
| 125 | %> | |
| 126 | <td style= "border: t hin solid black;vert ical-align : top;"><! -- Admin --> | |
| 127 | <% if((req uest.getRe questURL() .toString( )).contain s("sm-intb ")||(reque st.getRequ estURL().t oString()) .contains( "localhost ")){%> | |
| 128 | <%= create AuthTestAd minLink(ap plicationP ath, 1L, " Facility A dmin") %> | |
| 129 | <%}else{%> | |
| 130 | <%= create AuthTestAd minLink(ap plicationP ath, 5L, " Facility A dmin") %> | |
| 131 | <%} %> | |
| 132 | </br> | |
| 133 | <%= create AuthTestAd minLink(ap plicationP ath, 2L, " Visn Admin ") %> | |
| 134 | </br> | |
| 135 | <%= create AuthTestAd minLink(ap plicationP ath, 3L, " National") %> | |
| 136 | </br> | |
| 137 | </td><!-- Admin --> | |
| 138 | <% | |
| 139 | se rverPrefix = "https: / DNS . URL "; | |
| 140 | ap plicationP ath = crea teWebPrefi x(serverPr efix); | |
| 141 | %> | |
| 142 | <!-- Patie nt --> | |
| 143 | ||
| 144 | <!-- Clini cian --> | |
| 145 | <% | |
| 146 | ap plicationP ath = crea teAdminPre fix(server Prefix); | |
| 147 | %> | |
| 148 | <!-- Admin --> | |
| 149 | <% | |
| 150 | se rverPrefix = "https: // DNS . URL "; | |
| 151 | ap plicationP ath = crea teWebPrefi x(serverPr efix); | |
| 152 | %> | |
| 153 | <!-- Patie nt --> | |
| 154 | ||
| 155 | <!-- Clini cian --> | |
| 156 | <% | |
| 157 | ap plicationP ath = crea teAdminPre fix(server Prefix); | |
| 158 | %> | |
| 159 | <!-- Admin --> | |
| 160 | </tr> | |
| 161 | ||
| 162 | </table> | |
| 163 | ||
| 164 | <ul class= "footnotes "> | |
| 165 | <li> | |
| 166 | <a id="foo tNote1">1< /a>: To al low you to login as a clinicia n, add an entry | |
| 167 | with the ( test) clin ician's us ername to your conta iner's (we bLogic's) security | |
| 168 | realm and login with that user name/passw ord when c hallenged to login. | |
| 169 | </li> | |
| 170 | </ul> | |
| 171 | <% | |
| 172 | } | |
| 173 | %> | |
| 174 | ||
| 175 | </body> | |
| 176 | </html> | |
| 177 | ||
| 178 | ||
| 179 | <%! | |
| 180 | ||
| 181 | ||
| 182 | pr ivate Stri ng createA uthTestPat ientLink(S tring appl icationPat h, | |
| 183 | long userId, S tring name ) | |
| 184 | { | |
| 185 | retu rn createA uthTestLin k(applicat ionPath, " authTestPa tient.acti on", | |
| 186 | userId , name); | |
| 187 | } | |
| 188 | ||
| 189 | pr ivate Stri ng createA uthTestCli nicianLink (String ap plicationP ath, | |
| 190 | long userId, S tring name ) | |
| 191 | { | |
| 192 | retu rn createA uthTestLin k(applicat ionPath, " authTestCl inician.ac tion", | |
| 193 | userId , name); | |
| 194 | } | |
| 195 | ||
| 196 | pr ivate Stri ng createA uthTestAdm inLink(Str ing applic ationPath, | |
| 197 | long userId, S tring name ) | |
| 198 | { | |
| 199 | retu rn createA uthTestLin k(applicat ionPath, " adminTest. action", u serId, | |
| 200 | name); | |
| 201 | } | |
| 202 | ||
| 203 | pr ivate Stri ng createA uthTestLin k(String a pplication Path, | |
| 204 | Stri ng action, Long user Id, String name) | |
| 205 | { | |
| 206 | Stri ngBuilder builder = new String Builder(); | |
| 207 | buil der.append ("<a href= \""); | |
| 208 | buil der.append (applicati onPath).ap pend(actio n); | |
| 209 | if ( userId != null) { | |
| 210 | builde r.append(" ?userid=") .append(us erId); | |
| 211 | } | |
| 212 | buil der.append ("\">").ap pend(name) ; | |
| 213 | buil der.append ("</a><br/ >"); | |
| 214 | retu rn builder .toString( ); | |
| 215 | } | |
| 216 | ||
| 217 | pr ivate Stri ng createL oginIntegr ationLink( String app licationPa th, | |
| 218 | Stri ng userId, String fi rstName, S tring last Name, Stri ng ssn, | |
| 219 | Stri ng dob, St ring icn, String ema il, String [] station s) | |
| 220 | { | |
| 221 | MhvI ntegration Utils inte grationUti ls = getUt ils(); | |
| 222 | MHVC ipher ciph er = integ rationUtil s.createCi pher(); | |
| 223 | ||
| 224 | Long timestamp = System. currentTim eMillis() + 1000; | |
| 225 | Stri ng formNam e = userId + "_form" ; | |
| 226 | Stri ngBuilder builder = new String Builder(); | |
| 227 | buil der.append ("<form ac tion=\""). append(app licationPa th).append ( | |
| 228 | "login Integratio n.action") ; | |
| 229 | buil der.append ("\" id=\" ").append( formName). append("\" "); | |
| 230 | buil der.append (" target= \"_SecureM essaging\" method=\" post\">\n" ); | |
| 231 | appe ndInput(bu ilder, "us erId", use rId); | |
| 232 | appe ndInput(bu ilder, "fi rstName", firstName) ; | |
| 233 | appe ndInput(bu ilder, "la stName", l astName); | |
| 234 | appe ndInput(bu ilder, "ss n", (ciphe r != null) ? cipher. encrypt(ss n) | |
| 235 | : ssn) ; | |
| 236 | appe ndInput(bu ilder, "do b", dob); | |
| 237 | appe ndInput(bu ilder, "ic n", (ciphe r != null) ? cipher. encrypt(ic n) | |
| 238 | : icn) ; | |
| 239 | appe ndInput(bu ilder, "do b", dob); | |
| 240 | appe ndInput(bu ilder, "em ail", emai l); | |
| 241 | appe ndInput(bu ilder, "so urce", int egrationUt ils.getSet tings(). | |
| 242 | getPat ientSource ()); | |
| 243 | appe ndInput(bu ilder, "au thenticate dStatus", "1"); | |
| 244 | appe ndInput(bu ilder, "ti mestamp", timestamp. toString() ); | |
| 245 | appe ndInput(bu ilder, "ch ecksum", i ntegration Utils.calc ulateCheck sum( | |
| 246 | timest amp, lastN ame, stati ons, null, null)); | |
| 247 | appe ndInput(bu ilder, "st ation", st ations); | |
| 248 | buil der.append ("<a href= \"javascri pt:documen t.forms['" ). | |
| 249 | append (formName) .append("' ].submit() ;\"/>"); | |
| 250 | buil der .appen d(firstNam e).append( " ").appen d(lastName ); | |
| 251 | buil der.append ("(Login) </a>"); | |
| 252 | buil der.append ("</form>" ); | |
| 253 | ||
| 254 | retu rn builder .toString( ); | |
| 255 | } | |
| 256 | ||
| 257 | pr ivate Stri ng createC linicianLo ginLink(St ring appli cationPath , | |
| 258 | Stri ng station , String d uz, String name) | |
| 259 | { | |
| 260 | Stri ngBuilder builder = new String Builder(); | |
| 261 | buil der.append ("<a href= \"").appen d(applicat ionPath).a ppend( | |
| 262 | "login ClinicianI ntegration .action"); | |
| 263 | buil der.append ("?station =").append (station); | |
| 264 | buil der.append ("&DUZ="). append(duz ); | |
| 265 | buil der.append ("\">"); | |
| 266 | buil der.append (name).app end (" (Lo gin)"); | |
| 267 | buil der.append ("<a href= \"#footNot e1\"><sup> 1</sup></a >"); | |
| 268 | buil der.append ("</a><br/ >"); | |
| 269 | retu rn builder .toString( ); | |
| 270 | } | |
| 271 | ||
| 272 | pr ivate Stri ng createL oginAdminI ntegration Link(Strin g applicat ionPath, | |
| 273 | Stri ng pseudon ym, String userId, S tring firs tName, Str ing lastNa me, | |
| 274 | Stri ng[] stati ons, Strin g[] visns, Boolean i sNational) | |
| 275 | { | |
| 276 | MhvI ntegration Utils inte grationUti ls = getUt ils(); | |
| 277 | ||
| 278 | Long timestamp = System. currentTim eMillis() + 1000; | |
| 279 | Stri ng formNam e = userId + "_form"; | |
| 280 | Stri ngBuilder builder = new String Builder(); | |
| 281 | buil der.append ("<form ac tion=\""). append(app licationPa th); | |
| 282 | buil der.append ("loginAdm inIntegrat ion.action "); | |
| 283 | buil der.append ("\" id=\" ").append( formName). append("\" "); | |
| 284 | buil der.append (" target= \"_SecureM essaging\" method=\" post\">\n" ); | |
| 285 | appe ndInput(bu ilder, "us erId", use rId); | |
| 286 | appe ndInput(bu ilder, "fi rstName", firstName) ; | |
| 287 | appe ndInput(bu ilder, "la stName", l astName); | |
| 288 | if ( isNational == null) { | |
| 289 | isNati onal = fal se; | |
| 290 | } | |
| 291 | appe ndInput(bu ilder, "na tional", B oolean.toS tring(isNa tional)); | |
| 292 | appe ndInput(bu ilder, "so urce", int egrationUt ils.getSet tings(). | |
| 293 | getAdm inistrator Source()); | |
| 294 | appe ndInput(bu ilder, "ti mestamp", timestamp. toString() ); | |
| 295 | appe ndInput(bu ilder, "ch ecksum", i ntegration Utils.calc ulateCheck sum( | |
| 296 | timest amp, lastN ame, stati ons, visns , isNation al)); | |
| 297 | appe ndInput(bu ilder, "st ation", st ations); | |
| 298 | appe ndInput(bu ilder, "vi sn", visns ); | |
| 299 | buil der.append ("<a href= \"javascri pt:documen t.forms['" ).append(f ormName). | |
| 300 | append ("'].submi t();\"/>") ; | |
| 301 | buil der.append ("").appen d(pseudony m); | |
| 302 | buil der.append (" (Login) </a>"); | |
| 303 | buil der.append ("</form>< br/>"); | |
| 304 | retu rn builder .toString( ); | |
| 305 | } | |
| 306 | ||
| 307 | pr ivate void appendInp ut(StringB uilder bui lder, Stri ng name, S tring valu e) { | |
| 308 | buil der.append ("<input t ype=\"hidd en\" name= \""); | |
| 309 | buil der.append (name).app end("\" va lue=\"").a ppend(valu e).append( "\"/>\n"); | |
| 310 | } | |
| 311 | ||
| 312 | pr ivate void appendInp ut(StringB uilder bui lder, Stri ng name, | |
| 313 | Stri ng[] value s) | |
| 314 | { | |
| 315 | if ( values != null) { | |
| 316 | for (S tring valu e: values) { | |
| 317 | appendIn put(builde r, name, v alue); | |
| 318 | } | |
| 319 | } | |
| 320 | ||
| 321 | } | |
| 322 | ||
| 323 | pr ivate Stri ng createS erverPrefi x(HttpServ letRequest request, | |
| 324 | bool ean isSecu re) | |
| 325 | { | |
| 326 | Stri ng beginUr l="https"; | |
| 327 | Stri ng serverP ort=""; | |
| 328 | ||
| 329 | if(( request.ge tRequestUR L().toStri ng()).cont ains("loca lhost")) serverPort =""; | |
| 330 | if((reques t.getReque stURL().to String()). contains(" DNS ")) serverPor t="7010"; | |
| 331 | if((reques t.getReque stURL().to String()). contains(" v DNS ")) serverPort ="7010"; | |
| 332 | if(( request.ge tRequestUR L().toStri ng()).cont ains("sm-s yst")||(re quest.getR equestURL( ).toString ()).contai ns("sm-int b")){ | |
| 333 | beginU rl="https" ; | |
| 334 | } | |
| 335 | ||
| 336 | ||
| 337 | if ( request == null) { | |
| 338 | return ""; | |
| 339 | } | |
| 340 | ||
| 341 | ||
| 342 | retu rn beginU rl + "://" + request .getServer Name()+":" +serverPor t; | |
| 343 | } | |
| 344 | ||
| 345 | pr ivate Stri ng createW ebPrefix(S tring serv erPrefix) { | |
| 346 | retu rn createA pplication Prefix(ser verPrefix, "mhv-sm-w eb"); | |
| 347 | } | |
| 348 | pr ivate Stri ng createA dminPrefix (String se rverPrefix ) { | |
| 349 | retu rn createA pplication Prefix(ser verPrefix, "mhv-sm-a dmin"); | |
| 350 | } | |
| 351 | pr ivate Stri ng createA pplication Prefix(Str ing server Prefix, | |
| 352 | Stri ng applica tionName) | |
| 353 | { | |
| 354 | retu rn serverP refix + "/ " + applic ationName + "/"; | |
| 355 | } | |
| 356 | ||
| 357 | pr ivate MhvI ntegration Utils getU tils() { | |
| 358 | WebA pplication Context co ntext = We bApplicati onContextU tils. | |
| 359 | getWeb Applicatio nContext(g etServletC onfig().ge tServletCo ntext()); | |
| 360 | retu rn (MhvInt egrationUt ils) conte xt.getBean ("mhvInteg rationUtil s"); | |
| 361 | } | |
| 362 | ||
| 363 | %> | |
| 364 | ||
| 365 |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.