194. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 12/5/2017 12:06:41 PM 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.

194.1 Files compared

# Location File Last Modified
1 IV-eHMP_CIF.zip\IMAG_Source\VISA\Java\FederationDataSourceProvider\main\src\java\gov\va\med\imaging\federationdatasource FederationPatientDataSourceService.java Mon Dec 4 21:34:40 2017 UTC
2 IV-eHMP_CIF.zip\IMAG_Source\VISA\Java\FederationDataSourceProvider\main\src\java\gov\va\med\imaging\federationdatasource FederationPatientDataSourceService.java Mon Dec 4 22:00:35 2017 UTC

194.2 Comparison summary

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

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

194.4 Active regular expressions

No regular expressions were active.

194.5 Comparison detail

  1   /**
  2    * 
  3     Package:  MAG - Vis tA Imaging
  4     WARNING:  Per VHA D irective 2 004-038, t his routin e should n ot be modi fied.
  5     Date Cre ated: Apr  11, 2008
  6     Site Nam e:  Washin gton OI Fi eld Office , Silver S pring, MD
  7       Developer:          
WERFEJ
  8     Descript ion: 
  9  
  10           ;;  +-------- ---------- ---------- ---------- ---------- ---------- ---------- +
  11           ;;  Property  of the US  Government .
  12           ;;  No permis sion to co py or redi stribute t his softwa re is give n.
  13           ;;  Use of un released v ersions of  this soft ware requi res the us er
  14           ;;   to execu te a writt en test ag reement wi th the Vis tA Imaging
  15           ;;   Developm ent Office  of the De partment o f Veterans  Affairs,
  16           ;;   telephon e (301) 73 4-0100.
  17           ;;
  18           ;;  The Food  and Drug A dministrat ion classi fies this  software a s
  19           ;;  a Class I I medical  device.  A s such, it  may not b e changed
  20           ;;  in any wa y.  Modifi cations to  this soft ware may r esult in a n
  21           ;;  adulterat ed medical  device un der 21CFR8 20, the us e of which
  22           ;;  is consid ered to be  a violati on of US F ederal Sta tutes.
  23           ;;  +-------- ---------- ---------- ---------- ---------- ---------- ---------- +
  24  
  25    */
  26   package go v.va.med.i maging.fed erationdat asource;
  27  
  28   import gov .va.med.He althSummar yURN;
  29   import gov .va.med.Pa tientIdent ifier;
  30   import gov .va.med.Ro utingToken ;
  31   import gov .va.med.im aging.arti factsource .ResolvedA rtifactSou rce;
  32   import gov .va.med.im aging.core .interface s.exceptio ns.Connect ionExcepti on;
  33   import gov .va.med.im aging.core .interface s.exceptio ns.MethodE xception;
  34   import gov .va.med.im aging.data source.Pat ientDataSo urceSpi;
  35   import gov .va.med.im aging.data source.exc eptions.Un supportedS erviceMeth odExceptio n;
  36   import gov .va.med.im aging.exch ange.busin ess.Health SummaryTyp e;
  37   import gov .va.med.im aging.exch ange.busin ess.Patien t;
  38   import gov .va.med.im aging.exch ange.busin ess.Patien tMeansTest Result;
  39   import gov .va.med.im aging.exch ange.busin ess.Patien tPhotoID;
  40   import gov .va.med.im aging.exch ange.busin ess.Patien tPhotoIDIn formation;
  41   import gov .va.med.im aging.fede ration.pro xy.Federat ionProxy;
  42   import gov .va.med.im aging.fede ration.pro xy.IFedera tionProxy;
  43   import gov .va.med.im aging.fede ration.tra nslator.Fe derationDa tasourceTr anslator;
  44   import gov .va.med.im aging.prox y.services .ProxyServ ices;
  45   import gov .va.med.im aging.tran sactioncon text.Trans actionCont extFactory ;
  46   import gov .va.med.im aging.url. federation .exception s.Federati onConnecti onExceptio n;
  47   import gov .va.med.im aging.url. federation .exception s.Federati onMethodEx ception;
  48   import gov .va.med.im aging.url. vftp.VftpC onnection;
  49  
  50   import jav a.io.IOExc eption;
  51   import jav a.util.Lis t;
  52   import jav a.util.Sor tedSet;
  53  
  54   import jav ax.xml.rpc .ServiceEx ception;
  55  
  56   import org .apache.lo gging.log4 j.LogManag er;
  57   import org .apache.lo gging.log4 j.Logger;
  58  
  59   /**
  60    * @author         
WERFEJ
  61    *
  62    */
  63   public cla ss Federat ionPatient DataSource Service 
  64   extends Ab stractFede rationPati entDataSou rceService  
  65   {
  66           pr ivate fina l VftpConn ection fed erationCon nection;
  67           pr ivate fina l static F ederationD atasourceT ranslator  federation Translator  = 
  68                    new  Federation Datasource Translator ();
  69           pr ivate fina l static L ogger logg er = LogMa nager.getL ogger(Fede rationPati entDataSou rceService .class);
  70           
  71           //  Versionin g fields
  72           pr ivate fina l static S tring DATA SOURCE_VER SION = "0" ;
  73           pu blic final  static St ring SUPPO RTED_PROTO COL = "vft p";
  74                    
  75           pr ivate Fede rationProx y proxy =  null;
  76  
  77           
  78           /* *
  79            *  @param re solvedArti factSource
  80            *  @param pr otocol
  81            *  @throws U nsupported OperationE xception
  82            * /
  83           pu blic Feder ationPatie ntDataSour ceService( ResolvedAr tifactSour ce resolve dArtifactS ource, Str ing protoc ol)
  84                    thro ws Unsuppo rtedOperat ionExcepti on
  85           {
  86                    supe r(resolved ArtifactSo urce, prot ocol);
  87                    fede rationConn ection = n ew VftpCon nection(ge tMetadataU rl());
  88           }
  89  
  90           /*  (non-Java doc)
  91            *  @see gov. va.med.ima ging.feder ationdatas ource.Abst ractFedera tionPatien tDataSourc eService#g etDataSour ceVersion( )
  92            * /
  93           @O verride
  94           pu blic Strin g getDataS ourceVersi on() 
  95           {
  96                    retu rn DATASOU RCE_VERSIO N;
  97           }
  98           
  99           @O verride
  100           pu blic Sorte dSet<Patie nt> findPa tients(Rou tingToken  globalRout ingToken,  String sea rchName)
  101           th rows Metho dException , Connecti onExceptio
  102           {
  103                    // J MW 2/6/201 2 - p122 -  added sen sitive sta tus to res ult which  is not par t of v4 Fe derationPa tient inte rface
  104                    // m ake this m ethod not  used so th e data sou rce provid er will fa ll back to  using a n on-Federat ion data s ource
  105                    thro w new Unsu pportedSer viceMethod Exception( PatientDat aSourceSpi .class, "f indPatient s");
  106           }
  107  
  108           @O verride
  109           pu blic List< String> ge tTreatingS ites(Routi ngToken de stinationR outglobalR outingToke ningToken,  
  110                             Patien tIdentifie r patientI dentifier,  boolean i ncludeTrai lingCharac tersForSit e200)
  111           th rows Metho dException , Connecti onExceptio
  112           {
  113                    logg er.info("g etTreating Sites for  patient ("  + patient Identifier  + ") Tran sactionCon text (" +  Transactio nContextFa ctory.get( ).getDispl ayIdentity () + ").") ;
  114                    if(p atientIden tifier.get PatientIde ntifierTyp e().isLoca l())
  115                             throw  new Method Exception( "Cannot us e local pa tient iden tifier to  retrieve r emote pati ent inform ation");
  116                    try 
  117                    {
  118                             federa tionConnec tion.conne ct();                   
  119                    }
  120                    catc h(IOExcept ion ioX) 
  121                    {
  122                             logger .error("Er ror findin g treating  sites", i oX);
  123                             throw  new Federa tionConnec tionExcept ion(ioX);
  124                    }
  125                    try
  126                    {
  127                             String [] sites =  getProxy( ).getPatie ntSitesVis ited(getSi te(), pati entIdentif ier.getVal ue());
  128                             logger .info("get TreatingSi tes got ["  + (sites  == null ?  "0" : site s.length)  + "] sites  from site  [" + getS ite().getS iteNumber( ) + "]");
  129                             return  federatio nTranslato r.transfor mSiteNumbe rs(sites);                  
  130                    }
  131                    catc h(IOExcept ion ioX) 
  132                    {
  133                             logger .error("Er ror gettin g patient  treating s ites", ioX );
  134                             throw  new Federa tionConnec tionExcept ion(ioX);
  135                    }
  136                    catc h(ServiceE xception s X) {
  137                             logger .error("Er ror gettin g patient  treating s ites", sX) ;
  138                             throw  new Federa tionMethod Exception( sX);
  139                    }
  140           }
  141  
  142           @O verride        
  143           pu blic boole an isVersi onCompatib le() 
  144           {
  145                    if(g etFederati onProxySer vices() ==  null)
  146                             return  false;            
  147                    retu rn true;
  148           }
  149           
  150           pr ivate Fede rationProx y getProxy ()
  151           th rows Conne ctionExcep tion
  152           {                 
  153                    if(p roxy == nu ll)
  154                    {
  155                             ProxyS ervices pr oxyService s = getFed erationPro xyServices ();
  156                             if(pro xyServices  == null)
  157                                      throw ne w Connecti onExceptio n("Did not  receive a ny applica ble servic es from ID S service  for site [ " + getSit e().getSit eNumber()  + "]");
  158                             proxy  = new Fede rationProx y(proxySer vices, Fed erationDat aSourcePro vider.getF ederationC onfigurati on());
  159                    }
  160                    retu rn proxy;
  161           }
  162  
  163           @O verride
  164           pu blic boole an logPati entSensiti veAccess(R outingToke n globalRo utingToken ,
  165                             Patien tIdentifie r patientI dentifier)  
  166           th rows Metho dException , Connecti onExceptio n
  167           {
  168                    thro w new Unsu pportedSer viceMethod Exception( PatientDat aSourceSpi .class, "l ogPatientS ensitiveAc cess");
  169           }
  170  
  171           /*  (non-Java doc)
  172            *  @see gov. va.med.ima ging.feder ationdatas ource.Abst ractFedera tionPatien tDataSourc eService#g etFederati onProxy()
  173            * /
  174           @O verride
  175           pr otected IF ederationP roxy getFe derationPr oxy() 
  176           th rows Conne ctionExcep tion
  177           {
  178                    retu rn getProx y();
  179           }
  180  
  181           @O verride
  182           pu blic Patie nt getPati entInforma tion(Routi ngToken gl obalRoutin gToken,
  183                             Patien tIdentifie r patientI dentifier)  
  184           th rows Metho dException , Connecti onExceptio n
  185           {
  186                    thro w new Unsu pportedSer viceMethod Exception( PatientDat aSourceSpi .class, "g etPatientI nformation ");
  187           }
  188  
  189           @O verride
  190           pu blic Patie ntMeansTes tResult ge tPatientMe ansTest(
  191                             Routin gToken glo balRouting Token, Pat ientIdenti fier patie ntIdentifi er)
  192           th rows Metho dException , Connecti onExceptio n
  193           {
  194                    thro w new Unsu pportedSer viceMethod Exception( PatientDat aSourceSpi .class, "g etPatientM eansTest") ;
  195           }
  196  
  197           @O verride
  198           pu blic List< HealthSumm aryType> g etHealthSu mmaryTypes (
  199                             Routin gToken glo balRouting Token) 
  200           th rows Metho dException , Connecti onExceptio n
  201           {
  202                    thro w new Unsu pportedSer viceMethod Exception( PatientDat aSourceSpi .class, "g etHealthSu mmaryTypes ");
  203           }
  204  
  205           @O verride
  206           pu blic Strin g getHealt hSummary(H ealthSumma ryURN heal thSummaryU rn,
  207                             Patien tIdentifie r patientI dentifier)  
  208           th rows Metho dException , Connecti onExceptio n
  209           {
  210                    thro w new Unsu pportedSer viceMethod Exception( PatientDat aSourceSpi .class, "g etHealthSu mmary");
  211           }
  212  
  213   }