Blog
MRFs
TiC, ‘ToC’k: Hospital Price Transparency V2 Processing Notes
It’s been 25 days since the ‘V2 Schema’ for Hospital Price Transparency took effect in the market. So, is the data better? Is the workflow simpler? We’ve been looking into the new text and MRF files posted by many different hospitals, and we like what we’re seeing. So much so that we’re on a quest to gather all the hospital data…again. Read on for an early look at our experience with Hospital Price Transparency V2 MRF Processing and why we're excited to be gathering this data to complement our industry-leading portfolio of TiC files.
Published
7/29/2024
Hospital Price Transparency, welcome back! The V1 HPT launch had its issues, but with consistent enforcement from CMS and many learnings incorporated into a new ‘V2’ set of rules and schemas, Hospital Price Transparency is evolving to be bring more impactful and insightful cost of care information to healthcare consumers.
It’s been 25 days since the ‘V2 Schema’ for Hospital Price Transparency took effect in the market. So, is the data better? Is the workflow simpler? We’ve been looking into the new text and MRF files posted by many different hospitals, and we like what we’re seeing. So much so that we’re on a quest to gather all the hospital data…again.
Read on for an early look at our experience with Hospital Price Transparency V2 MRF Processing and why we're excited to be gathering the data to complement our industry-leading portfolio of TiC data.
Price Transparency Tick-Tock
No, I'm not referring to the dance video app. I'm referring to the history of price transparency data and competing tracks of hospital (HPT) vs. payer (TiC) data.
Fun fact about Serif Health: when we got into the price transparency data space, it was late 2021 and the Transparency in Coverage data as yet had not been released by the insurance carriers. We buckled down and began diligently gathering the hospital data. We built an operations workflow and hired a small team to locate the MRF files, which would load the files into a really sophisticated parser that could take most* of the crazy source formats, autodetect headers and normalize the data into a data lake. We spent the spring of 2022 covering about ten states’ worth of hospitals…only to find that a lot of the data was gappy, non-compliant, incorrect, and/or lacked enough context to be comparable.
* but not JSON pasted into a Word document saved as a .doc file. We were never going to fix that one.
We’d go into demo meetings and display the data we’d collected to healthcare executives and VC folks who would initially be interested, until they found enough unexplainable/bogus data points that they would call BS on the whole thing.
Fast forward a few years, and roughly the narrative plays out in a fun tick / tock (well, more accurately, tock / TiC ?) of hospital vs. payer data evolution:
- Tock: The hospital requirements go live. Many hospitals play prisoner’s dilemma.
- TiC: Payer data is released July 2022. Compliance is high out the gate, data is (too?) voluminous, mostly superseding the hospital data in terms of quality and coverage.
- Tock: CMS enforces the hospital rule by dropping fines on non-compliant / non-posting hospitals, which drives hospital compliance rates up significantly
- TiC: As an industry, we identify and catalog the various gaps and compliance issues with the payer data, and dutifully report them via a CMS portal. CMS ‘clarifies’ enforcement is a shared responsibility of other agencies.
- ToCk: CMS defines and mandates a more comprehensive V2 hospital schema, and adds a TXT file (a Table of Contents, if you will?!?!) to make automated ingestion easier
- TiC: The government sets a clear expectation that prescription drug files are indeed part of the original mandate, and safe harbor expires June 1st 2024. Health plans:
- ToC: Hospital V2 schema and rules take effect
From where I stand, the cadence of enforcement and improvement has put the hospital transparency data back in the drivers’ seat in terms of momentum and potential impact.
I say that because for folks making decisions on cost, transparency about the largest slice of healthcare spend has the highest relative value. It’s also been made clear via the RAND 5.0 study that hospital prices vary by market concentration, not quality, so if you have a cost-effective hospital options, you should use them. Unless your plan won’t let you.
HPT V2: The Good Parts
Right up front, compliance with the V2 schema is already off to a better start than the original HPT mandate. Joe Wisniewski at Turquoise says 40% of hospitals nationwide are already fully compliant! And the Turquoise MRF Tracker shows 61.2% of hospitals are already posting the cms-hpt.txt file on their site, which removes an enormous labor burden from gathering the data even if it's not perfectly schema compliant yet.
From a strategic lens, hospital data brings the following advantages compared to TiC:
- Lighter weight data asset compared to TiC files. Most people probably don’t need hundreds of billions of records to answer a question. If you’re just trying to see which of the three health systems in your area is cheapest for an ER visit, it’s going to be easier to scrape the answer from Hospital MRFs than Payer.
- Gap fill. If you can’t find DRGs or institutional rates in Aetna because the powers at be decided not to post them that month, just look in the hospital data.
- Cross-check. If you see multiple undeterminable DRG rates in a UHC file, it might just be because UHC is posting rates for multiple plan tiers in the same set of network file data as an obfuscation tactic.
In the early days, we tried to do a cross-comparative exercise and found low correlation after a significant amount of invested time. Let’s do a micro example of this on data from UHC and New York Presbyterian from data available on their sites, today, and see if it’s gotten easier.
We’ll take UHC’s Choice Plus rate for DRG 470 from our Signal tool. We get two rates. $83,396.94 and $76,699.97. Which is the right answer?
Before HPT V2, cross-check might take a few hours of clicking on a hospital menus and pages and dropdowns and the sixth circle of HTML hell to find the URL. But now, just hit https://www.nyp.org/cms-hpt.txt and you’re there. Ok, in this case it’s not _totally_ machine readable since it’s a link to another page, but still. Pop the resulting hospital JSON file to find the UHC Commercial plan rate in a well-schema’d file.
I’ve overlaid the two in the image below:
Hard match, you can safely discard the ‘noise’ rate of $76,699.97, which is more likely the Oxford Health Plan rate.
The two data sets can and should reinforce each other, and it only took me about 10 minutes to do this. Woot!
HPT V2: The Hard Parts
Now, just because CMS has mandated all these learnings, fixes, and improvements, this is still the world of price transparency, where market participants are being mandated to do something that weakens their commercial advantage.
So, in that vein, there do continue to be some fun tricks and obfuscations in play. What we’re seeing:
Blocking programmatic access to cms-hpt.txt
There’s now a table of contents file for hospital files, mandatory to be posted at the root of the domain for the hospital website. Hit up HCA Flordia’s site for their text file, and you get a simple table of contents:
curl -X GET https://www.hcafloridahealthcare.com/cms-hpt.txt | \
headlocation-name: HCA FLORIDA AVENTURA HOSPITAL \
source-page-url: https://www.hcafloridahealthcare.com/patient-resources/patient-financial-resources/pricing-transparency-cms-required-file-of-standard-chargesmrf-url: https://www.hcadam.com/api/public/content/75-2379007_HCA-FLORIDA-AVENTURA-HOSPITAL_standardcharges.json?v=f9ab3e54&download=truecontact-name: David LeMontecontact-email: David.LeMonte@hcahealthcare.co
Boom - you’re in the money.
Now try that same thing at Broward Health.
curl -X GET https://www.browardhealth.org/cms-hpt.txt | head
<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Not the directory file at all; they’re blocking / redirecting programmatic access to the files with a JS redirect, which works just fine in your browser. Quite annoying for the machines out there.
Stuffing the standard_charge_algorithm field instead of doing the work to derive a dollar value.
Here’s St. Mary’s Medical Center of West Palm Beach, a Tenet Healthcare Hospital. You can see how useless this is.
[
{
"payer_name": "Cigna",
"plan_name": "Cigna Health Plan - PPO",
"standard_charge_algorithm": "Formula:= ( Units in Service Type * 530 )",
"billing_class": "facility",
"methodology": "other",
"additional_payer_notes": "contract indicates payment as: algorithm"
},
{
"payer_name": "Dimension Health",
"plan_name": "Dimension Health WC PPO Class A",
"standard_charge_algorithm": "If ( Current Amount = 0 ) Then: 75 % of Gross Charges AdjustedGroup (Not to Exceed): 100 % of Gross Charges",
"billing_class": "facility",
"methodology": "other",
"additional_payer_notes": "contract indicates payment as: algorithm"
},
{
"payer_name": "BCBS-FL",
"plan_name": "BCBS-FL WC",
"standard_charge_algorithm": "Procedure Lookup Tables:| APPENDIX C Combined FL WC 1st procedure and all subsequent procedures payable at 106.12% of base price in table per unit. Procedures are sorted by table amount prior to applying multipliers.",
"billing_class": "facility",
"methodology": "other",
"additional_payer_notes": "contract indicates payment as: algorithm"
},
{
"payer_name": "BCBS-FL",
"plan_name": "BCBS-FL Network Blue",
"standard_charge_algorithm": "$7,000.00 Flat",
"billing_class": "facility",
"methodology": "other",
"additional_payer_notes": "contract indicates payment as: algorithm"
}
]
The last JSON block in particular strikes me as egregious - that’s not an ‘algorithm’, it’s a simple case rate.
Gapping out payers per-code
Despite adopting the new schema, we’re still seeing a lot of hospitals who seem to be generating their files from claims or activity versus the contract and fee schedule, resulting in gaps in payers listed per-code.
See the following normalized extract from Ascension Sacred Heart hospital, filtered to two outpatient CPT codes - 99285 and 86618. If you’re in the market for an ER visit with Blue Cross, you can get an answer. If you want a Lyme Disease assay test, you have no idea. And if you need an ER visit on UHC Commercial, NOT the NHP plan variant, you actually have no idea what that visit will cost.
Takeaways
Net, hospital price transparency V2 is looking like a huge win for healthcare transparency. Early compliance rates are strong and growing, schema adherence is good out of the gate which lowers the effort required to gather the data, and continued CMS enforcement puts positive pressure on both. Hopefully, HHS and the states will take a page out of the CMS playbook, and we finally start to see some enforcement activity on the TiC side of the house.
There are still challenges the machine readers of the data will have continue to fight through, but we at Serif Health are excited about the win here. So much so that our team is gathering the V2 price transparency data from all hospitals.
If you’re currently using the hospital data, or interested in using it, and want to get access to a high-normalized and cleaned bulk hospital dataset, get in touch with our team today. We’d love to hear how we can best meet your use case.