Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 199

Deprecated: Return type of Pimple\Container::offsetExists($id) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 133

Deprecated: Return type of Pimple\Container::offsetGet($id) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 98

Deprecated: Return type of Pimple\Container::offsetSet($id, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 79

Deprecated: Return type of Pimple\Container::offsetUnset($id) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 143

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 60

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 66

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 72

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 76

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 56

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 578

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 585

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 606

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 613

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 620

Deprecated: Return type of WPCF7_FormTag::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 395

Deprecated: Return type of WPCF7_FormTag::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 387

Deprecated: Return type of WPCF7_FormTag::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 381

Deprecated: Return type of WPCF7_FormTag::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 399

Deprecated: Return type of WPCF7_Validation::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 78

Deprecated: Return type of WPCF7_Validation::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 72

Deprecated: Return type of WPCF7_Validation::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 59

Deprecated: Return type of WPCF7_Validation::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 82

Deprecated: Automatic conversion of false to array is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/modules.php on line 137

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/script-loader.php on line 348

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 22

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 28

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp.php on line 173

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Warning: Cannot modify header information - headers already sent by (output started at /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php:9) in /home/wilbul4/maxoutofpocket.com/wp-includes/feed-rss2.php on line 8
Healthcare Finance Archives - Max Out of Pocket https://www.maxoutofpocket.com Where personal finance meets healthcare. Fri, 05 Jun 2020 11:08:22 +0000 en-US hourly 1 https://wordpress.org/?v=5.7.11 https://i1.wp.com/www.maxoutofpocket.com/wp-content/uploads/2020/12/cropped-Max_OOP_Profile_Photo.png?fit=32%2C32&ssl=1 Healthcare Finance Archives - Max Out of Pocket https://www.maxoutofpocket.com 32 32 157852510 Small Critical Access Hospitals, Supersized Out-of-Pocket Costs https://www.maxoutofpocket.com/small-critical-access-hospitals-supersized-out-of-pocket-costs/?utm_source=rss&utm_medium=rss&utm_campaign=small-critical-access-hospitals-supersized-out-of-pocket-costs https://www.maxoutofpocket.com/small-critical-access-hospitals-supersized-out-of-pocket-costs/#comments Wed, 03 Jun 2020 12:00:24 +0000 https://www.maxoutofpocket.com/?p=5551 Let me set this up by saying I love critical access hospitals. They do incredible work providing healthcare services in the rural communities they support. Their administrators and clinicians wear many hats and are stretched in ways hospitals in urban areas would probably never ever understand. Quite often, they are a beacon of the local community they serve. We are talking about some pretty amazing people here.   But the outpatient Medicare payment methodology for...

The post Small Critical Access Hospitals, Supersized Out-of-Pocket Costs appeared first on Max Out of Pocket.

]]>

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/jetpack/class.jetpack.php on line 4222
Let me set this up by saying I love critical access hospitals. They do incredible work providing healthcare services in the rural communities they support. Their administrators and clinicians wear many hats and are stretched in ways hospitals in urban areas would probably never ever understand. Quite often, they are a beacon of the local community they serve. We are talking about some pretty amazing people here.  

But the outpatient Medicare payment methodology for critical access hospitals is a bit of a trojan horse. It leaves the critical access hospital and the patients they care for day and night holding the bag. The Office of Inspector General (OIG) already knows this. They reported the problem back to Medicare way back in 2013. Unfortunately, we haven’t seen any changes.   

Come 2021, price transparency becomes even more important. So I thought now would be a great time to shed some transparency on the supersized Medicare out-of-pocket costs in the critical access setting. Some simple math and a CAT scan of the head will fully illustrate the problem. We might all need a head CT at the end of this one.

Medicare Critical Access Hospital Reimbursement

Hospitals with a critical access designation have a favorable reimbursement structure with the traditional Medicare program. In short, their payment is 101% of the cost for the services they provide for Medicare beneficiaries. They settle annually through the Medicare cost report using their cost to provide care as the basis. However, it is a cumbersome settlement process. The hospital is paid an interim rate throughout the year and then they settle up at the end of the year based on their actual cost to provide those services. Think of it just like a tax return. Some years you get a refund, but others you end up owing the taxman. I have seen some pretty wild swings in these settlements over the years. Don’t worry, there is an army of expensive consultants out there to help us figure this stuff out.

