Files
doczyai-pipelines/archive/Doczy.AI_Automation/reports/test_report.json
T
Katon Minhas afb6d5185d Merged in feature/lesser-table-caching-refactor-hybrid (pull request #847)
Feature/lesser table caching refactor hybrid

* chore: Remove unused duplicate main.py from shared pipeline

* fix: Correct crosswalk paths in aarete_derived.py

* chore: Remove unused documentation files from fieldExtraction

* docs: Add documentation files to documentation folder

* docs: Update README with uv setup, expanded project structure, and branching conventions

* docs: Add uv installation steps with Ubuntu/WSL emphasis

* Enable prompt caching for all remaining LLM calls

- Add _INSTRUCTION() functions for: EXHIBIT_HEADER, EXHIBIT_LINKAGE,
  EXHIBIT_TITLE_MATCH, DATE_FIX, DERIVED_TERM_DATE, CHECK_PROVIDER_NAME_MATCH,
  SPECIAL_CASE_ASSIGNMENT
- Update all invoke_claude() calls in saas and clover pipelines to use
  cache=True with corresponding _INSTRUCTION() functions
- Add new instructions to get_cacheable_instructions() for cache warming
- Update tests for new instruction functions

Functions now using caching:
- prompt_exhibit_level
- prompt_exhibit_lesser (EXHIBIT_LEVEL_LESSER_OF)
- prompt_fee_schedule_breakout
- prompt_grouper_breakout
- prompt_special_case_assignment
- prompt_exhibit_linkage
- prompt_exhibit_header
- prompt_smart_chunked (ONE_TO_ONE templates)
- prompt_date_fix
- prompt_derived_term_date
- prompt_exhibit_title_match
- provider_name_match_check

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Reorder

* feat: Add bcbs_promise client pipeline with OFFSET_TERM extraction

- Add new bcbs_promise client with HSC-based OFFSET_TERM field extraction
- Extract full paragraph text of offset/recoupment provisions from contracts
- Derive OFFSET_INDICATOR (Y/N) from OFFSET_TERM presence
- Fix reorder_columns to preserve extra columns not in COLUMN_ORDER
- Update QC/QA output path to outputs/qc_qa/

* fix: Update dev deps and test assertions for QC/QA output path

- Add pytest/pytest-mock to dev dependencies for mypy type checking
- Update test assertions to expect outputs/qc_qa instead of qa_qc_output

* style: Apply black formatting to prompt_templates.py

* Merge main, move scripts

* Archive some scripts

* update py version

* remove .py version file

* Remove ASCII characters

* Restore testbed code

* restore tracking

* Update testbed metrics

* Enable prompt caching for CODE_LAST_CHECK, FILL_BILL_TYPE, DUAL_LOB_CHECK, and GROUPER_BREAKOUT

- Add CODE_LAST_CHECK_INSTRUCTION() for service specificity classification
- Add FILL_BILL_TYPE_INSTRUCTION() for bill type code determination
- Add DUAL_LOB_CHECK_INSTRUCTION() for Medicare/Medicaid classification
- Update code_funcs.py to use caching for CODE_LAST_CHECK, FILL_BILL_TYPE, GROUPER_BREAKOUT
- Update postprocessing_funcs.py to use caching for DUAL_LOB_CHECK
- Add new instructions to get_cacheable_instructions() for cache warming
- Add unit tests for new instruction functions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Fix postprocessing_funcs to remove invalid columns

* Merge branch 'main' into feature/lesser-table-caching-refactor-hybrid

* Revert prompt caching changes from aed1b73c

* update formatting

* Update imports


Approved-by: Sha Brown
Approved-by: Praneel Panchigar
2026-01-26 16:52:55 +00:00

1 line
16 KiB
JSON

{"report": {"environment": {"Python": "3.12.3", "Platform": "Windows-10-10.0.19045-SP0"}, "tests": [{"name": "tests/test_end_to_end.py::Test_end_to_end::test_validate_navigation", "duration": 135.22513170016464, "run_index": 0, "setup": {"name": "setup", "duration": 3.933629200095311, "outcome": "passed"}, "call": {"name": "call", "duration": 125.16028159996495, "outcome": "passed", "stderr": "2024-05-20 16:58:27.081 | INFO | tests.test_end_to_end:test_validate_navigation:20 - Verifying S3 bucket is created with batch ID\n2024-05-20 16:59:05.976 | INFO | tests.test_end_to_end:test_validate_navigation:23 - Signed in successful\n2024-05-20 16:59:10.135 | INFO | pages.interface_0_page_objects:select_client:27 - Selected Client Name: Humana\n2024-05-20 16:59:15.187 | INFO | pages.interface_0_page_objects:upload_files:41 - Selected Contract File Name: Prof1_ICM135705_ICMProviderAgreement_135705 IPA of NJ MU.pdf, Boilerplate_TX Amendment Mission Health Network effective_040114 MU.pdf, Baz Allergy Asthma & Sinus_MU.pdf\n2024-05-20 16:59:40.060 | INFO | pages.interface_0_page_objects:create_batch:56 - Creating batch\n2024-05-20 16:59:51.186 | INFO | tests.test_end_to_end:test_validate_navigation:28 - Created batch with Batch ID: batch_200524112941 created\n2024-05-20 16:59:51.186 | INFO | tests.test_end_to_end:test_validate_navigation:29 - Verifying Single Sign-On (SSO) Login for Interface 1\n2024-05-20 16:59:56.655 | INFO | tests.test_end_to_end:test_validate_navigation:34 - Signed in successful\n2024-05-20 17:00:00.800 | INFO | pages.interface_1_page_objects:select_client:28 - Selected Client Name: Humana\n2024-05-20 17:00:05.926 | INFO | pages.interface_1_page_objects:select_batch:39 - Selected Batch: \n2024-05-20 17:00:11.068 | INFO | pages.interface_1_page_objects:check_group_no:52 - checked Group No.: Pricing Before Carveouts, Carveout Methodology\n2024-05-20 17:00:21.138 | INFO | pages.interface_1_page_objects:check_table_contain:64 - 1 contracts are read from batch: \n2024-05-20 17:00:32.242 | INFO | tests.test_end_to_end:test_validate_navigation:47 - Files are passed to Doczy.AI pipeline\n"}, "teardown": {"name": "teardown", "duration": 2.1975917000090703, "outcome": "passed"}, "outcome": "passed"}, {"name": "tests/test_interface_0.py::Test_interface_0::test_validate_navigation", "duration": 10.016468499903567, "run_index": 1, "setup": {"name": "setup", "duration": 1.4651296999072656, "outcome": "passed"}, "call": {"name": "call", "duration": 4.968142900033854, "outcome": "passed", "stderr": "2024-05-20 17:00:39.984 | INFO | tests.test_interface_0:test_validate_navigation:17 - Verifying designated Interface 0 Page opens successfully\n2024-05-20 17:00:44.952 | INFO | tests.test_interface_0:test_validate_navigation:21 - Designated Interface 0 Page opened successfully\n"}, "teardown": {"name": "teardown", "duration": 2.118066200055182, "outcome": "passed"}, "outcome": "passed"}, {"name": "tests/test_interface_0.py::Test_interface_0::test_verify_sign_in", "duration": 45.43742820015177, "run_index": 2, "setup": {"name": "setup", "duration": 1.4331041000550613, "outcome": "passed"}, "call": {"name": "call", "duration": 40.40453440009151, "outcome": "passed", "stderr": "2024-05-20 17:00:52.536 | INFO | tests.test_interface_0:test_verify_sign_in:28 - Verifying Single Sign-On (SSO) Login for Interface 0\n2024-05-20 17:01:31.419 | INFO | tests.test_interface_0:test_verify_sign_in:31 - Signed in successful\n2024-05-20 17:01:32.940 | INFO | tests.test_interface_0:test_verify_sign_in:34 - Interface 0 page opened successfully\n"}, "teardown": {"name": "teardown", "duration": 2.166685599950142, "outcome": "passed"}, "outcome": "passed"}, {"name": "tests/test_interface_0.py::Test_interface_0::test_verify_batch_creation", "duration": 64.62215110007674, "run_index": 3, "setup": {"name": "setup", "duration": 1.4402328000869602, "outcome": "passed"}, "call": {"name": "call", "duration": 59.59442949993536, "outcome": "passed", "stderr": "2024-05-20 17:01:40.631 | INFO | tests.test_interface_0:test_verify_batch_creation:54 - Verifying S3 bucket is created with batch ID\n2024-05-20 17:02:24.892 | INFO | tests.test_interface_0:test_verify_batch_creation:57 - Signed in successful\n2024-05-20 17:02:29.082 | INFO | pages.interface_0_page_objects:select_client:27 - Selected Client Name: Centene\n2024-05-20 17:02:34.136 | INFO | pages.interface_0_page_objects:upload_files:41 - Selected Contract File Name: Custom_TX - MP AMENDMENT - MISSION HEALTH NETWORK - MU.pdf, Prof1_ICM135705_ICMProviderAgreement_135705 IPA of NJ MU.pdf, 2014-01-01 United Health Centers San Joaquin AMD MU (1).pdf, Delaware First Health_First State Homecare Agency_212260_7 MU.pdf, ICMProviderAgreement_AlisonUnitisLPCMH_227710_5.pdf, Baz Allergy Asthma & Sinus_MU.pdf, Boilerplate_TX Amendment Mission Health Network effective_040114 MU.pdf, Molina Healthcare of Texas, Inc. Amendment 4 - HIX ACA__EFF 01012016_MU.pdf, Boilerplate_Prof_Premier Health Specialists Inc Third Amendment_A.4_20160101_MU.pdf, Custom_Prof_Anna Suponya MD PC - Agreement Provider Signed_MU (1).pdf, BoilerplateAnc_Boro Park Obstetrics & Gynecology PC - Amendment 11.2.12_MU.pdf, Bay Ridge Medical Imaging Universal (113045841) MU.pdf, 050540697 Deepak Nanda 2017 PHSP MU1.pdf, 2019 06 01 Dr Raul Rivera & Associates (Amend 1)_MU.pdf\n2024-05-20 17:02:34.161 | INFO | pages.interface_0_page_objects:upload_files:49 - File not found in test folderCustom_TX - MP AMENDMENT - MISSION HEALTH NETWORK - MU.pdf, Prof1_ICM135705_ICMProviderAgreement_135705 IPA of NJ MU.pdf, 2014-01-01 United Health Centers San Joaquin AMD MU (1).pdf, Delaware First Health_First State Homecare Agency_212260_7 MU.pdf, ICMProviderAgreement_AlisonUnitisLPCMH_227710_5.pdf, Baz Allergy Asthma & Sinus_MU.pdf, Boilerplate_TX Amendment Mission Health Network effective_040114 MU.pdf, Molina Healthcare of Texas, Inc. Amendment 4 - HIX ACA__EFF 01012016_MU.pdf, Boilerplate_Prof_Premier Health Specialists Inc Third Amendment_A.4_20160101_MU.pdf, Custom_Prof_Anna Suponya MD PC - Agreement Provider Signed_MU (1).pdf, BoilerplateAnc_Boro Park Obstetrics & Gynecology PC - Amendment 11.2.12_MU.pdf, Bay Ridge Medical Imaging Universal (113045841) MU.pdf, 050540697 Deepak Nanda 2017 PHSP MU1.pdf, 2019 06 01 Dr Raul Rivera & Associates (Amend 1)_MU.pdf\n2024-05-20 17:02:34.194 | INFO | pages.interface_0_page_objects:create_batch:56 - Creating batch\n2024-05-20 17:02:40.220 | INFO | tests.test_interface_0:test_verify_batch_creation:62 - Created batch with Batch ID: batch_200524113235 created\n"}, "teardown": {"name": "teardown", "duration": 2.147255999967456, "outcome": "passed"}, "outcome": "passed"}, {"name": "tests/test_interface_0.py::Test_interface_0::test_verify_no_files_uploaded", "duration": 58.297346299979836, "run_index": 4, "setup": {"name": "setup", "duration": 1.3820788000011817, "outcome": "passed"}, "call": {"name": "call", "duration": 53.391041700029746, "outcome": "failed", "longrepr": "self = <tests.test_interface_0.Test_interface_0 object at 0x00000189E71F4E60>\ndriver = <selenium.webdriver.chrome.webdriver.WebDriver (session=\"04bf6af5ccda3145526fb107e9e148a6\")>\nconfig = {'contract_files': ['050540697 Deepak Nanda 2017 PHSP MU1.pdf', '2014-01-01 United Health Centers San Joaquin AMD MU (...it\\\\Marked Up PDFs\\\\test\\\\', 'password': '7387188738@Pr!nce', 'url_interface_0': 'https://doczy.aarete.com:8500/', ...}\n\n def test_verify_no_files_uploaded(self, driver, config):\n self.logger.info(\"Verifying S3 bucket is created with batch ID\")\n driver.get(config['url_interface_0'])\n sign_in(driver, config)\n self.logger.info(\"Signed in successful\")\n interface_0_page = Interface_0(driver)\n interface_0_page.select_client()\n interface_0_page.create_batch()\n # self.logger.info(f\"Created batch with Batch ID: {p_element.text}\")\n # try:\n> assert interface_0_page.p_element.text is \"Select files to create batch\", \"Batch ID is created instead of message\"\nE AssertionError: Batch ID is created instead of message\nE assert 'batch_200524113336 created' is 'Select files to create batch'\nE + where 'batch_200524113336 created' = <selenium.webdriver.remote.webelement.WebElement (session=\"04bf6af5ccda3145526fb107e9e148a6\", element=\"f.7BF13FEEF6A4B06D87B5D77F803A5508.d.DD537C0CEB0145F47B85B7A158E35A76.e.57\")>.text\nE + where <selenium.webdriver.remote.webelement.WebElement (session=\"04bf6af5ccda3145526fb107e9e148a6\", element=\"f.7BF13FEEF6A4B06D87B5D77F803A5508.d.DD537C0CEB0145F47B85B7A158E35A76.e.57\")> = <pages.interface_0_page_objects.Interface_0 object at 0x00000189E71F7EF0>.p_element\n\ntests\\test_interface_0.py:75: AssertionError", "stderr": "2024-05-20 17:02:47.833 | INFO | tests.test_interface_0:test_verify_no_files_uploaded:66 - Verifying S3 bucket is created with batch ID\n2024-05-20 17:03:25.977 | INFO | tests.test_interface_0:test_verify_no_files_uploaded:69 - Signed in successful\n2024-05-20 17:03:30.118 | INFO | pages.interface_0_page_objects:select_client:27 - Selected Client Name: Fidelis\n2024-05-20 17:03:35.191 | INFO | pages.interface_0_page_objects:create_batch:56 - Creating batch\n"}, "teardown": {"name": "teardown", "duration": 2.1421469999477267, "outcome": "passed"}, "outcome": "failed"}, {"name": "tests/test_interface_1.py::Test_interface_1::test_validate_navigation", "duration": 9.94763589987997, "run_index": 5, "setup": {"name": "setup", "duration": 1.3971614999463782, "outcome": "passed"}, "call": {"name": "call", "duration": 5.042694399948232, "outcome": "passed", "stderr": "2024-05-20 17:03:44.888 | INFO | tests.test_interface_1:test_validate_navigation:12 - Verifying designated Interface 1 Page opens successfully\n2024-05-20 17:03:48.403 | INFO | tests.test_interface_1:test_validate_navigation:14 - url_interface_1 https://doczy.aarete.com:8501/ opened\n2024-05-20 17:03:49.930 | INFO | tests.test_interface_1:test_validate_navigation:17 - Designated Interface 1 Page opened successfully\n"}, "teardown": {"name": "teardown", "duration": 2.1106185000389814, "outcome": "passed"}, "outcome": "passed"}, {"name": "tests/test_interface_1.py::Test_interface_1::test_verify_sign_in", "duration": 44.04615129996091, "run_index": 6, "setup": {"name": "setup", "duration": 1.4224694999866188, "outcome": "passed"}, "call": {"name": "call", "duration": 39.02876919996925, "outcome": "passed", "stderr": "2024-05-20 17:03:57.552 | INFO | tests.test_interface_1:test_verify_sign_in:24 - Verifying Single Sign-On (SSO) Login for Interface 1\n2024-05-20 17:04:35.058 | INFO | tests.test_interface_1:test_verify_sign_in:27 - Signed in successful\n2024-05-20 17:04:36.579 | INFO | tests.test_interface_1:test_verify_sign_in:30 - Interface 1 page opened successfully\n"}, "teardown": {"name": "teardown", "duration": 2.1724431000184268, "outcome": "passed"}, "outcome": "passed"}, {"name": "tests/test_interface_1.py::Test_interface_1::test_read_contract_from_path", "duration": 70.33761669998057, "run_index": 7, "setup": {"name": "setup", "duration": 1.52501049998682, "outcome": "passed"}, "call": {"name": "call", "duration": 65.1201987999957, "outcome": "passed", "stderr": "2024-05-20 17:04:44.370 | INFO | tests.test_interface_1:test_read_contract_from_path:37 - Verifying Single Sign-On (SSO) Login for Interface 1\n2024-05-20 17:05:20.036 | INFO | tests.test_interface_1:test_read_contract_from_path:40 - Signed in successful\n2024-05-20 17:05:24.195 | INFO | pages.interface_1_page_objects:select_client:28 - Selected Client Name: Fidelis\n2024-05-20 17:05:29.314 | INFO | pages.interface_1_page_objects:select_batch:39 - Selected Batch: \n2024-05-20 17:05:34.399 | INFO | pages.interface_1_page_objects:check_group_no:52 - checked Group No.: Pricing Before Carveouts\n2024-05-20 17:05:44.489 | INFO | pages.interface_1_page_objects:check_table_contain:64 - 2 contracts are read from batch: \n"}, "teardown": {"name": "teardown", "duration": 2.1673969000112265, "outcome": "passed"}, "outcome": "passed"}, {"name": "tests/test_interface_1.py::Test_interface_1::test_run_doczy_ai_pipeline", "duration": 80.28607780009042, "run_index": 8, "setup": {"name": "setup", "duration": 1.4705733000300825, "outcome": "passed"}, "call": {"name": "call", "duration": 75.17294259998016, "outcome": "passed", "stderr": "2024-05-20 17:05:57.215 | INFO | tests.test_interface_1:test_run_doczy_ai_pipeline:50 - Verifying Single Sign-On (SSO) Login for Interface 1\n2024-05-20 17:06:36.773 | INFO | tests.test_interface_1:test_run_doczy_ai_pipeline:53 - Signed in successful\n2024-05-20 17:06:40.941 | INFO | pages.interface_1_page_objects:select_client:28 - Selected Client Name: Fidelis\n2024-05-20 17:06:46.073 | INFO | pages.interface_1_page_objects:select_batch:39 - Selected Batch: \n2024-05-20 17:06:51.247 | INFO | pages.interface_1_page_objects:check_group_no:52 - checked Group No.: Unique Key, Timeline, Carveout Methodology\n2024-05-20 17:07:01.310 | INFO | pages.interface_1_page_objects:check_table_contain:64 - 2 contracts are read from batch: \n2024-05-20 17:07:12.387 | INFO | tests.test_interface_1:test_run_doczy_ai_pipeline:66 - Files are passed to Doczy.AI pipeline\n"}, "teardown": {"name": "teardown", "duration": 2.171988600050099, "outcome": "passed"}, "outcome": "passed"}, {"name": "tests/test_interface_1.py::Test_interface_1::test_run_doczy_ai_pipeline_without_selecting_group_no", "duration": 72.21837560017593, "run_index": 9, "setup": {"name": "setup", "duration": 1.4522700000088662, "outcome": "passed"}, "call": {"name": "call", "duration": 67.13529910007492, "outcome": "failed", "longrepr": "self = <tests.test_interface_1.Test_interface_1 object at 0x00000189E71F56D0>\ndriver = <selenium.webdriver.chrome.webdriver.WebDriver (session=\"097450a45215396ccec82ba6301fd36c\")>\nconfig = {'contract_files': ['050540697 Deepak Nanda 2017 PHSP MU1.pdf', '2014-01-01 United Health Centers San Joaquin AMD MU (...it\\\\Marked Up PDFs\\\\test\\\\', 'password': '7387188738@Pr!nce', 'url_interface_0': 'https://doczy.aarete.com:8500/', ...}\n\n def test_run_doczy_ai_pipeline_without_selecting_group_no(self, driver, config):\n self.logger.info(\"Verifying Single Sign-On (SSO) Login for Interface 1\")\n driver.get(config['url_interface_1'])\n sign_in(driver, config)\n self.logger.info(\"Signed in successful\")\n get_title(driver, \"interface_1 \u00b7 Streamlit\")\n interface_1 = Interface_1(driver)\n interface_1.select_client()\n interface_1.select_batch()\n interface_1.click_read_the_contracts_from_path()\n interface_1.check_table_contain()\n interface_1.click_run_doczy_ai_pipeline()\n> assert interface_1.result_message.text is \"Please select at least one Group No.\"\nE assert 'Success' is 'Please select at least one Group No.'\nE + where 'Success' = <selenium.webdriver.remote.webelement.WebElement (session=\"097450a45215396ccec82ba6301fd36c\", element=\"f.D0BED5E4E7FE21464A851C1C258C17C7.d.DF5B576F918FABBAB455A78660B3713E.e.149\")>.text\nE + where <selenium.webdriver.remote.webelement.WebElement (session=\"097450a45215396ccec82ba6301fd36c\", element=\"f.D0BED5E4E7FE21464A851C1C258C17C7.d.DF5B576F918FABBAB455A78660B3713E.e.149\")> = <pages.interface_1_page_objects.Interface_1 object at 0x00000189E71F7FE0>.result_message\n\ntests\\test_interface_1.py:81: AssertionError", "stderr": "2024-05-20 17:07:20.097 | INFO | tests.test_interface_1:test_run_doczy_ai_pipeline_without_selecting_group_no:70 - Verifying Single Sign-On (SSO) Login for Interface 1\n2024-05-20 17:07:56.054 | INFO | tests.test_interface_1:test_run_doczy_ai_pipeline_without_selecting_group_no:73 - Signed in successful\n2024-05-20 17:08:00.205 | INFO | pages.interface_1_page_objects:select_client:28 - Selected Client Name: Fidelis\n2024-05-20 17:08:05.334 | INFO | pages.interface_1_page_objects:select_batch:39 - Selected Batch: \n2024-05-20 17:08:15.653 | INFO | pages.interface_1_page_objects:check_table_contain:64 - 12 contracts are read from batch: \n"}, "teardown": {"name": "teardown", "duration": 2.1785365000832826, "outcome": "passed"}, "outcome": "failed"}], "summary": {"passed": 8, "failed": 2, "num_tests": 10, "duration": 606.3200356960297}, "created_at": "2024-05-20 17:08:29.418020"}}