Location of X12 Files

I’m digging through code, but thought it might be faster to ask on here. First I see that OpenEmr can accept 277’s and 835’s. I want to import these through a module, I’m guessing but I think there is a table that accepts the file and that is the table I need to be saving to.

Can anybody tell me the name of this table and if there is code in core that I can reference easily to pass the file through? Is it easier to write my own insert statement etc?

It looks like 999’s are not accepted, is this a true assumption?

Finally, eligibility response files, can I save that x12 in the same table?


hi @brad , everything is stored in csv files under sites/default/documents/edi/history. Check out Documentation/Readme_edihistory.html

Great thanks! If all goes well, I should have this part of the module done today or tomorrow. Depends on how much time I have to work on it.

Slightly unrelated question (from title) I’m using the docker (development-easy) setup and was wondering if there was some command to get test data put in with that? I think I’m going to have problems testing with lack of data. Trying to create what I need will be me stumbling around hoping to get something to work.

Thanks for the reply. I have the test data loaded. I see a ton of encounters now, do you know anyway to make them billable? I’ve also attempted to make a new appointment that also won’t show up as billable. I don’t need perfect x12, but I need for it to create it so I can see if my sends work.

Is there a way to get the same data that is refreshed in the demo in my local environment?

sure, openemr-cmd drid

I’m going to ask, what I think should be obvious to me. how do I utilize that command?

I’ve gotten really close but not there yet. I’m downloading the 999 & 277 and storing them in ‘/documents/edi/’ then going over to EDI History and clicking process. I’m getting the error:

edih_display_text(): error accessing file

I know this has to be something simple and probably my lack of PHP experience.

To save the file I"m using: file_put_contents($filePathName,$fileText);

and if I go to the directory on the server I see the file, and it has contents if I CAT it, can’t figure out the error message.



if you upload a 277 through the edi history module it will load it in the appropriate f folder, like f277, example path is openemr/sites/default/documents/edi/history/f277

then when the module processes the file it places it in the csv folder openemr/sites/default/documents/edi/history/csv in files_f277.csv

I started putting it in the f277 folder, then commented out the code and put it under the one i said.

So i save the 277 to f277 folder, then go click process?

Also does extension matter? Im using .edi

Thanks for all the help.

Hey thanks for the help! I have edi flowing back into OpenEmr now I think!

Next is a screen to search for claims from the module and display what would normally be seen in the portal. :slight_smile:

1 Like

Your message in another thread troubled me and got me looking at the 835 logic.
looking at the sl_eob_process.php file, could I manually call parseERA while using that same call back? Will that put the era in the correct places?


there would have to be a new workflow for how to process the 835 so that the post processing report could be viewable and workable at a later time

I saw that HTML report being generated. I kept looking for something that was putting it to tables. Did I miss that (very possible) or does it just generate a human readable report? And if I missed the tables, what file does the inserting to those tables.