Merged in fields/dynamic-updates (pull request #452)

Fields/dynamic updates

* Update valid LOBs + mappings to AARETE_DERIVED

* Update Program valid and mapping

* Add state-specific programs

* Update mappings for Network

* Add state CHIP mappings

* Add Program-LOB mappings

* Merged main into fields/dynamic-updates

* Bugfix

* Bugfix

* Remove test

* Remove all-caps criteria


Approved-by: Alex Galarce
This commit is contained in:
Katon Minhas
2025-03-24 21:05:01 +00:00
parent 131dff77de
commit 6ee8d1cf12
9 changed files with 465 additions and 129 deletions
+7 -1
View File
@@ -2,6 +2,7 @@ import csv
import json
import pandas as pd
from src.config import STATE
class CrosswalkBuilder:
@@ -106,7 +107,12 @@ class CrosswalkBuilder:
data = json.load(f)
self.metadata = data.get("metadata", {})
self.mapping = data.get("mapping", {})
mapping = data.get("mapping", {})
for state in STATE:
mapping.update(data.get("state_mapping", {}).get(state, {}))
self.mapping = mapping
return self
@@ -4,17 +4,24 @@
"to_col": "AARETE_DERIVED_LOB"
},
"mapping": {
"MEDICAID" : "Medicaid",
"MEDICARE-MEDICAID" : "Medicare-Medicaid",
"MEDICARE" : "Medicare",
"MEDICARE-ADVANTAGE" : "Medicare",
"COMMERCIAL" : "Commercial-Group",
"COMMERCIAL-EXCHANGE" : "Commercial-Group",
"GROUP" : "Commercial-Group",
"MARKETPLACE" : "Marketplace-Exchange-Individual & Family",
"CORRECTIONS" : "Corrections",
"VETERANS AFFAIRS" : "Veterans Affairs (VA)",
"CIVILIAN HEALTH AND MEDICAL PROGRAM" : "Civilian Health and Medical Program (CHAMPVA)",
"Medicaid" : "Medicaid",
"Duals" : "Duals",
"Dual Eligible" : "Duals",
"Special Needs Plan (SNP)" : "Duals",
"Dual-Eligible Special Needs Plan (D-SNP)" : "Duals",
"Medicare-Medicaid (MM)" : "Duals",
"Medi-Medi (MM)" : "Duals",
"Medicare" : "Medicare",
"Commercial" : "Commercial",
"Group" : "Commercial",
"Marketplace" : "Marketplace",
"Health Insurance Exchange (HIE)" : "Marketplace",
"Affordable Care Act (ACA)" : "Marketplace",
"Individual and Family Market (IFM)" : "Marketplace",
"Obamacare" : "Marketplace",
"Corrections" : "Corrections",
"Veterans Affairs (VA)" : "Veterans Affairs",
"CHAMPVA" : "CHAMPVA",
"TRICARE" : "TRICARE"
}
}
@@ -4,10 +4,12 @@
"to_col": "MBR_NETWORK_CD"
},
"mapping": {
"HEALTH MAINTENANCE ORGANIZATION": "HMO",
"EXCLUSIVE PROVIDER ORGANIZATION": "EPO",
"POINT OF SERVICE": "POS",
"PREFERRED PROVIDER ORGANIZATION": "PPO",
"INDEMNITY": "FFS"
"Health Maintenance Organization (HMO)": "HMO",
"Preferred Provider Organization (PPO)": "PPO",
"Exclusive Provider Organization (EPO)": "EPO",
"Point of Service (POS)": "POS",
"High Deductible Health Plan (HDHP)": "HDHP",
"Fee for Service (FFS)" : "FFS",
"Indemnity" : "FFS"
}
}
@@ -4,29 +4,207 @@
"to_col": "AARETE_DERIVED_PROGRAM"
},
"mapping": {
"Aged, Blind, Disabled (ABD)": "Aged, Blind, Disabled (ABD)",
"Childrens Health Insurance Program (CHIP)": "Childrens Health Insurance Program (CHIP)",
"CHIP" : "Childrens Health Insurance Program (CHIP)",
"Childrens Health Insurance Program Perinate (CHIP-Perinate)": "Childrens Health Insurance Program Perinate (CHIP-Perinate)",
"CHIP-P" : "Childrens Health Insurance Program Perinate (CHIP-Perinate)",
"Foster Care": "Foster Care",
"Intellectual and Developmental Disability (IDD)": "Intellectual and Developmental Disability (IDD)",
"Temporary Assistance Needy Families (TANF)": "Temporary Assistance Needy Families (TANF)",
"Chronic Condition Special Needs Plan (C-SNP)": "Chronic Condition Special Needs Plan (C-SNP)",
"Dual Eligible Special Needs Plan (D-SNP)": "Dual Eligible Special Needs Plan (D-SNP)",
"Institutional Special Needs Plan (I-SNP)": "Institutional Special Needs Plan (I-SNP)",
"Long-Term Services and Supports (LTSS)": "Long-Term Services and Supports (LTSS)",
"Program of All-Inclusive Care for the Elderly (PACE)": "Program of All-Inclusive Care for the Elderly (PACE)",
"Special Needs Plan (SNP)": "Special Needs Plan (SNP)",
"Medicare Advantage": "Medicare Advantage",
"Supplemental": "Supplemental",
"Administrative Services Only (ASO)": "Administrative Services Only (ASO)",
"Third-Party Administrator (TPA)": "Third-Party Administrator (TPA)",
"Self-Funded": "Self-Funded",
"Employer Funded": "Employer Funded",
"Platinum": "Platinum",
"Gold": "Gold",
"Silver": "Silver",
"Bronze": "Bronze"
"Children's Health Insurance Program (CHIP)" : "CHIP",
"Children's Health Insurance Program Perinate (CHIP-P)" : "CHIP-P",
"Aged, Blind, and Disabled (ABD)" : "ABD",
"Alternative Benefit Plan (ABP)" : "ABP",
"Community First Choice (CFC)" : "CFC",
"Foster Care (FC)" : "FC",
"Home and Community Based Services Waiver (HCBS)" : "HCBS",
"Home Health Services (HHS)" : "HHS",
"Hospice Benefits (HOSPICE)" : "HOSPICE",
"Intellectual and Developmental Disability (IDD)" : "IDD",
"Institution for Medical Disease (IMD)" : "IMD",
"Managed Long Term Care (MLTC)" : "MLTC",
"Self-Directed Personal Assistant Services (PAS)" : "PAS",
"Psych Under 21 (PU21)" : "PU21",
"Supplemental Nutrition Assistance Program (SNAP)" : "SNAP",
"Temporary Assistance Needy Families (TANF)" : "TANF",
"Long-Term Services and Supports (LTSS)" : "LTSS",
"Special Needs Plan (SNP)" : "SNP",
"Chronic Condition Special Needs Plan (C-SNP)" : "C-SNP",
"Dual Eligible Special Needs Plan (D-SNP)" : "D-SNP",
"Fully Integrated Dual Eligible Special Needs Plan (FIDE-SNP)" : "FIDE-SNP",
"Highly Integrated Dual Eligible Special Needs Plan (HIDE-SNP)" : "HIDE-SNP",
"Institutional Special Needs Plan (I-SNP)" : "I-SNP",
"Medicare-Medicaid Alignment Initiative (MMAI)" : "MMAI",
"Medicare-Medicaid Coordinated Plan (MMCP)" : "MMCP",
"Medicare-Medicaid Plan (MMP)" : "MMP",
"Program of All-Inclusive Care for the Elderly (PACE)" : "PACE",
"Medicare Advantage (MA)" : "MA",
"Medicare Part C" : "MA",
"Supplemental" : "Supp",
"Medigap" : "Supp",
"Self-Funded" : "SF",
"Administrative Services Only (ASO)" : "SF",
"Third Party Administrator (TPA)" : "SF",
"Fully-Funded" : "FF",
"Platinum" : "PLAT",
"Gold" : "GOLD",
"Silver" : "SLVR",
"Bronze" : "BRNZ",
"Connector" : "CONN",
"Catastrophic" : "CATA"
},
"state_mapping" : {
"AL" : {
"ALL Kids" : "CHIP"
},
"AK" : {
"Denali KidCare" : "CHIP"
},
"AZ" : {
"KidsCare" : "CHIP"
},
"AR" : {
"ARKids First" : "CHIP"
},
"CA" : {
"Medi-Cal Access Program (MCAP)" : "CHIP"
},
"CO" : {
"Child Health Plan Plus (CHP+)" : "CHIP"
},
"CT" : {
"HUSKY A" : "CHIP",
"HUSKY B" : "CHIP",
"HUSKY C" : "CHIP",
"HUSKY D" : "CHIP"
},
"DE" : {
"Delaware Healthy Children Program (DHCP)" : "CHIP"
},
"DC" : {
"DC Healthy Families" : "CHIP"
},
"FL" : {
"Florida KidCare" : "CHIP"
},
"GA" : {
"PeachCare for Kids" : "CHIP"
},
"HI" : {
"QUEST Integration" : "CHIP"
},
"ID" : {
"Idaho Medicaid for CHIP" : "CHIP"
},
"IL" : {
"All Kids" : "CHIP"
},
"IN" : {
"Hoosier Healthwise" : "CHIP"
},
"IA" : {
"Healthy and Well Kids in Iowa (HAWK-I)" : "CHIP"
},
"KS" : {
"KanCare" : "CHIP"
},
"KY" : {
"Kentucky Children's Health Insurance Program (KCHIP)" : "CHIP"
},
"LA" : {
"LaCHIP" : "CHIP"
},
"ME" : {
"Cub Care" : "CHIP"
},
"MD" : {
"Maryland Children's Health Program (MCHP)" : "CHIP"
},
"MA" : {
"MassHealth CHIP" : "CHIP"
},
"MI" : {
"MIChild" : "CHIP"
},
"MN" : {
"MinnesotaCare" : "CHIP"
},
"MS" : {
"Mississippi CHIP" : "CHIP"
},
"MO" : {
"MO HealthNet for Kids" : "CHIP"
},
"MT" : {
"Healthy Montana Kids (HMK)" : "CHIP"
},
"NE" : {
"Kids Connection" : "CHIP"
},
"NV" : {
"Nevada Check Up" : "CHIP"
},
"NH" : {
"New Hampshire Healthy Families" : "CHIP"
},
"NJ" : {
"NJ FamilyCare" : "CHIP"
},
"NM" : {
"New MexiKids" : "CHIP"
},
"NY" : {
"Health and Recovery Plan (HARP)" : "HARP",
"Child Health Plus (CHP)" : "CHPLUS"
},
"NC" : {
"NC Health Choice" : "CHIP"
},
"ND" : {
"Healthy Steps" : "CHIP"
},
"OH" : {
"Healthy Start" : "CHIP"
},
"OK" : {
"SoonerCare Choice" : "CHIP"
},
"OR" : {
"Oregon Healthy Kids" : "CHIP"
},
"PA" : {
"Pennsylvania CHIP" : "CHIP"
},
"RI" : {
"Rite Care" : "CHIP"
},
"SC" : {
"Partners for Healthy Children" : "CHIP"
},
"SD" : {
"South Dakota Medicaid for CHIP" : "CHIP"
},
"TN" : {
"CoverKids" : "CHIP"
},
"TX" : {
"STAR Health" : "STAR",
"STAR Kids" : "STAR-Kids",
"STAR+PLUS" : "STAR+PLUS"
},
"UT" : {
"CHIP" : "CHIP"
},
"VT" : {
"Dr. Dynasaur" : "CHIP"
},
"VA" : {
"FAMIS" : "CHIP"
},
"WA" : {
"Apple Health for Kids" : "CHIP"
},
"WV" : {
"WVCHIP" : "CHIP"
},
"WI" : {
"BadgerCare Plus" : "CHIP"
},
"WY" : {
"Kid Care CHIP" : "CHIP"
}
}
}
@@ -1,30 +1,230 @@
{
"metadata": {
"from_col": "MBR_PROGRAM_DESC",
"to_col": "MBR_PRODUCT_LOB"
"from_col": "AARETE_DERIVED_PROGRAM",
"to_col": "AARETE_DERIVED_LOB"
},
"mapping": {
"Aged, Blind, Disabled (ABD)": "Medicaid",
"Children\u2019s Health Insurance Program (CHIP)": "Medicaid",
"Children\u2019s Health Insurance Program Perinate (CHIP-Perinate)": "Medicaid",
"Foster Care": "Medicaid",
"Intellectual and Developmental Disability (IDD)": "Medicaid",
"Temporary Assistance Needy Families (TANF)": "Medicaid",
"Chronic Condition Special Needs Plan (C-SNP)": "Medicare-Medicaid",
"Dual Eligible Special Needs Plan (D-SNP)": "Medicare-Medicaid",
"Institutional Special Needs Plan (I-SNP)": "Medicare-Medicaid",
"Long-Term Services and Supports (LTSS)": "Medicare-Medicaid",
"Program of All-Inclusive Care for the Elderly (PACE)": "Medicare-Medicaid",
"Special Needs Plan (SNP)": "Medicare-Medicaid",
"Medicare Advantage": "Medicare",
"Supplemental": "Medicare",
"Administrative Services Only (ASO)": "Commercial-Group",
"Third-Party Administrator (TPA)": "Commercial-Group",
"Self-Funded": "Commercial-Group",
"Employer Funded": "Commercial-Group",
"Platinum": "Marketplace-Exchange-Individual & Family",
"Gold": "Marketplace-Exchange-Individual & Family",
"Silver": "Marketplace-Exchange-Individual & Family",
"Bronze": "Marketplace-Exchange-Individual & Family"
"CHIP" : "Medicaid",
"CHIP-P" : "Medicaid",
"ABD" : "Medicaid",
"ABP" : "Medicaid",
"CFC" : "Medicaid",
"FC" : "Medicaid",
"HCBS" : "Medicaid",
"HHS" : "Medicaid",
"HOSPICE" : "Medicaid",
"IDD" : "Medicaid",
"IMD" : "Medicaid",
"MLTC" : "Medicaid",
"PAS" : "Medicaid",
"PU21" : "Medicaid",
"SNAP" : "Medicaid",
"TANF" : "Medicaid",
"SNP" : "Duals",
"C-SNP" : "Duals",
"D-SNP" : "Duals",
"FIDE-SNP" : "Duals",
"HIDE-SNP" : "Duals",
"I-SNP" : "Duals",
"MMAI" : "Duals",
"MMCP" : "Duals",
"MMP" : "Duals",
"PACE" : "Duals",
"MA" : "Medicare",
"Supp" : "Medicare",
"SF" : "Commercial",
"FF" : "Commercial",
"PLAT" : "Marketplace",
"GOLD" : "Marketplace",
"SLVR" : "Marketplace",
"BRNZ" : "Marketplace",
"CONN" : "Marketplace",
"CATA" : "Marketplace"
},
"state_mapping" : {
"AL" : {
"Alabama Medicaid" : "Medicaid"
},
"AK" : {
"DenaliCare" : "Medicaid"
},
"AZ" : {
"Arizona Health Care Cost Containment System" : "Medicaid",
"Arizona Health Insurance Exchange" : "Marketplace"
},
"AR" : {
"Arkansas Medicaid" : "Medicaid",
"Arkansas Health Connector" : "Marketplace"
},
"CA" : {
"Medi-Cal" : "Medicaid",
"Covered California" : "Marketplace"
},
"CO" : {
"Health First Colorado" : "Medicaid",
"Connect for Health Colorado" : "Marketplace"
},
"CT" : {
"Husky Health" : "Medicaid",
"Access Health CT" : "Marketplace"
},
"DE" : {
"Diamond State Health Plan" : "Medicaid",
"Choose Health Delaware" : "Marketplace"
},
"DC" : {
"DC Medicaid" : "Medicaid",
"DC Health Link" : "Marketplace"
},
"FL" : {
"Florida Statewide Medicaid Managed Care Program (SMMC)" : "Medicaid"
},
"GA" : {
"Georgia Medicaid" : "Medicaid",
"Georgia Access" : "Marketplace"
},
"HI" : {
"Med-QUEST" : "Medicaid",
"Hawaii Health Connector" : "Marketplace"
},
"ID" : {
"Idaho Medicaid" : "Medicaid",
"Your Health Idaho" : "Marketplace"
},
"IL" : {
"HealthChoice Illinois" : "Medicaid",
"Get Covered Illinois" : "Marketplace"
},
"IN" : {
"Indiana Medicaid" : "Medicaid"
},
"IA" : {
"Iowa Health Link" : "Medicaid"
},
"KS" : {
"KanCare" : "Medicaid"
},
"KY" : {
"Kentucky Medicaid" : "Medicaid",
"Kynect" : "Marketplace"
},
"LA" : {
"Healthy Louisiana" : "Medicaid",
"Louisiana State Insurance Exchange" : "Marketplace"
},
"ME" : {
"MaineCare" : "Medicaid",
"CoverME" : "Marketplace"
},
"MD" : {
"Maryland HealthChoice" : "Medicaid",
"Maryland Health Connection" : "Marketplace"
},
"MA" : {
"MassHealth" : "Medicaid",
"Massachusetts Health Connector" : "Marketplace"
},
"MI" : {
"Healthy Michigan Plan" : "Medicaid"
},
"MN" : {
"Minnesota Medical Assistance" : "Medicaid",
"MNsure" : "Marketplace"
},
"MS" : {
"Mississippi Division of Medicaid" : "Medicaid",
"MississippiCAN" : "Medicaid"
},
"MO" : {
"MO HealthNet" : "Medicaid"
},
"MT" : {
"Montana Medicaid Expansion" : "Medicaid"
},
"NE" : {
"Heritage Health" : "Medicaid"
},
"NV" : {
"Nevada Medicaid" : "Medicaid",
"Nevada Health Link" : "Marketplace",
"Silver State Health Insurance Exchange" : "Marketplace"
},
"NH" : {
"New Hampshire Medicaid" : "Medicaid",
"NH Health Families" : "Marketplace"
},
"NJ" : {
"NJ FamilyCare" : "Medicaid",
"Get Covered NJ" : "Marketplace"
},
"NM" : {
"Centennial Care" : "Medicaid",
"WellNM" : "Marketplace"
},
"NY" : {
"New York State Medicaid" : "Medicaid",
"NY State of Health" : "Marketplace"
},
"NC" : {
"North Carolina Medicaid" : "Medicaid"
},
"ND" : {
"North Dakota Medicaid" : "Medicaid"
},
"OH" : {
"Ohio Medicaid" : "Medicaid"
},
"OK" : {
"SoonerCare" : "Medicaid"
},
"OR" : {
"Oregon Health Plan" : "Medicaid",
"OregonHealthCare" : "Marketplace"
},
"PA" : {
"Pennsylvania Medical Assistance" : "Medicaid",
"Pennie" : "Marketplace"
},
"RI" : {
"Rhode Island Medicaid" : "Medicaid",
"HealthSource RI" : "Marketplace"
},
"SC" : {
"Healthy Connections" : "Medicaid"
},
"SD" : {
"South Dakota Medicaid" : "Medicaid"
},
"TN" : {
"TennCare" : "Medicaid"
},
"TX" : {
"STAR" : "Medicaid"
},
"UT" : {
"Healthy U" : "Medicaid"
},
"VT" : {
"Green Mountain Care" : "Medicaid",
"Vermont Health Connect" : "Marketplace"
},
"VA" : {
"Cardinal Care" : "Medicaid",
"Cover Virginia" : "Marketplace",
"CoverVA" : "Marketplace"
},
"WA" : {
"Apple Health" : "Medicaid",
"Washington Healthplanfinder" : "Marketplace"
},
"WV" : {
"West Virginia Medicaid" : "Medicaid"
},
"WI" : {
"BadgerCare Plus" : "Medicaid"
},
"WY" : {
"EqualityCare" : "Medicaid"
}
}
}
+1 -1
View File
@@ -114,7 +114,7 @@ FIELDS = get_arg_value("fields", "abc") # Valid: ac, b, abc
FIELD_JSON_PATH = "src/prompts/investment_prompts.json"
# Client-specific args
STATE = get_arg_value("state", "None").upper()
STATE = [s.strip() for s in get_arg_value("state", "None").upper().split("-") if s]
# File IO args
LOCAL_PATH = get_arg_value(
@@ -1,20 +1,10 @@
from crosswalk.crosswalk_utils import CrosswalkBuilder
VALID_LOBS = [
"MEDICAID",
"MEDICARE-MEDICAID",
"MEDICARE",
"MEDICARE-ADVANTAGE"
"COMMERCIAL",
"COMMERCIAL-EXCHANGE",
"GROUP",
"MARKETPLACE",
"CORRECTIONS",
"VETERANS AFFAIRS",
"CIVILIAN HEALTH AND MEDICAL PROGRAM",
"TRICARE"
]
# Dynamic values
VALID_LOBS = list(CrosswalkBuilder().from_json(path="crosswalk/mappings/crosswalk_lob.json").mapping.keys())
VALID_PROGRAMS = list(CrosswalkBuilder().from_json(path="crosswalk/mappings/crosswalk_program.json").mapping.keys())
VALID_NETWORKS = list(CrosswalkBuilder().from_json(path="crosswalk/mappings/crosswalk_network.json").mapping.keys())
VALID_PROV_SPECIALTY = list(CrosswalkBuilder().from_json(path="crosswalk/mappings/crosswalk_provider_specialty.json").mapping.keys())
@@ -54,52 +44,6 @@ VALID_PROV_TYPE = [
]
VALID_NETWORKS = [
"HMO",
"HEALTH MAINTENANCE ORGANIZATION",
"EPO",
"EXCLUSIVE PROVIDER ORGANIZATION",
"POS",
"POINT OF SERVICE",
"PPO",
"PREFERRED PROVIDER ORGANIZATION",
"FFS",
"INDEMNITY"
]
VALID_AARETE_DERIVED_NETWORKS = [
"HMO",
"EPO",
"POS",
"PPO",
"FFS"
]
VALID_PROGRAMS = [
"AGED, BLIND, DISABLED (ABD)",
"CHILDRENS HEALTH INSURANCE PROGRAM (CHIP)",
"CHILDRENS HEALTH INSURANCE PROGRAM PERINATE (CHIP-PERINATE)",
"FOSTER CARE",
"INTELLECTUAL AND DEVELOPMENTAL DISABILITY (IDD)",
"TEMPORARY ASSISTANCE NEEDY FAMILIES (TANF)",
"CHRONIC CONDITION SPECIAL NEEDS PLAN (C-SNP)",
"DUAL ELIGIBLE SPECIAL NEEDS PLAN (D-SNP)",
"INSTITUTIONAL SPECIAL NEEDS PLAN (I-SNP)",
"LONG-TERM SERVICES AND SUPPORTS (LTSS)",
"PROGRAM OF ALL-INCLUSIVE CARE FOR THE ELDERLY (PACE)",
"SPECIAL NEEDS PLAN (SNP)",
"MEDICARE ADVANTAGE",
"SUPPLEMENTAL",
"ADMINISTRATIVE SERVICES ONLY (ASO)",
"THIRD-PARTY ADMINISTRATOR (TPA)",
"SELF-FUNDED",
"EMPLOYER FUNDED",
"PLATINUM",
"GOLD",
"SILVER",
"BRONZE"
]
VALID_AARETE_DERIVED_FEE_SCHEDULE = [
"CMS", "Medicare",
"State", "Medicaid",
+1 -2
View File
@@ -15,9 +15,8 @@ VALID_LOBS = [
## PROGRAMS ##
state_list = config.STATE.split("-")
VALID_PROGRAMS = []
for state in state_list:
for state in config.STATE:
if state == "TX":
VALID_PROGRAMS += [
"CHIP",
@@ -37,7 +37,7 @@ def get_crosswalk_answers(crosswalk_fields, aarete_derived_answers_df):
if from_field in aarete_derived_answers_df:
# Apply crosswalk transformation to the entire column
aarete_derived_answers_df[to_field.field_name] = aarete_derived_answers_df[from_field].map(
lambda x: apply_crosswalk(str(x).upper(), crosswalk_mapping)
lambda x: apply_crosswalk(str(x), crosswalk_mapping)
)
return aarete_derived_answers_df