Skip to main content

EL: Add'l Notes Fields

Using hospital data additional_generic_notes, additional_payer_notes, and plan_name, we can sometimes parse out Medicare Advantage percentage of Medicare.

Only Baptist Health, Memorial Hermann, and Vanderbilt have these fields populated with relevant data.

Out of the 89 hospitals in these three health systems, 64 (72%) have a multiplier of 100% (i.e. MA pays 100% of Medicare). This is a non-random sample, but it does align with what we've heard from SMEs at TQ.

Baptist

provider_healthsystem_namefacility_namepayer_nameprovider_idpayer_idmultiplier
Baptist HealthBaptist Health CorbinAnthem3240421
Baptist HealthBaptist Health CorbinHumana32405101
Baptist HealthBaptist Health CorbinUnited Healthcare32406431
Baptist HealthBaptist Health FloydAetna264071
Baptist HealthBaptist Health FloydAnthem2640421
Baptist HealthBaptist Health FloydHumana26405101
Baptist HealthBaptist Health FloydUnited Healthcare26406430.95
Baptist HealthBaptist Health HardinAetna324571
Baptist HealthBaptist Health HardinAnthem3245421
Baptist HealthBaptist Health HardinHumana32455101
Baptist HealthBaptist Health HardinUnited Healthcare32456431
Baptist HealthBaptist Health La GrangeAetna326771
Baptist HealthBaptist Health La GrangeAnthem3267421
Baptist HealthBaptist Health La GrangeHumana32675101
Baptist HealthBaptist Health La GrangeUnited Healthcare32676431
Baptist HealthBaptist Health LexingtonAetna327171
Baptist HealthBaptist Health LexingtonAnthem3271421
Baptist HealthBaptist Health LexingtonHumana32715101.02
Baptist HealthBaptist Health LexingtonUnited Healthcare32716431
Baptist HealthBaptist Health LouisvilleAetna326671
Baptist HealthBaptist Health LouisvilleAnthem3266421
Baptist HealthBaptist Health LouisvilleHumana32665101
Baptist HealthBaptist Health LouisvilleUnited Healthcare32666431
Baptist HealthBaptist Health PaducahAnthem3310421
Baptist HealthBaptist Health PaducahHumana33105101.02
Baptist HealthBaptist Health PaducahUnited Healthcare33106431
Baptist HealthBaptist Health RichmondAetna331871
Baptist HealthBaptist Health RichmondAnthem3318421
Baptist HealthBaptist Health RichmondHumana33185101
Baptist HealthBaptist Health RichmondUnited Healthcare33186431

Memorial Hermann