According to the Flex Monitoring Team, there are about 1,350 hospitals in the country with this critical access designation.

Supersize Me

There is a major problem with the outpatient reimbursement calculation, though. According to the OIG, Medicare beneficiaries pay nearly half of the cost of outpatient services provided in critical access hospitals.

It goes like this. A Medicare beneficiary receives outpatient services provided by the critical access hospital. They rack up a bill just like they would at any other hospital in America. Then, a 20% Medicare coinsurance hits that bill as an out-of-pocket cost to the patient after they meet the Medicare Part B deductible.

The problem is, for critical access hospitals, the 20% coinsurance applies to the total gross charge. This is very different from how it works in most urban areas. Payments made to urban hospitals fall under the Outpatient Prospective Payment System (OPPS). For these hospitals, the coinsurance hits the “allowed amount”. Medicare sets the pricing for the allowed amount under the OPPS system.

Head CT Without Contrast

For example, take a simple CT scan of the head/brain without contrast. We might see a service like this provided in the emergency room or on its own in the outpatient setting. Depending on the hospital providing the service, pricing will be all over the board. I have personally seen this charged anywhere from $1,000 to $2,400 in the critical access hospital depending on the region. I will take the lower end of that range and use a $1000 charge for demonstration purposes.

Urban/OPPS Payment

The 2020 OPPS national Medicare payment rate for this head CT is $112.08 regardless of the hospital charge. Wage index adjustments are made to this payment depending on where in the country the services are provided. For example, an urban hospital in a place like Greensboro, NC will get paid closer to $100 for the CT scan. A hospital in Las Vegas gets about $122 for the same service. They are trying to account for wage differences around the country. That adjustment won’t move the charge materially for this demonstration, so we will stick with the national rate of $112.08. The minimum adjusted co-payment to the patient is about $22.42, which is 20% of the allowable. You can find this pricing right on the Medicare website.

$112.08 allowable X 20% coinsurance = $22.42 out-of-pocket to the patient

Critical Access Payment

For the critical access hospital, Medicare slaps the bill with a 20% coinsurance on the total gross charge.

$1,000 gross charge X 20% coinsurance = $200 out-of-pocket to the patient

So, from the get-go, the patient in the critical access hospital is already on the hook for almost 9 times the bill the patient in the OPPS hospital is getting hit with. Not only that, but they are also paying more than the entire allowable at an urban hospital. The hospital is then paid its “interim rate” less the $200 beneficiary coinsurance.

From there, the task of collecting and explaining the oversized bill lands with the critical access hospital. That hospital with the $2,400 head CT I mentioned above? Their patient’s coinsurance comes in at $480 for the exact same service. Did somebody say supersize me?

Unfortunately, this calculation only gets more detrimental to the patient when we start looking at high-cost services like chemotherapy.

What if the Patient Doesn’t Bother Paying?

Now, sometimes the patient doesn’t pay and there is no Medicare supplement plan to pick up the coinsurance. In this case, the balance is often written off to financial aid or sent to a bad debt collection company. If the balance is determined worthless (uncollectible), the Medicare program will come back and pay 65% of the uncollected coinsurance. In this simple example, the critical access hospital would get $130 of the $200 back on the cost report. But the administrative burden of collecting that bad debt settlement is costly.

In my mind, Medicare would need to pay these uncollected bad debt balances at 100% to truly make the hospital whole, as they did up through 2012. By 2015, Medicare reduced payment for critical access hospital bad debts to 65%.

Take-Home

Clearly, much of the critical access outpatient Medicare reimbursement comes on the back of the local community they support. We need to take a closer look at this archaic payment method and make improvements where we can.

The Office of Inspector General offered a few potential solutions. What if the Medicare program calculated the coinsurance based on that national payment rate set by the OPPS system? Then, send that bill to the patient (in this case $22.42 instead of $200). The critical access hospital would still get 101% of the cost, but the burden of this broken out-of-pocket calculation would come off the shoulders of the hospital and the patients they care for.

