Menu

#4028 Billing NPE when chart entered from message or from document

RELEASE_12_1
closed-fixed
Peter HC
None
8
2016-04-19
2015-07-09
Peter HC
No

Tested on
Oscar 12.1.2
build date: May 28, 2015 11:55:34 AM
build tag: 12.1.2.68_QA_451patch2 Oscar12_1
Firefox 36.0
Linux Mint

BUG
appointmentDate URL token set to null instead of open tag (appointmentDate=&star) passed resulting in uneditable null injection into subsequent billing screens, which in turn, when the bill is saved, renders the chart inaccessible

NOTES
1) This may be due to a null date entry added to billing_on_cheader1.billing. An open tag as happens when accessed from search allows for the current date to be set for the bill.
2) This appears to be fixed in OSCAR 15 from brief testing

Steps to reproduce
1) Scan a document and attach it to a chart
2) open the document in the inbox and click [eChart]
3) a chart entry similar to [09-Jul-2015 .: Lab Results-Notes] will be formed
note the header URL has es&appointmentDate=null&star

alternately
1) Write a Oscar Message to yourself and attach a demographic
2) Open the message and click on [E] to get to the demographic linked
3) a chart entry similar to [09-Jul-2015 .: null] will be formed
note the header URL has &reason=null&appointmentDate=null&start_time

IN EITHER SCENARIO
4) click [sign save and bill] will give you an Ontario billing screen with non editable null date set.
5) try to bill a A007 799. A confirmation screen will show with the null date shown
6) ignore that too and save and get a NPE
7) now you will be unable to open the chart again
instead you get a HTTP Status 500 -

javax.servlet.ServletException: javax.servlet.ServletException: java.text.ParseException: Unparseable date: "null 00:00:00"
org.oscarehr.util.DbConnectionFilter.doFilter(DbConnectionFilter.java:68)
org.oscarehr.util.ResponseDefaultsFilter.doFilter(ResponseDefaultsFilter.java:69)
org.oscarehr.util.ProblemCheckFilter.doFilter(ProblemCheckFilter.java:188)

root cause

javax.servlet.ServletException: java.text.ParseException: Unparseable date: "null 00:00:00"
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
oscar.oscarSecurity.LoginFilter.doFilter(LoginFilter.java:127)
net.sf.cookierevolver.servlet.CRFilterImpl.doFilter(CRFilterImpl.java:60)
org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
org.oscarehr.util.LoggedInUserFilter.doFilter(LoggedInUserFilter.java:60)
org.oscarehr.util.DbConnectionFilter.doFilter(DbConnectionFilter.java:65)
org.oscarehr.util.ResponseDefaultsFilter.doFilter(ResponseDefaultsFilter.java:69)
org.oscarehr.util.ProblemCheckFilter.doFilter(ProblemCheckFilter.java:188)

root cause

java.text.ParseException: Unparseable date: "null 00:00:00"
java.text.DateFormat.parse(DateFormat.java:357)
org.oscarehr.casemgmt.web.CaseManagementViewAction.viewCurrentIssuesTab_newCmeNotesOpt(CaseManagementViewAction.java:2005)
org.oscarehr.casemgmt.web.CaseManagementViewAction.viewNotesOpt(CaseManagementViewAction.java:1893)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
oscar.oscarSecurity.LoginFilter.doFilter(LoginFilter.java:127)
net.sf.cookierevolver.servlet.CRFilterImpl.doFilter(CRFilterImpl.java:60)
org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
org.oscarehr.util.LoggedInUserFilter.doFilter(LoggedInUserFilter.java:60)
org.oscarehr.util.DbConnectionFilter.doFilter(DbConnectionFilter.java:65)
org.oscarehr.util.ResponseDefaultsFilter.doFilter(ResponseDefaultsFilter.java:69)
org.oscarehr.util.ProblemCheckFilter.doFilter(ProblemCheckFilter.java:188)

Related

Bugs: #2754

Discussion

  • SBek

    SBek - 2015-09-01

    The issue appears to be resolved in Master with this commit https://source.oscartools.org:8080/#/c/6766/ for the bug [#2754].

     

    Related

    Bugs: #2754

  • SBek

    SBek - 2015-09-01
    • status: open --> open-accepted
     
  • SBek

    SBek - 2015-09-03
     
  • SBek

    SBek - 2015-09-03
    • status: open-accepted --> open-fixed
     
  • Marc Dumontier

    Marc Dumontier - 2016-04-19
    • status: open-fixed --> closed-fixed
     
MongoDB Logo MongoDB