67. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 9/24/2019 1:37:54 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.

67.1 Files compared

# Location File Last Modified
1 PCL-5_v1_build_8.zip\v1_build 8\Unredacted\spp_mha_web-development.zip\spp_mha_web-development\Docs\architecture OT5_System_Architecture_September_2018.docx Mon Sep 23 22:12:17 2019 UTC
2 PCL-5_v1_build_8.zip\v1_build 8\Unredacted\spp_mha_web-development.zip\spp_mha_web-development\Docs\architecture OT5_System_Architecture_September_2018.docx Mon Sep 23 22:14:33 2019 UTC

67.2 Comparison summary

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

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

67.4 Active regular expressions

No regular expressions were active.

67.5 Comparison detail

  1   Container  Diagram
  2  
  3  
  4  
  5  
  6  
  7  
  8  
  9  
  10   MHA Web/OT 5
  11   [Container : Java and  Spring]
  12  
  13   Allows cli nicians an d veterans  to to com plete and  submit ins truments a nd their r eports.
  14  
  15  
  16  
  17  
  18  
  19  
  20  
  21  
  22  
  23   MHA Web/ O T5
  24   [Software  System]
  25  
  26  
  27  
  28   Reads from  and write  to
  29   [VistaLink ]
  30  
  31  
  32   Clinician/ Veteran
  33   (Person) V A Employee
  34  
  35  
  36  
  37  
  38  
  39  
  40  
  41  
  42  
  43  
  44  
  45  
  46  
  47  
  48   Database
  49   [Container : Vista/MU MPS databa se]
  50   Stores inf ormation r egarding i nstruments , patients  and repor ts.
  51  
  52   /
  53  
  54  
  55  
  56  
  57  
  58   Clinician
  59   (Person)
  60   VA Employe e
  61   Uses
  62   Patient
  63   (Person)
  64   Veteran
  65   Uses
  66  
  67  
  68   MHA Web (O T5)
  69   [Software  System] Al lows VA em ployees to  administe r and comp lete menta l health i nstruments  about pat ients. Als o allows C linicians  to write r eports on  instrument s they com plete.
  70  
  71   MHA Web (O T5)
  72   [Software  System]
  73  
  74   Allows vet erans to c omplete on e or more  instrument s administ ered to th em by a Cl inician.
  75  
  76   Dynamic Di agram
  77   (Instrumen t Administ rator home  page)
  78  
  79  
  80  
  81   Clinician/ Veteran
  82   (Person)
  83   VA Employe e
  84   1. Request s list of
  85   instrument s from
  86   /api/mha/a dministrat or/home 
  87  
  88  
  89   IntrumentA dministrat orControll er
  90   [Component : Spring M VC Control ler]
  91  
  92  
  93  
  94   strumentLi stJson
  95  
  96   [HTTPS]
  97  
  98   getIn
  99  
  100  
  101  
  102  
  103  
  104  
  105  
  106  
  107  
  108  
  109  
  110  
  111  
  112  
  113  
  114  
  115  
  116  
  117   RPCService
  118   [Component : Spring S ervice]
  119   Used as a  facade so  all contro llers have  single en try point  to persist  data to V ista
  120  
  121  
  122  
  123   Enum.LIST_ ALL)
  124  
  125   runRpcWith Vars(Url
  126  
  127  
  128  
  129  
  130  
  131  
  132  
  133  
  134   Database
  135   [Container : Vista/MU MPS databa se]
  136   Stores inf ormation r egarding i nstruments , patients  and repor ts.
  137  
  138   VistaConne ctionServi ce
  139   [Component : Spring S ervice]
  140   A way of r unning RPC s against  a certain  VA divisio n/station.  This clas s has a ma p of Vista Connection s. Each Vi staConnect ion is a l ive connec tion to a  Vista divi sion/stati on. We use  this clas s to decid e which Vi staConnect ion to run  RPCs agai nst.
  141  
  142  
  143  
  144  
  145  
  146   4. RPC=YTQ REST ADMIN  GET
  147   /api/mha/i nstruments /active HT TP/1.1
  148   [VistaLink ]
  149  
  150  
  151  
  152  
  153  
  154  
  155  
  156  
  157  
  158   Web Applic ation
  159   [Container ]
  160  
  161  
  162  
  163   MHA Web/OT 5 System L andscape
  164  
  165  
  166  
  167  
  168   VA Network
  169   [Network]
  170   Computer
  171   Browser
  172  
  173  
  174  
  175  
  176  
  177   Clinician
  178  
  179   PIV Creden tials(Pers on) VA Emp loyee
  180  
  181  
  182  
  183  
  184  
  185  
  186  
  187  
  188  
  189   iPad
  190   MHA Web/OT 5
  191   [Apache To mcat Serve r]
  192  
  193   MHA Mobile /OT3
  194  
  195  
  196  
  197   Report
  198   [View]
  199  
  200  
  201  
  202  
  203   Browser
  204  
  205  
  206  
  207  
  208  
  209  
  210  
  211   Veteran
  212   (Person) P atient
  213  
  214  
  215  
  216   Instrument  Completio n
  217   [View]
  218  
  219   Allows use rs to comp lete and s ubmit one  or more in struments
  220  
  221  
  222  
  223  
  224  
  225  
  226   Find Assig nment
  227   [View]
  228   Allows a u ser to sea rch (by la st 4 of SS N and last  name) for  an instru ment admin istration  assigned t o them
  229  
  230  
  231  
  232  
  233  
  234  
  235  
  236  
  237  
  238   Addiction  Severity I ndex
  239   [View]
  240   TBD (not i mplemented )
  241   Allows use rs to writ e reports  about pati ents' inst rument adm inistratio n
  242  
  243  
  244  
  245  
  246   Instrument  Administr ator/Menu
  247   [View]
  248  
  249   Allows use rs to admi nister ins trument(s)  to patien ts
  250  
  251  
  252  
  253  
  254  
  255  
  256  
  257  
  258  
  259  
  260  
  261  
  262  
  263  
  264  
  265  
  266  
  267  
  268   Database
  269   [Container : Vista/MU MPS databa se]
  270   Stores inf ormation r egarding i nstruments , patients  and repor ts.
  271  
  272  
  273  
  274   MHA Web/OT 5 Authenti cation Seq uence Diag ram
  275  
  276  
  277  
  278  
  279  
  280  
  281  
  282   User
  283  
  284  
  285  
  286  
  287  
  288   HTTPS
  289   [HTTP Requ est]
  290  
  291   Browser
  292   [Internet  Explorer]
  293  
  294   HTTPS/SSL
  295   Certificate  Store
  296  
  297  
  298   Get requir ed cert si gnature
  299   MHA Web Se rver [Tomc at Server]
  300  
  301   Server's J KS [JavaKe yStore]
  302  
  303   ActivClien t
  304   [Windows A pplication ]
  305  
  306  
  307   Smartcard
  308  
  309  
  310   Give cert  signature  to browser  certificat e store
  311  
  312  
  313   alt
  314  
  315   [token exp ired or ne w session]
  316  
  317   Show user  valid cert ificates fr om their b rowser's c ertificate  store
  318  
  319  
  320   User selec ts PIV cer t from cer tificate st ore list o f certifica tes
  321  
  322  
  323  
  324   Browser ce rtificate s tore
  325   asks Activ Client to  validate s mart card( PIV)
  326  
  327  
  328   ActivClien t asks use r for cert ificate PIN
  329  
  330  
  331  
  332   ActivClien t verifies  smartcard  is
  333   connected  and PIN is  valid
  334   TimeUser e nters PIN  from Activ Client Dia log
  335  
  336  
  337  
  338   Smartcard  passes its  token (us er info) t o ActivCli ent
  339   ActivClien t tells th e certifica te store
  340   the user c ould prove  their ide ntify & pa sses the t oken w/ us er info
  341  
  342   Certificate  store tel ls browser  to use th is token w / user inf o for each  HTTP requ est on thi s domain
  343  
  344   HTTP Reque st reaches  server an d fetches  data
  345  
  346  
  347   Server ret urns data  as request ed by the  browser
  348  
  349  
  350  
  351  
  352  
  353  
  354   Heading
  355   Session =  when refer ring to se ssion, we  are referr ing to the  browser's  current s ession. No t the sess ion on the  server-si de.
  356  
  357   token/user  token = u ser inform ation comi ng from th e smart ca rd itself.
  358  
  359   JKS = This  is shorth and for ja va keystor e. This is  a keystor e file cont aining the  footprint  a smart c ard issued  by the VA  must sati sfy in ord er to be a pproved ac cess to th e server.  This is a  file on the  server th at only al lows the b rowser to  offer cert ificates me eting cert ain requir ements (in  our case  a PIV card ). If the  user provi des any ot her smart  card other  than a PI V, the ser ver reject s the smar t card and  we get a  403 forbid den error  from the s erver thus  denying a ccess to t he applica tion.
  360  
  361   Certificate  Store = t he browser 's storage  for certi ficates. Sm art cards  such as PI Vs have ce rtificates  in them co ntaining u ser inform ation.
  362  
  363   alt = this  acts as a n "if" sta tement in  sequence d iagrams. I n our case , "if the  user token  (from PIV ) has expi red or thi s is a new  session"  we will ex ecute the  steps insi de this al t block. S ession in  this conte xt, is ref erring to  the browse r's sessio n. A brows er session  is starte d when a u ser opens  the browse r or opens  a new tab . Token in  this cont ext, is re ferring to  the user' s certifica te from th e smart ca rd. Each h as a max i dle time w here the u ser must r e-authenti cate (exec ute the st eps in the  alt block ) by enter ing their  PIV pin ev ery so oft en.
  364  
  365  
  366  
  367  
  368   Clinician
  369   VA Network
  370   Secured Co nnection v ia PIV
  371   MHA
  372   1.
  373   URL
  374   2. browser  sends req uest to cl oud
  375   server
  376   MHA Web/OT 5
  377   [server]
  378   Smartcard
  379   3. Server  returns in formation  to
  380   browserCli nician
  381  
  382  
  383  
  384  
  385  
  386  
  387  
  388  
  389  
  390  
  391  
  392  
  393  
  394  
  395  
  396  
  397  
  398  
  399  
  400  
  401  
  402  
  403  
  404  
  405  
  406  
  407  
  408  
  409  
  410   Patient
  411   VA Network
  412   Secured Co nnection v ia Applica tion Proxy
  413   1.
  414   URL
  415   MHA
  416   2. browser  sends req uest to cl oud
  417   server
  418   3. Server  returns in formation  to
  419   browser
  420   MHA Web/OT 5
  421   [server]Pa tient
  422  
  423  
  424  
  425  
  426  
  427  
  428  
  429  
  430  
  431  
  432  
  433  
  434  
  435  
  436  
  437  
  438  
  439  
  440  
  441  
  442  
  443  
  444  
  445  
  446  
  447   Overview
  448   Clinician  connection  = The cli nician aut henticates  to MHA wi th a PIV c ard to pro ve their i dentity.
  449   Use Case D iagram
  450  
  451  
  452   Patient co nnection =  The patie nt authent icates to  MHA with a n applicat ion proxy  where no c redentials  are requi red to acc ess the MH A site. Th e user mus t must pro vide eithe r last SSN  4 + last  name or as signment i d to acces s their in strument a dministrat ion.
  453  
  454   Java Compo nent Diagr am
  455  
  456  
  457  
  458  
  459  
  460  
  461  
  462   Clinician/ Veteran
  463   (Person) V A Employee
  464  
  465   HTTPSHTTPS HTTPSHTTPS HTTPSHTTPS HTTPSHTTPS HTTPS
  466  
  467  
  468  
  469  
  470  
  471  
  472  
  473  
  474  
  475   AnswersCon troller
  476   [Component : Spring M VC Control ler]Assign mentContro ller
  477   [Component : Spring M VC Control ler]
  478   DivisionCo ntroller
  479   [Component : Spring M VC Control ler]
  480   IntrumentA dministrat orControll er
  481   [Component : Spring M VC Control ler]
  482   Instrument Controller
  483   [Component : Spring M VC Control ler]
  484   VistaContr oller
  485   [Component : Spring M VC Control ler]
  486   PatientCon troller
  487   [Component : Spring M VC Control ler]
  488   ProgressNo teControll er
  489   [Component : Spring M VC Control ler]
  490   MainContro ller
  491   [Component : Spring M VC Control ler]
  492  
  493  
  494  
  495  
  496  
  497  
  498  
  499  
  500  
  501  
  502  
  503  
  504   Communicat es directl y with RPC Service an d UserSess ionService
  505  
  506  
  507  
  508  
  509   RPCService
  510   [Component : Spring S ervice]
  511   Used as a  facade so  all contro llers have  single en try point  to persist  data to V istaUserSe ssionServi ce
  512   [Component : Spring S ervice]
  513   A facade f or fetchin g user pre ferences ( mostly kee ping track  of their  current di vision)
  514  
  515  
  516  
  517  
  518  
  519  
  520  
  521  
  522  
  523  
  524  
  525  
  526  
  527  
  528  
  529  
  530  
  531   Web Applic ation
  532   [Container ]
  533  
  534   VistaConne ctionServi ce
  535   [Component : Spring S ervice]
  536   A way of r unning RPC s against  a certain  VA divisio n/station.  This clas s has a ma p of Vista Connection s. Each Vi staConnect ion is a l ive connec tion to a  Vista divi sion/stati on. We use  this clas s to decid e which Vi staConnect ion to run  RPCs agai nst.
  537  
  538  
  539  
  540  
  541  
  542  
  543   [One way]
  544   [Writes to  VistaConn ectionServ ice on Sta rtup]
  545  
  546   VistaConne ctionProxy Service
  547   [Component : Spring S ervice]
  548   A facade t o communic ate with t he in-memo ry databas e. We use  this to re ad from th e database , create a  VistaConn ection, an d add it t o a map in  VistaConn ectionServ ice.
  549   This is on ly ever ru n at serve r startup.
  550  
  551  
  552  
  553  
  554  
  555  
  556  
  557   VistaConne ctionProxy Repository
  558   [Component : Spring R epository]
  559   A reposito ry for sto ring impor tant Vista Connection  login cre dentials ( access & v erify code s) to sign  in each V istaConnec tion and a nd begin t he interac tion to Vi sta.
  560   UserReposi tory
  561   [Component : Spring R epository]  A reposit ory for st oring user  informati on such as  their PID ,
  562   name, curr ent divisi on name an d station  number
  563  
  564  
  565  
  566  
  567   VistaConne ction
  568   [Component : Java POJ O ]
  569   A unique c lass actin g as a liv e connecti on to Vist a. This cl ass calls  directly t o the Vist aLink API  which read s and writ es to Vist a
  570  
  571  
  572  
  573   Reads from  and write s to (Vist aLink)
  574  
  575   Reads
  576   from and w rites to ( JDBC)
  577   Reads
  578   from and w rites to ( JDBC)
  579  
  580  
  581  
  582  
  583  
  584  
  585  
  586  
  587  
  588  
  589  
  590  
  591   Database
  592   [Container : Vista/MU MPS databa se]
  593   Stores inf ormation r egarding i nstruments , patients  and repor ts.in-memo ry Databas e
  594   [Container : MySQL da tabase]
  595   Stores inf ormation r egarding U ser info a nd VistaCo nnection i nfo
  596  
  597  
  598  
  599  
  600  
  601     
  602  
  603   MHA Web/OT 5 React -  Instrument  View Comp onent Stru cture
  604  
  605  
  606  
  607   <App/>
  608   [Custom Co mponent]
  609  
  610   <AdminAll/ >
  611   [Custom Co mponent]
  612  
  613   <AdminAll/ >
  614   [Custom Co mponent]
  615  
  616  
  617   <AdminNav/ >
  618   [Custom Co mponent]
  619  
  620  
  621   <MenuDropd own/>
  622   [React Boo tstrap]
  623   <MenuItem/ >
  624   [React Boo tstrap]
  625  
  626  
  627   <MenuDropd own/>
  628   [React Boo tstrap]
  629   <MenuItem/ >
  630   [React Boo tstrap]
  631  
  632  
  633   <DivisionD ropdown/>
  634   [React Boo tstrap]
  635   <MenuItem/ >
  636   [React Boo tstrap]
  637  
  638  
  639  
  640  
  641   <Label/>
  642   [React Boo tstrap]<In troText/>
  643   [Custom Co mponent]
  644  
  645  
  646   <ChoiceQue stion/>
  647  
  648   <Label/>
  649   [React Boo tstrap][Cu stom Compo nent]
  650  
  651  
  652  
  653   <RadioButt on/><Radio Button/>
  654   <RadioButt on/>
  655   <RadioButt on/>
  656  
  657   [React Boo tstrap]
  658   [React Boo tstrap]
  659   [React Boo tstrap]
  660   [React Boo tstrap]
  661  
  662  
  663  
  664  
  665  
  666   <Label/>
  667   [React Boo tstrap]<In tegerQuest ion/>
  668   [Custom Co mponent]
  669  
  670  
  671  
  672   <IntegerIn put/>
  673   [React Boo tstrap]
  674  
  675  
  676  
  677   <Label/>
  678   [React Boo tstrap]<Ch eckQuestio n/>
  679   [Custom Co mponent]
  680  
  681  
  682  
  683   <CheckBox/ >
  684   [React Boo tstrap]
  685   <CheckBox/ >
  686   [React Boo tstrap]
  687   <CheckBox/ >
  688   [React Boo tstrap]
  689   <CheckBox/ >
  690   [React Boo tstrap]
  691  
  692  
  693  
  694  
  695  
  696   <DateQuest ion/>
  697   [Custom Co mponent]
  698  
  699   <Label/>
  700   [React Boo tstrap]
  701  
  702  
  703   <DateInput />
  704   [React Boo tstrap]
  705  
  706  
  707  
  708  
  709   <Label/><S tringQuest ion/>
  710   [Custom Co mponent]
  711   [React Boo tstrap]
  712  
  713   <TextInput />
  714   [React Boo tstrap]
  715  
  716  
  717  
  718  
  719   <Label/><S liderQuest ion/>
  720   [Custom Co mponent]
  721   [React Boo tstrap]
  722  
  723   <Slider/>
  724   [React Boo tstrap]
  725  
  726  
  727  
  728  
  729   <AdminFoot er/>
  730   [Custom Co mponent]
  731  
  732  
  733   <Label/>
  734   [React Boo tstrap]<Bu tton/>
  735   [React Boo tstrap]
  736  
  737   <Button/>
  738   [React Boo tstrap]
  739  
  740  
  741  
  742  
  743  
  744  
  745  
  746  
  747   Overview
  748   Custom Com ponent = A  React com ponent tha t we creat ed from sc ratch.
  749  
  750   React Boot strap = A  React comp onent that  we have i mported fr om the Rea ct Bootstr ap NPM lib rary. We m ay style t hese compo nents and  override t heir defau lt functio nality.
  751  
  752   This Instr ument View  is a Reac t componen t hierarch y of how M HA Web/OT5  component s are load ed. Each c omponent c ontains th ose compon ents insid e of it. E ach parent  component  is respon sible for  rendering  children c omponents  and their  properties . For more  informati on on Reac t Componen ts please  see https: //reactjs. org/docs/r eact-compo nent.html
  753  
  754  
  755  
  756  
  757   USER_SESSI ON
  758   PKID
  759   VARCHAR(25 5)NAME
  760   VARCHAR(25 5)DIVISION  INTEGERST ATION_NUMB ER
  761   VARCHAR(25 5)CREATED_ DATE
  762  
  763   VISTA_CONN ECTOR_PROX Y
  764   PKID
  765   VARCHAR(25 5)ACCESS
  766   VARCHAR(25 5)VERIFY
  767   VARCHAR(25 5)PORT VAR CHAR(255)I P_ADDRESS
  768   VARCHAR(25 5)JNDI_NAM E
  769   VARCHAR(25 5)DIVISION _NAME INTE GERSTATION _NUMBER
  770   in-memory  Database