I am sure others will argue that the critical access hospital should just lower their charges. Unfortunately, razor-thin budgets and tricky commercial payer contracts make that easier said than done. So in the meantime, I think we should take a look at this broken payment methodology and try to even out the playing field between urban and rural out-of-pocket costs.

The post Small Critical Access Hospitals, Supersized Out-of-Pocket Costs appeared first on Max Out of Pocket.

]]>
https://www.maxoutofpocket.com/small-critical-access-hospitals-supersized-out-of-pocket-costs/feed/ 2 5551
How Much Should Molecular Genetic Testing Cost? https://www.maxoutofpocket.com/how-much-should-molecular-genetic-testing-cost/?utm_source=rss&utm_medium=rss&utm_campaign=how-much-should-molecular-genetic-testing-cost https://www.maxoutofpocket.com/how-much-should-molecular-genetic-testing-cost/#comments Fri, 29 May 2020 12:04:34 +0000 https://www.maxoutofpocket.com/?p=7817 One of the cool things about running Max Out of Pocket is I get to look at both the macro and micro aspects of healthcare. I also run into random characters from across the internet occasionally who actually have to deal with the system as a patient. Some of them have been battling scary things like cancer, and have even put it into remission. These internet encounters often spark questions about how much something costs....

The post How Much Should Molecular Genetic Testing Cost? appeared first on Max Out of Pocket.

]]>

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030
One of the cool things about running Max Out of Pocket is I get to look at both the macro and micro aspects of healthcare. I also run into random characters from across the internet occasionally who actually have to deal with the system as a patient. Some of them have been battling scary things like cancer, and have even put it into remission. These internet encounters often spark questions about how much something costs. If you have not figured it out yet, Max’s curiosity is easily triggered.

You can’t put a price on remission. It’s priceless. But in healthcare, for me, it’s almost easier to understand the granular level micro examples than the macroeconomic issues. Especially, when those examples impact people we know. With just one lab test, I am going to demonstrate how complicated healthcare reimbursement has become.

We have reviewed some “simple lab tests” like lipid panels and basic metabolic panels in the past. We even looked at my own elevated lipid panel and how I got it for free. But we have never looked at molecular genetic laboratory testing.

Apparently, it’s time to take things to the next level. Max is probably out of his league here.

As Eminem says, that’s when it’s back to the lab again

PCR – Polymerase Chain Reaction

Molecular genetic testing is almost as complicated as the pricing for the service itself. Almost. The test we are going to talk about today is pretty amazing. CPT code 81206 represents this particular test. It can check for the presence of the mutant cancer gene at very low levels. My understanding is it involves chromosome 22 and chromosome 9. Evidently, the results are expressed as a percentage of bad cells to good cells. We are talking some pretty scientific stuff here.

It is basically looking for a mutation of the BCR/ABL1 gene often found in patients diagnosed with chronic myelogenous leukemia (CML). Apparently, this fusion gene can predispose an individual to certain cancers. Feel free to skip the next paragraph if you can’t handle a few technical terms. It’s a mouth full.

CPT Code 81206

There are a couple of different versions of this test, but I was interested in the CPT code represented by 81206. The “consumer-friendly” description of this is a translocation analysis (BCR/ABL1) major breakpoint. The not-so consumer-friendly description uses CPT code 81206 for the identification of major breakpoint, occurring at p210 in a 5.8 kb major breakpoint cluster region (M-bcr) around exon b3. My understanding is the BCR gene has three different regions referred to as “major”, “minor”, and “other points”. Therefore, there are two other versions of this test for the other regions and those are represented by code 81207 (minor breakpoint) and 81208 (other breakpoint). At times, all three might be needed.

My understanding is a patient getting treated for CML might need to have this test several times per year to help monitor the tyrosine kinase inhibitor treatment/therapy for CML.

Again, complicated stuff and I am not an expert. I am very happy there are people out there much smarter than Max who have figured all this out. If we have an oncologist reading this, feel free to break this down into layman’s terms for people like me.

But how much should it cost? Ah, here is where Max fits in.

A Few Quick Notes On Healthcare Pricing

The truth is, as a so-called expert, I have no idea how much this test should cost.

