HRM documents that include a # (hash) in the generated filename fail to load silently
OSCAREMR-6488
ERROR:500 in the Labs area when opening encounter for some patients.
OSCAREMR-4396
Running an "All All" in Inbox Search Crashes OSCAR
OSCAREMR-4314
CVE-2014-3578, CVE-2014-0054, CVE-2014-3625, CVE-2014-1904 - Vulnerabilities in spring-webmvc 3.2.1.RELEASE
OSCAREMR-4204
Med Health Labs Not Populating Diabetic Flow Sheet
OSCAREMR-3645
Allergies for drugs that are missing from drugref do not trigger warnings
OSCAREMR-6472
Switching between days on the schedule considerably longer in OSCAR 15
OSCAREMR-6461
Adding appointment time to consultation - referral letter does not save
OSCAREMR-6411
Billing, Billed patient's visit is not turning blue and shows up on the Unbilled Report
OSCAREMR-5995
Field OHIP Claim No is not populated with the value on Billing Correction screen. Radio button Submitted on the “Invoice Reports” screen misspelled.
OSCAREMR-5922
Automated billing file upload/download via a server job/service
OSCAREMR-5581
User Settings/Preferences Menu - Master Demographic Settings Changed to "Patient Detail"
OSCAREMR-5411
Preventions Make Lot Number selectable from a drop down list
OSCAREMR-5297
Anonymous Notes for Phone Encounters
OSCAREMR-5167
OSCAR Schedule create new demographic in scheduling workflow
OSCAREMR-5093
OSCAR Billing - Visit Location preference
OSCAREMR-5017
Integration Consent: staff signature on consent form
OSCAREMR-4752
Error when attempting to add Lab Results from OLIS to INBOX
OSCAREMR-4410
CVE-2012-1007, CVE-2014-0114 - Vulnerabilities in struts 1.2.7
OSCAREMR-4203
"All" drugs link breaks drugref 500 error
OSCAREMR-4147
Billing not being reconciled
OSCAREMR-3908
Can not configure outgoing fax storage
OSCAREMR-3849
Drugs Removed from Current List when "X" is Clicked During Re-RX of Multiple Drugs
OSCAREMR-3818
Laboratory Report from Remote Facility via Integrator Server
OSCAREMR-3737
Lab viewer does not show measurements from other lab types
OSCAREMR-3677
Prescription List not sorting correctly.
OSCAREMR-3672
ERROR IN INBOX DUE TO OLIS UPLOAD
OSCAREMR-3667
Forward Feature in Document Viewer Doesn't Work When Document Opened from Patient Chart
OSCAREMR-3500
Measurement Display in Lab Viewer Omits Manually Entered Values
OSCAREMR-3463
Setting reporter_caisi_role to 0 breaks the echart notes
OSCAREMR-3410
overlapping lab_no for Imported and Uploaded labs
OSCAREMR-3304
GDML labs versions does not display correctly
OSCAREMR-3253
Upgrading will make duplicates of represcriptions
OSCAREMR-3165
Changing date on encounter note creates duplicate revision
OSCAREMR-3134
Inbox - "Date of Test" column shows batch date, not date of test when parsing GDML labs
OSCAREMR-3010
Inbox: Can't search for unlinked lab results
OSCAREMR-3009
Integrated Labs Do NOT Print
OSCAREMR-2984
Billed Appointments not turning blue
OSCAREMR-2980
Re-Prescribing Long Term Medications
OSCAREMR-2929
Cannot Regenerate Billing File if Provider's Billing Number has Changed
OSCAREMR-2909
Deleting a billing form with the same Service Type ID as another form deletes both
OSCAREMR-2866
Collision of invoice numbers between clinics
OSCAREMR-2845
Adding new note when editing existing note loses first note
OSCAREMR-2755
Adding new issue in case notes removes date/time data
OSCAREMR-2621
Using public template, "Search for Next Available Appointment" Returns No Results
OSCAREMR-2323
Low priority privileges can clobber high priority privileges
OSCAREMR-1896
Create or Edit Consultation Requests Does Not Log Editor/Creator Provider Number
OSCAREMR-6957
Billing Invoice Provider update doesn't refresh provider ohip no.
OSCAREMR-6941
Attaching wrong eform in Consult request
OSCAREMR-6916
BC WCB Billing - Electronic Form Submission - Clinical Information Not Properly Compiled into Billing Submission File Leading to Automatic Rejection
OSCAREMR-6881
issue 1 of 1020

HRM documents that include a # (hash) in the generated filename fail to load silently

Preconditions

Have HRM enabled

Steps to Reproduce

1. Receive a HRM document that includes a # in the username such as:

20180724174840910_123412345_4265_MR_GI90#eScript_3004675_20180724174800_0400000_P__F_11111111111_46_90772.xml

Expected Result

The file is parsed and added to OSCAR, including the patient's inbox.

Observed Result

This error is thrown instead:

[HRMReportParser:111] error
javax.xml.bind.UnmarshalException

  • with linked exception:
    [java.io.FileNotFoundException: C:\Tomcat8.5\webapps\OscarDocument\oscar\document\20180724174840910_123412345_4265_MR_GI90 (The system cannot find the file specified)]

...

org.oscarehr.hospitalReportManager.HRMReportParser.parseReport(HRMReportParser.java:101)
at org.oscarehr.hospitalReportManager.SFTPConnector.startAutoFetch(SFTPConnector.java:625)

Most importantly, the file does not appear in the patient's chart.

Additional Comments

In looking at the function public static HRMReport parseReport(LoggedInInfo loggedInInfo, String hrmReportFileLocation) we think hrmReportFileLocation contains the full file location, including the #.

At line 101 (below), when a file with a filename including a # is passed, it seems to break.

root = (OmdCds) u.unmarshal(tmpXMLholder);

We created a proof of concept to isolate this bug where we created a small program where we passed a file with a # in the filename to create a similar error, and once the # was removed from the filename, the error resolved.

We are testing a patch in line with the suggestion here: https://stackoverflow.com/questions/30920810/jaxb-unmarshalexception-filename-containing - of passing a FileInputStream into the unmarshal function, instead of the File directly. i.e.

try (FileInputStream fis = new FileInputStream(tmpXMLholder)) {
root = (OmdCds) u.unmarshal(fis);
}

ONE final note:

Our main investigation / testing was done on a Windows Service machine. We do NOT think this is specific to windows, but we ran the following code on a ubuntu 16.04 LTS machine with default-jdk installed.

import java.io.*;
import javax.xml.bind.*;

public class A {
public static void main(String[] args) throws Exception {

File f = new File("~/abc#abc.txt");

JAXBContext jc = JAXBContext.newInstance();
Unmarshaller u = jc.createUnmarshaller();
u.unmarshal(f);

}
}

We got a very similar error showing a similar truncation problem:

Exception in thread "main" javax.xml.bind.UnmarshalException

  • with linked exception:
    [java.io.FileNotFoundException: /home/chimeadmin/~/abc (No such file or directory)]

Assignee

Unassigned

Reporter

Keith Chung

Labels

None

OSCAR Build Date

2018/06/16

OSCAR Build Tag

800

Client Browser

Firefox

Client OS

Windows 10

Are you or your organization planning on submitting a fix for this bug in the next 30 days?

No

Validated by Reporter

No

SourceForge Link

None

SourceForge Reporter

None

SourceForge Assigned To

None

SourceForge Date Created

None

SourceForge ID

None

Affects versions

Priority

8
Configure