Problem Summary
When an HRM reports with no Address tags in XML file is dsiplayed in OSCAR the report does not load completely and the options to assign the report or sign off are not displyed
Editing the file displayHRMReport.jsp and commenting out the lines
<%=hrmReport.getAddressLine1() %>
<%=hrmReport.getAddressLine2() != null ? hrmReport.getAddressLine2() : "" %>
<%=hrmReport.getAddressCity() %>
Allows the report to display properly
Expected Result
HRM reports with no Address info should display properly
Actual Result
HRM reports with no address info do not load completely.
Steps to Reporduce
Upload HRM reports with no address info to InBOX.
Click on report to display.
Reproduce IN
12_11 Build 448 (fresh install) + Ubuntu 12 LTS (fresh install)
Catalina.out shows the following error.
2014-11-26 11:00:08,410 INFO [HRMReportParser:60] Parsing the Report in the location:/var/lib/tomcat6/webapps/OscarDocument/Oscar12_1/hrm/sftp_downloads/15112014/decrypted//20141115124133422_MR_000103723_4056_MR_MR_766758_201411151240_0400_P__F_AC013065_14_120_28060.xml
2014-11-26 11:00:08,794 ERROR [DbConnectionFilter:67] Unexpected error.
org.apache.jasper.JasperException: An exception occurred processing JSP page /hospitalReportManager/displayHRMReport.jsp at line 359
356:
357:
358: <%=hrmReport.getLegalName() %>
359: <%=hrmReport.getAddressLine1() %>
360: <%=hrmReport.getAddressLine2() != null ? hrmReport.getAddressLine2() : "" %>
361: <%=hrmReport.getAddressCity() %>
362:
Stacktrace:
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at oscar.oscarSecurity.LoginFilter.doFilter(LoginFilter.java:127)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at net.sf.cookierevolver.servlet.CRFilterImpl.doFilter(CRFilterImpl.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.oscarehr.util.LoggedInUserFilter.doFilter(LoggedInUserFilter.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.oscarehr.util.DbConnectionFilter.doFilter(DbConnectionFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.oscarehr.util.ResponseDefaultsFilter.doFilter(ResponseDefaultsFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.oscarehr.util.ProblemCheckFilter.doFilter(ProblemCheckFilter.java:188)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at org.oscarehr.hospitalReportManager.HRMReport.getAddressLine1(HRMReport.java:133)
at org.apache.jsp.hospitalReportManager.displayHRMReport_jsp._jspService(displayHRMReport_jsp.java:519)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
... 51 more
2014-11-26 11:00:08,794 WARN [ProblemCheckFilter:203] Possible excessive memory usage | 47733520 | /Oscar12_1/hospitalReportManager/Display.do | id=7&segmentID=7&providerNo=100000&searchProviderNo=187930&status=U&demoName=XXXXXXXX,AAAAAA%20PATRICIA%20&duplicateLabIds=
Oringinal HRM XML file contents which cause error
<omdcds xmlns="cds" xmlns:cdst="cds_dt" xmlns:dfl="cds" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="cds C:\XMLforSpec4.1A\report_manager.xsd"><patientrecord><demographics><names><cdst:legalname namepurpose="L"><cdst:firstname><cdst:part>AAAA</cdst:part><cdst:partqualifier>CL</cdst:partqualifier><cdst:parttype>GIV</cdst:parttype></cdst:firstname><cdst:lastname><cdst:part>XXXX</cdst:part><cdst:partqualifier>BR</cdst:partqualifier><cdst:parttype>FAMC</cdst:parttype></cdst:lastname><cdst:othername><cdst:part>AAAA</cdst:part><cdst:partqualifier>CL</cdst:partqualifier><cdst:parttype>GIV</cdst:parttype></cdst:othername></cdst:legalname></names><dateofbirth><cdst:fulldate>1934-03-17</cdst:fulldate></dateofbirth><healthcard><cdst:number>2222222222</cdst:number><cdst:version>TR</cdst:version><cdst:provincecode>CA-ON</cdst:provincecode></healthcard><gender>F</gender><uniquevendoridsequence>0</uniquevendoridsequence><personstatuscode>A</personstatuscode></demographics><reportsreceived><media>Download</media><format>Text</format><fileextensionandversion>From OMD Report Manager</fileextensionandversion><content><cdst:textcontent>ST. JOSEPH'S HEALTH CENTRE
TORONTO, CANADA</cdst:textcontent></content></reportsreceived></patientrecord></omdcds>
V# AC013065/14
DISCHARGE SUMMARY
ADMITTED: NOVEMBER 14, 2014
DISCHARGED: NOVEMBER 15, 2014 J#
08718427
NAME: XXXXX, AAAAA PATRICIA
DOB: 03/17/1900 SEX: F
HCN: 1111111111-TR
THIS DOCUMENT HAS BEEN "ELECTRONICALLY AUTHENTICATED" AS DEFINED IN
ST. JOSEPH'S HEALTH CENTRE MEDICAL STAFF RULES AND REGULATIONS,
APPENDIX J.
CC: xxx, MD, FRCP(C), (416)111-1111*
XXXX XXXX, MD, 22222
DISCHARGE DIAGNOSES:
PAST MEDICAL HISTORY:
COURSE IN HOSPITAL: Ms. XXX is an 80-year-old female from home
who was recently discharged on November 13, 2014 by myself. She was
DD: 11/15/2014 12:30:06 pm DT: 11/15/2014 12:32:19 pm
<class>Medical Records Report</class><subclass>05^DISCHARGE SUMMARY</subclass><eventdatetime><cdst:datetime>2014-11-15T12:32:00</cdst:datetime></eventdatetime><authorphysician><cdst:lastname>^xxx^YYY^^^^MD</cdst:lastname></authorphysician><sendingfacility>4056</sendingfacility><sendingfacilityreportnumber>MR-766758</sendingfacilityreportnumber><resultstatus>S</resultstatus><transactioninformation><messageuniqueid>20141115124133422^MR-000103723^4056^MR^MR-766758^201411151240^P^^F^AC013065/14^120</messageuniqueid><delivertouserid>D28060</delivertouserid><provider><cdst:firstname>XXX</cdst:firstname><cdst:lastname>YYY</cdst:lastname></provider></transactioninformation>
SAMPLE of a HRM XML file that has Address tags and displays properly"
<omdcds xmlns="cds" xmlns:cdst="cds_dt" xmlns:dfl="cds" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="cds C:\XMLforSpec4.1A\report_manager.xsd"><patientrecord><demographics><names><cdst:legalname namepurpose="L"><cdst:firstname><cdst:part>PHARMACY</cdst:part><cdst:partqualifier>CL</cdst:partqualifier><cdst:parttype>GIV</cdst:parttype></cdst:firstname><cdst:lastname><cdst:part>TESTING</cdst:part><cdst:partqualifier>BR</cdst:partqualifier><cdst:parttype>FAMC</cdst:parttype></cdst:lastname></cdst:legalname></names><dateofbirth><cdst:fulldate>1995-05-01</cdst:fulldate></dateofbirth><healthcard><cdst:number></cdst:number><cdst:version></cdst:version><cdst:provincecode>CA-ON</cdst:provincecode></healthcard><gender>M</gender><uniquevendoridsequence>0</uniquevendoridsequence></demographics></patientrecord></omdcds>
<cdst:structured><cdst:line1>gatrewajfkl</cdst:line1><cdst:city>TORONTO</cdst:city><cdst:countrysubdivisioncode>CANON</cdst:countrysubdivisioncode><cdst:postalzipcode><cdst:postalcode>M1M1M1</cdst:postalcode></cdst:postalzipcode></cdst:structured><phonenumber phonenumbertype="R"><cdst:phonenumber>(416)123-4567</cdst:phonenumber></phonenumber><personstatuscode>A</personstatuscode><reportsreceived><media>Download</media><format>Text</format><fileextensionandversion>From OMD Report Manager</fileextensionandversion><content><cdst:textcontent>This is a test report for Mr. Hongle.Transcribed on:: 08/28/2013
Transcribed by:: <None>
<class>Diagnostic Imaging Report</class><authorphysician><cdst:lastname>015226^XXXG^AAALA^^MD^^</cdst:lastname></authorphysician><sendingfacility>4209</sendingfacility><sendingfacilityreportnumber>5513444</sendingfacilityreportnumber><obrcontent><accompanyingsubclass>XR</accompanyingsubclass><accompanyingmnemonic>CH-000187</accompanyingmnemonic><accompanyingdescription>Chest PA and Lateral</accompanyingdescription><observationdatetime><cdst:datetime>2013-08-28T15:46:52</cdst:datetime></observationdatetime></obrcontent><resultstatus>S</resultstatus><transactioninformation><messageuniqueid>20130909092702907^Q155887112T142761041^4209^DI^5513444^20130828160013^T^^F^1213650^8</messageuniqueid><delivertouserid>D888888</delivertouserid><provider><cdst:firstname>test</cdst:firstname><cdst:lastname>test</cdst:lastname></provider></transactioninformation>
https://source.oscartools.org:8080/11295
Re-tested R12.1 build # 449 -> issue has been resolved.