I’m working on eligibility checks in my new module, and I have no one here to bounce ideas and plans off of. So, here is my plan. Let me know if it sounds good and if there are any holes in it. It’s not very complicated but maybe something I’m missing. My goal is not to touch any core code.
Eligibility is in multiple parts.
1st, the service table:
This table is a new table and kinda the hub of all the eligibility. It contains the patient id, payer responsibility, request json, response json,status, create date, last update date. The columns may change as I go on but those are the main ones now. A patient can only have 1 record per payer responsibility. So that means if a patient has 3 insurances, he could have 3 entries in that table.
2nd, the manual part:
In the patient dashboard, I’ve added a new card called “ClaimRev Eligibility”. In this card I get all the insurances that are attached to a patient Primary → whatever. I make a tab for each of the different insurances. On each of the tab is a “check” button. This does the manual check for the respective insurance. This check will create a json object that will be saved to the service table. If someone does a check for primary, the module will check that table and see if primary is already there and replace or insert new. There is a setting called “age” this tells the module how old an eligibility can be. So if this patient had a check done today and he comes back tomorrow and age is set to 10, then a new eligibility won’t be run.
3rd, the RTE part:
I’m subscribing to the appointment set event. I use the event id to get the patient id and then create the object as I do in the manual part. At this point it all works the same, just done automatically. There is a setting to turn this on and off.
This part works like the sending of claims, it has a service that scans that table a set interval. when it finds an eligibility waiting it sends it to my service then updates the table with the results and marks the record complete or retry. This retry option will be run again later if my service couldn’t provide results right away. Sometimes the payer is down.
Results are going to be shown on the card created in the 1st part. Also, I’ll save select values to table that need to be saved to like co-pay and others. I’m not there yet, so where else to save is a mystery. If anybody has ideas and wants let me know which table and which data and I’ll do what I can. This can always be improved upon too.
Several configuration options are available, service type codes to check will be a comma delimited list. including Point of service for facility is also configurable. I get the POS from the facility table and it’s a true/false as to send it or not. Also if we send provider or facility is configurable. The provider will be the one selected off of patient_data.
Turning on and off RTE is also an option
Adding eligibility card to dashboard is an option
Age of eligibility is also configurable. The value of 0 would basically make eligibility run every time it’s requested for a patient.
So I think that is everything right now. I may come up with more stuff over the weekend as I work on it but if anyone has any other ideas I’m all ears.