Produced by Araxis Merge on 4/2/2019 9:48:11 PM Eastern 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 | JLV_JLV 2_7_2_0_0.zip\JLV_Src\JLV\grails-app\assets\javascripts\view\widgets\patient | PatientVLER.js | Wed Mar 20 21:44:22 2019 UTC |
2 | JLV_JLV 2_7_2_0_0.zip\JLV_Src\JLV\grails-app\assets\javascripts\view\widgets\patient | PatientVLER.js | Mon Apr 1 18:20:40 2019 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 2 | 700 |
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 | //= requir e ./Patien tWidget.js | |
2 | //= requir e ./window s/PatientV LERWidgetW indow.js | |
3 | ||
4 | ||
5 | /*------ V A VLER Wid get ------ -*/ | |
6 | ||
7 | JLV.VLERCo llection = JLV.Patie ntDataColl ection.ext end({ | |
8 | url: ' patientVLE R/list.jso n', | |
9 | model: JLV.Patie ntDataMode l.extend({ | |
10 | pa rse: funct ion (data) { | |
11 | ||
12 | if (data .authors & & data.aut hors[0].in stitution) { | |
13 | var source = d ata.author s[0].insti tution; | |
14 | if ( source.ind exOf('^') > 0) { | |
15 | source = s ource.subs tring(0, s ource.inde xOf('^')); | |
16 | } | |
17 | data .instituti on = sourc e; | |
18 | } | |
19 | ||
20 | //date r ules | |
21 | //JLVENT -2625 : st rip timezo ne from da ta | |
22 | if(data. creationTi me && data .creationT ime.length > 24){ | |
23 | data .creationT ime = data .creationT ime.substr ing(0,19); | |
24 | } | |
25 | ||
26 | if(data. serviceSta rtTime && data.servi ceStartTim e.length > 24){ | |
27 | data .serviceSt artTime = data.servi ceStartTim e.substrin g(0,19); | |
28 | } | |
29 | if (data .codes && data.codes .length > 0 | |
30 | && d ata.codes[ 0].code | |
31 | && d ata.codes[ 0].code.in dexOf("341 33-9") > - 1) { | |
32 | ||
33 | //pr ocess C32/ CCDA | |
34 | if ( !data.crea tionTime) { | |
35 | data.creat ionTime = new Date() ; | |
36 | } | |
37 | else { | |
38 | data.creat ionTime = new Date(d ata.creati onTime); | |
39 | if (!data. creationTi me.isValid ()) { | |
40 | data.c reationTim e = null; | |
41 | } | |
42 | } | |
43 | ||
44 | } else { | |
45 | //pr ocess c62/ others | |
46 | if ( data.servi ceStartTim e) { | |
47 | data.creat ionTime = new Date(d ata.servic eStartTime ); | |
48 | } el se if (!da ta.creatio nTime) { | |
49 | data.creat ionTime = null; | |
50 | } | |
51 | ||
52 | } | |
53 | ||
54 | return t his._super (data); | |
55 | } | |
56 | }) | |
57 | }); | |
58 | ||
59 | JLV.VLERSi tes = Back bone.Colle ction.exte nd({ | |
60 | url: ' patientVLE R/siteList .json' | |
61 | }); | |
62 | ||
63 | ||
64 | JLV.Patien tVLER = JL V.PatientW idget.exte nd({ | |
65 | option s: { | |
66 | wi dgetId: 'v ler_widget ', | |
67 | na me: 'Commu nity Healt h Summarie s and Docu ments - VA ', | |
68 | st atus: true , | |
69 | cl ipboard: f alse, | |
70 | pr int: true, | |
71 | da svlerDomai n: true, | |
72 | re fresh: tru e, | |
73 | ||
74 | co lumns: [ | |
75 | { | |
76 | titl e: 'Date', | |
77 | widt h: '50%', | |
78 | id: 'creationT ime', | |
79 | form atter: JLV .common.da teFormatte r, | |
80 | sort able: true , | |
81 | widt h: 120 | |
82 | }, | |
83 | { | |
84 | titl e: 'Docume nt', | |
85 | widt h: 140, | |
86 | id: 'name', | |
87 | sort able: true , | |
88 | sort er: JLV.co mmon.linkT extSorter, | |
89 | form atter: fun ction (val ue, model) { | |
90 | if (!(/^Er ror/).test (value) && !(/availa ble for/). test(value )) { | |
91 | return JLV.commo n.linkForm atter(valu e, model); | |
92 | } else { | |
93 | return value; | |
94 | } | |
95 | } | |
96 | }, | |
97 | { | |
98 | titl e: 'Source ', | |
99 | widt h: 150, | |
100 | id: 'instituti on', | |
101 | sort able: true , | |
102 | sort er: JLV.co mmon.linkT extSorter, | |
103 | form atter: fun ction (val ue) { | |
104 | var author = ""; | |
105 | if (value) { | |
106 | author = value; | |
107 | } else { | |
108 | author = ""; | |
109 | } | |
110 | return JLV .common.fo rmatVLERMo nikerDispl ay(author) ; | |
111 | } | |
112 | } | |
113 | ], | |
114 | de faultSort: { | |
115 | id: 'cre ationTime' , | |
116 | asc: fal se | |
117 | }, | |
118 | da ta: JLV.VL ERCollecti on | |
119 | }, | |
120 | initia lize: func tion (opti ons) { | |
121 | th is._super( options); | |
122 | ||
123 | th is._siteLi stBtn = $( '<div titl e="Site Li st" class= "jlv-widge t-toolbutt on">') | |
124 | .append( '<div clas s="icon-li st">') | |
125 | .button( ) | |
126 | .insertA fter(this. _settingsB tn) | |
127 | .tooltip ({ | |
128 | show : false, | |
129 | hide : false, | |
130 | cont ent: '<ul> Fetching s ites....</ ul>', | |
131 | tool tipClass: 'vlerSiteL ist' | |
132 | }).off(' mouseover' ) | |
133 | .on('foc usout, mou seleave', function ( evt) { | |
134 | evt. stopImmedi atePropaga tion(); | |
135 | }) | |
136 | .on('cli ck', funct ion (evt) { | |
137 | evt. stopPropag ation(); | |
138 | $(th is).toolti p('open'); | |
139 | ||
140 | $(do cument).on ('click.vl erSiteList , keydown. vlerSiteLi st', _.bin d(function (evt) { | |
141 | $(this).to oltip('clo se'); | |
142 | $(document ).off('cli ck.vlerSit eList, key down.vlerS iteList'); | |
143 | }, t his)); | |
144 | }); | |
145 | ||
146 | ||
147 | va r self = t his; | |
148 | ||
149 | ne w JLV.VLER Sites().fe tch({ | |
150 | reset: t rue, | |
151 | type: 'P OST', | |
152 | success: function (data) { | |
153 | var content = '<div clas s="vlerSit eListHeade r">Site Li st</div><u l>'; | |
154 | data .each(func tion (mode l) { | |
155 | if (model. get('sourc eName')) { | |
156 | conten t += '<li> ' + model. get('sourc eName') + '</li>'; | |
157 | } | |
158 | ||
159 | }); | |
160 | ||
161 | cont ent += '</ ul>'; | |
162 | self ._siteList Btn.toolti p('option' , 'content ', content ); | |
163 | }, | |
164 | error: f unction (c ollection, err) { | |
165 | if ( err.status !== 200) | |
166 | self._site ListBtn.to oltip('opt ion', 'con tent', '<u l>An error occurred when fetch ing the si te list.</ ul>'); | |
167 | } | |
168 | }) ; | |
169 | ||
170 | if (this._ref reshBtn){ | |
171 | this._re freshBtn.h ide(); | |
172 | } | |
173 | ||
174 | th is._vlerLo adBtn = $( '<div titl e="Force R efresh" ta bindex="0" class="jl v-widget-t oolbutton refresh">' ) | |
175 | .append( '<div clas s="icon-re fresh">') | |
176 | .attr('a ria-label' , 'Force R efresh but ton, press space bar to activa te.') | |
177 | .button( ) | |
178 | .insertB efore(this ._settings Btn).on('c lick', fun ction (evt ) { | |
179 | if (_.isFunc tion(self. loadData)) { | |
180 | JLV.Sess ion.forceR efresh = t rue; | |
181 | self.loa dData(func tion(){ | |
182 | JLV. Session.fo rceRefresh = false; | |
183 | }); | |
184 | } | |
185 | }); | |
186 | }, | |
187 | itemCl icked: fun ction (mod el, item, event) { | |
188 | ||
189 | if (model.ge t('recordD etailsToke n') && mod el.get('se ssionCache dRecord')) { | |
190 | var docU RL = Strin g.format(" VLER/getDo cument?pat Token={0}& recToken={ 1}", | |
191 | JLV. ActivePati entModel.g et('patien tToken'), model.get( 'recordDet ailsToken' )); | |
192 | ||
193 | JLV.comm on.openAux BrowserWin dow(docURL , "JLV - " + model.g et('instit ution') + " : " + mo del.get('n ame')); | |
194 | ||
195 | ||
196 | } else if (m odel.get(' recordDeta ilsToken') ) { | |
197 | var docU RL = Strin g.format(" VLER?patTo ken={0}&re cToken={1} ", | |
198 | JLV. ActivePati entModel.g et('patien tToken'), model.get( 'recordDet ailsToken' )); | |
199 | ||
200 | JLV.comm on.openAux BrowserWin dow(docURL , "JLV - " + model.g et('instit ution') + " : " + mo del.get('n ame')); | |
201 | ||
202 | } else if (_ .startsWit h(item.tex t(), 'Unab le')) { | |
203 | // alert ('works'); | |
204 | ||
205 | event.st opPropagat ion(); | |
206 | ||
207 | var html = "<div a ria-live=' assertive' ><p class= 'jlv-scree nreader-te xt'>" + | |
208 | "JLV was unabl e to retri eve commun ity partne r document s for this patient, from one o r more com munity par tners, for one or mo re of the following reasons:" + | |
209 | "</p >" + | |
210 | "<ul >" + | |
211 | "<li class='jl v-screenre ader-text' >The partn er require s patient consent to release t heir data and the pa tient has not yet co nsented on the partn er side</l i>" + | |
212 | "<li class='jl v-screenre ader-text' >The patie nt was see n outside of the dat es that th e partner can provid e records for</li>" + | |
213 | "<li class='jl v-screenre ader-text' >VA has no t yet esta blished an identity correlatio n for the patient wi th the par tner</li>" + | |
214 | "<li class='jl v-screenre ader-text' >A system issue occu rred which prevented retrieval of docume nts from t he partner (could " + | |
215 | "be technical issues wit h the part ner, the e xchange ga teway, net work or ot her factor s)</li>" + | |
216 | "</u l>" + | |
217 | "<p class='jlv -screenrea der-text'> For furthe r informat ion please contact y our local VHIE Coord inator. If you need assistance " + | |
218 | "identifyi ng your lo cal contac t please e -mail <a P I I ' class='j lv-VLER-em ail-link j lv-clickab le-link'> P I I </a>" + | |
219 | "</p ></div>"; | |
220 | ||
221 | JLV.Inte rfaceStatu sDialog.de tailsPopov er.html(ht ml); | |
222 | ||
223 | JLV.Inte rfaceStatu sDialog.de tailsPopov er.css({ | |
224 | left : (item.of fset().lef t - | |
225 | item.outer Width() / 2 + 12), | |
226 | top: item.offs et().top + 24 | |
227 | }).show( ); | |
228 | } | |
229 | ||
230 | }, | |
231 | loadDa ta: functi on(callbac k) { | |
232 | if (!JLV.Sess ion.vaData Source) { | |
233 | this._da tagrid.sho wMessage(" Data Sourc e not enab led") | |
234 | } else { | |
235 | this._su per(callba ck); | |
236 | } | |
237 | } | |
238 | ||
239 | }); | |
240 | ||
241 | JLV.regist erJLVWidge t('vler_wi dget', JLV .PatientVL ER); | |
242 | ||
243 | ||
244 | /*------ D oD VLER Wi dget ----- --*/ | |
245 | ||
246 | JLV.Patien tDoDVLER = JLV.Patie ntWidget.e xtend({ | |
247 | option s: { | |
248 | wi dgetId: 'v ler_dod_wi dget', | |
249 | na me: 'Commu nity Healt h Summarie s and Docu ments - Do D', | |
250 | te xtSearchFi lter: fals e, | |
251 | cl ipboard: f alse, | |
252 | pr int: false , | |
253 | re fresh: tru e, | |
254 | mo reWindowCl ass: 'JLV. PatientDoD VLERWidget Window', | |
255 | if rameUrl: u ndefined, | |
256 | se ttings: fa lse | |
257 | }, | |
258 | initia lize: func tion (opti ons) { | |
259 | ||
260 | th is._iframe = $('<ifr ame>') | |
261 | .addClas s("jlv-dod -vler-ifra me"); | |
262 | ||
263 | th is._super( options); | |
264 | ||
265 | th is._iframe .appendTo( this._body ); | |
266 | }, | |
267 | loadDa ta: functi on () { | |
268 | ||
269 | ||
270 | ||
271 | this._bo dy.find('. jlv-dod-vl er-no-url' ).remove() ; | |
272 | ||
273 | //this._ moreBtn.hi de(); | |
274 | ||
275 | var self = this; | |
276 | ||
277 | if(JLV.A ctivePatie ntModel.ge t('edipi') == null) { | |
278 | self ._body.pre pend($('<d iv class=" jlv-dod-vl er-no-url" >').text(" No Data")) ; | |
279 | } else { | |
280 | $.po st('Patien tDODVLER/g etWidgetUr l.json', { | |
281 | patToken: JLV.Active PatientMod el.get('pa tientToken '), | |
282 | theme: JLV .Session.u i_conf.opt ions[0].th eme | |
283 | }, f unction (d ata) { | |
284 | //console. info("got url"); | |
285 | ||
286 | if (data) { | |
287 | self._ iframe.pro p('src', d ata); | |
288 | self._ moreBtn.sh ow(); | |
289 | ||
290 | } else { | |
291 | self._ body.prepe nd($('<div class="jl v-dod-vler -no-url">' ).text("No URL set") ); | |
292 | } | |
293 | ||
294 | }).f ail(functi on (respon se) { | |
295 | self._body .prepend($ ('<div cla ss="jlv-do d-vler-no- url">').te xt("No URL set")); | |
296 | AppKit.Ale rtDialog.a lert('Warn ing', "An error occu rred get t he Communi ty Health Summaries Viewer URL - " + res ponse.resp onseText); | |
297 | }); | |
298 | } | |
299 | }, | |
300 | iframe Url: funct ion (aStri ng) { | |
301 | ||
302 | if (aString !== undefi ned) { | |
303 | this._if rameURL = aString; | |
304 | } | |
305 | ||
306 | re turn this. _iframeURL ; | |
307 | ||
308 | }, | |
309 | doPrin t: functio n () { | |
310 | ||
311 | va r dataHTML = '<html> <head><tit le>{{title }}</title> \n{{cssLin k}}</head> '; | |
312 | da taHTML += '<body><di v style="t ext-align: center;fo nt-weight: bold;">Fo r Official Use Only< /div>'; | |
313 | ||
314 | if (JLV.comm on.isDoDPr ovider(JLV .ActivePro vider)) { | |
315 | dataHTML += '<div> <b>Patient Name: </b >{{name}} <b>D OB: </b>{{ dob}} &nbs p;<b>Gende r: </b>{{g ender}} &n bsp;<b>DoD ID: </b>{ {edipi}}</ div>'; | |
316 | } | |
317 | el se { | |
318 | dataHTML += '<div> <b>Patient Name: </b >{{name}} <b>D OB: </b>{{ dob}} &nbs p;<b>Gende r: </b>{{g ender}} &n bsp;<b>SSN : </b>{{fm pssn}}</di v>'; | |
319 | } | |
320 | ||
321 | da taHTML += '<div styl e="positio n:absolute ;top:40px; left:0;rig ht:0;botto m:0;overfl ow:hidden; ">{{bodyHT ML}}</div> </body></h tml>'; | |
322 | ||
323 | ||
324 | va r printHTM L = _.temp late(dataH TML)(_.ext end({ | |
325 | title: t his.get('n ame') + " Print out - " + JLV. ActivePati entModel.g et('name') , | |
326 | cssLink: '<link re l="stylesh eet" type= "text/css" href="ass ets/view/p rint.css"> ', | |
327 | bodyHTML : this._bo dy.html() | |
328 | }, JLV.Activ ePatientMo del.toJSON ())); | |
329 | ||
330 | ||
331 | va r printWin dow = wind ow.open("" , "Print") ; | |
332 | pr intWindow. document.w rite(print HTML); | |
333 | ||
334 | pr intWindow. document.c lose(); | |
335 | se tTimeout(f unction () { | |
336 | printWin dow.print( ); | |
337 | printWin dow.close( ); | |
338 | }, 2000); | |
339 | } | |
340 | //, | |
341 | ////TO DO: NOT SU RE WHAT TH IS SHOULD DO | |
342 | //doCl ipboard: f unction () { | |
343 | // if (window .clipboard Data) { | |
344 | // clipbo ardData.se tData('tex t', "VLER DOD clipbo ard data h ere"); | |
345 | // } | |
346 | //} | |
347 | ||
348 | ||
349 | }); | |
350 | ||
351 | JLV.regist erJLVWidge t('vler_do d_widget', JLV.Patie ntDoDVLER) ; |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.