In theory, the retail pricing for this test would be set by the “competitive” commercial insurance market. Max happens to know that is far from the case. But except for government payers, there is technically nothing mandating a price cap for this service for commercial carriers or uninsured patients. I would generally like to see the pricing for any service set as a function of cost to provide the service with a reasonable markup that supports a profit margin. Unfortunately, it can be hard to pin the cost down on some of these more complicated tests depending on the setting and overhead that runs through a laboratory.

Posting Charges Online

A few years back, it became a requirement for hospitals to post their charges online. Max is kind of a ‘market guy’. So I naively started thinking market pressure might help us with (but not fix) some of the inflated pricing around the country. But then again, other than Max, who is really pricing out this type of test? If I had cancer, I would likely take the path of least resistance to get this test as quickly as possible. Price would be the last thing on my mind. I might take a quick look at my annual max out-of-pocket, but that’s about it.

Another problem is most hospitals (particularly the larger systems) didn’t embrace this charge posting requirement; they ran from it. They included the bare bones minimum and it was often buried deep in the website. The big problem is most of them did not include the CPT code on their listing which is one of the easier ways to communicate complex medical terminology. To be fair, there were some copyright concerns around the industry on whether or not they could publish CPT codes online. That’s a whole other blog post I will never write.

Chargemaster

In other words, it is not as easy as pulling up CPT code 81206 on the hospital’s website and writing down the price. I’m a so-called expert on this stuff, and even I can’t always pick them out. We can make some educated guesses based on the description, but without the CPT code, we can’t be 100% sure there is a one-for-one match. I should also mention, each CPT code can map to more than one charge line and even have a different price.

A Few Examples

Here are the two options from Beaumont Hospital System’s chargemaster in Michigan for this particular service. I highlighted the two that probably meet the definition of this test. Again, a small assumption on this since they don’t share the CPT code.

This pricing seems quite reasonable from my experience, as further noted below. We can save $12-$15 on this test if you are willing to drive across town.

Unfortunately, when I type 81206 into their pricing website, I don’t get any hits.

Side note: Beaumont is an excellent health system and has treated many members of my family when I lived in Michigan. If you need a mastermind to join your finance team, please reach out. I have nothing but good things to say about your organization.

Here are a couple of options from Stanford Health Care. Evidently, their charge may differ depending on if it is a “qualitative” test vs. “quantitative” test even though the CPT code can be used universally. Again, I will leave the clinical difference to the oncologists.

Doesn’t specifically say p210 like the others.

To be clear, I am not necessarily calling Stanford out here. They have a world-renowned oncology program that some people probably are willing to travel to. They may be spreading their cost differently than Beaumont or practicing cost-shifting. I just think it is interesting to note the price difference and it makes them an easy target. If the price is truly a function a cost here and we are practicing “itemized healthcare”, I would question the difference.

Lastly, some hospitals like Johnson Memorial Hospital go above and beyond. They provide a description and the CPT code and it makes everything much easier to understand. In this case, we know we are on the same page. This is actually closer to where I would expect to see the price for this service in my anecdotal but valid experience.

My Experience

Speaking to my experience, I have personally seen 81206 charged anywhere from about $150 to $700 depending on the hospital. The 50th percentile price would come in around $500 and about $780 for the 75th percentile. So, in my relatively short career, even I have seen some pretty wild swings for this particular lab test. I would consider anything over $1,000 on the upper end of the pricing spectrum for this CPT code. Online, I found several priced more than $1,000 when I was surveying random hospitals from across the country.

I also happen to know my own personal insurance company has negotiated this test down to a maximum charge of about $1,200 at a few of my local hospitals. My price can’t be greater than the hospital charge, though. In other words, if the price was $1,861, me or my insurance would only pay about $1,200. But if the price was $297 (like Beaumont), I would only pay that. Thankfully, I know how to work my way through the call centers and price transparency websites. My insurance company will likely always be nameless for the blog.*

Then there is always the “reference” lab route. That almost always comes in cheaper than the hospital setting. Reference lab pricing would likely come in between $375 and $600 for most of these places. Again, this is slightly anecdotal and based on my own experience, but a good starting point.

Medicare

As we learned during our review of the lipid panel, Medicare sets the pricing for facilities that accept them as a payer and meet the conditions of participation. Medicare has a nice easy to read fee schedule that we can easily drill down into here.

