A group of users at the Alaska Native Medical Center in Anchorage, AK, came up with the idea to create a script that was flexible enough to handle all types of adjustments.
This script takes a standard Excel spreadsheet and performs a list of adjustments based on the information in the spreadsheet. ANTHC continued to use the same adjustment form that they had used for manual adjustments. The spreadsheet has one sheet that includes all of the necessary information to perform single line item adjustments as well as adjustments on the entire invoice. This sheet includes an invoice number, date of service, adjustment code, an indication of zero pay, group code, reason code, amount, patient name, reason and a "transfer to" field.
There is also space for e-mail addresses so that confirmation e-mail can be sent to the recipients configured for that particular file. With this configuration, the results can be e-mailed back to the person who dropped the file, the follow-up person, or a manager. This tab also includes a field to include information about an insurance plan. ANTHC uses a template that allows users to input their initials and their e-mail address is automatically populated.
EMUE is able to read directly from the Excel sheets as if they were database tables. By configuring the Excel file to be the input file too, EMUE has access to the exact name of the file using the &FullInputFileName variable. That means that the file can have any name and EMUE will still recognize it. Since the users dropping the files may not be familiar with EMUE, the process is flexible enough to recognize any file in the designated directory.
The following lines configure EMUE's connection to the "database" and retrieve all the records storing them in a list called Adjustments. Notice the use of the &FullInputFileName variable in the connection string. The text "HDR=Yes" indicates that there is a header on the excel file and it will be skipped rather than being processed like a data line.
CreateList Adjustments NoVerifyCount
Concatenate ConnectionString "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &FullInputFileName ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';"
GetOLEDBData Adjustments ConnectionString "SELECT * From [Charge Adjustment$]"
Once the data is retrieved from the file, EMUE loops through the Adjustments list. Since the file can include single line adjustments as well as whole invoice adjustments, EMUE must determine which type of adjustment to perform. The following line retrieves one record from the list and stores each of the fields in variables.
GetListMember Adjustments Inv DOS AdjCode ZeroPay GroupCode ReasonCode Amt1 PtName Reason TransferTo
At this point, the script takes the data from the file and compares it to the data on the mainframe. First, the script checks to see if the invoice balance matches the amount from the file. If it does, then the script will adjust the entire invoice.
Copy SigBal Screen 3 58 10
If SigBal eq Amt1 Then
Copy WholeInvoice "Yes"
If the invoice balance does not match the amount in the file, then the script loops through all line items to see if it can either a) find a single line item that is a match or b) sum the total of the line items whose plan matches the plan from the file and match the amount from the file to this sum.
If there is a single line item that matches the data from the file (amount, date of service, service code), then EMUE performs the single line adjustment and goes on to the next line of the file.
If the sum of the line items whose insurance code matches the one from the file, then EMUE adjusts each of those lines, leaving the reamining line items untouched.
If neither condition a) nor condition b) is true, then EMUE logs this item from the file as an error indicating that it could not find a good match. This file is attached to the completion e-mail so that someone can follow up on particular invoices.
*All scripts on the Databound Healthcare Website and Script Library are created and supported solely by the Siemens user community. Databound does not support and is not responsible for the content of this script. As always, we highly recommend that all scripts be thoroughly examined and tested before being run in a production environment.
Once EMUE has finished processing each line from the spreadsheet, the batch is suspended and the recipients who are listed in the spreadsheet are e-mailed the results and an attached error log.