HCPCS Codes Not saving Revenue Codes on Fee Sheet

Hello Community,

A year ago we installed 7.0.1 and recently upgraded to 7.0.2. In both versions, HCPCS coding on a Fee Sheet are not saving revenue codes. Each time we add a HCPCS line on the fee sheet it will save but when we try to add a revenue code, it does not save.

We have tired to revenue codes in the Admin > Coding > Codes section to the HCPCS code that was created but even that will not save.

Has anyone seen this before? We are not seeing errors in the errors.log file and really don’t know where to go in the troubleshooting.

The HCPCS code was created manually, not imported via a script.

Thanks,
Jonathan

Are you doing Institution billing?

Thanks for posting this, it’s super helpful.

I am curious about the Codes sections. The documentation and screenshots of the Code creation and Fee Statements do not show a Revenue Code field.

We are experiencing issues with the Revenue Code section of the Fee Statement in both 7.0.1 and 7.0.2 and I was trying to find what could be missing in our configuration. Our Fee Sheet doesn’t look like the screenshots so any additional documentation you could point me to would be appreciated.

Thanks,
Jonathan

There’re bugs in Institutional billing UB04. Share with us how/why you’re using.

Thanks for the reply. I don’t want to hijack this post but I’ll give a high level recap and if need be, we can move the help to another post.

This is a mental health facility who is getting paneled with different insurances. We are able to submit claims using claimerev to some insurance companies using CPT4 codes.

The issue we are facing is that HCPCS codes were created manually and the revenue codes will not save on the HCPCS code setup and also on the Fee Sheet when we add an HCPCS code to the encounter. Because of the missing revenue codes, the X12 validation completes but the log shows errors for missing reve.

There might be a larger issue because we also cannot access diagnoses from the patient view.

Thanks in advance for any direction that is provided,
Jonathan

@jcoreil
Well the revenue codes in fee sheet and codes are broken but I am working on a fix.
It’s been a while since I developed revenue codes and 837i submissions so I’m rusty.
I don’t think 837P supports rev codes and thought they were reserved for 837i. Anyway I need to know how you are using so I can ensure they work.
image

@sjpadgett

We are trying to submit using X12 837I, the exact button in your screenshot. If you can tell me where it is trying to pull the Admission Date from, we can check if it’s being populated in our system.

You have to verify the claim using the UB04 form. It’s editable for most all boxes however, It is broken in which I have everything fix except the form which I’m working on now.
I plan to have a PR up in the next couple hours then will go into patch 1.

Just remember that when 837i and UB04 is turned on in Config then regardless which button you use an 837i x12 is generated.
Also you must complete the UB04 form, even if not used to submit claim, as the information for the x12 comes from the form. This is because we don’t collect many items that may be needed in institutional billing but what we do collect will populate the form for you.

I have fee sheet revenue codes working now along with adding custom codes with rev codes in Codes.

Great information, thank you for the explanation.

I tried to click on the UB04 button from the Billing Manager screen a blank window pops up. When I checked the error.log, here is what I found. Is this the symptom that you are working? I am asking because we have other issues with popus that might be related.

[Mon Apr 29 22:36:30.524430 2024] [php:warn] [pid 23017] [client REMOVED:62527] PHP Warning: Undefined array key “action” in /var/www/localhost/htdocs/openemr/interface/billing/ub04_form.php on line 24, referer: https://emr.REMOVED.org/interface/main/tabs/main.php?token_main=98Ys5LdyKJyoEtRTUPFt0xk5RhHv7ppghdcKjKfI
[Mon Apr 29 22:36:30.524459 2024] [php:warn] [pid 23017] [client REMOVED:62527] PHP Warning: Undefined array key “id” in /var/www/localhost/htdocs/openemr/interface/billing/ub04_form.php on line 25, referer: https://emr.REMOVED.org/interface/main/tabs/main.php?token_main=98Ys5LdyKJyoEtRTUPFt0xk5RhHv7ppghdcKjKfI
[Mon Apr 29 22:36:31.133506 2024] [php:error] [pid 23017] [client REMOVED:62527] PHP Fatal error: Uncaught Error: Undefined constant “code_text” in /var/www/localhost/htdocs/openemr/interface/billing/ub04_dispose.php:250\nStack trace:\n#0 /var/www/localhost/htdocs/openemr/interface/billing/ub04_form.php(30): get_ub04_array()\n#1 {main}\n thrown in /var/www/localhost/htdocs/openemr/interface/billing/ub04_dispose.php on line 250, referer: https://emr.REMOVED.org/interface/main/tabs/main.php?token_main=98Ys5LdyKJyoEtRTUPFt0xk5RhHv7ppghdcKjKfI