Here is a look that the Q2 2020 Medicare lab fee schedule. We can pretty easily see that Medicare pays $163.96 for this particular form of molecular genetic testing.

Unlike most hospitals, they share the CPT codes.

I’ve mentioned this before here on the blog. What I find interesting about these prices is as of 1/1/2018, most of them are derived from the weighted median private insurance payer rates. In other words, Medicare is peeking in at what everyone else is paying and making their price the average of that. Medicare started sampling these private insurance prices in 2017. They used this sample to determine their pricing effective 1/1/2018. There are a few other moving parts to it but that’s the gist of it. Back in 2017, this same test had a national payment limit of $224.91, so evidently this new method of pricing reduced reimbursement for this lab.

This is all following the ‘Protecting Access To Medicare Act of 2014’ that was signed into law back in April 2014. So my question is, if the weighted median private insurance payer rate is only $163.96, why are both the retail price (for some hospitals) and contracted price (like mine) often so far above this? My guess is the reference labs must be weighing down the average.

Problem Gap

Here at Max Out of Pocket, I have dubbed the gap between Medicare reimbursement and commercial reimbursement as the “problem gap”. It is a gap that needs to be addressed.

The gap between what my insurance and Medicare are each willing to pay for this service is over $1,000. I am on a high deductible plan, so that would initially all come out of my pocket until I hit my $6,600 max out-of-pocket. That’s on top of the $20,000 in premiums me and my employer dump into the system every year, a number the dwarfs my annual budget. Additionally, the Medicare fee schedule doesn’t impose out-of-pocket costs to the Medicare beneficiary for services paid off this fee schedule, even if they haven’t met the Medicare Part B Deductible.

To be clear, my insurance could allow/pay about 7.3 times what the Medicare beneficiary would pay for this service at my local hospital.

Max is on the industry’s side here. I’m not out to get anyone. I don’t blame individual insurance companies or hospitals for where we are today. The blame game is just too complicated and I still don’t believe there is necessarily intent here. But in the end, my ultimate stakeholder is the patient, and we owe it to them to simplify this mess.

Final Thoughts

I refuse to put a price on cancer remission. It’s priceless. Unfortunately, the system currently is set up with various price points on the way to remission.

Max can get pretty micro when talking about healthcare economics and how pricing is currently set up. But going through this process for the other 1,655 lab tests currently listed on the 2020 Medicare Clinical Diagnostic Laboratory Fee Schedule would take some time. In fact, I have hit three or four of them and I am exhausted.

Frankly, I work in the industry and I really don’t have a basis for pricing this molecular genetic test outside of the data the Medicare program has developed. In fact, more and more commercial pricing contracts are using a multiplier of Medicare rates as the “starting point” for negotiating reimbursement.

With more price transparency pressure coming from Medicare in 2021, I think some hospitals are probably moving into setting their itemized price as a function of cost and competition. Price strategy committees are popping up. But we are years out from having meaningful transparency on that process. In the meantime, some commercially insured cancer patients are caught in the middle cross-subsidizing the system with their overpriced high deductible health plans.

Itemized Healthcare?

By looking at just one lab test, it is pretty evident that untangling the government pricing from the commercial market is going to take some work. Try looking at the whole system. Unfortunately, it has also become an easy target for media outlets like Bill Of The Month, that likely don’t fully understand the bigger picture.

Personally, I don’t think “itemized healthcare” is going to be the model of the future. I like the idea of packaging some of this stuff up and paying a “fixed fee” to manage a problem for several months/years. Throw in a strong bonus incentive for positive clinical outcomes. That’s what we all want to pay for anyway. I have absolutely no idea how that would work for chronic myelogenous leukemia. I am sure it would be difficult to price out an 8+ year treatment plan, but I am sure there are smart clinicians and actuaries out there who could figure something out.

*I don’t blame my insurance or any other specific insurance company for the current system. It is more systemic than that. I also don’t want one of the big insurance companies coming after me, my blog, or my family.

I am not a medical professional, and this is not medical advice or pricing advice.

The post How Much Should Molecular Genetic Testing Cost? appeared first on Max Out of Pocket.

]]>
https://www.maxoutofpocket.com/how-much-should-molecular-genetic-testing-cost/feed/ 2 7817