6ee8d1cf12
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
834 lines
30 KiB
Python
834 lines
30 KiB
Python
import pandas as pd
|
|
|
|
from src import config
|
|
|
|
VALID_LOBS = [
|
|
"MEDICARE",
|
|
"MEDICARE ADVANTAGE",
|
|
"MEDICAID",
|
|
"NON-MEDICAID",
|
|
"MARKETPLACE",
|
|
"COMMERCIAL",
|
|
"COMMERCIAL-EXCHANGE",
|
|
"MEDICAID-MEDICARE",
|
|
]
|
|
|
|
|
|
## PROGRAMS ##
|
|
VALID_PROGRAMS = []
|
|
for state in config.STATE:
|
|
if state == "TX":
|
|
VALID_PROGRAMS += [
|
|
"CHIP",
|
|
"CHIP-P",
|
|
"CHIP-PERINATE",
|
|
"STAR",
|
|
"STAR+PLUS",
|
|
"DUAL SPECIAL NEEDS PLAN",
|
|
"DSNP",
|
|
"D-SNP",
|
|
"FOSTER CARE",
|
|
"MA Plan",
|
|
"MA-PD",
|
|
"MMP",
|
|
"HMO",
|
|
"PPO",
|
|
"EPO",
|
|
]
|
|
elif state == "IL":
|
|
VALID_PROGRAMS += [
|
|
"Meridian Medicaid Plan",
|
|
"YouthCare HealthChoice Illinois",
|
|
"Wellcare",
|
|
"Ambetter",
|
|
"Meridican Medicare-Medicaid Plan",
|
|
"Meridian Managed Long Term Services and Support Plan",
|
|
]
|
|
elif state == "FL":
|
|
VALID_PROGRAMS += [
|
|
"Sunshine Health",
|
|
"Wellcare",
|
|
"Ambetter by Sunshine Health",
|
|
"Childrens Medical Services Health Plan",
|
|
]
|
|
elif state == "KY":
|
|
VALID_PROGRAMS += [
|
|
"Wellcare",
|
|
"Wellcare of Kentucky",
|
|
"Ambetter for Wellcare of Kentucky",
|
|
]
|
|
elif state == "OH":
|
|
VALID_PROGRAMS += [
|
|
"Buckeye Health Plan",
|
|
"MyCare Ohio",
|
|
"Wellcare",
|
|
"Ambetter from Buckeye Health Plan",
|
|
]
|
|
elif state == "MI":
|
|
VALID_PROGRAMS += [
|
|
"Meridian",
|
|
"Meridian Complete",
|
|
"Wellcare",
|
|
"Ambetter from Meridian",
|
|
]
|
|
elif state == "LA":
|
|
VALID_PROGRAMS += [
|
|
"Louisiana Healthcare Connections",
|
|
"Wellcare",
|
|
"Ambetter from Louisiana Healthcare Connections",
|
|
]
|
|
elif state == "OK":
|
|
VALID_PROGRAMS += [
|
|
"Oklahoma Complete Health",
|
|
"Wellcare",
|
|
"Ambetter of Oklahoma",
|
|
]
|
|
elif state == "NY":
|
|
VALID_PROGRAMS += ["Fidelis Care", "Wellcare", "Ambetter from Fidelis Care"]
|
|
VALID_PROGRAMS = list(set(VALID_PROGRAMS))
|
|
if VALID_PROGRAMS:
|
|
VALID_PROGRAMS = f"One or more programs may be valid. ONLY from the following values: {VALID_PROGRAMS}. If there language such as 'MA PLAN/MA-PD PLAN/DSNP PLAN' and also 'Medicare -HMO' present, then ensure you extract HMO as well with the other plans"
|
|
else:
|
|
VALID_PROGRAMS = f"A program is defined as a plan or product offering from an insurance company. Look for the brand name of a health plan."
|
|
|
|
|
|
VALID_PROV_TYPES = ["Facility", "Professional", "Ancillary"]
|
|
|
|
# VALID_NETWORKS = ['HMO', 'PPO', 'EPO']
|
|
|
|
VALID_MSR = [
|
|
"Multiple Procedures",
|
|
"Multiple Outpatient",
|
|
"Multiple Surgical",
|
|
"Multiple Surgeries",
|
|
]
|
|
|
|
VALID_DEFAULT = [
|
|
"codes not found in",
|
|
"all other services",
|
|
"services not listed",
|
|
"except for those listed below",
|
|
"codes not covered",
|
|
"services not defined",
|
|
"no established payment",
|
|
"no established fee amount",
|
|
"procedures not listed",
|
|
"default",
|
|
]
|
|
|
|
INVALID_DEFAULT = ["Except as otherwise provided"]
|
|
|
|
NULL_ANSWER_TERMS = [
|
|
"do not have",
|
|
"do not see",
|
|
"does not specify",
|
|
"does not explicitly",
|
|
"don't know",
|
|
"Not specified",
|
|
"don't see",
|
|
"don't have",
|
|
"Nothing found",
|
|
"does not contain",
|
|
"unable to find",
|
|
]
|
|
|
|
EXCLUSION_TERMS = [
|
|
"Exclusions",
|
|
"Excluded",
|
|
"Exclude",
|
|
"Not including",
|
|
"Not to include",
|
|
]
|
|
|
|
VALID_MEDICALLY_NECESSARY = ["Medically Necessary", "Medical Necessity"]
|
|
INVALID_MEDICALLY_NECESSARY = [
|
|
"nan",
|
|
"N/A",
|
|
"Defined",
|
|
"Records",
|
|
"Payments",
|
|
"Definition",
|
|
"mean",
|
|
"Those medical services which:",
|
|
"twenty-four",
|
|
"seven",
|
|
"24",
|
|
"7",
|
|
]
|
|
|
|
INVALID_HCBS = [
|
|
"nan",
|
|
"N/A",
|
|
"Defined",
|
|
"Definition",
|
|
"mean",
|
|
] # TODO add postprocessing for HCBS
|
|
|
|
# Provider Type Level 2
|
|
VALID_PROF = [
|
|
"Physician",
|
|
"Primary Care Provider",
|
|
"Dual Capacity Physician",
|
|
"Mid-Level Practicioner",
|
|
"Specialist",
|
|
"OB/GYN",
|
|
"Behavioral Health",
|
|
"Therapist",
|
|
"Surgery",
|
|
"Independent RHC",
|
|
"Ambulance Services",
|
|
"Home Health",
|
|
]
|
|
VALID_ANC = [
|
|
"DME",
|
|
"Durable Medical Equipment",
|
|
"Radiology",
|
|
"Lab",
|
|
"Home Health",
|
|
"Hospice",
|
|
"Dialysis",
|
|
"PT/OT/ST",
|
|
"Urgent Care",
|
|
"Home Infusion",
|
|
"Ambulatory Surgery Center",
|
|
"ASC",
|
|
"Ambulance Services",
|
|
"Home Health",
|
|
]
|
|
VALID_FAC = [
|
|
"Skilled Nursing Facility",
|
|
"Ambulatory Surgery Center",
|
|
"ASC",
|
|
"Hospital",
|
|
"Clinic",
|
|
"Rural Health Clinic",
|
|
"FQHC",
|
|
"Long Term Care",
|
|
"Community Mental Health Center",
|
|
]
|
|
|
|
|
|
def select_valid_prov_2(provider_type):
|
|
if isinstance(provider_type, pd.Series):
|
|
# If it's a Series, use str.contains() method
|
|
if provider_type.str.contains("PROFESSIONAL", case=False, na=False).any():
|
|
valid_list = VALID_PROF
|
|
elif provider_type.str.contains("ANCILLARY", case=False, na=False).any():
|
|
valid_list = VALID_ANC
|
|
elif provider_type.str.contains("FACILITY", case=False, na=False).any():
|
|
valid_list = VALID_FAC
|
|
else:
|
|
valid_list = VALID_PROF + VALID_ANC + VALID_FAC
|
|
else:
|
|
# If it's a single string, use the original logic
|
|
if "PROFESSIONAL" in provider_type.upper():
|
|
valid_list = VALID_PROF
|
|
elif "ANCILLARY" in provider_type.upper():
|
|
valid_list = VALID_ANC
|
|
elif "FACILITY" in provider_type.upper():
|
|
valid_list = VALID_FAC
|
|
else:
|
|
valid_list = VALID_PROF + VALID_ANC + VALID_FAC
|
|
return valid_list
|
|
|
|
|
|
RATE_REPLACEMENTS = {
|
|
"Medicare": "MCR",
|
|
"Medicaid": "MCD",
|
|
"Allowable Charges": "AC",
|
|
"Allowed Amount": "AA",
|
|
"Billed Charges": "BC",
|
|
"Average Sales Price": "ASP",
|
|
"Average Wholesale Price": "AWP",
|
|
"Amount Payable by Medicare": "MCR",
|
|
"Amount Payable by Medicaid": "MCD",
|
|
}
|
|
|
|
# List of fields that will have derived indicators
|
|
DERIVED_INDICATOR_FIELDS = [
|
|
"PROVIDER_BASED_BILLING_EXCLUSION_LANGUAGE",
|
|
"INVOICE_PRICING_LANGUAGE",
|
|
"GUARANTEE_OF_PROVIDER_YIELD_LANGUAGE",
|
|
"CLAIMS_EDITING_LANGUAGE",
|
|
"DISPARAGEMENT_PROHIBITION_LANGUAGE",
|
|
"NONSTANDARD_APPEALS_PROCESS_LANGUAGE",
|
|
"RELATIONSHIP_OF_PARTIES_LANGUAGE",
|
|
"CONFLICTS_BETWEEN_CERTAIN_DOCUMENTS_LANGUAGE",
|
|
"PAYMENT_IN_ADVANCE_OF_CLAIMS_SUBMISSION_LANGUAGE",
|
|
"NETWORK_ACCESS_FEES_LANGUAGE",
|
|
"MEMBER_CONFINEMENT_DAYS_LANGUAGE",
|
|
"INDEPENDENT_REVIEW_LANGUAGE",
|
|
"EXCLUSIVITY_REQUIREMENT_LANGUAGE",
|
|
"LATE_PAID_CLAIMS_LANGUAGE",
|
|
"COST_SETTLEMENT_LANGUAGE",
|
|
"DELEGATED_TERMS",
|
|
"SEQUESTRATION_LANGUAGE",
|
|
]
|
|
|
|
B_MAPPING = {
|
|
"Filename": "Contract Name",
|
|
"Parent Agreement Code": "Parent Agreement Code",
|
|
"Pages": "Pages",
|
|
"page_num": "Page_Num",
|
|
"EXHIBIT": "Attachment/Exhibit",
|
|
"CONTRACT_LOB": "Line of Business",
|
|
"PROV_TYPE": "Provider Type",
|
|
"PROV_TYPE_LEVEL_2": "Provider Type - Level 2",
|
|
"IP_OP": "IP/OP",
|
|
"FULL_SERVICE": "Service Type",
|
|
"CONTRACT_PROGRAM": "Plan Type",
|
|
"LESSER": "Lesser of Logic language, included (Y/N)",
|
|
"LESSER_RATE": "Lesser of Rate",
|
|
"FULL_METHODOLOGY": "Reimb. Methodology",
|
|
"SHORT_METHODOLOGY": "Reimb. Methodology_Short",
|
|
"RATE_STANDARD": "If rate is % of Payor or MCR [STANDARD]",
|
|
"RATE_SHORT": "If rate is % of Payor or MCR [STANDARD]_Short",
|
|
"FLAT_FEE_STANDARD": "FLAT FEE",
|
|
"DEFAULT_TERM": "Default Term",
|
|
"DEFAULT_RATE": "Default Rate",
|
|
"MEDICAL_NECESSITY_LANGUAGE": "Medical Necessity Language (Language)",
|
|
"MEDICAL_NECESSITY_LANGUAGE_IND": "Medical Necessity Language (Y/N)",
|
|
'Inclusion of essential RBRVS "Fee Source" Language (Y/N)': 'Inclusion of essential RBRVS "Fee Source" Language (Y/N)',
|
|
"CDM_IND": "CDM Neutralization Language, included (Y/N)",
|
|
"CHARGEMASTER": "CONTRACT_CHARGEMASTER_PROTECTION_LANGUAGE",
|
|
"ADD_ON_REIMBURSEMENT_LANGUAGE": "Add On Reimbursement (Language)",
|
|
"ADD_ON_REIMBURSEMENT_IND": "Add On Reimbursement (Y/N)",
|
|
"SINGLE_CODE_MULTIPLE_RATES_LANGUAGE": "Single Code Multiple Rates (Language)",
|
|
"SINGLE_CODE_MULTIPLE_RATES_IND": "Single Code Multiple Rates (Y/N)",
|
|
"IP - DSH/IME/UC, included (Y/N)": "IP - DSH/IME/UC, included (Y/N)",
|
|
"IP - Stoploss Catastrophic Threshold": "IP - Stoploss Catastrophic Threshold",
|
|
"EXCLUSIONS": "Exclusions",
|
|
"NOT_TO_EXCEED": "Not to Exceed",
|
|
"RATE_ESCALATOR_IND": "Escalator or COLA (Y/N)",
|
|
"RATE_ESCALATOR_DT": "Escalator I, Eff. Date",
|
|
}
|
|
|
|
AC_MAPPING = {
|
|
"Filename": "Contract Name",
|
|
"Pages": "Pages",
|
|
"Parent Agreement Code": "Parent Agreement Code",
|
|
"CONTRACT_TITLE": "Agreement_Name (Contract Title)",
|
|
"PAYER_NAME": "PAYER NAME",
|
|
"AFFILIATION_CLAUSE_IND": "Affiliate (Y/N)",
|
|
"TERM_CLAUSE": "Term Clause",
|
|
"CONTRACT_AUTO_RENEWAL_IND": "Contract Auto-Renewal Indicator",
|
|
"CONTRACT_TERMINATION_DT": "Termination Date",
|
|
"TERMINATION_UPON_NOTICE": "Termination Upon Notice - Days",
|
|
"TERMINATION_UPON_CAUSE": "Termination With Cause - Days",
|
|
"AMEND_CONTRACT_NOTICE_IND": "Amend Contract Upon notice Flag (Y/N)",
|
|
"TIME_TO_OBJECT": "Timeframe to Object - Days",
|
|
"ASSIGNMENTS_CLAUSE_IND": "Assignments Clause (Y/N)",
|
|
"CONTRACT_EFFECTIVE_DT": "Contract Effective Date",
|
|
"PROV_GROUP_TIN": "IRS #",
|
|
"PROV_GROUP_NAME": "IRS_Name",
|
|
"PROV_GROUP_NPI": "NPI (10-digits)",
|
|
"PROV_GROUP_TIN_SIGNATORY": "PROV_GROUP_TIN_SIGNATORY",
|
|
"PROV_TIN_OTHER": "PROV_TIN_OTHER",
|
|
"PROV_NPI_OTHER": "PROV_NPI_OTHER",
|
|
"NOTICE_PROVIDER_NAME": "Notice to Provider Name",
|
|
"NOTICE_PROVIDER_ADDRESS": "Notice to Provider Address",
|
|
"HEALTH_PLAN_STATE": "Health Plan State",
|
|
"CREDENTIALING_APP_IND": "Credentialing Application Indicator",
|
|
"SEQUESTRATION_LANGUAGE": "Sequestration Language",
|
|
"SEQUESTRATION_LANGUAGE_IND": "Sequestration Reductions (Y/N)",
|
|
"NPI_NAME": "NPI Name",
|
|
"DELEGATED_TERMS_IND": "Delegated Function Indicator",
|
|
"DELEGATED_TERMS": "Delegated Terms",
|
|
"ECM": "ECM",
|
|
"NATIONAL_AGREEMENT_IND": "National Agreement Indicator",
|
|
"COST_SETTLEMENT_LANGUAGE_IND": "Cost Settlement (Y/N)",
|
|
"COST_SETTLEMENT_LANGUAGE": "Cost Settlement (Language)",
|
|
"LATE_PAID_CLAIMS_LANGUAGE_IND": "Late Paid Claims (Y/N)",
|
|
"LATE_PAID_CLAIMS_LANGUAGE": "Late Paid Claims (Language)",
|
|
"DEEMER_AMENDMENT": "Deemer Amendment",
|
|
"REGULATORY_REQUIREMENTS": "Regulatory Requirements",
|
|
"RECOVERY_RIGHTS": "Recovery Rights",
|
|
"ARBITRATION_AND_DISPUTES": "Arbitration and Disputes",
|
|
"EXCLUSIVITY_REQUIREMENT_LANGUAGE_IND": "Exclusivity Requirement (Y/N)",
|
|
"EXCLUSIVITY_REQUIREMENT_LANGUAGE": "Exclusivity Requirement (Language)",
|
|
"PAYOR": "Payor",
|
|
"PARTICIPATION_IN_PRODUCTS": "Participation in Products",
|
|
"CLEAN_CLAIM": "Clean Claim",
|
|
"INDEPENDENT_REVIEW_LANGUAGE_IND": "Independent Review (Y/N)",
|
|
"INDEPENDENT_REVIEW_LANGUAGE": "Independent Review (Language)",
|
|
"INDEMNIFICATION": "Indemnification",
|
|
"ACCESS_TO_MEDICAL_RECORDS": "Access to Medical Records",
|
|
"MEMBER_CONFINEMENT_DAYS_LANGUAGE_IND": "Member Confinement Days Language (Y/N)",
|
|
"MEMBER_CONFINEMENT_DAYS_LANGUAGE": "Member Confinement Days Language (Language)",
|
|
"NETWORK_ACCESS_FEES_LANGUAGE_IND": "Network Access Fees (Y/N)",
|
|
"NETWORK_ACCESS_FEES_LANGUAGE": "Network Access Fees (Language)",
|
|
"PAYMENT_IN_ADVANCE_OF_CLAIMS_SUBMISSION_LANGUAGE_IND": "Payment in Advance of Claims Submission Language (Y/N)",
|
|
"PAYMENT_IN_ADVANCE_OF_CLAIMS_SUBMISSION_LANGUAGE": "Payment in Advance of Claims Submission Language",
|
|
"ELIGIBILITY_VERIFICATION": "Eligibility Verification",
|
|
"PREAUTHORIZATION": "Preauthorization",
|
|
"POLICIES_AND_PROCEDURES": "Policies and Procedures",
|
|
"INSURANCE_REQUIREMENT": "Insurance Requirement",
|
|
"CARVEOUT_VENDORS": "Carve-Out Vendors",
|
|
"CONFLICTS_BETWEEN_CERTAIN_DOCUMENTS_LANGUAGE_IND": "Conflicts Between Certain Documents (Y/N)",
|
|
"CONFLICTS_BETWEEN_CERTAIN_DOCUMENTS_LANGUAGE": "Conflicts Between Certain Documents (Language)",
|
|
"RELATIONSHIP_OF_PARTIES_LANGUAGE_IND": "Relationship of Parties (Y/N)",
|
|
"RELATIONSHIP_OF_PARTIES_LANGUAGE": "Relationship of Parties (Language)",
|
|
"NONSTANDARD_APPEALS_PROCESS_LANGUAGE_IND": "Nonstandard Appeals Process (Y/N)",
|
|
"NONSTANDARD_APPEALS_PROCESS_LANGUAGE": "Nonstandard Appeals Process (Language)",
|
|
"PRODUCT_REMOVAL": "Product Removal",
|
|
"DISPARAGEMENT_PROHIBITION_LANGUAGE_IND": "Disparagement Prohibition (Y/N)",
|
|
"DISPARAGEMENT_PROHIBITION_LANGUAGE": "Disparagement Prohibition (Language)",
|
|
"CLAIMS_EDITING_LANGUAGE_IND": "Claims Editing Language (Y/N)",
|
|
"CLAIMS_EDITING_LANGUAGE": "Claims Editing Language (Language)",
|
|
"GUARANTEE_OF_PROVIDER_YIELD_LANGUAGE_IND": "Guarantee of Provider Yield (Y/N)",
|
|
"GUARANTEE_OF_PROVIDER_YIELD_LANGUAGE": "Guarantee of Provider Yield (Language)",
|
|
"HCBS_SERVICES": "HCBS Services",
|
|
"ADD_ON_REIMBURSEMENT_IND": "Add On Reimbursement (Y/N)",
|
|
"ADD_ON_REIMBURSEMENT_LANGUAGE": "Add On Reimbursement (Language)",
|
|
"PMPM": "PMPM",
|
|
"SINGLE_CODE_MULTIPLE_RATES_IND": "Single Code Multiple Rates (Y/N)",
|
|
"SINGLE_CODE_MULTIPLE_RATES_LANGUAGE": "Single Code Multiple Rates (Language)",
|
|
"INVOICE_PRICING_LANGUAGE_IND": "Invoice Pricing (Y/N)",
|
|
"INVOICE_PRICING_LANGUAGE": "Invoice Pricing (Language)",
|
|
"TEMPLATE": "Template",
|
|
"PROVIDER_BASED_BILLING_EXCLUSION_LANGUAGE_IND": "Provider-Based Billing Exclusion (Y/N)",
|
|
"PROVIDER_BASED_BILLING_EXCLUSION_LANGUAGE": "Provider-Based Billing Exclusion (Language)",
|
|
"NON_RENEWAL_LANGUAGE": "Non-Renewal Language",
|
|
"NON_RENEWAL_DAYS": "Non-Renewal - Days",
|
|
"TIMELY_FILING": "Timely Filing",
|
|
}
|
|
|
|
|
|
ABC_COLUMNS = [
|
|
"Contract Name",
|
|
"Agreement_Name (Contract Title)",
|
|
"PAYER NAME",
|
|
"Health Plan State",
|
|
"Affiliate (Y/N)",
|
|
"Credentialing Application Indicator",
|
|
"Term Clause",
|
|
"Contract Auto-Renewal Indicator",
|
|
"Termination Date",
|
|
"Termination Upon Notice - Days",
|
|
"Termination With Cause - Days",
|
|
"Non-Renewal Language",
|
|
"Non-Renewal - Days",
|
|
"Amend Contract Upon notice Flag (Y/N)",
|
|
"Timeframe to Object - Days",
|
|
"Assignments Clause (Y/N)",
|
|
"Contract Effective Date",
|
|
"IRS #",
|
|
"IRS_Name",
|
|
"NPI (10-digits)",
|
|
"NPI Name",
|
|
"PROV_GROUP_TIN_SIGNATORY",
|
|
"PROV_TIN_OTHER",
|
|
"PROV_NPI_OTHER",
|
|
"Notice to Provider Name",
|
|
"Notice to Provider Address",
|
|
"Sequestration Language",
|
|
"Sequestration Reductions (Y/N)",
|
|
"Parent Agreement Code",
|
|
"Pages",
|
|
"Page_Num",
|
|
"Attachment/Exhibit",
|
|
"Line of Business",
|
|
"Provider Type",
|
|
"Provider Type - Level 2",
|
|
"IP/OP",
|
|
"Service Type",
|
|
"Plan Type",
|
|
"Lesser of Logic language, included (Y/N)",
|
|
"Lesser of Rate",
|
|
"Reimb. Methodology",
|
|
"Reimb. Methodology_Short",
|
|
"If rate is % of Payor or MCR [STANDARD]",
|
|
"If rate is % of Payor or MCR [STANDARD]_Short",
|
|
"FLAT FEE",
|
|
"Default Term",
|
|
"Default Rate",
|
|
'Inclusion of essential RBRVS "Fee Source" Language (Y/N)',
|
|
"CDM Neutralization Language, included (Y/N)",
|
|
"CONTRACT_CHARGEMASTER_PROTECTION_LANGUAGE",
|
|
"IP - DSH/IME/UC, included (Y/N)",
|
|
"IP - Stoploss Catastrophic Threshold",
|
|
"Exclusions",
|
|
"Not to Exceed",
|
|
"Escalator or COLA (Y/N)",
|
|
"Escalator I, Eff. Date",
|
|
"Delegated Function Indicator",
|
|
"Delegated Terms",
|
|
"ECM",
|
|
"National Agreement Indicator",
|
|
"Cost Settlement (Y/N)",
|
|
"Cost Settlement (Language)",
|
|
"Late Paid Claims (Y/N)",
|
|
"Late Paid Claims (Language)",
|
|
"Deemer Amendment",
|
|
"Regulatory Requirements",
|
|
"Recovery Rights",
|
|
"Arbitration and Disputes",
|
|
"Exclusivity Requirement (Y/N)",
|
|
"Exclusivity Requirement (Language)",
|
|
"Payor",
|
|
"Participation in Products",
|
|
"Clean Claim",
|
|
"Independent Review (Y/N)",
|
|
"Independent Review (Language)",
|
|
"Indemnification",
|
|
"Access to Medical Records",
|
|
"Member Confinement Days Language (Y/N)",
|
|
"Member Confinement Days Language (Language)",
|
|
"Network Access Fees (Y/N)",
|
|
"Network Access Fees (Language)",
|
|
"Payment in Advance of Claims Submission Language (Y/N)",
|
|
"Payment in Advance of Claims Submission Language",
|
|
"Eligibility Verification",
|
|
"Preauthorization",
|
|
"Policies and Procedures",
|
|
"Insurance Requirement",
|
|
"Carve-Out Vendors",
|
|
"Conflicts Between Certain Documents (Y/N)",
|
|
"Conflicts Between Certain Documents (Language)",
|
|
"Relationship of Parties (Y/N)",
|
|
"Relationship of Parties (Language)",
|
|
"Nonstandard Appeals Process (Y/N)",
|
|
"Nonstandard Appeals Process (Language)",
|
|
"Product Removal",
|
|
"Disparagement Prohibition (Y/N)",
|
|
"Disparagement Prohibition (Language)",
|
|
"Claims Editing Language (Y/N)",
|
|
"Claims Editing Language (Language)",
|
|
"Guarantee of Provider Yield (Y/N)",
|
|
"Guarantee of Provider Yield (Language)",
|
|
"HCBS Services",
|
|
"Add On Reimbursement (Y/N)",
|
|
"Add On Reimbursement (Language)",
|
|
"PMPM",
|
|
"Single Code Multiple Rates (Y/N)",
|
|
"Single Code Multiple Rates (Language)",
|
|
"Invoice Pricing (Y/N)",
|
|
"Invoice Pricing (Language)",
|
|
"Medical Necessity Language (Y/N)",
|
|
"Medical Necessity Language (Language)",
|
|
"Template",
|
|
"Provider-Based Billing Exclusion (Y/N)",
|
|
"Provider-Based Billing Exclusion (Language)",
|
|
]
|
|
|
|
|
|
BASE_COLUMNS = [
|
|
"Lesser of Logic Language, included (Y/N)",
|
|
"Lesser of Rate",
|
|
"Reimb. methodology",
|
|
"Reimb. methodology_short",
|
|
"If rate is % of Payer or MCR [STANDARD]",
|
|
"If rate is % of Payer or MCR [STANDARD]_Short",
|
|
"If rate is Flat Fee [STANDARD]",
|
|
"Default Term",
|
|
"Default Rate",
|
|
"Exclusions",
|
|
"Not to Exceed",
|
|
"Escalator or COLA (Y/N)",
|
|
"Escalator I, Eff. Date",
|
|
]
|
|
|
|
SERVICE_FILTER = [
|
|
"LIABILITY",
|
|
"RISK",
|
|
"LOBBYING",
|
|
"DAMAGES",
|
|
"CONFIDENTIALITY",
|
|
"ARBITRATION",
|
|
"FALSE CLAIMS ACT",
|
|
"UNSPECIFIED",
|
|
"AUDIT",
|
|
"INTEREST",
|
|
"N/A",
|
|
"BUSINESS",
|
|
"COMPLIANCE",
|
|
"Medical Assistance Program",
|
|
"MATERIAL SUBCONTRACT",
|
|
"GIFTS",
|
|
"GRATUITIES",
|
|
"Insurance",
|
|
"Clean Claim",
|
|
"Employment verification",
|
|
"Suspension",
|
|
"thing of value",
|
|
"laws",
|
|
"safe drinking water act",
|
|
"immigration reform",
|
|
"social security",
|
|
"Lease",
|
|
"related entity",
|
|
"Negative balance",
|
|
"medicaid payments",
|
|
"federal water pollution control act",
|
|
"microbacteriology",
|
|
"epsdt",
|
|
"appeal",
|
|
"prompt pay",
|
|
"capitation",
|
|
"harmless",
|
|
"30 days",
|
|
"fee source",
|
|
"Rent-to-Purchase",
|
|
"chargemaster",
|
|
"stop-loss",
|
|
"mobile crisis",
|
|
"quality incentive program",
|
|
]
|
|
|
|
METHODOLOGY_FILTER = [
|
|
"interest",
|
|
"clean claim",
|
|
"timely",
|
|
"adjudicate",
|
|
"appeal",
|
|
"30 days",
|
|
"https",
|
|
"prior authorization",
|
|
"compliance",
|
|
"provider-based billing",
|
|
"not less than the level and amount of payment",
|
|
"Fee Change Effective Date",
|
|
"management fees",
|
|
"PMPM",
|
|
"quality incentive program",
|
|
"if there is no established payment",
|
|
]
|
|
|
|
keywords_to_detect_invalid_state_name = [ #This is for health plan state when the LLM talks to itself
|
|
"suggest",
|
|
"The Contract Text",
|
|
"refers",
|
|
"For ",
|
|
"Answer",
|
|
"Multiple",
|
|
"Statewide",
|
|
]
|
|
|
|
STATE_MAP = {
|
|
"AL": "Alabama",
|
|
"AK": "Alaska",
|
|
"AZ": "Arizona",
|
|
"AR": "Arkansas",
|
|
"AS": "American Samoa",
|
|
"CA": "California",
|
|
"CO": "Colorado",
|
|
"CT": "Connecticut",
|
|
"DE": "Delaware",
|
|
"DC": "District of Columbia",
|
|
"FL": "Florida",
|
|
"GA": "Georgia",
|
|
"GU": "Guam",
|
|
"HI": "Hawaii",
|
|
"ID": "Idaho",
|
|
"IL": "Illinois",
|
|
"IN": "Indiana",
|
|
"IA": "Iowa",
|
|
"KS": "Kansas",
|
|
"KY": "Kentucky",
|
|
"LA": "Louisiana",
|
|
"ME": "Maine",
|
|
"MD": "Maryland",
|
|
"MA": "Massachusetts",
|
|
"MI": "Michigan",
|
|
"MN": "Minnesota",
|
|
"MS": "Mississippi",
|
|
"MO": "Missouri",
|
|
"MT": "Montana",
|
|
"NE": "Nebraska",
|
|
"NV": "Nevada",
|
|
"NH": "New Hampshire",
|
|
"NJ": "New Jersey",
|
|
"NM": "New Mexico",
|
|
"NY": "New York",
|
|
"NC": "North Carolina",
|
|
"ND": "North Dakota",
|
|
"MP": "Northern Mariana Islands",
|
|
"OH": "Ohio",
|
|
"OK": "Oklahoma",
|
|
"OR": "Oregon",
|
|
"PA": "Pennsylvania",
|
|
"PR": "Puerto Rico",
|
|
"RI": "Rhode Island",
|
|
"SC": "South Carolina",
|
|
"SD": "South Dakota",
|
|
"TN": "Tennessee",
|
|
"TX": "Texas",
|
|
"TT": "Trust Territories",
|
|
"UT": "Utah",
|
|
"VT": "Vermont",
|
|
"VA": "Virginia",
|
|
"VI": "Virgin Islands",
|
|
"WA": "Washington",
|
|
"WV": "West Virginia",
|
|
"WI": "Wisconsin",
|
|
"WY": "Wyoming",
|
|
}
|
|
|
|
HOTFIX_MAPPING = {
|
|
"Filename": "Contract Name",
|
|
"Parent Agreement Code": "Parent Agreement Code",
|
|
"Pages": "Pages",
|
|
"page_num": "Page_Num",
|
|
"Page Num" : "Page_Num",
|
|
"EXHIBIT": "Attachment/Exhibit",
|
|
"CONTRACT_LOB": "Line of Business",
|
|
"PROV_TYPE": "Provider Type",
|
|
"PROV_TYPE_LEVEL_2": "Provider Type - Level 2",
|
|
"IP_OP": "IP/OP",
|
|
"FULL_SERVICE": "Service Type",
|
|
"CONTRACT_PROGRAM": "Plan Type",
|
|
'Lesser of Logic Language, Included (Y/N)' : "Lesser of Logic language, included (Y/N)",
|
|
"LESSER": "Lesser of Logic language, included (Y/N)",
|
|
"LESSER_RATE": "Lesser of Rate",
|
|
"FULL_METHODOLOGY": "Reimb. Methodology",
|
|
"Reimb. Methodology Standard" : "Reimb. Methodology",
|
|
"SHORT_METHODOLOGY": "Reimb. Methodology_Short",
|
|
'Reimb. Methodology Short' : 'Reimb. Methodology_Short',
|
|
'If rate is % of Payor or MCR [Standard]' : 'If rate is % of Payor or MCR [STANDARD]',
|
|
'If Rate is % of Payor or MCR [Standard]' : "If rate is % of Payor or MCR [STANDARD]",
|
|
'If rate is % of Payor or MCR [STANDARD]' : "If rate is % of Payor or MCR [STANDARD]",
|
|
"RATE_STANDARD": "If rate is % of Payor or MCR [STANDARD]",
|
|
'If rate is % of Payor or MCR [Standard] Short' : 'If rate is % of Payor or MCR [STANDARD]_Short',
|
|
'If rate is % of Payor or MCR [STANDARD]_Short' : 'If rate is % of Payor or MCR [STANDARD]_Short',
|
|
"RATE_SHORT": "If rate is % of Payor or MCR [STANDARD]_Short",
|
|
"FLAT_FEE_STANDARD": "FLAT FEE",
|
|
'Flat Fee' : 'FLAT FEE',
|
|
"DEFAULT_TERM": "Default Term",
|
|
"DEFAULT_RATE": "Default Rate",
|
|
"MEDICAL_NECESSITY_LANGUAGE": "Medical Necessity Language (Language)",
|
|
"MEDICAL_NECESSITY_LANGUAGE_IND": "Medical Necessity Language (Y/N)",
|
|
'Inclusion of essential RBRVS "Fee Source" Language (Y/N)': 'Inclusion of Essential RBRVS "Fee Source" Language (Y/N)',
|
|
"CDM_IND": "CDM Neutralization Language, included (Y/N)",
|
|
"CHARGEMASTER": "CONTRACT_CHARGEMASTER_PROTECTION_LANGUAGE",
|
|
'Contract Chargemaster Protection Language' : "CONTRACT_CHARGEMASTER_PROTECTION_LANGUAGE",
|
|
"ADD_ON_REIMBURSEMENT_LANGUAGE": "Add On Reimbursement (Language)",
|
|
"ADD_ON_REIMBURSEMENT_IND": "Add On Reimbursement (Y/N)",
|
|
"SINGLE_CODE_MULTIPLE_RATES_LANGUAGE": "Single Code Multiple Rates (Language)",
|
|
"SINGLE_CODE_MULTIPLE_RATES_IND": "Single Code Multiple Rates (Y/N)",
|
|
"IP - DSH/IME/UC, included (Y/N)": "IP - DSH/IME/UC, included (Y/N)",
|
|
"IP - Stoploss Catastrophic Threshold": "IP - Stoploss Catastrophic Threshold",
|
|
"EXCLUSIONS": "Exclusions",
|
|
"NOT_TO_EXCEED": "Not to Exceed",
|
|
"RATE_ESCALATOR_IND": "Escalator or COLA (Y/N)",
|
|
"RATE_ESCALATOR_DT": "Escalator I, Eff. Date",
|
|
"CONTRACT_TITLE": "Agreement_Name (Contract Title)",
|
|
'Agreement Name (Contract Title)': "Agreement_Name (Contract Title)",
|
|
"PAYER_NAME": "PAYER NAME",
|
|
"Payer Name" : "PAYER NAME",
|
|
"AFFILIATION_CLAUSE_IND": "Affiliate (Y/N)",
|
|
"TERM_CLAUSE": "Term Clause",
|
|
"CONTRACT_AUTO_RENEWAL_IND": "Contract Auto-Renewal Indicator",
|
|
"CONTRACT_TERMINATION_DT": "Termination Date",
|
|
"TERMINATION_UPON_NOTICE": "Termination Upon Notice - Days",
|
|
"TERMINATION_UPON_CAUSE": "Termination With Cause - Days",
|
|
"AMEND_CONTRACT_NOTICE_IND": "Amend Contract Upon notice Flag (Y/N)",
|
|
'Amend Contract Upon Notice (Y/N)' : "Amend Contract Upon Notice Flag (Y/N)",
|
|
"TIME_TO_OBJECT": "Timeframe to Object - Days",
|
|
"ASSIGNMENTS_CLAUSE_IND": "Assignments Clause (Y/N)",
|
|
"CONTRACT_EFFECTIVE_DT": "Contract Effective Date",
|
|
"PROV_GROUP_TIN": "IRS #",
|
|
"PROV_GROUP_NAME": "IRS_Name",
|
|
"PROV_GROUP_NPI": "NPI (10-digits)",
|
|
"PROV_GROUP_TIN_SIGNATORY": "PROV_GROUP_TIN_SIGNATORY",
|
|
'Prov Group TIN Signatory' : "PROV_GROUP_TIN_SIGNATORY",
|
|
"PROV_TIN_OTHER": "PROV_TIN_OTHER",
|
|
"Prov TIN Other" : "PROV_TIN_OTHER",
|
|
"PROV_NPI_OTHER": "PROV_NPI_OTHER",
|
|
'Prov NPI Other' : "PROV_NPI_OTHER",
|
|
"NOTICE_PROVIDER_NAME": "Notice to Provider Name",
|
|
"NOTICE_PROVIDER_ADDRESS": "Notice to Provider Address",
|
|
"HEALTH_PLAN_STATE": "Health Plan State",
|
|
"CREDENTIALING_APP_IND": "Credentialing Application Indicator",
|
|
"SEQUESTRATION_LANGUAGE": "Sequestration Language",
|
|
"SEQUESTRATION_LANGUAGE_IND": "Sequestration Reductions (Y/N)",
|
|
"NPI_NAME": "NPI Name",
|
|
"DELEGATED_TERMS_IND": "Delegated Function Indicator",
|
|
"DELEGATED_TERMS": "Delegated Terms",
|
|
"ECM": "ECM",
|
|
"NATIONAL_AGREEMENT_IND": "National Agreement Indicator",
|
|
"COST_SETTLEMENT_LANGUAGE_IND": "Cost Settlement (Y/N)",
|
|
"COST_SETTLEMENT_LANGUAGE": "Cost Settlement (Language)",
|
|
"LATE_PAID_CLAIMS_LANGUAGE_IND": "Late Paid Claims (Y/N)",
|
|
"LATE_PAID_CLAIMS_LANGUAGE": "Late Paid Claims (Language)",
|
|
"DEEMER_AMENDMENT": "Deemer Amendment",
|
|
"REGULATORY_REQUIREMENTS": "Regulatory Requirements",
|
|
"RECOVERY_RIGHTS": "Recovery Rights",
|
|
"ARBITRATION_AND_DISPUTES": "Arbitration and Disputes",
|
|
"EXCLUSIVITY_REQUIREMENT_LANGUAGE_IND": "Exclusivity Requirement (Y/N)",
|
|
"EXCLUSIVITY_REQUIREMENT_LANGUAGE": "Exclusivity Requirement (Language)",
|
|
"PAYOR": "Payor",
|
|
"PARTICIPATION_IN_PRODUCTS": "Participation in Products",
|
|
"CLEAN_CLAIM": "Clean Claim",
|
|
"INDEPENDENT_REVIEW_LANGUAGE_IND": "Independent Review (Y/N)",
|
|
"INDEPENDENT_REVIEW_LANGUAGE": "Independent Review (Language)",
|
|
"INDEMNIFICATION": "Indemnification",
|
|
"ACCESS_TO_MEDICAL_RECORDS": "Access to Medical Records",
|
|
"MEMBER_CONFINEMENT_DAYS_LANGUAGE_IND": "Member Confinement Days Language (Y/N)",
|
|
"MEMBER_CONFINEMENT_DAYS_LANGUAGE": "Member Confinement Days Language (Language)",
|
|
"NETWORK_ACCESS_FEES_LANGUAGE_IND": "Network Access Fees (Y/N)",
|
|
"NETWORK_ACCESS_FEES_LANGUAGE": "Network Access Fees (Language)",
|
|
"PAYMENT_IN_ADVANCE_OF_CLAIMS_SUBMISSION_LANGUAGE_IND": "Payment in Advance of Claims Submission Language (Y/N)",
|
|
"PAYMENT_IN_ADVANCE_OF_CLAIMS_SUBMISSION_LANGUAGE": "Payment in Advance of Claims Submission Language",
|
|
"ELIGIBILITY_VERIFICATION": "Eligibility Verification",
|
|
"PREAUTHORIZATION": "Preauthorization",
|
|
"POLICIES_AND_PROCEDURES": "Policies and Procedures",
|
|
"INSURANCE_REQUIREMENT": "Insurance Requirement",
|
|
"CARVEOUT_VENDORS": "Carve-Out Vendors",
|
|
"CONFLICTS_BETWEEN_CERTAIN_DOCUMENTS_LANGUAGE_IND": "Conflicts Between Certain Documents (Y/N)",
|
|
"CONFLICTS_BETWEEN_CERTAIN_DOCUMENTS_LANGUAGE": "Conflicts Between Certain Documents (Language)",
|
|
"RELATIONSHIP_OF_PARTIES_LANGUAGE_IND": "Relationship of Parties (Y/N)",
|
|
"RELATIONSHIP_OF_PARTIES_LANGUAGE": "Relationship of Parties (Language)",
|
|
"NONSTANDARD_APPEALS_PROCESS_LANGUAGE_IND": "Nonstandard Appeals Process (Y/N)",
|
|
"NONSTANDARD_APPEALS_PROCESS_LANGUAGE": "Nonstandard Appeals Process (Language)",
|
|
"PRODUCT_REMOVAL": "Product Removal",
|
|
"DISPARAGEMENT_PROHIBITION_LANGUAGE_IND": "Disparagement Prohibition (Y/N)",
|
|
"DISPARAGEMENT_PROHIBITION_LANGUAGE": "Disparagement Prohibition (Language)",
|
|
"CLAIMS_EDITING_LANGUAGE_IND": "Claims Editing Language (Y/N)",
|
|
"CLAIMS_EDITING_LANGUAGE": "Claims Editing Language (Language)",
|
|
"GUARANTEE_OF_PROVIDER_YIELD_LANGUAGE_IND": "Guarantee of Provider Yield (Y/N)",
|
|
"GUARANTEE_OF_PROVIDER_YIELD_LANGUAGE": "Guarantee of Provider Yield (Language)",
|
|
"HCBS_SERVICES": "HCBS Services",
|
|
"ADD_ON_REIMBURSEMENT_IND": "Add On Reimbursement (Y/N)",
|
|
"ADD_ON_REIMBURSEMENT_LANGUAGE": "Add On Reimbursement (Language)",
|
|
"PMPM": "PMPM",
|
|
"SINGLE_CODE_MULTIPLE_RATES_IND": "Single Code Multiple Rates (Y/N)",
|
|
"SINGLE_CODE_MULTIPLE_RATES_LANGUAGE": "Single Code Multiple Rates (Language)",
|
|
"INVOICE_PRICING_LANGUAGE_IND": "Invoice Pricing (Y/N)",
|
|
"INVOICE_PRICING_LANGUAGE": "Invoice Pricing (Language)",
|
|
"TEMPLATE": "Template",
|
|
"PROVIDER_BASED_BILLING_EXCLUSION_LANGUAGE_IND": "Provider-Based Billing Exclusion (Y/N)",
|
|
"PROVIDER_BASED_BILLING_EXCLUSION_LANGUAGE": "Provider-Based Billing Exclusion (Language)",
|
|
"NON_RENEWAL_LANGUAGE": "Non-Renewal Language",
|
|
"NON_RENEWAL_DAYS": "Non-Renewal - Days",
|
|
"TIMELY_FILING": "Timely Filing",
|
|
}
|
|
|
|
B_IND_LANG_COLS = {
|
|
"LESSER" : "LESSER_RATE",
|
|
"MEDICAL_NECESSITY_LANGUAGE" : "MEDICAL_NECESSITY_LANGUAGE_IND",
|
|
"ADD_ON_REIMBURSEMENT_LANGUAGE" : "ADD_ON_REIMBURSEMENT_IND",
|
|
"SINGLE_CODE_MULTIPLE_RATES_IND" : "SINGLE_CODE_MULTIPLE_RATES_LANGUAGE",
|
|
"RATE_ESCALATOR_IND" : "RATE_ESCALATOR_DT"
|
|
}
|
|
|
|
AC_IND_LANG_COLS = {
|
|
"SEQUESTRATION_LANGUAGE_IND" : "SEQUESTRATION_LANGUAGE",
|
|
"COST_SETTLEMENT_LANGUAGE_IND" : "COST_SETTLEMENT_LANGUAGE",
|
|
"LATE_PAID_CLAIMS_LANGUAGE_IND" : "LATE_PAID_CLAIMS_LANGUAGE",
|
|
"EXCLUSIVITY_REQUIREMENT_LANGUAGE_IND": "EXCLUSIVITY_REQUIREMENT_LANGUAGE",
|
|
"INDEPENDENT_REVIEW_LANGUAGE_IND" : "INDEPENDENT_REVIEW_LANGUAGE",
|
|
"MEMBER_CONFINEMENT_DAYS_LANGUAGE_IND" : "MEMBER_CONFINEMENT_DAYS_LANGUAGE",
|
|
"NETWORK_ACCESS_FEES_LANGUAGE_IND" : "NETWORK_ACCESS_FEES_LANGUAGE",
|
|
"PAYMENT_IN_ADVANCE_OF_CLAIMS_SUBMISSION_LANGUAGE_IND" : "PAYMENT_IN_ADVANCE_OF_CLAIMS_SUBMISSION_LANGUAGE",
|
|
"CONFLICTS_BETWEEN_CERTAIN_DOCUMENTS_LANGUAGE_IND" : "CONFLICTS_BETWEEN_CERTAIN_DOCUMENTS_LANGUAGE",
|
|
"RELATIONSHIP_OF_PARTIES_LANGUAGE_IND" : "RELATIONSHIP_OF_PARTIES_LANGUAGE",
|
|
"NONSTANDARD_APPEALS_PROCESS_LANGUAGE_IND" : "NONSTANDARD_APPEALS_PROCESS_LANGUAGE",
|
|
"DISPARAGEMENT_PROHIBITION_LANGUAGE_IND" : "DISPARAGEMENT_PROHIBITION_LANGUAGE",
|
|
"CLAIMS_EDITING_LANGUAGE_IND" : "CLAIMS_EDITING_LANGUAGE",
|
|
"GUARANTEE_OF_PROVIDER_YIELD_LANGUAGE_IND" : "GUARANTEE_OF_PROVIDER_YIELD_LANGUAGE",
|
|
"ADD_ON_REIMBURSEMENT_IND" : "ADD_ON_REIMBURSEMENT_LANGUAGE",
|
|
"SINGLE_CODE_MULTIPLE_RATES_IND" : "SINGLE_CODE_MULTIPLE_RATES_LANGUAGE",
|
|
"INVOICE_PRICING_LANGUAGE_IND" : "INVOICE_PRICING_LANGUAGE",
|
|
"PROVIDER_BASED_BILLING_EXCLUSION_LANGUAGE_IND" : "PROVIDER_BASED_BILLING_EXCLUSION_LANGUAGE"
|
|
}
|