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

195.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 FederationStudyGraphDataSourceService.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 FederationStudyGraphDataSourceService.java Mon Dec 4 22:00:36 2017 UTC

195.2 Comparison summary

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

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

195.4 Active regular expressions

No regular expressions were active.

195.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: Mar  3, 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.Pa tientIdent ifier;
  29   import gov .va.med.Ro utingToken ;
  30   import gov .va.med.im aging.arti factsource .ResolvedA rtifactSou rce;
  31   import gov .va.med.im aging.core .interface s.exceptio ns.MethodE xception;
  32   import gov .va.med.im aging.core .interface s.exceptio ns.Connect ionExcepti on;
  33   import gov .va.med.im aging.exch ange.busin ess.StudyF ilter;
  34   import gov .va.med.im aging.exch ange.busin ess.StudyS etResult;
  35   import gov .va.med.im aging.exch ange.enums .StudyLoad Level;
  36   import gov .va.med.im aging.fede ration.pro xy.Federat ionProxy;
  37   import gov .va.med.im aging.fede ration.pro xy.StudyRe sult;
  38   import gov .va.med.im aging.fede ration.tra nslator.Fe derationDa tasourceTr anslator;
  39   import gov .va.med.im aging.prox y.exchange .StudyPara meters;
  40   import gov .va.med.im aging.prox y.services .ProxyServ ices;
  41   import gov .va.med.im aging.tran sactioncon text.Trans actionCont extFactory ;
  42   import gov .va.med.im aging.url. federation .exception s.Federati onConnecti onExceptio n;
  43   import gov .va.med.im aging.url. federation .exception s.Federati onMethodEx ception;
  44   import gov .va.med.im aging.url. vftp.VftpC onnection;
  45  
  46   import jav a.io.IOExc eption;
  47  
  48   import jav ax.xml.rpc .ServiceEx ception;
  49  
  50   import org .apache.lo gging.log4 j.LogManag er;
  51   import org .apache.lo gging.log4 j.Logger;
  52  
  53   /**
  54    * @author         
WERFEJ
  55    *
  56    */
  57   public cla ss Federat ionStudyGr aphDataSou rceService  
  58   extends Ab stractFede rationStud yGraphData SourceServ ice
  59   {
  60           
  61           pr ivate fina l VftpConn ection fed erationCon nection;
  62           pr ivate fina l static F ederationD atasourceT ranslator  federation Translator  = new Fed erationDat asourceTra nslator();
  63           pr ivate fina l static L ogger logg er = LogMa nager.getL ogger(Fede rationStud yGraphData SourceServ ice.class) ;
  64           
  65           //  Versionin g fields
  66           
  67           pr ivate fina l static S tring DATA SOURCE_VER SION = "0" ;
  68           pu blic final  static St ring SUPPO RTED_PROTO COL = "vft p";
  69           
  70           
  71           pr ivate Fede rationProx y proxy =  null;
  72           
  73  
  74           /* *
  75            *  @param re solvedArti factSource
  76            *  @param pr otocol
  77            *  @throws U nsupported OperationE xception
  78            * /
  79           pu blic Feder ationStudy GraphDataS ourceServi ce(Resolve dArtifactS ource reso lvedArtifa ctSource,  String pro tocol)
  80                    thro ws Unsuppo rtedOperat ionExcepti on
  81           {
  82                    supe r(resolved ArtifactSo urce, prot ocol);
  83                    fede rationConn ection = n ew VftpCon nection(ge tMetadataU rl());
  84           }
  85  
  86           /*  (non-Java doc)
  87            *  @see gov. va.med.ima ging.feder ationdatas ource.Abst ractFedera tionStudyG raphDataSo urceServic e#getDataS ourceVersi on()
  88            * /
  89           @O verride
  90           pu blic Strin g getDataS ourceVersi on() 
  91           {
  92                    retu rn DATASOU RCE_VERSIO N;
  93           }
  94  
  95           /*  (non-Java doc)
  96            *  @see gov. va.med.ima ging.datas ource.Stud yGraphData SourceSpi# getPatient Studies(ja va.lang.St ring, gov. va.med.ima ging.excha nge.busine ss.StudyFi lter)
  97            * /
  98           @O verride
  99           pu blic Study SetResult  getPatient Studies(Ro utingToken  globalRou tingToken,  PatientId entifier p atientIden tifier,
  100                             StudyF ilter filt er, StudyL oadLevel s tudyLoadLe vel) 
  101           th rows Unsup portedOper ationExcep tion, Meth odExceptio n, Connect ionExcepti on 
  102           {
  103                    logg er.info("g etPatientS tudies for  patient ( " + patien tIdentifie r.toString () + ") Tr ansactionC ontext ("  + Transact ionContext Factory.ge t().getDis playIdenti ty() + "). ");
  104                    if(p atientIden tifier.get PatientIde ntifierTyp e().isLoca l())
  105                             throw  new Method Exception( "Cannot us e local pa tient iden tifier to  retrieve r emote pati ent inform ation");
  106                    Stri ng patient Icn = pati entIdentif ier.getVal ue();
  107                    try 
  108                    {
  109                             federa tionConnec tion.conne ct();                   
  110                    }
  111                    catc h(IOExcept ion ioX) 
  112                    {
  113                             logger .error("Er ror gettin g patient  studies",  ioX);
  114                             throw  new Federa tionConnec tionExcept ion(ioX);
  115                    }
  116                    try 
  117                    {                         
  118                             if(fil ter != nul l)
  119                             {
  120                                      if(filte r.isStudyI enSpecifie d())
  121                                      {
  122                                               logger.inf o("Filteri ng study b y study Id  [" + filt er.getStud yId() + "] ");
  123                                      }
  124                             }                                           
  125                             StudyP arameters  parameters  = new Stu dyParamete rs(patient Icn, filte r.getFromD ate(), fil ter.getToD ate(), fil ter.getStu dyId());                      
  126                             StudyR esult stud yResult =  getProxy() .getStudie s(paramete rs, getSit e().getSit eNumber()) ;
  127                             gov.va .med.imagi ng.federat ion.webser vices.type s.Federati onStudyTyp e[] federa tionStudie s = studyR esult.getS tudies();
  128                             logger .info("get PatientStu dies got [ " + (feder ationStudi es == null  ? "0" : f ederationS tudies.len gth) + "]  studies fr om site ["  + getSite ().getSite Number() +  "]");
  129                             return  StudySetR esult.crea teFullResu lt(federat ionTransla tor.transf ormStudies (federatio nStudies,  filter));        
  130                    }
  131                    catc h(IOExcept ion ioX) 
  132                    {
  133                             logger .error("Er ror gettin g patient  studies",  ioX);
  134                             //thro w new Fede rationMeth odExceptio n(ioX);
  135                             throw  new Federa tionConnec tionExcept ion("Error  getting p atient stu dies", ioX );
  136                    }
  137                    catc h(ServiceE xception s X) {
  138                             logger .error("Er ror gettin g patient  studies",  sX);
  139                             throw  new Federa tionMethod Exception( sX);
  140                    }
  141           }
  142  
  143           pr ivate Fede rationProx y getProxy ()
  144           th rows Conne ctionExcep tion
  145           {
  146                    if(p roxy == nu ll)
  147                    {
  148                             ProxyS ervices pr oxyService s = getFed erationPro xyServices ();
  149                             if(pro xyServices  == null)
  150                                      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()  + "]");
  151                             proxy  = new Fede rationProx y(proxySer vices, Fed erationDat aSourcePro vider.getF ederationC onfigurati on());
  152                    }
  153                    retu rn proxy;
  154           }
  155  
  156   }