Produced by Araxis Merge on 12/5/2017 12:06:34 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.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | IV-eHMP_CIF.zip\IMAG_Source\VISA\Java\AwivClientWebApp\main\src\java\gov\va\med\imaging\awiv\client\ui\widgets | PatientStudiesTab.java | Mon Dec 4 21:35:32 2017 UTC |
| 2 | IV-eHMP_CIF.zip\IMAG_Source\VISA\Java\AwivClientWebApp\main\src\java\gov\va\med\imaging\awiv\client\ui\widgets | PatientStudiesTab.java | Mon Dec 4 21:56:52 2017 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 3 | 874 |
| Changed | 2 | 4 |
| 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 | /** | |
| 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: Dec 9, 2011 | |
| 6 | Site Nam e: Washin gton OI Fi eld Office , Silver S pring, MD | |
| 7 | Developer:
|
|
| 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.awi v.client.u i.widgets; | |
| 27 | ||
| 28 | import org .apache.lo gging.log4 j.LogManag er; | |
| 29 | import org .apache.lo gging.log4 j.Logger; | |
| 30 | ||
| 31 | import gov .va.med.im aging.awiv .business. AwivArtifa ctResults; | |
| 32 | import gov .va.med.im aging.awiv .business. AwivMeansT estResult; | |
| 33 | import gov .va.med.im aging.awiv .business. AwivPatien tSensitivi ty; | |
| 34 | import gov .va.med.im aging.awiv .business. AwivSite; | |
| 35 | import gov .va.med.im aging.awiv .business. AwivStudy; | |
| 36 | import gov .va.med.im aging.awiv .business. AwivUserIn formation; | |
| 37 | import gov .va.med.im aging.awiv .business. Patient; | |
| 38 | import gov .va.med.im aging.awiv .business. UUID; | |
| 39 | import gov .va.med.im aging.awiv .client.Aw ivHelper; | |
| 40 | import gov .va.med.im aging.awiv .client.da o.PatientL ookupServi ceDao; | |
| 41 | import gov .va.med.im aging.awiv .client.da o.PatientS tudyServic eDao; | |
| 42 | import gov .va.med.im aging.awiv .client.da o.PatientT reatingSit esServiceD ao; | |
| 43 | import gov .va.med.im aging.awiv .client.ev ents.Patie ntSelected Event; | |
| 44 | import gov .va.med.im aging.awiv .client.ev ents.Patie ntSensitiv ityCheckCo mpleteEven t; | |
| 45 | import gov .va.med.im aging.awiv .client.ev ents.Study SelectedEv ent; | |
| 46 | import gov .va.med.im aging.awiv .client.ui .data.Site Connectivi tyState; | |
| 47 | import gov .va.med.im aging.awiv .client.ui .data.Stud yRecord; | |
| 48 | import gov .va.med.im aging.awiv .client.ui .widgets.d ialogs.Wai tDialog; | |
| 49 | import gov .va.med.im aging.awiv .exception s.AwivInsu fficientPa tientSensi tivityExce ption; | |
| 50 | ||
| 51 | import com .google.gw t.http.cli ent.Reques t; | |
| 52 | import com .google.gw t.user.cli ent.Window .Location; | |
| 53 | import com .google.gw t.user.cli ent.rpc.As yncCallbac k; | |
| 54 | import com .smartgwt. client.uti l.BooleanC allback; | |
| 55 | import com .smartgwt. client.uti l.SC; | |
| 56 | import com .smartgwt. client.wid gets.Canva s; | |
| 57 | import com .smartgwt. client.wid gets.Label ; | |
| 58 | import com .smartgwt. client.wid gets.event s.ClickEve nt; | |
| 59 | import com .smartgwt. client.wid gets.event s.ClickHan dler; | |
| 60 | import com .smartgwt. client.wid gets.grid. ListGridRe cord; | |
| 61 | import com .smartgwt. client.wid gets.layou t.HLayout; | |
| 62 | import com .smartgwt. client.wid gets.layou t.VLayout; | |
| 63 | import com .smartgwt. client.wid gets.tab.T ab; | |
| 64 | ||
| 65 | /** | |
| 66 | * The tab that show s the stud ies the pa tient has | |
| 67 | * @author
|
|
| 68 | * | |
| 69 | */ | |
| 70 | public cla ss Patient StudiesTab | |
| 71 | extends Ta b | |
| 72 | implements AwivTab | |
| 73 | { | |
| 74 | ||
| 75 | pr ivate Pati ent patien t = null; | |
| 76 | pr ivate Pati entStudies ListGrid s tudiesGrid = null; | |
| 77 | pr ivate VLay out layout = new VLa yout(); | |
| 78 | pr ivate Stud ySelectedE vent study SelectedEv ent = null ; | |
| 79 | pr ivate stat ic Logger logger = L ogManager. getLogger( ""); | |
| 80 | pr ivate fina l AwivUser Informatio n awivUser Informatio n; | |
| 81 | pr ivate fina l PatientI nformation Pane patie ntInformat ionPane; | |
| 82 | pr ivate fina l PatientS electedEve nt patient SelectedEv ent; | |
| 83 | ||
| 84 | /* * | |
| 85 | * | |
| 86 | * @param aw ivUserInfo rmation Th e informat ion about the logged in user | |
| 87 | * @param pa tientSelec tedEvent E vent handl er for whe n a patien t is selec ted, neces sary so th is tab can clear the patient ( and itself ) if a sen sitive che ck fails | |
| 88 | * / | |
| 89 | pu blic Patie ntStudiesT ab(AwivUse rInformati on awivUse rInformati on, | |
| 90 | Patien tSelectedE vent patie ntSelected Event, boo lean canCl ose) | |
| 91 | { | |
| 92 | supe r(); | |
| 93 | this .awivUserI nformation = awivUse rInformati on; | |
| 94 | this .patientSe lectedEven t = patien tSelectedE vent; | |
| 95 | this .setTitle( "Selected Patient"); | |
| 96 | this .setCanClo se(canClos e); | |
| 97 | stud iesGrid = new Patien tStudiesLi stGrid(awi vUserInfor mation); | |
| 98 | pati entInforma tionPane = new Patie ntInformat ionPane(); | |
| 99 | pati entInforma tionPane.s etAwivUser Informatio n(awivUser Informatio n); | |
| 100 | HLay out mainLa yout = new HLayout() ; | |
| 101 | main Layout.set RedrawOnRe size(false ); | |
| 102 | ||
| 103 | Labe l ccowWarn ing = new Label("WAR NING: The AWIV Web A pplication does not use CCOW ( a means to ensure ea ch window presents d ata from t he same pa tient). Us ers <u>mus t</u> use caution to ensure th at all dat a being vi ewed is fr om the cor rect patie nt."); | |
| 104 | ccow Warning.se tWidth100( ); | |
| 105 | ccow Warning.se tStyleName ("CCOW-War ning"); | |
| 106 | ccow Warning.se tHeight(10 ); | |
| 107 | ||
| 108 | ||
| 109 | layo ut.setRedr awOnResize (false); | |
| 110 | layo ut.addMemb er(studies Grid); | |
| 111 | layo ut.addMemb er(ccowWar ning); | |
| 112 | main Layout.set Members(pa tientInfor mationPane , layout); | |
| 113 | this .setPane(m ainLayout) ; | |
| 114 | } | |
| 115 | ||
| 116 | pu blic Study SelectedEv ent getStu dySelected Event() | |
| 117 | { | |
| 118 | retu rn studySe lectedEven t; | |
| 119 | } | |
| 120 | ||
| 121 | pu blic void setStudySe lectedEven t(StudySel ectedEvent studySele ctedEvent) | |
| 122 | { | |
| 123 | this .studySele ctedEvent = studySel ectedEvent ; | |
| 124 | stud iesGrid.se tStudySele ctedEvent( this.study SelectedEv ent); | |
| 125 | } | |
| 126 | ||
| 127 | /* * | |
| 128 | * Display t he specifi ed patient | |
| 129 | * @param pa tient | |
| 130 | * / | |
| 131 | pu blic void displayPat ient(Patie nt patient ) | |
| 132 | { | |
| 133 | this .patient = patient; | |
| 134 | //th is.setTitl e(patient. getName()) ; | |
| 135 | this .setTitle( "<span>" + Canvas.im gHTML(Loca tion.getPr otocol() + "//" + Lo cation.get Host() + " /Awiv/imag es/ccow_br oken16.gif ") + " " + patient.g etName() + "</span>" ); | |
| 136 | //th is.patient Informatio nPane.disp layPatient (patient); | |
| 137 | stud iesGrid.se tData((Lis tGridRecor d[])null); | |
| 138 | stud iesGrid.se tPatient(p atient); | |
| 139 | ||
| 140 | if(p atient.isS ensitive() ) | |
| 141 | { | |
| 142 | // don 't display patient i nformation until aft er sensiti ve warning | |
| 143 | displa yPatientSe nsitivityW arning(); | |
| 144 | } | |
| 145 | else | |
| 146 | { | |
| 147 | this.p atientInfo rmationPan e.displayP atient(pat ient); | |
| 148 | //load TreatingSi tes(); | |
| 149 | checkM eansTest() ; | |
| 150 | } | |
| 151 | } | |
| 152 | ||
| 153 | pr ivate void displayPa tientSensi tivityWarn ing() | |
| 154 | { | |
| 155 | Pati entSensiti vityCheck. checkSensi tivePatien t(awivUser Informatio n, patient , | |
| 156 | new Pati entSensiti vityCheckC ompleteEve nt() | |
| 157 | { | |
| 158 | @Overr ide | |
| 159 | public void onPa tientSensi tivityChec kComplete( boolean al lowedToCon tinue, int sensitive Code) | |
| 160 | { | |
| 161 | if(allow edToContin ue) | |
| 162 | { | |
| 163 | if(sensiti veCode > 0 ) | |
| 164 | { | |
| 165 | lo gSensitive PatientAcc ess(); | |
| 166 | } | |
| 167 | patientInf ormationPa ne.display Patient(pa tient); | |
| 168 | patient.up dateAgreed SensitiveC ode(sensit iveCode); | |
| 169 | checkMeans Test(); | |
| 170 | //loadTrea tingSites( ); | |
| 171 | ||
| 172 | } | |
| 173 | else | |
| 174 | { | |
| 175 | clearPatie nt(); | |
| 176 | } | |
| 177 | } | |
| 178 | }); | |
| 179 | } | |
| 180 | ||
| 181 | pr ivate void logSensit ivePatient Access() | |
| 182 | { | |
| 183 | Stri ng transac tionId = U UID.uuid() ; | |
| 184 | logg er.info("L ogging acc ess to sen sitive pat ient '" + patient.ge tIcn() + " ' from sit e '" + awi vUserInfor mation.get PatientLoo kupSiteNum ber() + "' , with tra nsaction I d '" + tra nsactionId + "'."); | |
| 185 | Pati entLookupS erviceDao. patientLoo kupService Dao.logPat ientSensit iveAccess( transactio nId, awivU serInforma tion.getPa tientLooku pSiteNumbe r(), patie nt.getIcn( ), new Asy ncCallback <Boolean>( ) | |
| 186 | { | |
| 187 | ||
| 188 | /* (no n-Javadoc) | |
| 189 | * @se e com.goog le.gwt.use r.client.r pc.AsyncCa llback#onF ailure(jav a.lang.Thr owable) | |
| 190 | */ | |
| 191 | @Overr ide | |
| 192 | public void onFa ilure(Thro wable arg0 ) | |
| 193 | { | |
| 194 | // error occurred, not reall y doing an ything abo ut it | |
| 195 | logger.e rror("Erro r logging access to sensitive patient, " + arg0.ge tMessage() ); | |
| 196 | if(!Awiv ExceptionH andler.han dleService Exception( arg0)) | |
| 197 | { | |
| 198 | // don't d o anything - don't s how this t o the user (although it's not great) | |
| 199 | } | |
| 200 | } | |
| 201 | ||
| 202 | /* (no n-Javadoc) | |
| 203 | * @se e com.goog le.gwt.use r.client.r pc.AsyncCa llback#onS uccess(jav a.lang.Obj ect) | |
| 204 | */ | |
| 205 | @Overr ide | |
| 206 | public void onSu ccess(Bool ean arg0) | |
| 207 | { | |
| 208 | logger.i nfo("Succe ssfully lo gged acces s to sensi tive patie nt"); | |
| 209 | } | |
| 210 | ||
| 211 | }); | |
| 212 | } | |
| 213 | ||
| 214 | pr ivate void checkMean sTest() | |
| 215 | { | |
| 216 | if(a wivUserInf ormation.g etAwivServ erInformat ion().isCh eckMeansTe st()) | |
| 217 | { | |
| 218 | String transacti onId = UUI D.uuid(); | |
| 219 | logger .info("Che cking mean s test for patient ' " + patien t.getIcn() + "' from site '" + awivUserI nformation .getPatien tLookupSit eNumber() + "', with transacti on Id '" + transacti onId + "'. "); | |
| 220 | WaitDi alog.displ ayWaitDial og("Checki ng Means T est", "Che cking mean s test inf ormation f or selecte d patient" ); | |
| 221 | Patien tLookupSer viceDao.pa tientLooku pServiceDa o.getPatie ntMeansTes t(transact ionId, | |
| 222 | awivUserIn formation. getPatient LookupSite Number(), patient.ge tIcn(), ne w AsyncCal lback<Awiv MeansTestR esult>() | |
| 223 | { | |
| 224 | @O verride | |
| 225 | pu blic void onSuccess( AwivMeansT estResult awivMeansT estResult) | |
| 226 | { | |
| 227 | Wait Dialog.hid eWaitDialo g(); | |
| 228 | if(a wivMeansTe stResult.i sMeansTest Required() ) | |
| 229 | { | |
| 230 | logger .info("Mea ns test is required for patien t '" + pat ient.getIc n() + "' f rom site ' " + awivUs erInformat ion.getPat ientLookup SiteNumber () + "."); | |
| 231 | SC.say ("MEANS TE ST REQUIRE D !!!", | |
| 232 | awivMeansT estResult. getMessage () + "<br> <br>A Mean s Test is Required f or this pa tient.", | |
| 233 | new Boolea nCallback( ) | |
| 234 | { | |
| 235 | @O verride | |
| 236 | pu blic void execute(Bo olean valu e) | |
| 237 | { | |
| 238 | // d oesn't mat ter if the y click ok or not | |
| 239 | load TreatingSi tes(); | |
| 240 | } | |
| 241 | }); | |
| 242 | } | |
| 243 | else | |
| 244 | { | |
| 245 | loadTr eatingSite s(); | |
| 246 | } | |
| 247 | } | |
| 248 | ||
| 249 | @O verride | |
| 250 | pu blic void onFailure( Throwable arg0) | |
| 251 | { | |
| 252 | Wait Dialog.hid eWaitDialo g(); | |
| 253 | logg er.error(" Error load ing means test for p atient, " + arg0.get Message()) ; | |
| 254 | if(! AwivExcept ionHandler .handleSer viceExcept ion(arg0)) | |
| 255 | { | |
| 256 | AwivHe lper.displ ayErrorMes sage("Erro r checking means tes t for pati ent", arg0 ); | |
| 257 | } | |
| 258 | load TreatingSi tes(); | |
| 259 | } | |
| 260 | }); | |
| 261 | } | |
| 262 | else | |
| 263 | { | |
| 264 | // not checking means test , | |
| 265 | loadTr eatingSite s(); | |
| 266 | } | |
| 267 | } | |
| 268 | ||
| 269 | pr ivate void loadTreat ingSites() | |
| 270 | { | |
| 271 | fina l Treating SitesToolS trip toolS trip = new TreatingS itesToolSt rip(); | |
| 272 | layo ut.addMemb er(toolStr ip, 0); | |
| 273 | ||
| 274 | Stri ng transac tionId = U UID.uuid() ; | |
| 275 | logg er.info("R etrieving treating s ites for p atient '" + patient. getIcn() + "' from s ite '" + a wivUserInf ormation.g etPatientL ookupSiteN umber() + "', with t ransaction Id '" + t ransaction Id + "'.") ; | |
| 276 | Wait Dialog.dis playWaitDi alog("Load ing Patien t", "Loadi ng patient treating sites"); | |
| 277 | Pati entTreatin gSitesServ iceDao.pat ientTreati ngSitesSer viceDao.ge tPatientSi tes(transa ctionId, | |
| 278 | awivUser Informatio n.getPatie ntLookupSi teNumber() , patient. getIcn(), | |
| 279 | new Asyn cCallback< AwivSite[] >() | |
| 280 | { | |
| 281 | ||
| 282 | @Overr ide | |
| 283 | public void onFa ilure(Thro wable arg0 ) | |
| 284 | { | |
| 285 | WaitDial og.hideWai tDialog(); | |
| 286 | logger.e rror("Erro r loading treating s ites for p atient, " + arg0.get Message()) ; | |
| 287 | if(!Awiv ExceptionH andler.han dleService Exception( arg0)) | |
| 288 | { | |
| 289 | AwivHelper .displayEr rorMessage ("Error lo ading trea ting sites for patie nt", arg0) ; | |
| 290 | } | |
| 291 | } | |
| 292 | ||
| 293 | @Overr ide | |
| 294 | public void onSu ccess(Awiv Site[] awi vSites) | |
| 295 | { | |
| 296 | WaitDial og.hideWai tDialog(); | |
| 297 | logger.i nfo("Found '" + awiv Sites.leng th + "' s ites for p atient '" + patient. getIcn() + "'."); | |
| 298 | for(Awiv Site awivS ite : awiv Sites) | |
| 299 | { | |
| 300 | SiteButton button = new SiteBu tton(awivS ite.getSit eName(), a wivSite.ge tSiteNumbe r()); | |
| 301 | addTreatin gSiteClick Event(butt on); | |
| 302 | toolStrip. addButton( button); | |
| 303 | logger.inf o("Adding button for site '" + awivSite. toString() + "'."); | |
| 304 | } | |
| 305 | } | |
| 306 | }); | |
| 307 | } | |
| 308 | ||
| 309 | pr ivate void addTreati ngSiteClic kEvent(fin al SiteBut ton siteBu tton) | |
| 310 | { | |
| 311 | site Button.add ClickHandl er(new Cli ckHandler( ) | |
| 312 | { | |
| 313 | @Overr ide | |
| 314 | public void onCl ick(ClickE vent event ) | |
| 315 | { | |
| 316 | siteButt onClicked( siteButton ); | |
| 317 | } | |
| 318 | }); | |
| 319 | } | |
| 320 | ||
| 321 | pr ivate void siteButto nClicked(f inal SiteB utton site Button) | |
| 322 | { | |
| 323 | if(s iteButton. getSiteCon nectivityS tate() == SiteConnec tivityStat e.connecte d) | |
| 324 | { | |
| 325 | // alr eady conne cted, disc onnect and remove th e results | |
| 326 | if(sit eButton.ge tRecords() != null) | |
| 327 | { | |
| 328 | logger.i nfo("Disco nnecting s ite '" + s iteButton. getSiteNam e() + "', removing s tudies fro m this sit e."); | |
| 329 | studiesG rid.remove Studies(si teButton.g etRecords( )); | |
| 330 | siteButt on.setSite Connectivi tyState(Si teConnecti vityState. disconnect ed); | |
| 331 | } | |
| 332 | } | |
| 333 | else if(siteBu tton.getSi teConnecti vityState( ) == SiteC onnectivit yState.con necting) | |
| 334 | { | |
| 335 | if(sit eButton.ge tRequest() != null) | |
| 336 | { | |
| 337 | logger.i nfo("Cance lling site '" + site Button.get SiteName() + "' requ est for st udies"); | |
| 338 | siteButt on.getRequ est().canc el(); | |
| 339 | siteButt on.setSite Connectivi tyState(Si teConnecti vityState. disconnect ed); | |
| 340 | } | |
| 341 | } | |
| 342 | else | |
| 343 | { | |
| 344 | // dis connected, connect n ow | |
| 345 | loadSi teStudies( siteButton ); | |
| 346 | } | |
| 347 | } | |
| 348 | ||
| 349 | pr ivate void loadSiteS tudies(fin al SiteBut ton siteBu tton) | |
| 350 | { | |
| 351 | site Button.set SiteConnec tivityStat e(SiteConn ectivitySt ate.connec ting); | |
| 352 | site Button.set Tooltip("" ); | |
| 353 | ||
| 354 | Stri ng transac tionId = U UID.uuid() ; | |
| 355 | Stri ng userVie wableImage Class = Aw ivHelper.g etUserView ableImageC lass(this. awivUserIn formation) ; | |
| 356 | logg er.info("R etrieving studies fo r patient '" + patie nt.getIcn( ) + "' fro m site '" + siteButt on.getSite Number() + "' with c lass '" + userViewab leImageCla ss + "' wi th transac tion Id '" + transac tionId + " '."); | |
| 357 | Requ est reques t = Patien tStudyServ iceDao.pat ientStudyS erviceDao. getPatient Studies(tr ansactionI d, patient .getIcn(), | |
| 358 | siteButt on.getSite Number(), patient.ge tAgreedSen sitiveCode (), | |
| 359 | userView ableImageC lass, | |
| 360 | new Asyn cCallback< AwivArtifa ctResults> () | |
| 361 | { | |
| 362 | ||
| 363 | @Overr ide | |
| 364 | public void onSu ccess(Awiv ArtifactRe sults resu lt) | |
| 365 | { | |
| 366 | siteButt on.setRequ est(null); | |
| 367 | AwivStud y [] awivS tudies = r esult.getA wivStudies (); | |
| 368 | StudyRec ord [] rec ords = new StudyReco rd[awivStu dies.lengt h]; | |
| 369 | for(int i = 0; i < awivStudi es.length; i++) | |
| 370 | { | |
| 371 | records[i] = new Stu dyRecord(a wivStudies [i]); | |
| 372 | } | |
| 373 | siteButt on.setReco rds(record s); | |
| 374 | studiesG rid.addStu dies(recor ds); | |
| 375 | siteButt on.setStud yCount(rec ords.lengt h); | |
| 376 | siteButt on.setPart ial(result .isPartial Result()); | |
| 377 | if(resul t.getParti alResultMe ssage() != null) | |
| 378 | logger.inf o("Got par tial resul t message '" + resul t.getParti alResultMe ssage() + "' from si te '" + si teButton.g etSiteNumb er() + "'. "); | |
| 379 | siteButt on.setSite Connectivi tyState(Si teConnecti vityState. connected) ; | |
| 380 | } | |
| 381 | ||
| 382 | @Overr ide | |
| 383 | public void onFa ilure(Thro wable caug ht) | |
| 384 | { | |
| 385 | siteButt on.setRequ est(null); | |
| 386 | siteButt on.setReco rds(null); | |
| 387 | siteButt on.setSite Connectivi tyState(Si teConnecti vityState. disconnect ed); | |
| 388 | logger.e rror("Erro r loading studies fo r patient from site '" + siteB utton.getS iteNumber( ) + "', " + caught.g etMessage( )); | |
| 389 | if(!Awiv ExceptionH andler.han dleService Exception( caught)) | |
| 390 | { | |
| 391 | if(caught instanceof AwivInsuf ficientPat ientSensit ivityExcep tion) | |
| 392 | { | |
| 393 | fi nal AwivIn sufficient PatientSen sitivityEx ception aw ivInsuffic ientPatien tSensitivi tyExceptio n = | |
| 394 | (Awi vInsuffici entPatient Sensitivit yException )caught; | |
| 395 | lo gger.warn( "Insuffici entPatient Sensitivit yException for patie nt at site '" + site Button.get SiteNumber () + "'.") ; | |
| 396 | Pa tientSensi tivityChec k.displayP atientSens itivityWar ning( | |
| 397 | new Aw ivPatientS ensitivity (awivInsuf ficientPat ientSensit ivityExcep tion.getCo de(), | |
| 398 | awivInsuff icientPati entSensiti vityExcept ion.getWar ningMessag e()), | |
| 399 | new Pa tientSensi tivityChec kCompleteE vent() | |
| 400 | { | |
| 401 | ||
| 402 | @Overrid e | |
| 403 | public v oid onPati entSensiti vityCheckC omplete(bo olean allo wedToConti nue, int s ensitiveCo de) | |
| 404 | { | |
| 405 | if(allowed ToContinue ) | |
| 406 | { | |
| 407 | pa tient.upda teAgreedSe nsitiveCod e(sensitiv eCode); | |
| 408 | // reload th e data for the site | |
| 409 | lo adSiteStud ies(siteBu tton); | |
| 410 | } | |
| 411 | else | |
| 412 | { | |
| 413 | lo gger.warn( "User did not agree to sensiti ve level f or patient , will not display s tudies fro m '" + sit eButton.ge tSiteNumbe r() + "'." ); | |
| 414 | } | |
| 415 | } | |
| 416 | }); | |
| 417 | } | |
| 418 | else | |
| 419 | { | |
| 420 | ||
| 421 | si teButton.s etTooltip( caught.get Message()) ; | |
| 422 | } | |
| 423 | } | |
| 424 | } | |
| 425 | }); | |
| 426 | site Button.set Request(re quest); | |
| 427 | } | |
| 428 | ||
| 429 | @O verride | |
| 430 | pu blic int g etCreation Index() | |
| 431 | { | |
| 432 | retu rn 2; | |
| 433 | } | |
| 434 | ||
| 435 | pr ivate void clearPati ent() | |
| 436 | { | |
| 437 | pati entSelecte dEvent.onP atientSele cted(null, true); | |
| 438 | } | |
| 439 | } |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.