19. EPMO Open Source Coordination Office Redaction File Detail Report

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

19.1 Files compared

# Location File Last Modified
1 C:\AraxisMergeCompare\Pri_un\IV-ehmp_cif\CoreValueObjects\main\src\java\gov\va\med\imaging\mix\business\fhir ImagingStudy.java Thu Jun 29 17:22:22 2017 UTC
2 C:\AraxisMergeCompare\Pri_re\IV-ehmp_cif\CoreValueObjects\main\src\java\gov\va\med\imaging\mix\business\fhir ImagingStudy.java Thu Jul 6 15:00:10 2017 UTC

19.2 Comparison summary

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

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

19.4 Active regular expressions

No regular expressions were active.

19.5 Comparison detail

  1   package go v.va.med.i maging.mix .business. fhir;
  2  
  3   import gov .va.med.im aging.mix. business.S eriesCompa rator;
  4  
  5   import jav a.io.Seria lizable;
  6   import jav a.util.Ite rator;
  7   // import  java.util. Date;
  8   import jav a.util.Sor tedSet;
  9   import jav a.util.Tre eSet;
  10  
  11   /**
  12    * @author   DNS  TITTOC
  13    *
  14    * This Im agingStudy  class is  for FHIR I magingStud y model su pport (ref erring to  the equiva lent DICOM  Study ter m)
  15    * Cardina lity: Pati ent 1..* D iagnosticR eport 0..*  ImagingSt udy 0..* S eries 0..*  Instance
  16    */
  17   public cla ss Imaging Study impl ements Ser ializable,  Iterable< Series>, C omparable< ImagingStu dy>
  18   {       
  19           pr ivate stat ic final l ong serial VersionUID  = -518585 1367113539 916L;
  20           pr ivate Stri ng SiteNum ber;                        // w here the s tudy is cr eated (to/ from Imagi ngStudy's  additional  text exte nsion elem ent)
  21           pr ivate Stri ng SiteAbb r;                          // w here the s tudy is cr eated (to/ from Imagi ngStudy's  additional  text exte nsion elem ent)
  22           pr ivate Stri ng SiteNam e;                          // w here the s tudy is cr eated (to/ from Imagi ngStudy's  additional  text exte nsion elem ent)
  23           pr ivate Stri ng startDa teTime;            //  when stud y started  (YYYYMMDD. HHMISS)
  24           pr ivate Stri ng patient ID;                         // R ! patient  ID from cr eator ente rprise (IC N for VA,  EDI_PI for  DOD)
  25           pr ivate Stri ng uid;                                         // R!  DICOM Stud y UID
  26           pr ivate Stri ng accessi onNumber;          //  hooks stu dies to on e report,  that is on e order (m ax 16/DICO M)
  27           pr ivate Stri ng studyID ;                           // t he Study's  ID string  (Max 16 c hars)
  28           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 
  29           pr ivate Stri ng modalit iesInStudy ;       //  One or mo re Modalit ies separa ted by '\'
  30           pr ivate Stri ng referre r;                          // R eferring p hysician -  not maint ained
  31           pr ivate Stri ng availab ility;             //  ONLINE |  OFFLINE |  NEARLINE |  UNAVAILAB LE -- only  ONLINE da ta is main tained for  exchange
  32           pr ivate Stri ng url;                                // L ocation of  the refer enced stud y –- not u sed
  33       privat e String p rocedure;                     //  Type of p rocedure p erformed – - not main tained for  exchange
  34       privat e String i nterpreter ;                  //  Who inter preted ima ges –- not  maintaine d for exch ange
  35           pr ivate Stri ng descrip tion;                       // M ax 64 char s free tex t
  36           //  here are  the Read O nly attrib utes; they  have Gett ers only a nd must be  set only  internally  by DB API  call
  37           pr ivate Inte ger number OfSeries;          //  R! -- sup posed to m atch serie s SET size
  38           pr ivate Inte ger number OfInstance s;      //  R! -- sup posed to m atch sum o f Instance  SET sizes  from all  series SET
  39           pr ivate Sort edSet<Seri es> series  = new Tre eSet<Serie s>(new Ser iesCompara tor());
  40  
  41           /* *
  42            *  Create a  new Imagin gStudy
  43            *  @param sS iteNum Sta tionNumber  for VA, e lse ???)
  44            *  @param sS iteAbbr Si te abbrevi ation (3+  ch) for VA , else ??? )
  45            *  @param sS iteName Si te name fo r VA, else  ???)
  46            *  @param sD T when stu dy started  (YYYYMMDD .HHMISS)
  47            *  @param sP atID patie nt ID of s tudy creat or enterpr ise (ICN f or VA, EDI _PI for DO D)
  48            *  @param sI UID DICOM  Study UID  (64)
  49            *  @param sA ccN hooks  studies to  one repor t, that is  one order  (max 16/D ICOM)
  50            *  @param sI D the Stud y's ID str ing (max 1 6/DICOM)
  51            *  @param sO rder Place r Order nu mber - not  maintaine d
  52            *  @param mt ysInStd On e or more  Modalities  separated  by '\'
  53            *  @param sR ef Referri ng physici an - not m aintained
  54            *  @param sA vail ONLIN E | OFFLIN E | NEARLI NE | UNAVA ILABLE --  only ONLIN E data is  maintained  for excha nge 
  55            *  @param sU rl locatio n of the r eferenced  study –- n ot used
  56            *  @param sP roc Type o f procedur e performe d –- not m aintained  for exchan ge
  57            *  @param sI nterp Who  interprete d images – - not main tained for  exchange
  58            *  @param de scription  free text  (64/DICOM)
  59            * /
  60           pu blic Imagi ngStudy(St ring sSite Num, Strin g sSiteAbb r, String  sSiteName,  String sD T, String  sPatID, St ring sIUID , String s AccN, Stri ng sID, 
  61                                  S tring sOrd er, String  mtysInStd ,  String  sRef, Stri ng sAvail,  String sU rl, String  sProc, St ring sInte rp, String  sDesc)
  62           {
  63                    this .SiteNumbe r = sSiteN um;
  64                    this .SiteAbbr  = sSiteAbb r;
  65                    this .SiteName  = sSiteNam e;
  66                    this .startDate Time = sDT ;
  67                    this .patientID  = sPatID;
  68                    this .uid = sIU ID;
  69                    this .accession Number = s AccN;
  70                    this .studyID =  sID;
  71                    this .order = s Order;
  72                    this .modalitie sInStudy =  mtysInStd ;
  73                    this .referrer  = sRef;
  74                    this .availabil ity = sAva il;
  75                    this .descripti on = sDesc ;
  76                    
  77                    this .numberOfS eries = 0;
  78                    this .numberOfI nstances =  0;
  79           }
  80  
  81           pu blic Strin g getSiteN umber() {
  82                    retu rn SiteNum ber;
  83           }
  84  
  85           pu blic void  setSiteNum ber(String  siteNumbe r) {
  86                    Site Number = s iteNumber;
  87           }
  88  
  89           pu blic Strin g getSiteA bbr() {
  90                    retu rn SiteAbb r;
  91           }
  92  
  93           pu blic void  setSiteAbb r(String s iteAbbr) {
  94                    Site Abbr = sit eAbbr;
  95           }
  96  
  97           pu blic Strin g getSiteN ame() {
  98                    retu rn SiteNam e;
  99           }
  100  
  101           pu blic void  setSiteNam e(String s iteName) {
  102                    Site Name = sit eName;
  103           }
  104  
  105           pu blic Strin g getStart DateTime()  {
  106                    retu rn startDa teTime;
  107           }
  108  
  109           pu blic void  setStartDa teTime(Str ing startD ateTime) {
  110                    this .startDate Time = sta rtDateTime ;
  111           }
  112  
  113           pu blic Strin g getPatie ntID() {
  114                    retu rn patient ID;
  115           }
  116  
  117           pu blic void  setPatient ID(String  patientID)  {
  118                    this .patientID  = patient ID;
  119           }
  120  
  121           pu blic Strin g getUid()  {
  122                    retu rn uid;
  123           }
  124  
  125           pu blic void  setUid(Str ing studyU ID) {
  126                    this .uid = stu dyUID;
  127           }
  128  
  129           pu blic Strin g getAcces sionNumber () {
  130                    retu rn accessi onNumber;
  131           }
  132  
  133           pu blic void  setAccessi onNumber(S tring acce ssionNumbe r) {
  134                    this .accession Number = a ccessionNu mber;
  135           }
  136  
  137           pu blic Strin g getStudy ID() {
  138                    retu rn studyID ;
  139           }
  140  
  141           pu blic void  setStudyID (String st udyID) {
  142                    this .studyID =  studyID;
  143           }
  144  
  145           pu blic Strin g getOrder () {
  146                    retu rn order;
  147           }
  148  
  149           pu blic void  setOrder(S tring orde r) {
  150                    this .order = o rder;
  151           }
  152  
  153           pu blic Strin g getModal itiesInStu dy() {
  154                    retu rn modalit iesInStudy ;
  155           }
  156  
  157           pu blic void  setModalit iesInStudy (String mo dalitiesIn Study) {
  158                    this .modalitie sInStudy =  modalitie sInStudy;
  159           }
  160  
  161           pu blic void  setReferre r(String r eferrer) {
  162                    this .referrer  = referrer ;       //  DicomUtil s.reformat DicomName( name);
  163           }
  164           pu blic Strin g getRefer rer() {
  165                    retu rn referre r;
  166           }
  167  
  168           pu blic Strin g getAvail ability()  {
  169                    retu rn availab ility;
  170           }
  171  
  172           pu blic void  setAvailab ility(Stri ng availab ility) {
  173                    this .availabil ity = avai lability;
  174           }
  175  
  176           pu blic Strin g getUrl()  {
  177                    retu rn url;
  178           }
  179  
  180           pu blic void  setUrl(Str ing url) {
  181                    this .url = url ;
  182           }
  183  
  184           pu blic Strin g getProce dure() {
  185                    retu rn procedu re;
  186           }
  187  
  188           pu blic void  setProcedu re(String  procedure)  {
  189                    this .procedure  = procedu re;
  190           }
  191           
  192           pu blic Strin g getInter preter() {
  193                    retu rn interpr eter;
  194           }
  195  
  196           pu blic void  setInterpr eter(Strin g interpre ter) {
  197                    this .interpret er = inter preter;
  198           }
  199  
  200           pu blic Strin g getDescr iption() {
  201                    retu rn descrip tion;
  202           }
  203  
  204           pu blic void  setDescrip tion(Strin g descript ion) {
  205                    this .descripti on = descr iption;
  206           }
  207  
  208           pu blic Integ er getNumb erOfSeries () {
  209                    retu rn numberO fSeries;
  210           }
  211  
  212           pu blic Integ er getNumb erOfInstan ces() {
  213                    retu rn numberO fInstances ;
  214           }
  215  
  216           pu blic Sorte dSet<Serie s> getSeri es() {
  217                    retu rn this.se ries;
  218           }
  219  
  220           pu blic void  setSeries( SortedSet< Series> se ries) {
  221                    this .series =  series;
  222           }
  223           
  224           /* *
  225            *  Add a ser ies to the  Study as  a child; i ncrements  counters
  226            *  @param se ries as a  single ser ies
  227            * /
  228           pu blic void  addSeries( Series ser ies) 
  229           {
  230                    sync hronized(t his.series )
  231                    {
  232                             this.s eries.add( series);
  233                             number OfSeries++ ;
  234                             number OfInstance s += serie s.getInsta nces().siz e();
  235                    }
  236           }
  237  
  238           /* *
  239            *  Add all o f the seri es in the  given Set  to the Stu dy as chil dren; incr ements cou nters
  240            *  @param se ries as a  SortedSet
  241            * /
  242           pu blic void  addSeries( SortedSet< Series> se ries) 
  243           {
  244                    sync hronized(t his.series )
  245                    {
  246                             this.s eries.addA ll(series) ;
  247                    }
  248           }
  249  
  250           @O verride
  251           pu blic Itera tor<Series > iterator ()
  252           {
  253                    retu rn series. iterator() ;
  254           }
  255  
  256  
  257  
  258           /*  (non-Java doc)
  259            *  @see java .lang.Obje ct#toStrin g()
  260            * /
  261           @O verride
  262           pu blic Strin g toString () 
  263           {
  264                    retu rn this.ui d + " of p atient[" +  this.pati entID + "] ; accessio nNum=" + t his.access ionNumber  + "; ID="  + this.stu dyID + 
  265                                      "; Desc= " + this.d escription  + "; Moda lities=" +  this.moda litiesInSt udy + 
  266                                      "; Study DateTime="  + this.st artDateTim e + " -- # Series=" +  this.numb erOfSeries  + " #inst ances=" +  this.numbe rOfInstanc es +
  267                                      "; of Si te [" + th is.SiteNum ber + "/"  + this.Sit eAbbr + "/ " + this.S iteName;
  268           }
  269  
  270           @O verride
  271           pu blic int h ashCode()  {
  272                    fina l int prim e = 31;
  273                    int  result = 1 ;
  274                    resu lt = prime  * result
  275                                      + ((uid  == null) ?  0 : uid.h ashCode()) ;
  276                    resu lt = prime  * result
  277                                      + ((pati entID == n ull) ? 0 :  patientID .hashCode( ));
  278                    retu rn result;
  279           }
  280  
  281           @O verride
  282           pu blic boole an equals( Object obj ) {
  283                    if ( this == ob j)
  284                             return  true;
  285                    if ( obj == nul l)
  286                             return  false;
  287                    if ( getClass()  != obj.ge tClass())
  288                             return  false;
  289                    fina l ImagingS tudy other  = (Imagin gStudy) ob j;
  290                    if ( uid == nul l) {
  291                             if (ot her.uid !=  null)
  292                                      return f alse;
  293                    } el se if (!ui d.equals(o ther.uid))
  294                             return  false;
  295                    if ( patientID  == null) {
  296                             if (ot her.patien tID != nul l)
  297                                      return f alse;
  298                    } el se if (!pa tientID.eq uals(other .patientID ))
  299                             return  false;
  300                    retu rn true;
  301           }        
  302           
  303           @O verride
  304           pu blic int c ompareTo(I magingStud y that) 
  305           {
  306                    retu rn this.ui d.compareT o(that.uid );
  307           }
  308   }