provider_healthsystem_namefacility_namepayer_nameprovider_idpayer_idmultiplier
Memorial Hermann Health SystemMemorial Hermann - Texas Medical CenterAetna53907100
Memorial Hermann Health SystemMemorial Hermann - Texas Medical CenterHumana5390510100
Memorial Hermann Health SystemMemorial Hermann - Texas Medical CenterKaiser Permanente5390522100
Memorial Hermann Health SystemMemorial Hermann - Texas Medical CenterUnited Healthcare5390643105
Memorial Hermann Health SystemMemorial Hermann Cypress HospitalAetna68577100
Memorial Hermann Health SystemMemorial Hermann Cypress HospitalHumana6857510100
Memorial Hermann Health SystemMemorial Hermann Cypress HospitalKaiser Permanente6857522100
Memorial Hermann Health SystemMemorial Hermann Cypress HospitalUnited Healthcare6857643105
Memorial Hermann Health SystemMemorial Hermann Greater Heights HospitalAetna53957100
Memorial Hermann Health SystemMemorial Hermann Greater Heights HospitalHumana5395510100
Memorial Hermann Health SystemMemorial Hermann Greater Heights HospitalKaiser Permanente5395522100
Memorial Hermann Health SystemMemorial Hermann Greater Heights HospitalUnited Healthcare5395643105
Memorial Hermann Health SystemMemorial Hermann Katy HospitalAetna54237100
Memorial Hermann Health SystemMemorial Hermann Katy HospitalHumana5423510100
Memorial Hermann Health SystemMemorial Hermann Katy HospitalKaiser Permanente5423522100
Memorial Hermann Health SystemMemorial Hermann Katy HospitalUnited Healthcare5423643105
Memorial Hermann Health SystemMemorial Hermann Memorial City Medical CenterAetna53977100
Memorial Hermann Health SystemMemorial Hermann Memorial City Medical CenterHumana5397510100
Memorial Hermann Health SystemMemorial Hermann Memorial City Medical CenterKaiser Permanente5397522100
Memorial Hermann Health SystemMemorial Hermann Memorial City Medical CenterUnited Healthcare5397643105
Memorial Hermann Health SystemMemorial Hermann Northeast HospitalAetna54147100
Memorial Hermann Health SystemMemorial Hermann Northeast HospitalHumana5414510100
Memorial Hermann Health SystemMemorial Hermann Northeast HospitalKaiser Permanente5414522100
Memorial Hermann Health SystemMemorial Hermann Northeast HospitalUnited Healthcare5414643105
Memorial Hermann Health SystemMemorial Hermann Orthopedic & Spine HospitalAetna5217100
Memorial Hermann Health SystemMemorial Hermann Orthopedic & Spine HospitalHumana521510100
Memorial Hermann Health SystemMemorial Hermann Orthopedic & Spine HospitalKaiser Permanente521522100
Memorial Hermann Health SystemMemorial Hermann Orthopedic & Spine HospitalUnited Healthcare521643105
Memorial Hermann Health SystemMemorial Hermann Pearland HospitalAetna68567100
Memorial Hermann Health SystemMemorial Hermann Pearland HospitalHumana6856510100
Memorial Hermann Health SystemMemorial Hermann Pearland HospitalKaiser Permanente6856522100
Memorial Hermann Health SystemMemorial Hermann Pearland HospitalUnited Healthcare6856643105
Memorial Hermann Health SystemMemorial Hermann Rehabilitation Hospital - KatyAetna51267100
Memorial Hermann Health SystemMemorial Hermann Rehabilitation Hospital - KatyHumana5126510100
Memorial Hermann Health SystemMemorial Hermann Rehabilitation Hospital - KatyKaiser Permanente5126522100
Memorial Hermann Health SystemMemorial Hermann Rehabilitation Hospital - KatyUnited Healthcare5126643105
Memorial Hermann Health SystemMemorial Hermann Southeast HospitalAetna68557100
Memorial Hermann Health SystemMemorial Hermann Southeast HospitalHumana6855510100
Memorial Hermann Health SystemMemorial Hermann Southeast HospitalKaiser Permanente6855522100
Memorial Hermann Health SystemMemorial Hermann Southeast HospitalUnited Healthcare6855643105
Memorial Hermann Health SystemMemorial Hermann Southwest HospitalAetna72797100
Memorial Hermann Health SystemMemorial Hermann Southwest HospitalHumana7279510100
Memorial Hermann Health SystemMemorial Hermann Southwest HospitalKaiser Permanente7279522100
Memorial Hermann Health SystemMemorial Hermann Southwest HospitalUnited Healthcare7279643105
Memorial Hermann Health SystemMemorial Hermann Sugar Land HospitalAetna55507100
Memorial Hermann Health SystemMemorial Hermann Sugar Land HospitalHumana5550510100
Memorial Hermann Health SystemMemorial Hermann Sugar Land HospitalKaiser Permanente5550522100
Memorial Hermann Health SystemMemorial Hermann Sugar Land HospitalUnited Healthcare5550643105

Vanderbilt

provider_healthsystem_namefacility_namepayer_nameprovider_idpayer_idmultiplier
Vanderbilt HealthMonroe Carell Jr Childrens Hospital at VanderbiltAetna80737112
Vanderbilt HealthMonroe Carell Jr Childrens Hospital at VanderbiltHumana8073510105
Vanderbilt HealthVanderbilt Bedford HospitalAetna34617112
Vanderbilt HealthVanderbilt Bedford HospitalHumana3461510105
Vanderbilt HealthVanderbilt Tullahoma-Harton HospitalAetna34667112
Vanderbilt HealthVanderbilt Tullahoma-Harton HospitalHumana3466510105
Vanderbilt HealthVanderbilt University Medical CenterAetna34487112
Vanderbilt HealthVanderbilt University Medical CenterHumana3448510105
Vanderbilt HealthVanderbilt Wilson County HospitalAetna33407112
Vanderbilt HealthVanderbilt Wilson County HospitalHumana3340510105
Vanderbilt HealthVanderbilt Wilson County HospitalUnited Healthcare3340643100

