diff --git a/src/config.py b/src/config.py index 418548a..1885743 100644 --- a/src/config.py +++ b/src/config.py @@ -13,6 +13,7 @@ TODAY = datetime.now().strftime("%Y%m%d") # I/O Options WRITE_OUTPUT = True # True writes csvs, False prints result in console but no output written +OUTPUT_FOLDER = 'output' READ_MODE = '_LOCAL_' # OR '_S3_' OUTPUT_MODE = '_INDIVIDUAL_' # or '_CONSOLIDATED_' @@ -29,12 +30,12 @@ RUN_EXCEPTION = True RUN_CODES = True # AWS Keys -AWS_ACCESS_KEY_ID="ASIAZTMXAXNXFULN3ZDJ" -AWS_SECRET_ACCESS_KEY="biHj+LwFkcquA7hoOgWst66u7AAQcik+A8TnMSoO" -AWS_SESSION_TOKEN="IQoJb3JpZ2luX2VjELr//////////wEaCXVzLWVhc3QtMiJHMEUCIEIZfQMj70zYiV1czvy0RdOdugmJ9YGZIPBk/wqUE8m1AiEAzA9jGoZfv0ZMZlBKTLHGT3Ax3rAQNVLYWqgo9jy3Ui8qiQMIQxAAGgw2NjAxMzEwNjg3ODIiDOYEfYdB5ykwPYhKOSrmAiHPCbfUR2lXoqyEvURpTFyOqLEmeVFHCHQoVyeFcXwQmjjZor+ui1dclq0asj35ZSScClpyQKZsfk5o5+76pxzTm1tlBez1buIFkel/9OngHNG4MvMwLCMLdI+ILtJy0ufLmky4oVgtSor5n2e5dLENqstqhXEREbGdxZ5gaF7zKg9Dk/VPQ8arzV0oEvxuPGbZ+Z640jtVR27oSU1pQQ4ayK+CM/jBMANlzO9BptRB+Phfm6oOfxYQskyIXRV+aff/3d/MVJs6X08U/YjN+qXx0pDLsyBxYQIpKZXIZvWrYRD/NM7DnPJF8DlTAWhNSDU0QJ4j2oTMKcaG0LHXmd1SejjgHXhK0ZiG2tcpNHPaIBFm/lWnaixOdxM9XUWckoTe+1FRmcblQ7YI2HtWsbgzU3B8BLmLvEPX+lJSDeJBuv1MGFA4ITa4YaRywBBdZTcSl9cwLGB1X9ksTga5cd1XZeW/218w5cfmsgY6pgEsq/5MsjzbPqT20XDAhlC7GUmY3K+glAHfm8nVnihVdfmfU2apbx0bcDu5Er9mngykbj0u24P8VbkmlozS2H2dDmCjqQeE2Ux2pOuUxfqtMlJVSjAO8MCVvjc2nxsv55iHDTHGSlaN8TmsoBqVRbsOmauWFPQ7gFJDqF7YADS+20NDsgblAeeE23eZU4A/mG1dWfIK5E58nAoKWvnumFyQnJ0sMPpN" +AWS_ACCESS_KEY_ID="ASIAZTMXAXNXMFZB42PP" +AWS_SECRET_ACCESS_KEY="Q70JV6ph4cALcn3jM0JM55KhrRO7vZcClt7fDZab" +AWS_SESSION_TOKEN="IQoJb3JpZ2luX2VjEAsaCXVzLWVhc3QtMiJHMEUCIQC4ajBdrraawj7K5uNmeJdwRKQBuy3uWN3mDirDnyilkQIgI7L85Oz5K5VG+N6XoVBa/dGH5cUUIpXUVWl4MDmgou8qjAMIlP//////////ARAAGgw2NjAxMzEwNjg3ODIiDLf4pcE0sfOJvHbZwirgAqehe2Qhyersv7D0rehPy+Abx+lYnIfmViM/mHL2FIbAp6rht8Af3R08/SiRywF+wtVqeWERKrpoiW8DmYkDLxCosPdLskFfrjC0RNiLKLyrZDksTBaSwcJIWA2r4pu1M6tI+QprJrb7e3nF9Z4V3l/gRj9owL9CVlS0kvFR5JwqbJIHgydGNWaTuN+XhgkxMyvZqQcdRD6lEdqlezFkVNUhV0fRI+dhOoOwR/zXjz+L1xIkDx7/FzYq8J0HhsLqn1HUhVj7/X9kJi+Fx6qdWOiePLtAJlJPLcsuTfehFr4FAp3Pk2hf6AlzuJfemGnlOaSJS8pKh6bcPtIoRqPwc2eo3h8D2cl1mo67+NZsTkmlPynuYiSZOQUxu6PEjVml8jIW4xkvg+GGMAkG+jFn22PMgLHhLnMjL2JC9Z+BfyiyIwsOwta+hic0rxHLS9DT2FG6V75+/I3nHSqcgq2Xx3Mw76D4sgY6pgFpxpII4v+R5eX2lGt4tG0V+PU3OWS1GKEmDvLL5Ahnsnfw/iLnUXvcqSOM+6Y9T3vG+gX9ELq9sPFe+11PFezen6LuUJlJdY0t2mq7TNh2/RflL6Khb6gAfSFGCgauAdKfj4UOApd8wBuJ6WE4iJ4ep7XviqHQnI62dfulGL7qHZv6MDTxoinWUlGtSUOwmeR/XawOSyvYSB012MDJn3+iLshLA81x" # File Paths -LOCAL_PATH = 'subset/' # Replace with local +LOCAL_PATH = 'data/' # Replace with local # S3 Settings S3_CLIENT = boto3.client('s3', diff --git a/src/file_processing.py b/src/file_processing.py new file mode 100644 index 0000000..1507097 --- /dev/null +++ b/src/file_processing.py @@ -0,0 +1,134 @@ + +import os +import pandas as pd + +import config +import preprocess +import table_funcs +import prompt_funcs +import prompts +import claude_funcs + +def clean_td(td): + td_clean = [] + for d in td: + new_d = {} + for k, v in d.items(): + if 'DATE' in k: + new_d[k] = v if isinstance(v, list) else [v] + elif k not in ['page_num', 'Filename']: + if isinstance(v, str) and ',' in v: + new_d[k] = [item.strip() for item in v.split(',')] + elif v == 'N/A': + new_d[k] = [] + else: + new_d[k] = [v] if isinstance(v, str) else v + else: + new_d[k] = v + td_clean.append(new_d) + return td_clean + + +def get_unique_keys(dicts): + keys = set() + for d in dicts: + keys.update(d.keys()) + return keys + +def get_unique_date_fields(td_results): + unique_date_fields = {} + for td in td_results: + for key, value in td.items(): + if 'DATE' in key: + if key not in unique_date_fields: + unique_date_fields[key] = set() + unique_date_fields[key].update(value if isinstance(value, list) else [value]) + for key in unique_date_fields: + unique_date_fields[key] = list(unique_date_fields[key]) + return unique_date_fields + +def merge_results(td_results, bu_results, text_dict): + all_keys = get_unique_keys(td_results) | get_unique_keys(bu_results) + print("All Keys:", all_keys) + + date_fields = get_unique_date_fields(td_results) + print("Date Fields:", date_fields) + + merged_results = [] + for bu in bu_results: + merged = {key: bu.get(key, "") for key in all_keys} + td_on_page = [td for td in td_results if td['page_num'] == bu['page_num']] + + for td in td_on_page: + for key, value in td.items(): + if not merged[key]: + merged[key] = value + elif isinstance(value, list) and value and not isinstance(merged[key], list): + merged[key] = value + elif isinstance(value, list) and value: + merged[key].extend(value) + + for date_key, date_values in date_fields.items(): + if date_key not in merged or not merged[date_key]: + merged[date_key] = date_values + else: + merged[date_key].extend([val for val in date_values if val not in merged[date_key]]) + + for key in all_keys: + if isinstance(merged[key], list) and len(merged[key]) > 1: + page_num = bu['page_num'] + page_text = text_dict.get(page_num, "") + prompt = prompts.GENERATE_PROMPT(bu, td_on_page, page_text, field_name=key, values=merged[key]) + response = claude_funcs.invoke_claude_3(prompt, max_tokens=4000) + try: + selected_value = response.strip() + merged[key] = selected_value + except Exception as e: + print(f"Error processing LLM response for key {key}: {e}") + merged[key] = ', '.join(merged[key]) + + merged_results.append(merged) + + return merged_results + + +def process_file(file_object): + filename, contract_text = file_object + if config.VERBOSE: print(f"Processing {filename}...") + + #### PREPROCESS #### + contract_text = preprocess.clean_newlines(contract_text) + text_dict = preprocess.split_text(contract_text) + text_dict = table_funcs.align_and_format_tables(text_dict) + text_dict = preprocess.highlight_rates(text_dict) + + # Run Top Down + td_results = prompt_funcs.run_top_down(filename, text_dict) # Returns list of dictionaries for each page + print("TD Results:", td_results) + + # Run Bottom Up + bu_results = prompt_funcs.run_bottom_up(filename, text_dict) # Returns list of dictionaries + print("BU Results:", bu_results) + + # Combine + combined_results = merge_results(clean_td(td_results), bu_results, text_dict) + print("Combined Results:", combined_results) + + # Convert to DataFrame + combined_df = pd.DataFrame(combined_results) + + # Post-process combined results + # post_processed_combined_df = postprocess.postprocess_results(combined_df) + # print("Post-processed Results:", post_processed_combined_df) + + # Create directories + base_filename = os.path.splitext(filename)[0] + output_dir = os.path.join(config.OUTPUT_FOLDER, base_filename) + os.makedirs(output_dir, exist_ok=True) + + # Save results + pd.DataFrame(td_results).to_csv(os.path.join(output_dir, 'td_results.csv'), index=False) + pd.DataFrame(bu_results).to_csv(os.path.join(output_dir, 'bu_results.csv'), index=False) + combined_df.to_csv(os.path.join(output_dir, 'combined_results.csv'), index=False) + # post_processed_combined_df.to_csv(os.path.join(output_dir, 'combined_results.csv'), index=False) + diff --git a/src/integration_testing.ipynb b/src/integration_testing.ipynb index e6dce29..8df98fe 100644 --- a/src/integration_testing.ipynb +++ b/src/integration_testing.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -124,8 +124,6 @@ "import os\n", "import pandas as pd\n", "\n", - "\n", - "\n", "def clean_td(td):\n", " td_clean = []\n", " for d in td:\n", @@ -336,9 +334,28 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TD Results: [{'CONTRACT_LOB': 'Commercial, Medicare', 'CONTRACT_PROGRAM': 'N/A', 'CONTRACT_NETWORK': 'HMO, PPO, EPO', 'PRODUCT': 'Medicare Select', 'page_num': '1', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt', 'CONTRACT_MARKETPLACE_METAL_LEVEL': 'N/A', 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007'}, {'CONTRACT_LOB': 'Medicare', 'CONTRACT_PROGRAM': 'N/A', 'CONTRACT_NETWORK': 'N/A', 'PRODUCT': 'Health Net', 'page_num': '2', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt', 'CONTRACT_MARKETPLACE_METAL_LEVEL': 'N/A', 'LOB_PRICING_TERMS_EFFECTIVE_DATE': '11/20/07', 'LOB_PRICING_TERMS_TERMINATION_DATE': '11/20/07'}]\n", + "BU Results: [{'SERVICE': 'Commercial HMO Members Contracted Services', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_RATE': '241%', 'FULL_METHODOLOGY': '(a) two hundred and forty-one percent (241%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register: or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'page_num': '1', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'LESSER_OF_LANGUAGE_IND': 'Y', 'GREATER_OF_LANGUAGE_IND': 'N', 'FULL_METHODOLOGY': '(b) one hundred percent (100%) of Physician Group allowable billed charges', 'REIMBURSEMENT_RATE': 100, 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'page_num': '1', 'SERVICE': 'Commercial HMO Members Contracted Services', 'REIMBURSEMENT_METHODOLOGY': 'Billed Charges', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'SERVICE': 'Commercial HMO Members Contracted Services', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_RATE': '254%', 'FULL_METHODOLOGY': 'For Commercial HMO Members, effective December 1, 2008 Physician Group shall be compensated for Contracted Services, less applicable Copayments, in an amount equal to the lesser of: (a) two hundred and fifty-four percent (254%) of the Medicare allowable charges based on the Medicare Resource based Relative Value Scalo (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register: or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'page_num': '1', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'LESSER_OF_LANGUAGE_IND': 'Y', 'GREATER_OF_LANGUAGE_IND': 'N', 'FULL_METHODOLOGY': 'one hundred percent (100%) of Physician Group allowable billed charges', 'REIMBURSEMENT_RATE': '100', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'page_num': '1', 'SERVICE': 'Commercial HMO Members Contracted Services', 'REIMBURSEMENT_METHODOLOGY': 'Billed Charges', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'SERVICE': 'Medicare HMO and Medicare Select products Contracted Services', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_RATE': '100%', 'FULL_METHODOLOGY': '(a) one hundred percent (100%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register: or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'page_num': '1', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'LESSER_OF_LANGUAGE_IND': 'Y', 'GREATER_OF_LANGUAGE_IND': 'N', 'FULL_METHODOLOGY': '(a) two hundred and forty-one percent (241%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register;', 'REIMBURSEMENT_RATE': '241', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'page_num': '1', 'SERVICE': 'Medicare HMO and Medicare Select products Contracted Services', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'SERVICE': 'Preferred Provider Organization (PPO) Exclusive Provider Organization (EPO) Benefit Programs Covered Services', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_RATE': '241%', 'FULL_METHODOLOGY': '(a) two hundred and forty-one percent (241%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register; or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'page_num': '1', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'RBRVS', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'LESSER_OF_LANGUAGE_IND': 'Y', 'GREATER_OF_LANGUAGE_IND': 'N', 'FULL_METHODOLOGY': '(b) one hundred percent (100%) of Physician Group allowable billed charges', 'REIMBURSEMENT_RATE': 100, 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'page_num': '1', 'SERVICE': 'Preferred Provider Organization (PPO) Exclusive Provider Organization (EPO) Benefit Programs Covered Services', 'REIMBURSEMENT_METHODOLOGY': 'Billed Charges', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'SERVICE': 'Preferred Provider Organization (PPO) Exclusive Provider Organization (EPO) Benefit Programs Covered Services', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_RATE': '254%', 'FULL_METHODOLOGY': 'Effective December 1, 2008 Physician Group shall be compensated for Covered Services in an amount, less applicable Copayments and/or coinsurance, that is equal to the lesser of: (a) two hundred and fifty-four percent (254%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register; or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'page_num': '1', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'LESSER_OF_LANGUAGE_IND': 'Y', 'GREATER_OF_LANGUAGE_IND': 'N', 'FULL_METHODOLOGY': 'one hundred percent (100%) of Physician Group allowable billed charges', 'REIMBURSEMENT_RATE': '100', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'page_num': '1', 'SERVICE': 'Preferred Provider Organization (PPO) Exclusive Provider Organization (EPO) Benefit Programs Covered Services', 'REIMBURSEMENT_METHODOLOGY': 'Billed Charges', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'SERVICE': 'Medicare Resource Based Relative Value Scale (RBRVS)', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_RATE': 'N/A', 'FULL_METHODOLOGY': 'In the event that potential CMS changes to Medicare Resource Based Relative Value Scale (RBRVS) result in an aggregate 3% change, either positively or negatively, either party may initiate a meet and confer process which will determine impact and/or potential changes to reimbursement.', 'page_num': '2', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt', 'LESSER_OF_LANGUAGE_IND': 'N', 'GREATER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare Resource Based Relative Value Scale (RBRVS)', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'Y', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'In the event that potential CMS changes to Medicare Resource Based Relative Value Scale (RBRVS) result in an aggregate 3% change, either positively or negatively, either party may initiate a meet and confer process which will determine impact and/or potential changes to reimbursement.', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}]\n", + "All Keys: {'REIMBURSEMENT_STATUS_INDICATOR_CODES', 'CONTRACT_NETWORK', 'REIMBURSEMENT_GROUPER_CODES', 'GREATER_OF_LANGUAGE_IND', 'LESSER_OF_LANGUAGE_IND', 'REIMBURSEMENT_EXCEPTION_IND', 'SERVICE', 'LOB_PRICING_TERMS_TERMINATION_DATE', 'REIMBURSEMENT_REVENUE_CODES', 'PRODUCT', 'CONTRACT_LOB', 'REIMBURSEMENT_PLACEOFSERVICE_CODES', 'REIMBURSEMENT_PROC_CODES', 'RATE_ESCALATOR_IND', 'REIMBURSEMENT_RATE', 'REIMBURSEMENT_METHODOLOGY', 'REIMBURSEMENT_FLAT_FEE', 'REIMBURSEMENT_DIAG_CODES', 'REIMBURSEMENT_GROUPER', 'REIMBURSEMENT_ADMITTYPE_CODES', 'CONTRACT_PROGRAM', 'FULL_METHODOLOGY', 'REIMBURSEMENT_DESCRIBE_EXCEPTION', 'page_num', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION', 'REIMBURSEMENT_FEE_SCHEDULE', 'CONTRACT_MARKETPLACE_METAL_LEVEL', 'LOB_PRICING_TERMS_EFFECTIVE_DATE', 'Filename'}\n", + "Date Fields: {'LOB_PRICING_TERMS_EFFECTIVE_DATE': ['11/20/07', 'December 1, 2007'], 'LOB_PRICING_TERMS_TERMINATION_DATE': ['11/20/07', 'December 1, 2007']}\n", + "Combined Results: [{'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': '', 'LESSER_OF_LANGUAGE_IND': '', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Commercial HMO Members Contracted Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_RATE': '241%', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': '(a) two hundred and forty-one percent (241%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register: or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'Y', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Commercial HMO Members Contracted Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_RATE': 100, 'REIMBURSEMENT_METHODOLOGY': 'Billed Charges', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': '(b) one hundred percent (100%) of Physician Group allowable billed charges', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': '', 'LESSER_OF_LANGUAGE_IND': '', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Commercial HMO Members Contracted Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_RATE': '254%', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'For Commercial HMO Members, effective December 1, 2008 Physician Group shall be compensated for Contracted Services, less applicable Copayments, in an amount equal to the lesser of: (a) two hundred and fifty-four percent (254%) of the Medicare allowable charges based on the Medicare Resource based Relative Value Scalo (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register: or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'Y', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Commercial HMO Members Contracted Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': '100', 'REIMBURSEMENT_METHODOLOGY': 'Billed Charges', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'one hundred percent (100%) of Physician Group allowable billed charges', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': '', 'LESSER_OF_LANGUAGE_IND': '', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Medicare HMO and Medicare Select products Contracted Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': '100%', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': '(a) one hundred percent (100%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register: or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'Y', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Medicare HMO and Medicare Select products Contracted Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': '241', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': '(a) two hundred and forty-one percent (241%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register;', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': '', 'LESSER_OF_LANGUAGE_IND': '', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Preferred Provider Organization (PPO) Exclusive Provider Organization (EPO) Benefit Programs Covered Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_RATE': '241%', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': '(a) two hundred and forty-one percent (241%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register; or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'RBRVS', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'Y', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Preferred Provider Organization (PPO) Exclusive Provider Organization (EPO) Benefit Programs Covered Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_RATE': 100, 'REIMBURSEMENT_METHODOLOGY': 'Billed Charges', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': '(b) one hundred percent (100%) of Physician Group allowable billed charges', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': '', 'LESSER_OF_LANGUAGE_IND': '', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Preferred Provider Organization (PPO) Exclusive Provider Organization (EPO) Benefit Programs Covered Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'Y', 'REIMBURSEMENT_RATE': '254%', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule, Billed Charges', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'Effective December 1, 2008 Physician Group shall be compensated for Covered Services in an amount, less applicable Copayments and/or coinsurance, that is equal to the lesser of: (a) two hundred and fifty-four percent (254%) of the Medicare allowable charges based on the Medicare Resource Based Relative Value Scale (RBRVS) unit values and CMS Geographical Practice Cost Indices as published in the most current published edition of the Federal Register; or (b) one hundred percent (100%) of Physician Group allowable billed charges.', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'Most current published edition', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare RBRVS', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': 'HMO', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'Y', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Preferred Provider Organization (PPO) Exclusive Provider Organization (EPO) Benefit Programs Covered Services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'December 1, 2007', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Medicare Select'], 'CONTRACT_LOB': 'Commercial', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': '100', 'REIMBURSEMENT_METHODOLOGY': 'Billed Charges', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'one hundred percent (100%) of Physician Group allowable billed charges', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '1', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'December 1, 2007', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': [], 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_EXCEPTION_IND': 'Y', 'SERVICE': 'Medicare Resource Based Relative Value Scale (RBRVS)', 'LOB_PRICING_TERMS_TERMINATION_DATE': '11/20/07', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': ['Health Net'], 'CONTRACT_LOB': ['Medicare'], 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': 'N/A', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FLAT_FEE': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'In the event that potential CMS changes to Medicare Resource Based Relative Value Scale (RBRVS) result in an aggregate 3% change, either positively or negatively, either party may initiate a meet and confer process which will determine impact and/or potential changes to reimbursement.', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'In the event that potential CMS changes to Medicare Resource Based Relative Value Scale (RBRVS) result in an aggregate 3% change, either positively or negatively, either party may initiate a meet and confer process which will determine impact and/or potential changes to reimbursement.', 'page_num': '2', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'Medicare Resource Based Relative Value Scale (RBRVS)', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': '11/20/07', 'Filename': '2007-12-01 California Emergency Physicians AMD_MU.txt'}]\n", + "Processed 2007-12-01 California Emergency Physicians AMD_MU.txt\n", + "TD Results: [{'CONTRACT_LOB': 'N/A', 'CONTRACT_PROGRAM': 'N/A', 'CONTRACT_NETWORK': 'N/A', 'PRODUCT': 'moda IMAGING SERVICES', 'page_num': '1', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'CONTRACT_MARKETPLACE_METAL_LEVEL': 'N/A', 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'N/A', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'N/A'}, {'CONTRACT_LOB': 'N/A', 'CONTRACT_PROGRAM': 'N/A', 'CONTRACT_NETWORK': 'N/A', 'PRODUCT': 'N/A', 'page_num': '2', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'CONTRACT_MARKETPLACE_METAL_LEVEL': 'N/A', 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'N/A', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'N/A'}, {'CONTRACT_LOB': 'Medicare Advantage', 'CONTRACT_PROGRAM': 'N/A', 'CONTRACT_NETWORK': 'N/A', 'PRODUCT': 'N/A', 'page_num': '3', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'CONTRACT_MARKETPLACE_METAL_LEVEL': 'N/A', 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'January 1, 2013', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'January 1, 2013'}, {'CONTRACT_LOB': 'Medicare Advantage', 'CONTRACT_PROGRAM': 'N/A', 'CONTRACT_NETWORK': 'N/A', 'PRODUCT': 'N/A', 'page_num': '4', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'CONTRACT_MARKETPLACE_METAL_LEVEL': 'N/A', 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'January 1, 2013', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'January 1, 2013'}, {'CONTRACT_LOB': 'Medicare, Medicaid', 'CONTRACT_PROGRAM': 'N/A', 'CONTRACT_NETWORK': 'ODS Plus Network, ODS PPO Advantage', 'PRODUCT': 'Oregon Community Health, Inc., ODS Health Plan, Inc.', 'page_num': '5', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'CONTRACT_MARKETPLACE_METAL_LEVEL': 'N/A', 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'N/A', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'N/A'}]\n", + "BU Results: [{'SERVICE': 'Rural Health Clinic (RHC) services', 'REIMBURSEMENT_FLAT_FEE': '79.17', 'REIMBURSEMENT_RATE': 'N/A', 'FULL_METHODOLOGY': 'For services billed on a UB-04 (including any future editions) will be reimbursed at the RHC per visit rate of $79.17.', 'page_num': '3', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'LESSER_OF_LANGUAGE_IND': 'N', 'GREATER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_METHODOLOGY': 'Per Visit', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': ['G0009', '90669', '90670', '90732', 'G0008', '90655-90663'], 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'SERVICE': 'Pneumococcal and influenza vaccinations', 'REIMBURSEMENT_FLAT_FEE': '87.83', 'REIMBURSEMENT_RATE': 'N/A', 'FULL_METHODOLOGY': 'For services billed on a CMS 1500 (including any future editions) for pneumococcal and influenza vaccinations will be allowed as follows: G0009, 90669, 90670, 90732 $87.83', 'page_num': '3', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'LESSER_OF_LANGUAGE_IND': 'N', 'GREATER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FEE_SCHEDULE': 'CMS', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': ['G0009', '90669', '90670', '90732'], 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'SERVICE': 'Vaccinations', 'REIMBURSEMENT_FLAT_FEE': '47.09', 'REIMBURSEMENT_RATE': 'N/A', 'FULL_METHODOLOGY': 'For services billed on a CMS 1500 (including any future editions) for pneumococcal and influenza vaccinations will be allowed as follows: G0008, 90655-90663 $47.09', 'page_num': '3', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'LESSER_OF_LANGUAGE_IND': 'N', 'GREATER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FEE_SCHEDULE': 'CMS', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': ['G0008', '90655-90663'], 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'SERVICE': 'Rural Health Clinic services billed on UB-04', 'REIMBURSEMENT_FLAT_FEE': '79.17', 'REIMBURSEMENT_RATE': 'N/A', 'FULL_METHODOLOGY': 'For services billed on a UB-04 (including any future editions) will be reimbursed at the RHC per visit rate of $79.17.', 'page_num': '4', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'LESSER_OF_LANGUAGE_IND': 'N', 'GREATER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_METHODOLOGY': 'Per Visit', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'G0009, 90669, 90670, 90732, G0008, 90655-90663', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'SERVICE': 'Pneumococcal and influenza vaccinations billed on CMS 1500', 'REIMBURSEMENT_FLAT_FEE': '87.83', 'REIMBURSEMENT_RATE': 'N/A', 'FULL_METHODOLOGY': 'For services billed on a CMS 1500 (including any future editions) for pneumococcal and influenza vaccinations will be allowed as follows: G0009, 90669, 90670, 90732 $87.83', 'page_num': '4', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'LESSER_OF_LANGUAGE_IND': 'N', 'GREATER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FEE_SCHEDULE': 'CMS', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': ['G0009', '90669', '90670', '90732'], 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}, {'SERVICE': 'Other vaccinations billed on CMS 1500', 'REIMBURSEMENT_FLAT_FEE': '47.09', 'REIMBURSEMENT_RATE': 'N/A', 'FULL_METHODOLOGY': 'For services billed on a CMS 1500 (including any future editions) for pneumococcal and influenza vaccinations will be allowed as follows: G0008, 90655-90663 $47.09', 'page_num': '4', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt', 'LESSER_OF_LANGUAGE_IND': 'N', 'GREATER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FEE_SCHEDULE': 'CMS', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': ['G0008', '90655-90663'], 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A'}]\n", + "All Keys: {'REIMBURSEMENT_STATUS_INDICATOR_CODES', 'CONTRACT_NETWORK', 'REIMBURSEMENT_GROUPER_CODES', 'GREATER_OF_LANGUAGE_IND', 'LESSER_OF_LANGUAGE_IND', 'REIMBURSEMENT_EXCEPTION_IND', 'SERVICE', 'LOB_PRICING_TERMS_TERMINATION_DATE', 'REIMBURSEMENT_REVENUE_CODES', 'PRODUCT', 'CONTRACT_LOB', 'REIMBURSEMENT_PLACEOFSERVICE_CODES', 'REIMBURSEMENT_PROC_CODES', 'RATE_ESCALATOR_IND', 'REIMBURSEMENT_RATE', 'REIMBURSEMENT_METHODOLOGY', 'REIMBURSEMENT_FLAT_FEE', 'REIMBURSEMENT_DIAG_CODES', 'REIMBURSEMENT_GROUPER', 'REIMBURSEMENT_ADMITTYPE_CODES', 'CONTRACT_PROGRAM', 'FULL_METHODOLOGY', 'REIMBURSEMENT_DESCRIBE_EXCEPTION', 'page_num', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION', 'REIMBURSEMENT_FEE_SCHEDULE', 'CONTRACT_MARKETPLACE_METAL_LEVEL', 'LOB_PRICING_TERMS_EFFECTIVE_DATE', 'Filename'}\n", + "Date Fields: {'LOB_PRICING_TERMS_EFFECTIVE_DATE': ['N/A', 'January 1, 2013'], 'LOB_PRICING_TERMS_TERMINATION_DATE': ['N/A', 'January 1, 2013']}\n", + "Combined Results: [{'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': [], 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Rural Health Clinic (RHC) services', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'January 1, 2013', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': [], 'CONTRACT_LOB': ['Medicare Advantage'], 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'G0009, 90669, 90670, 90732', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': 'N/A', 'REIMBURSEMENT_METHODOLOGY': 'Per Visit', 'REIMBURSEMENT_FLAT_FEE': '79.17', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'For services billed on a UB-04 (including any future editions) will be reimbursed at the RHC per visit rate of $79.17.', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '3', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'January 1, 2013', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': [], 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Pneumococcal and influenza vaccinations', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'January 1, 2013', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': [], 'CONTRACT_LOB': ['Medicare Advantage'], 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': '90732', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': 'N/A', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FLAT_FEE': '87.83', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'For services billed on a CMS 1500 (including any future editions) for pneumococcal and influenza vaccinations will be allowed as follows: G0009, 90669, 90670, 90732 $87.83', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '3', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'CMS', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'January 1, 2013', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': [], 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Vaccinations', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'January 1, 2013', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': [], 'CONTRACT_LOB': ['Medicare Advantage'], 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': '90655-90663', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': 'N/A', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FLAT_FEE': '47.09', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'For services billed on a CMS 1500 (including any future editions) for pneumococcal and influenza vaccinations will be allowed as follows: G0008, 90655-90663 $47.09', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '3', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'CMS', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'January 1, 2013', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': [], 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Rural Health Clinic services billed on UB-04', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'January 1, 2013', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': [], 'CONTRACT_LOB': ['Medicare Advantage'], 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': 'G0009, 90669, 90670, 90732, G0008, 90655-90663', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': 'N/A', 'REIMBURSEMENT_METHODOLOGY': 'Per Visit', 'REIMBURSEMENT_FLAT_FEE': '79.17', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'For services billed on a UB-04 (including any future editions) will be reimbursed at the RHC per visit rate of $79.17.', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '4', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'N/A', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'January 1, 2013', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': [], 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Pneumococcal and influenza vaccinations billed on CMS 1500', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'January 1, 2013', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': [], 'CONTRACT_LOB': ['Medicare Advantage'], 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': '90732', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': 'N/A', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FLAT_FEE': '87.83', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'For services billed on a CMS 1500 (including any future editions) for pneumococcal and influenza vaccinations will be allowed as follows: G0009, 90669, 90670, 90732 $87.83', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '4', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'CMS', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'January 1, 2013', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt'}, {'REIMBURSEMENT_STATUS_INDICATOR_CODES': 'N/A', 'CONTRACT_NETWORK': [], 'REIMBURSEMENT_GROUPER_CODES': 'N/A', 'GREATER_OF_LANGUAGE_IND': 'N', 'LESSER_OF_LANGUAGE_IND': 'N', 'REIMBURSEMENT_EXCEPTION_IND': 'N', 'SERVICE': 'Other vaccinations billed on CMS 1500', 'LOB_PRICING_TERMS_TERMINATION_DATE': 'January 1, 2013', 'REIMBURSEMENT_REVENUE_CODES': 'N/A', 'PRODUCT': [], 'CONTRACT_LOB': ['Medicare Advantage'], 'REIMBURSEMENT_PLACEOFSERVICE_CODES': 'N/A', 'REIMBURSEMENT_PROC_CODES': '90655-90663', 'RATE_ESCALATOR_IND': 'N', 'REIMBURSEMENT_RATE': 'N/A', 'REIMBURSEMENT_METHODOLOGY': 'Medicare Fee Schedule', 'REIMBURSEMENT_FLAT_FEE': '47.09', 'REIMBURSEMENT_DIAG_CODES': 'N/A', 'REIMBURSEMENT_GROUPER': 'N/A', 'REIMBURSEMENT_ADMITTYPE_CODES': 'N/A', 'CONTRACT_PROGRAM': [], 'FULL_METHODOLOGY': 'For services billed on a CMS 1500 (including any future editions) for pneumococcal and influenza vaccinations will be allowed as follows: G0008, 90655-90663 $47.09', 'REIMBURSEMENT_DESCRIBE_EXCEPTION': 'N/A', 'page_num': '4', 'REIMBURSEMENT_FEE_SCHEDULE_VERSION': 'N/A', 'REIMBURSEMENT_FEE_SCHEDULE': 'CMS', 'CONTRACT_MARKETPLACE_METAL_LEVEL': [], 'LOB_PRICING_TERMS_EFFECTIVE_DATE': 'January 1, 2013', 'Filename': '2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt'}]\n", + "Processed 2013-01-01 Amendment MA FE PeaceHealth TIN 931251530 & 800537724.txt\n" + ] + } + ], "source": [ "import os\n", "import pandas as pd\n", @@ -479,8 +496,8 @@ " combined_df = pd.DataFrame(combined_results)\n", " \n", " # Post-process combined results\n", - " post_processed_combined_df = postprocess.postprocess_results(combined_df)\n", - " print(\"Post-processed Results:\", post_processed_combined_df)\n", + " # post_processed_combined_df = postprocess.postprocess_results(combined_df)\n", + " # print(\"Post-processed Results:\", post_processed_combined_df)\n", " \n", " # Create directories\n", " base_filename = os.path.splitext(filename)[0]\n", @@ -490,7 +507,8 @@ " # Save results\n", " pd.DataFrame(td_results).to_csv(os.path.join(output_dir, 'td_results.csv'), index=False)\n", " pd.DataFrame(bu_results).to_csv(os.path.join(output_dir, 'bu_results.csv'), index=False)\n", - " post_processed_combined_df.to_csv(os.path.join(output_dir, 'combined_results.csv'), index=False)\n", + " combined_df.to_csv(os.path.join(output_dir, 'combined_results.csv'), index=False)\n", + " # post_processed_combined_df.to_csv(os.path.join(output_dir, 'combined_results.csv'), index=False)\n", "\n", "def process_all_files(input_dict):\n", " for filename in input_dict.keys():\n", @@ -498,7 +516,7 @@ " print(f\"Processed {filename}\")\n", "\n", "# Example usage\n", - "input_dict = utils.read_input(path='subset')\n", + "input_dict = utils.read_input(path='../data/')\n", "process_all_files(input_dict)\n", "\n" ] @@ -509,19 +527,8 @@ "metadata": {}, "outputs": [], "source": [ - "\n", - "\n", "# Usage example:\n", - "#save_combined_to_csv(combined, 'combined_output.csv')\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "[c['CONTRACT_LOB'] for c in combined]" + "#save_combined_to_csv(combined, 'combined_output.csv')" ] }, { @@ -532,13 +539,6 @@ "source": [ "utils.consolidate_individual(input_folder='../results/', output_folder='../output/')" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -557,7 +557,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.4" + "version": "3.12.3" } }, "nbformat": 4, diff --git a/src/main.py b/src/main.py index e9c1f79..b183f03 100644 --- a/src/main.py +++ b/src/main.py @@ -8,6 +8,8 @@ import utils import config import prompt_funcs import claude_funcs +import file_processing + def main(): if config.TEST: @@ -15,8 +17,8 @@ def main(): else: # Read contract txt input_dict = utils.read_input() - already_processed = [s.split('.txt_results')[0]+'.txt' for s in os.listdir('results/')] - input_dict = {key : input_dict[key] for key in input_dict.keys() if key not in already_processed} + # already_processed = [s.split('.txt_results')[0]+'.txt' for s in os.listdir('results/')] + # input_dict = {key : input_dict[key] for key in input_dict.keys() if key not in already_processed} # Set up results folder if not os.path.exists('results'): @@ -33,7 +35,7 @@ def main(): def process_item(item): key, value = item try: - prompt_funcs.run_prompts(item) + file_processing.process_file(item) #prompt_funcs.bottom_up(item) except Exception as e: # Print the error message and traceback @@ -61,5 +63,3 @@ def main(): if __name__ == "__main__": main() - - diff --git a/src/prompt_funcs.py b/src/prompt_funcs.py index 8811716..effb73d 100644 --- a/src/prompt_funcs.py +++ b/src/prompt_funcs.py @@ -124,7 +124,6 @@ def run_top_down_date(type_, d, page): answer = claude_funcs.invoke_claude_3(prompt, max_tokens=4000) return answer - def top_down_secondary(td_results, text_dict): updated_dicts = [] for d in td_results: @@ -133,6 +132,8 @@ def top_down_secondary(td_results, text_dict): # Dates d['LOB_PRICING_TERMS_EFFECTIVE_DATE'] = run_top_down_date('EFFECTIVE' , d, text_dict[d['page_num']]) + + # if auto_renewal == N: else: 'N/A' d['LOB_PRICING_TERMS_TERMINATION_DATE'] = run_top_down_date('TERMINATION', d, text_dict[d['page_num']]) updated_dicts.append(d) @@ -161,104 +162,5 @@ def run_top_down(filename, text_dict): return td_final # List of list of dictionaries -# Takes list of dictionaries, updates vals in dictionaries to be lists instead of strings. N/A->empty list, single val -> [single_val], multiple val -> [val1, val2] -def clean_td(td): - td_clean = [] - for d in td: - new_d = {} - for k in d.keys(): - if k not in ['page_num', 'Filename']: - if ',' in d[k]: - if 'DATE' not in k: - new_d[k] = [v.strip() for v in d[k].split(',')] - elif d[k] == 'N/A': - new_d[k] = [] - else: - new_d[k] = [d[k]] - else: - new_d[k] = d[k] - td_clean.append(new_d) - return td_clean # List of dictionaries where values in each dict are lists - -# Takes list of dictionaries, returns one dictionary with unique values -def get_unique_td(td): - unique_td_dict = {} - for d in td: - for key, value in d.items(): - if key not in ['page_num', 'Filename']: - for v in value: - if key not in unique_td_dict.keys(): - unique_td_dict[key] = [v] - else: - unique_td_dict[key].append(v) - final_dict = {key : list(set(unique_td_dict[key])) for key in unique_td_dict.keys()} - return final_dict - -def td_bu_combine(td, bu, text_dict): - bu_dicts = bu.copy() - td_dicts = td.copy() - - td_dicts_clean = clean_td(td_dicts) - unique_td = get_unique_td(td_dicts_clean) # Unique values in entire contract - - combined_list = [] - for bud_ in bu_dicts: - bud = bud_.copy() - for key, value in unique_td.items(): # value is list of unique values - if len(value) == 0: # No value in contract - bud.update({key : ""}) - elif len(value) == 1: # 1 value in contract - bud.update({key : value[0]}) - else: # More than one value in contract - # Check for value on the page - page_value = [] # page_value = list of all values of key on the same page as bud - for d in td_dicts_clean: - if (d['page_num'] == bud['page_num']) and (key in d.keys()): - for v in d[key]: - page_value.append(v) - - if len(page_value) == 1: # One value on page - bud.update({key : page_value[0]}) - elif len(page_value) > 1: # Multiple values on page - bud.update({key : ', '.join(page_value)}) # Faizan - Change line to prompt check (pass in page_value) (commit ce3f4c17f281c4c3851d9967c51a14468ee06230) - elif len(page_value) == 0: - bud.update({key : ""}) # Faizan - Change line to prompt check previous page (pass in page_value) - (ce3f4c17f281c4c3851d9967c51a14468ee06230) - combined_list.append(bud) - return combined_list # List of dictionaries - -def run_prompts(file_object): - filename, contract_text = file_object - if config.VERBOSE: print(f"Processing {filename}...") - - #### PREPROCESS #### - contract_text = preprocess.clean_newlines(contract_text) - text_dict = preprocess.split_text(contract_text) - text_dict = table_funcs.align_and_format_tables(text_dict) - text_dict = preprocess.highlight_rates(text_dict) - - #### TOP DOWN #### - td_results = run_top_down(filename, text_dict) # Returns list of list of dictionaries for each page - - #### BOTTOM UP #### - bu_results = run_bottom_up(filename, text_dict) # Returns list of dictionaries - - #### COMBINE #### - combined_results = td_bu_combine(td_results, bu_results, text_dict) - - answer_df = pd.DataFrame(combined_results) - - ### OUTPUT #### - if config.WRITE_OUTPUT: - if config.OUTPUT_MODE == '_INDIVIDUAL_': - answer_df.to_csv(f"results/{filename}_results.csv") - elif config.OUTPUT_MODE == '_CONSOLIDATED_': - if not os.path.exists('temp'): - os.makedirs('temp') - answer_df.to_csv(f"temp/{filename}_results.csv") - else: - if config.VERBOSE: print(answer_df) - - # Postprocess (added later) - diff --git a/src/prompts.py b/src/prompts.py index 9e8fa06..86fffde 100644 --- a/src/prompts.py +++ b/src/prompts.py @@ -1,5 +1,37 @@ +def GENERATE_PROMPT(bu_dict, td_dicts, page, field_name=None, values=None): + if field_name and values: + return f"""### PAGE START ### {page} ### PAGE END + +Field: {field_name} +Values: {values} + +Listed above is a page of a contract, as well as the potential values for the {field_name} field. +Your job is to identify which of these values is the most appropriate based on the page content. + +Write ONLY the value that is most appropriate. Do not return any additional text beyond the value itself. +""" + else: + return f"""### PAGE START ### {page} ### PAGE END + +Service: {bu_dict['SERVICE']} +Methodology: {bu_dict['FULL_METHODOLOGY']} + +Listed above is a page of a contract, as well as a Service and Methodology found on this page. +Your job is to identify which of the following entities this specific Service is associated with. + +----Change Below---- + +Here are the entities, represented as dictionary objects: + +{td_dicts} + +Write ONLY the number of the dictionary that is most associated with the Service and Methodology of interest. Do not return any additional text beyond the digit itself. +""" + + + def BOTTOM_UP_PRIMARY(page, payer): return f""" ### PAGE START ### {page} ### PAGE END