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.
| # | 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 |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 2 | 660 |
| Changed | 1 | 2 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| 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 |
No regular expressions were active.
| 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 | } |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.