Code

Baptist
df = pd.read_sql(f"""
WITH
df AS (
SELECT
DISTINCT
hr.payer_id,
hr.provider_id,
hr.payer_name,
hr.plan_name,
h.provider_name_short AS facility_name,
CASE
WHEN phs.provider_name_short LIKE '%Baptist%' THEN 'Baptist Health'
WHEN phs.provider_name_short LIKE '%Duke%' THEN 'Duke Health'
WHEN phs.provider_name_short LIKE '%Ochsner%' THEN 'Ochsner Health'
ELSE phs.provider_name_short
END as provider_healthsystem_name,
hr.additional_generic_notes,
hr.additional_payer_notes
FROM glue.hospital_data.hospital_rates hr
JOIN tq_production.spines.spines_provider_hospitals h
ON hr.provider_id = h.provider_id
JOIN tq_production.spines.spines_provider_healthsystems phs
ON h.provider_healthsystem_id = phs.provider_id
WHERE hr.payer_class_name = 'Medicare Advantage'
AND hr.payer_id IN (643, 7, 510, 522, 42) -- UHC, Aetna, Humana, Kaiser, Anthem
AND phs.provider_id IN (
'100039','100815','100041','100224','100037','100038','100040',
'100771','100052','100482','100681','100160','100876','100230',
'100247','100312','100582','100419','100371','100269','101033','101235'
)
AND COALESCE(hr.billing_class, '') != 'Professional'
AND (
(
hr.additional_generic_notes IS NOT NULL
AND hr.additional_generic_notes NOT LIKE 'Contracting method is an algorithm described%'
)
OR (
hr.additional_payer_notes IS NOT NULL
AND hr.additional_payer_notes NOT IN (
'contract indicates payment as: algorithm',
'DRG Factor * DRG Weight'
)
)
)
AND phs.provider_name_short LIKE '%Baptist%'
)
SELECT *
FROM df
ORDER BY 6
""", con=trino_conn)

# %%
import re
df["additional_generic_notes"] = df["additional_generic_notes"].fillna('')
df["multiplier"] = df["additional_generic_notes"].str.extract(r'\*\s*([\d.]+)\s*\)').astype(float)

# %%
df_summary = (
df
.loc[df['multiplier'].notnull()]
.groupby(['provider_healthsystem_name', 'facility_name', 'payer_name', 'provider_id', 'payer_id', ])
.agg({
'multiplier': 'median',
})
.reset_index()
)
df_summary.columns = ['provider_healthsystem_name', 'facility_name', 'payer_name', 'provider_id', 'payer_id', 'multiplier']
print(df_summary.to_markdown(index=False))
Memorial Hermann
df = pd.read_sql(f"""
WITH
df AS (
SELECT
DISTINCT
hr.payer_id,
hr.provider_id,
hr.payer_name,
hr.plan_name,
h.provider_name_short AS facility_name,
CASE
WHEN phs.provider_name_short LIKE '%Baptist%' THEN 'Baptist Health'
WHEN phs.provider_name_short LIKE '%Duke%' THEN 'Duke Health'
WHEN phs.provider_name_short LIKE '%Ochsner%' THEN 'Ochsner Health'
ELSE phs.provider_name_short
END as provider_healthsystem_name,
hr.additional_generic_notes,
hr.additional_payer_notes
FROM glue.hospital_data.hospital_rates hr
JOIN tq_production.spines.spines_provider_hospitals h
ON hr.provider_id = h.provider_id
JOIN tq_production.spines.spines_provider_healthsystems phs
ON h.provider_healthsystem_id = phs.provider_id
WHERE hr.payer_class_name = 'Medicare Advantage'
AND hr.payer_id IN (643, 7, 510, 522, 42) -- UHC, Aetna, Humana, Kaiser, Anthem
AND phs.provider_id IN (
'100039','100815','100041','100224','100037','100038','100040',
'100771','100052','100482','100681','100160','100876','100230',
'100247','100312','100582','100419','100371','100269','101033','101235'
)
AND COALESCE(hr.billing_class, '') != 'Professional'
AND (
(
hr.additional_generic_notes IS NOT NULL
AND hr.additional_generic_notes NOT LIKE 'Contracting method is an algorithm described%'
)
OR (
hr.additional_payer_notes IS NOT NULL
AND hr.additional_payer_notes NOT IN (
'contract indicates payment as: algorithm',
'DRG Factor * DRG Weight'
)
)
)
AND phs.provider_name_short LIKE '%Memorial Hermann Health%'
)
SELECT *
FROM df
ORDER BY 6
""", con=trino_conn)

