SQL-Ledger Stuff

sunsetsystems wrote on Saturday, April 02, 2005:

I wanted to share some of my thoughts and plans regarding use of SQL-Ledger with OpenEMR, and solicit feedback.

First of all, to be blunt I’m not seeing much value in the EOB handling that was patched in.  It seems to me that SQL-Ledger should be usable with no customization whatsoever, and thus the issue of keeping up with ongoing SL releases can be mostly irrelevant.  It is, after all, a pretty complete accounting system.

An EOB can be dealt with by opening the associated invoice and keying in the relevant payments and adjustments.  Maybe not optimal, but workable.

Secondly, to associate insurance companies with invoice items, SL has a handy thing called a Project ID.  So we can think of insurance companies as projects, and put in the ID of the insurance company as the project ID.  Add a bit of reporting software, and we’re good to go in terms of insurance.

Thirdly, there’s the issue of keeping up with patient balances.  OpenEMR currently reports the patient balance from SQL-Ledger on the patient summary page.  However this does not indicate how much of this is pending insurance, and how much is known to be due immediately from the patient, which in a live setting is a pretty important distinction.  My plan for this is to change ws_server.pl as follows:

(1) When reporting the patient balance, exclude invoices that are not yet due;

(2) When adding an invoice, set the due date 40 days into the future if it’s billed to insurance.  By law insurance companies must respond within 30 days and this adds a small grace period.

Also when the EOB is received and some amount is still due from the patient, the accounting clerk should set the invoice due date to the current date when putting in the payments and adjustments.

Fourthly, OpenEMR by default adds insurance companies as customers in SQL-Ledger but does not seem to do anything with them.  It seems messy to clutter up the table of customers with these.  I have already added an option in globals.php to turn this off.

All comments appreciated…

– Rod <rod at sunsetsystems cot com>

drbowen wrote on Sunday, April 03, 2005:

(1) When reporting the patient balance, exclude invoices that are not yet due;

Well, I like to see the entire balance, what portion is due from the insurance(s), any insurance balance older than 14 days, and what is the actual current patient responsibilty.  Amounts if any that are already in collections.

(2) When adding an invoice, set the due date 40 days into the future if it’s billed to insurance. By law insurance companies must respond within 30 days and this adds a small grace period.

In North Carolina insurance companies are required to pay in 14 days.  My "AR days outstanding" runs 37 - 42 days most of the time.  This due date would actually cause me to be less efficient.

I think the insurance due date should be a constant, adjustable by the local practice admin - manager with a default of some number of days that fits most practices.

Are insurance companies better treated as "projects" or vendors?

Sam Bowen, MD

sunsetsystems wrote on Sunday, April 03, 2005:

I will make the number-of-days-till-due a parameter in sql-ledger.conf.  What this would affect is just the balance shown in the OpenEMR patient summary page, which at least for this client is all that the reception staff needs to care about – i.e., asking patients on arrival to take care of their portion of the unpaid balance.  Anyone who wants to add more information there is free to do so.  And of course SQL-Ledger’s aging reports and statements are always available in all their glory.

Regarding projects vs. vendors – in SQL-Ledger invoice items have a project ID but not a vendor ID (vendors are associated with orders rather than invoices).  So I know how to associate projects with invoices, but not vendors with invoices.

– Rod <rod at sunsetsystems dot com>

tekknogenius wrote on Sunday, April 03, 2005:

I like your idea of moving away from customizing SL and putting those things into OpenEMR. I think it is better that way. Is there an api for SL?

sunsetsystems wrote on Sunday, April 03, 2005:

Looks like there is some API info here:

http://www.sql-ledger.org/cgi-bin/nav.pl?page=misc/api.html&title=Customization

– Rod <rod at sunsetsystems dot com>

andres_paglayan wrote on Monday, April 04, 2005:

Even in the case OpenEMR is fully integrated with SQL-Ledger without making imports It’s good to keep the EOB just in case someone uses another system and wants to import data. (an on-off switch setting somewhere perhaps)
I think the changes in SQL-Ledger maybe usefull, and if you can add a menu in the config then users can pick what should be shown is even better, since many practices have different policies when it comes to money.

drbowen wrote on Monday, April 04, 2005:

Dear Rod,

projects with invoices

Will this allow aging of the balances for insurance companies?

Sam Bowen, MD

sunsetsystems wrote on Monday, April 04, 2005:

The info will be there but we’ll need a new script to display such a report.  I’ll probably be doing one of those before long.

– Rod <rod at sunsetsystems dot com>

emilykillian wrote on Monday, April 04, 2005:

All these ideas above sound good, but there are a few more things to consider…

(I don’t know if SQL-Ledger addresses any of this or not.)

Among them is the unfortunate need for having a "collections" module for patients who have not paid their bills in a certain amount of time.

After about three months, letters should be sent to patients who have not made payments. They should receive several letters and a phone call before they can be sent to a collections agency.

Along that same line of thinking, there needs to be a way of flagging patients as having bad debts.