Yes I fixed form and now displays revenue from fee sheet or you may assign rev codes in form but I now need to figure out why x12 revenue code is being missed. Last thing

@jcoreil I just put up a PR for 837i X12 UB04 project if interested. After peer review I’ll include in upcoming patch.

1 Like

Well I must say, @sjpadgett, you rock.

I reviewed your code changes in Github, made the subsequent changes, and successfully tested the following:

  • Was able to launch the UB04 form (Passed)

  • Make changes to the UB04 form and have them save (Passed)

  • Associate a revenue code to a custom HCPCS code (Passed)

  • Launch the X12 837i form (Passed) and verify the claim that was previously failing (Passed)

  • Associate a revenue code on the fee sheet to the custom HCPCS code that we created (Failed, but this doesn’t matter now that the UB04 form works).

I am waiting for the insurance billing person to get into the office tomorrow to coordinate additional testing and a submission to BCBS for the custom HCPCS code that we created.

We now have a workable solution for this type of filing and will move forward.

Kudos to you, Jerry. If I can help you maintain the code or write documentation, I will gladly offer my time. I am enjoying learning this framework and application each day I spend time on it.

I come from 20 years of software consulting experience in Oracle EBS, Compiere (an open-source ERP) and NetSuite. The Open-EMR community is second to none in my opinion.

Thank you!

Sincerely,
Jonathan

2 Likes

This does work however I missed adding the files to PR. Your biller will probably want this feature plus it also acts as a default in claim if you find a need to reset claim.

I’ll put up a PR in and few. I believe it is only one script.
I am happy to see this feature used again where over the years it got away from me!

And you’re welcome and look forward to any contribution you wish to donate.

@jcoreil
Here are missing files

Be advised if you want to download PDF forms for UB04 you’ll need to composer install this dependency

1 Like

Hello @sjpadgett

Does your code support the X12 837I EDI file that is generated. @brad and I are fighting an issue where the X12 837I file is not generating the ST record and need another set of eyes to figure out what’s going on.

Thanks,
Jonathan

Yes it supports x12 837i and ub04 form

Can you tell me the php files that generate the X12 and X12 8371 files?

Also can you tell me where the X12 837I should be pulling the ST record? We are on 7.0.2. Patch 1 and our testing yields that the X12 837I does not create an ST record.

Thanks,
Jonathan Coreil

hi @jcoreil , here’s the script that generates the X12 837I.

Hey Stephen,

The file you referenced has an issue, it is very minor. I will include both the original code and the fix that was tested this morning.

Lines 64 to 74 is a single out statement. Line 70 has a ; that is terminating the statement. The issue that this is causing is that the next out statement (the ST record) is not being concatenated correctly.

By removing the ; on line 70, the ST record is generated properly.

Original Code

    $out .= "GS" .^M
        "*HC" .^M
        "*" . $claim->x12gsgs02() .^M
        "*" . trim($claim->x12gs03()) .^M
        "*" . date('Ymd', $today) .^M
        "*" . date('Hi', $today) .^M
        **"*" . BillingClaimBatchControlNumber::getGs06();^M**
        "*X" .^M
        // "*" . $claim->x12gsversionstring() .^M
        "*" . "005010X223A2" .^M
        "~\n";^M

New Code

    $out .= "GS" .^M
        "*HC" .^M
        "*" . $claim->x12gsgs02() .^M
        "*" . trim($claim->x12gs03()) .^M
        "*" . date('Ymd', $today) .^M
        "*" . date('Hi', $today) .^M
        **"*" . BillingClaimBatchControlNumber::getGs06() .^M**
        "*X" .^M
        // "*" . $claim->x12gsversionstring() .^M
        "*" . "005010X223A2" .^M
        "~\n";^M

Thanks,
Jonathan

1 Like