# %%
df['multiplier'] = df["plan_name"].str.split("(").str[1].str.split('%').str[0].astype(float)


# %%
df_summary = (
df
.loc[df['multiplier'].notnull()]
.groupby(['provider_healthsystem_name', 'facility_name', 'payer_name', 'provider_id', 'payer_id', ])
.agg({
'multiplier': 'median',
})
.reset_index()
)
df_summary.columns = ['provider_healthsystem_name', 'facility_name', 'payer_name', 'provider_id', 'payer_id', 'multiplier']
df_summary

print(df_summary.to_markdown(index=False))
# %%
Vanderbilt
df = pd.read_sql(f"""
WITH
df AS (
SELECT
DISTINCT
hr.payer_id,
hr.provider_id,
hr.payer_name,
hr.plan_name,
h.provider_name_short AS facility_name,
CASE
WHEN phs.provider_name_short LIKE '%Baptist%' THEN 'Baptist Health'
WHEN phs.provider_name_short LIKE '%Duke%' THEN 'Duke Health'
WHEN phs.provider_name_short LIKE '%Ochsner%' THEN 'Ochsner Health'
ELSE phs.provider_name_short
END as provider_healthsystem_name,
hr.additional_generic_notes,
hr.additional_payer_notes
FROM glue.hospital_data.hospital_rates hr
JOIN tq_production.spines.spines_provider_hospitals h
ON hr.provider_id = h.provider_id
JOIN tq_production.spines.spines_provider_healthsystems phs
ON h.provider_healthsystem_id = phs.provider_id
WHERE hr.payer_class_name = 'Medicare Advantage'
AND hr.payer_id IN (643, 7, 510, 522, 42) -- UHC, Aetna, Humana, Kaiser, Anthem
AND phs.provider_id IN (
'100039','100815','100041','100224','100037','100038','100040',
'100771','100052','100482','100681','100160','100876','100230',
'100247','100312','100582','100419','100371','100269','101033','101235'
)
AND COALESCE(hr.billing_class, '') != 'Professional'
AND (
(
hr.additional_generic_notes IS NOT NULL
AND hr.additional_generic_notes NOT LIKE 'Contracting method is an algorithm described%'
)
OR (
hr.additional_payer_notes IS NOT NULL
AND hr.additional_payer_notes NOT IN (
'contract indicates payment as: algorithm',
'DRG Factor * DRG Weight'
)
)
)
AND phs.provider_name_short LIKE '%Vanderbilt%'
)
SELECT *
FROM df
ORDER BY 6
""", con=trino_conn)

# %%
df['multiplier'] = df['additional_payer_notes'].str.split('@ ').str[1].str.split('%').str[0].astype(float)


# %%
df_summary = (
df
.loc[df['multiplier'].notnull()]
.groupby(['provider_healthsystem_name', 'facility_name', 'payer_name', 'provider_id', 'payer_id', ])
.agg({
'multiplier': ['median'],
})
.reset_index()
)
df_summary.columns = ['provider_healthsystem_name', 'facility_name', 'payer_name', 'provider_id', 'payer_id', 'multiplier']
print(df_summary.to_markdown(index=False))