68. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 9/11/2017 8:05:40 AM Central 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.

68.1 Files compared

# Location File Last Modified
1 MHV_CIF_2017.4.0.0.zip\MHV_CIF_2017.4.0.0\MHV_CIF_2017.4.0.0\sms_main\sms_source\mhv_sms_ng\mhv-sm-web\src\main\webapp index2.jsp Sat May 13 00:13:44 2017 UTC
2 MHV_CIF_2017.4.0.0.zip\MHV_CIF_2017.4.0.0\MHV_CIF_2017.4.0.0\sms_main\sms_source\mhv_sms_ng\mhv-sm-web\src\main\webapp index2.jsp Thu Sep 7 20:48:41 2017 UTC

68.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 3 726
Changed 2 4
Inserted 0 0
Removed 0 0

68.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

68.4 Active regular expressions

No regular expressions were active.

68.5 Comparison detail

  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: // SERVER .aac. DNS     ";
  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: //tstsmcli nician.myh ealth. DNS     ";
  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(( request.ge tRequestUR L().toStri ng()).cont ains("vamh vappdev10" ))      se rverPort=" 7010";
  331                    if(( request.ge tRequestUR L().toStri ng()).cont ains("vamh vappdev17" ))      se rverPort=" 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