98. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 7/10/2017 1:01:45 PM 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.

98.1 Files compared

# Location File Last Modified
1 C:\AraxisMergeCompare\Pri_un\IV-ehmp_cif\MIXCommon\main\src\java\gov\va\med\imaging\mix\webservices\rest\types\v1 ImagingStudy.java Thu Jun 29 17:22:01 2017 UTC
2 C:\AraxisMergeCompare\Pri_re\IV-ehmp_cif\MIXCommon\main\src\java\gov\va\med\imaging\mix\webservices\rest\types\v1 ImagingStudy.java Thu Jul 6 15:04:01 2017 UTC

98.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 660
Changed 1 2
Inserted 0 0
Removed 0 0

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

98.4 Active regular expressions

No regular expressions were active.

98.5 Comparison detail

  1   package go v.va.med.i maging.mix .webservic es.rest.ty pes.v1;
  2  
  3   import gov .va.med.im aging.mix. webservice s.rest.typ es.v1.Seri es;
  4  
  5   import jav ax.xml.bin d.annotati on.XmlRoot Element;
  6  
  7   // import  java.io.Se rializable ;
  8   // import  java.util. ArrayList;
  9   // import  java.util. Iterator;
  10   // import  java.util. List;
  11   // import  java.util. Date;
  12   // import  java.util. SortedSet;
  13   // import  java.util. TreeSet;
  14   // import  java.util. SortedSet;
  15   // import  java.util. TreeSet;
  16  
  17   /**
  18    * @author   DNS  TITTOC
  19    *
  20    * This Im agingStudy  class is  for FHIR I magingStud y model su pport (ref erring to  the equiva lent DICOM  Study ter m), ***? J SON tailor ed
  21    * Cardina lity: Pati ent 1..* D iagnosticR eport 0..*  ImagingSt udy 0..* S eries 0..*  Instance
  22    */
  23   @XmlRootEl ement(name ="ImagingS tudy")
  24   public cla ss Imaging Study // i mplements  Serializab le, /* Ite rable<Seri es>,*/ Com parable<Im agingStudy
  25   {       
  26   //      pr ivate stat ic final l ong serial VersionUID  = -518585 1367113539 916L;
  27   //      pr ivate stat ic final c har q = '" ';
  28           pr ivate Stri ng resourc eType="Ima gingStudy" ; // FHIR  resource
  29           pr ivate Stri ng started ;                           // w hen study  started (y yyy-MM-ddT HH:MI:SS+H H:MI UTC f ormat)
  30           pr ivate Refe renceType  patient;           //  R! refere nce to pat ient ID fr om creator  enterpris e (ICN for  VA, EDI_P I for DOD) : {"refere nce": pati ent/... }
  31           pr ivate Stri ng uid;                                         // R!  DICOM Stud y UID -- T o non-VA r equester a  morphed s tudyURN is  given (bu ilt-in VA  site numbe r, etc.) 
  32           pr ivate Stri ng accessi on;                         // h ooks studi es to one  report, th at is one  order (max  16/DICOM)
  33           pr ivate Stri ng identif ier;                        // t he Study's  ID string  (Max 16 c hars) -- O ther ident ifier for  the Study
  34           pr ivate Stri ng order;                              // O rder(s) th at caused  this study  to be per formed --  ? old HL7  term (Plac er Order#)  -- not us ed 
  35           pr ivate Stri ng modalit yList;             //  One or mo re Modalit ies separa ted by ','
  36           pr ivate Stri ng referre r;                          // R eferring p hysician -  not maint ained
  37           pr ivate Stri ng availab ility;             //  ONLINE |  OFFLINE |  NEARLINE |  UNAVAILAB LE -- only  ONLINE da ta is main tained for  exchange
  38           pr ivate Stri ng url;                                // L ocation of  the refer enced stud y –- not u sed
  39       privat e String p rocedure;                     //  Type of p rocedure p erformed – - not main tained for  exchange,  available  from Vist A!
  40       privat e String i nterpreter ;                  //  Who inter preted ima ges –- not  maintaine d for exch ange
  41           pr ivate Stri ng descrip tion;                       // M ax 64 char s free tex t
  42           //  here are  the Read O nly attrib utes; they  have Gett ers only a nd must be  set only  internally  by DB API  call
  43           pr ivate Inte ger number OfSeries;          //  R! -- sup posed to m atch serie s SET size
  44           pr ivate Inte ger number OfInstance s;      //  R! -- sup posed to m atch sum o f Instance  SET sizes  from all  series SET
  45           pr ivate Seri es[] serie ses;
  46           //       priv ate List<S eries> ser ies = new  ArrayList< Series>();  // *** sh ould be So rted List?
  47           //  private S ortedSet<S eries> ser ies = new  TreeSet<Se ries>(new  SeriesComp arator());
  48  
  49           pu blic Imagi ngStudy()
  50           {
  51                    star ted = uid  = accessio n = identi fier = ord er = modal ityList =  referrer =  url = pro cedure = i nterpreter  = descrip tion = nul l;
  52                    pati ent = null ;
  53                    avai lability =  "ONLINE";
  54                    numb erOfSeries  = 0;
  55                    numb erOfInstan ces = 0;
  56                    this .serieses  = new Seri es[0];
  57           }
  58  
  59   //      /* *
  60   //       *  Create a  new Imagin gStudy
  61   //       *  @param sD T when stu dy started  (yyyy-MM- ddTHH:MI:S S+HH:MI UT C format)
  62   //       *  @param sP atID patie nt ID of s tudy creat or enterpr ise (ICN f or VA, EDI _PI for DO D)
  63   //       *  @param sI UID DICOM  Study UID  -- To non- VA request er a morph ed studyUR N is given  (built-in  VA site n umber, etc .)
  64   //       *  @param sA ccN Access ionNumber  -- hooks s tudies to  one report , that is  one order  (max 16/DI COM)
  65   //       *  @param sI D the Stud y's ID str ing (max 1 6 in DICOM )
  66   //       *  @param sO rder Place r Order nu mber - not  maintaine d
  67   //       *  @param mt ysInStd On e or more  Modalities  in study  separated  by ','
  68   //       *  @param sR ef Referri ng physici an - not m aintained  for exchan ge
  69   //       *  @param sA vail ONLIN E | OFFLIN E | NEARLI NE | UNAVA ILABLE --  only ONLIN E data is  maintained  for excha nge 
  70   //       *  @param sU rl locatio n of the r eferenced  study –- n ot used fo r for exch ange
  71   //       *  @param sP roc Type o f procedur e performe d –- not m aintained  for exchan ge
  72   //       *  @param sI nterp Who  interprete d images – - not main tained for  exchange
  73   //       *  @param de scription  free text  (64/DICOM)
  74   //       * /
  75   //      pu blic Imagi ngStudy(St ring sDT,  String sPa tID, Strin g sIUID, S tring sAcc N, String  sID, 
  76   //                             S tring sOrd er, String  mtysInStd ,  String  sRef, Stri ng sAvail,  String sU rl, String  sProc, St ring sInte rp, String  sDesc)
  77   //      {
  78   //               this .started =  sDT;
  79   //               this .setPatien tID(sPatID );
  80   //               this .uid = sIU ID;
  81   //               this .accession  = sAccN;
  82   //               this .identifie r = sID;
  83   //               this .order = s Order;
  84   //               this .modalityL ist = mtys InStd;
  85   //               this .referrer  = sRef;
  86   //               this .availabil ity = sAva il;
  87   //               this .procedure  = sProc;
  88   //               this .interpret er = sInte rp;
  89   //               this .descripti on = sDesc ;
  90   //               
  91   //               this .numberOfS eries = 0;
  92   //               this .numberOfI nstances =  0;
  93   //               this .serieses  = new Seri esesType() ;
  94   //      }
  95  
  96           pu blic Strin g getResou rceType()  {
  97                    retu rn resourc eType;
  98           }
  99  
  100           pu blic Strin g getStart ed() {
  101                    retu rn started ;
  102           }
  103  
  104           pu blic void  setStarted (String st artDateTim e) {
  105                    this .started =  startDate Time;
  106           }
  107  
  108           pu blic Refer enceType g etPatient( ) {
  109   //               Stri ng patient Id=null;
  110   //               if ( patient!=n ull) {
  111   //                        patien tId = pati ent.substr ing(patien t.lastInde xOf("Patie nt/")+1, p atient.las tIndexOf(" \"}"));
  112   //               }
  113   //               retu rn patient Id;
  114                    retu rn patient ;
  115           }
  116  
  117           pu blic void  setPatient (Reference Type patRe f) {
  118   //               this .patient =  "{\"refer ence\": \" Patient/"  + patientI D + "\"}";
  119   //               this .patient =  "{" +q+"r eference"+ q+": " +q+ "Patient/" +patientID +q + "}";
  120                    this .patient =  patRef;
  121           }
  122  
  123           pu blic Strin g getUid()  {
  124                    retu rn uid;
  125           }
  126  
  127           pu blic void  setUid(Str ing studyU ID) {
  128                    this .uid = stu dyUID;
  129           }
  130  
  131           pu blic Strin g getAcces sionNumber () {
  132                    retu rn accessi on;
  133           }
  134  
  135           pu blic void  setAccessi onNumber(S tring acce ssionNumbe r) {
  136                    this .accession  = accessi onNumber;
  137           }
  138  
  139           pu blic Strin g getIdent ifier() {
  140                    retu rn identif ier;
  141           }
  142  
  143           pu blic void  setIdentif ier(String  studyID)  {
  144                    this .identifie r = studyI D;
  145           }
  146  
  147           pu blic Strin g getOrder () {
  148                    retu rn order;
  149           }
  150  
  151           pu blic void  setOrder(S tring orde r) {
  152                    this .order = o rder;
  153           }
  154  
  155           pu blic Strin g getModal ityList()  {
  156                    retu rn modalit yList;
  157           }
  158  
  159           pu blic void  setModalit iesInStudy (String mo dalitiesIn Study) {
  160                    this .modalityL ist = moda litiesInSt udy;
  161           }
  162  
  163           pu blic void  setReferre r(String r eferrer) {
  164                    this .referrer  = referrer ;       //  DicomUtil s.reformat DicomName( name);
  165           }
  166           pu blic Strin g getRefer rer() {
  167                    retu rn referre r;
  168           }
  169  
  170           pu blic Strin g getAvail ability()  {
  171                    retu rn availab ility;
  172           }
  173  
  174           pu blic void  setAvailab ility(Stri ng availab ility) {
  175                    this .availabil ity = avai lability;
  176           }
  177  
  178           pu blic Strin g getUrl()  {
  179                    retu rn url;
  180           }
  181  
  182           pu blic void  setUrl(Str ing url) {
  183                    this .url = url ;
  184           }
  185  
  186           pu blic Strin g getProce dure() {
  187                    retu rn procedu re;
  188           }
  189  
  190           pu blic void  setProcedu re(String  procedure)  {
  191                    this .procedure  = procedu re;
  192           }
  193           
  194           pu blic Strin g getInter preter() {
  195                    retu rn interpr eter;
  196           }
  197  
  198           pu blic void  setInterpr eter(Strin g interpre ter) {
  199                    this .interpret er = inter preter;
  200           }
  201  
  202           pu blic Strin g getDescr iption() {
  203                    retu rn descrip tion;
  204           }
  205  
  206           pu blic void  setDescrip tion(Strin g descript ion) {
  207                    this .descripti on = descr iption;
  208           }
  209  
  210           pu blic Integ er getNumb erOfSeries () {
  211                    retu rn numberO fSeries;
  212           }
  213  
  214           pu blic Integ er getNumb erOfInstan ces() {
  215                    retu rn numberO fInstances ;
  216           }
  217  
  218           pu blic Serie s[] getSer ies() { //  use singl e (not ser ieses) for  REST JSOJ N translat ion's sake
  219                    retu rn this.se rieses;
  220           }
  221  
  222   //      pu blic void  setSeriese s(Serieses Type serie ses) {
  223   //               this .serieses  = serieses ;
  224   //               this .numberOfS eries = th is.seriese s.getSerie ses().leng th;
  225   //               this .numberOfI nstances=0 ;
  226   //               for  (int i=0;  i<numberOf Series; i+ +)
  227   //                        this.n umberOfIns tances +=  this.serie ses.getSer ieses()[i] .getInstan ces().getI nstances() .length;
  228   //      }
  229           
  230           /* *
  231            *  Add a ser ies to the  Study as  a child; i ncrements  counters
  232            *  @param se ries as a  single ser ies
  233            * /
  234           pu blic void  addSeries( Series ser ies) 
  235           {
  236                    sync hronized(t his.series es)
  237                    {
  238                             Series  [] series InList = t his.series es;
  239                             int nu mItems = 0 ;
  240                             if (se riesInList .length==0 ) {
  241                                      seriesIn List = new  Series[1] ;
  242                             } else  {
  243                                      numItems  = seriesI nList.leng th;
  244                             }
  245                             Series  [] series OutList =  new Series [numItems+ 1];
  246                             // cop y In list  to Out one  first
  247                             for (i nt i=0; i< numItems;  i++) {
  248                                      seriesOu tList[i] =  seriesInL ist[i];
  249                             }
  250                             series OutList[nu mItems] =  series;
  251                             this.s erieses =  seriesOutL ist;
  252  
  253                             number OfSeries++ ;
  254                             if (se ries.getIn stance()!= null)
  255                                      numberOf Instances  += series. getInstanc e().length ; // getIn stance ret urns Insta nce array
  256                    }
  257           }
  258  
  259   //      /* *
  260   //       *  Append al l of the s eries of t he given S et to the  Study as c hildren; i ncrements  counters
  261   //       *  @param se ries as a  List
  262   //       * /
  263   //      pu blic void  addSeriese s(List<Ser ies> serie s) 
  264   //      {
  265   //               sync hronized(t his.series )
  266   //               {
  267   //                        this.s eries.addA ll(series) ;
  268   //                        this.n umberOfIns tances=0;
  269   //                        for (i nt i=0; i< numberOfSe ries; i++)
  270   //                                 this.num berOfInsta nces += th is.series. get(i).get Instances( ).size();
  271   //               }
  272   //      }
  273   //
  274   //      @O verride
  275   //      pu blic Itera tor<Series > iterator ()
  276   //      {
  277   //               retu rn series. iterator() ;
  278   //      }
  279  
  280  
  281  
  282           /*  (non-Java doc)
  283            *  @see java .lang.Obje ct#toStrin g()
  284            * /
  285           @O verride
  286           pu blic Strin g toString () 
  287           {
  288                    retu rn this.ui d + " of p atient[" +  this.getP atient() +  "]; acces sionNum="  + this.acc ession + " ; ID=" + t his.identi fier + 
  289                                      "; Desc= " + this.d escription  + "; Proc =" + this. procedure  + "; Modal ities=" +  this.modal ityList + 
  290                                      "; Study DateTime="  + this.st arted + "  -- #Series =" + this. numberOfSe ries + " # instances= " + this.n umberOfIns tances + " ;";
  291           }
  292  
  293           @O verride
  294           pu blic int h ashCode()  {
  295                    fina l int prim e = 31;
  296                    int  result = 1 ;
  297                    resu lt = prime  * result
  298                                      + ((uid  == null) ?  0 : uid.h ashCode()) ;
  299                    resu lt = prime  * result
  300                                      + ((pati ent == nul l) ? 0 : p atient.has hCode());
  301                    retu rn result;
  302           }
  303  
  304           @O verride
  305           pu blic boole an equals( Object obj ) {
  306                    if ( this == ob j)
  307                             return  true;
  308                    if ( obj == nul l)
  309                             return  false;
  310                    if ( getClass()  != obj.ge tClass())
  311                             return  false;
  312                    fina l ImagingS tudy other  = (Imagin gStudy) ob j;
  313                    if ( uid == nul l) {
  314                             if (ot her.uid !=  null)
  315                                      return f alse;
  316                    } el se if (!ui d.equals(o ther.uid))
  317                             return  false;
  318                    if ( patient ==  null) {
  319                             if (ot her.patien t != null)
  320                                      return f alse;
  321                    } el se if (!pa tient.equa ls(other.p atient))
  322                             return  false;
  323                    retu rn true;
  324           }        
  325           
  326   //      @O verride
  327   //      pu blic int c ompareTo(I magingStud y that) 
  328   //      {
  329   //               retu rn this.ui d.compareT o(that.uid );
  330   //      }
  331   }