We use Allscripts Enterprise PM, and we had Allscripts make a change. Basically, they wrote a script that will run each night after midnight. That script will identify all the patients that had their insurance expire the previous day. Then a new patient demographic message is triggered in the PM, and is sent through the PM outbound interface to all of our ancillary systems and the EMR.
The issue we found with the old method was that nobody touched the patient in the PM, so no demographic update was triggered, and the EMR does not store the expiration dates, so that was of no use. We've had our new method in place for about a year now, and it seems to be working quite well.