Commit Graph

1804 Commits

Author SHA1 Message Date
Katon Minhas dc1931d0bd Resolve Comments 2026-02-06 15:28:42 -05:00
Katon Minhas 5d4433703c Add Essential Plan as a NY Program 2026-02-06 14:49:48 -05:00
Katon Minhas 2f1c4b2fe8 Remove PRD 2026-02-06 14:25:04 -05:00
Katon Minhas 7a91862664 Consolidate docs and documentation 2026-02-06 14:23:22 -05:00
Rahul Ailaboina dd314f2263 Merged in feature/adding_contract_admenment_num_pc (pull request #870)
Feature/adding contract admenment num pc

* Updated contract amendment

* Format code with Black

* updated to have letters

* format fixes

* Adjusted unit testing

* Merge remote-tracking branch 'origin/DEV' into feature/adding_contract_admenment_num_pc

* apply formatting

* format fixes

* Merge remote-tracking branch 'origin/DEV' into feature/adding_contract_admenment_num_pc

* test conflicts solved

* Format code with Black

* format fixes

* reverted the changes for prompt templates

* test_case reverted
* Sorted effective date for ranking

* format fix for lint

* Merged DEV into feature/adding_contract_admenment_num_pc

* format

* Merged DEV into feature/adding_contract_admenment_num_pc

* Merged DEV into feature/adding_contract_admenment_num_pc


Approved-by: Siddhant Medar
2026-02-06 17:51:21 +00:00
Katon Minhas 0c3546cea9 Merged in feature/update-testbed-metrics (pull request #871)
Feature/update testbed metrics

* Combine fee schedule with methodology breakout; remove Reimbursement primary; do not run trigger cap or additions

* Deprecate reimb primary functions

* combine multiple sheets to one

* Clean 1:N metrics

* Improve dynamic primary evaluation

* Resolve dynamic primary

* Update row counts

* black format

* Merged DEV into feature/update-testbed-metrics


Approved-by: Praneel Panchigar
2026-02-05 22:11:21 +00:00
Katon Minhas c62bd1cd6a Merged in bugfix/code-funcs (pull request #872)
Bugfix/code funcs

* Try-except code extraction

* Additional try-except for protection

* Black format


Approved-by: Praneel Panchigar
2026-02-05 22:10:50 +00:00
Faizan Mohiuddin 49407bfb93 Merged in feature/update-claim-type (pull request #869)
Feature/update claim type

* Update CLAIM_TYPE_CD extraction to prioritize title/header

- Modified retrieval_question to search for title, header, and agreement name
- Updated prompt to check title/header first before analyzing body text
- Enhanced FULL_CONTEXT_CLAIM_TYPES_ADDITIONAL_INSTRUCTION to emphasize title/header as primary source

* Fix CLAIM_TYPE_CD extraction with 3-step fallback

1. Exhibit Level: Updated retrieval_question and prompt to prioritize title/header
2. Contract Title fallback: Added infer_claim_type_from_title() function that extracts
   claim type from CONTRACT_TITLE when exhibit-level extraction returns empty
3. Postprocessing: fill_claim_type() now uses CONTRACT_TITLE inference when all
   AARETE_DERIVED_CLAIM_TYPE_CD values are empty

Keywords mapped:
- Professional/Ancillary -> M (Physician, Professional, Ancillary, Home Health, DME, etc.)
- Institutional -> H (Hospital, Facility, Surgery Center, SNF, etc.)

* Add more professional keywords for claim type inference

Added PROVIDER SERVICE, PROVIDER AGREEMENT, PARTICIPATING PROVIDER to handle
titles like 'PROVIDER SERVICES AGREEMENT'

* Add postprocessing safety net for claim type inference

- Added fill_claim_type_from_title() in postprocessing_funcs.py that infers
  AARETE_DERIVED_CLAIM_TYPE_CD from CONTRACT_TITLE if still empty after code_breakout
- Added call in postprocess.py before attach_sid_column
- This ensures claim type is populated even if earlier extraction steps miss it

* Improve CLAIM_TYPE_CD extraction context and postprocessing

1. Added keywords to CLAIM_TYPE_CD field (same as CONTRACT_TITLE) so it retrieves
   from the same document header/title context
2. Updated fill_claim_type_from_title() to first fill from other exhibits in the
   same file (mode within file) before falling back to CONTRACT_TITLE keyword matching

* Merge DEV into feature/update-claim-type

Resolved conflicts:
- code_funcs.py: Kept DEV's code_breakout (claim type now handled in postprocessing)
- postprocess.py: Added fill_claim_type_from_title call
- prompt_templates.py: Kept DEV's VALIDATE_REIMBURSEMENTS_PROMPT signature

* Merge DEV into feature/update-claim-type

* move keywords to ancillary


Approved-by: Katon Minhas
2026-02-05 17:25:49 +00:00
ppanchigar 9e4b88395b Pipe line general fixes, fixed tests, ran black, and fixed mypy type check issues, still have a list of lists issue with prov other name full 2026-02-04 15:09:44 -06:00
Katon Minhas b41ad28ecc Update split reimb dates condition 2026-02-04 14:01:02 -05:00
Katon Minhas 90f2dcbb33 Merge branch 'bugfix/code_implicit' into DEV 2026-02-04 13:32:54 -05:00
Katon Minhas a1e28f94ee file_processing 2026-02-04 13:30:39 -05:00
Katon Minhas 7ddd9dc192 Fix prompt to ensure list-of-dicts-of-str 2026-02-04 13:30:39 -05:00
ppanchigar 16ead7d5f3 Fix date range processing: extract first range only, add JSON format instructions, increase max_tokens 2026-02-04 12:17:50 -06:00
Katon Minhas b7e00ed26a Merge branch 'DEV' into bugfix/flag-prov-info-issue 2026-02-04 13:06:24 -05:00
Katon Minhas 6237f5722d file_processing 2026-02-04 12:05:25 -05:00
Katon Minhas 86a9347cb0 Fix prompt to ensure list-of-dicts-of-str 2026-02-04 12:04:48 -05:00
ppanchigar 5b619b2f5f fixed code implicit special and ran black for CI 2026-02-04 10:57:40 -06:00
Katon Minhas 6751a5ab7a Merge branch 'feature/standardize-list-format' into DEV 2026-02-04 03:40:23 -05:00
Katon Minhas f8783ae968 Update prov_info 2026-02-04 03:37:23 -05:00
Katon Minhas f0da944ade update tin_npi_funcs dedups 2026-02-04 02:42:21 -05:00
Katon Minhas ee85884dce Refactor llm call to prompt_calls 2026-02-04 02:23:55 -05:00
Katon Minhas 2c76b8a92b Resolve PROV_INFO issue 2026-02-04 01:41:09 -05:00
Katon Minhas bafb92c684 Refactor - sub functions 2026-02-04 00:34:53 -05:00
Katon Minhas 32c667ad49 Revert 2026-02-04 00:15:50 -05:00
ppanchigar 7e3d8ea2fe Remove debug print statements for CLAIM_TYPE_CD and provider info 2026-02-03 22:49:12 -06:00
ppanchigar deffb639cf Fix CLAIM_TYPE_CD being converted to list in get_crosswalk_fields and add debug prints for troubleshooting 2026-02-03 22:44:32 -06:00
Katon Minhas 0882a79b5a Merged in bugfix/list-of-lists (pull request #866)
Bugfix/list of lists

* Revert tin_npi_funcs.py to DEV

* update bill type mapping

* Remove test.py

* Prep for merge
2026-02-04 04:27:03 +00:00
ppanchigar cff0472717 Latest updates 2026-02-03 21:12:50 -06:00
ppanchigar 90b1ea283f refactor: complete JSON format standardization updates
- Updated all prompt_calls.py files (saas, bcbs_promise, clover) to use new parser pattern
- Updated prompt_templates.py with JSON format instructions
- Updated crosswalk_utils.py to handle JSON lists
- Updated json_utils.py with improved parsing
- Updated aarete_derived.py for JSON compatibility
- Updated tin_npi_funcs.py and qa_qc_utils.py for JSON parsing
- All changes align with Phase 4 completion of JSON standardization
2026-02-03 17:29:52 -06:00
ppanchigar 3c89aecfaf chore: remove debug statements and update PRD
- Removed all debug print statements from prompt_calls.py and one_to_n_funcs.py
- Updated PRD to reflect Phase 4 completion and recent bug fixes
- Documented REIMB_TERM normalization fixes and cleanup work
- Updated Phase 6 status to 25% complete (debug removal done)
2026-02-03 17:27:45 -06:00
ppanchigar a633f67c62 Fix REIMB_TERM being converted to list in lesser_of_distribution
- Fixed prompt_lesser_of_distribution to extract string from list when parser returns list
- Added debug print statements to trace REIMB_TERM format through processing pipeline
- Removed defensive normalization checks that are no longer needed upstream
- Added debug output in reimbursement_level and methodology_breakout_single_row to track data flow
2026-02-03 17:15:14 -06:00
Sha Brown 05b00ab6a1 Merged in bugfix/max_workers_and_batch_id (pull request #864)
Trigger error when batch_id is not specified or when max_workers is negative

* Trigger error when batch_id is not specified or when max_workers is negative


Approved-by: Katon Minhas
2026-02-03 21:12:27 +00:00
Rahul Ailaboina 1865e75c47 few enhancement in the output needed 2026-02-03 13:50:06 -06:00
Siddhant Medar 8fbe64e42e Merged in feature/adding_contract_admenment_num_pc (pull request #863)
Feature/adding contract admenment num pc

* Updated contract amendment

* Format code with Black

* updated to have letters

* format fixes

* Adjusted unit testing

* Merge remote-tracking branch 'origin/DEV' into feature/adding_contract_admenment_num_pc

* apply formatting
2026-02-03 17:59:01 +00:00
ppanchigar 4c0d2930d5 docs: update PRD - Phase 4 now 100% complete
- Updated progress table: Phase 4 is now 100% complete
- Marked model_evaluation_utils.py as complete (commit 13f3cbea)
- Verified testbed/QC files process internal data (out of scope)
- Updated remaining work section
- Updated overall status to Phase 4 of 6 Complete
2026-02-03 11:08:06 -06:00
ppanchigar 13f3cbeac6 fix: Phase 4 - update model_evaluation_utils.py for JSON parsing
- Fixed DYNAMIC_PRIMARY_TEXT: now unpacks (prompt, parser) tuple and uses parser
- Fixed REIMBURSEMENT_PRIMARY: corrected function signature (only takes context)
- Replaced extract_text_from_delimiters with JSON parser
- Replaced universal_json_load with parser from tuple
- Added proper instruction caching for both prompts

Other testbed/QC files verified: they process internal data formats (out of scope per PRD)
2026-02-03 11:07:18 -06:00
ppanchigar 8339dea499 docs: update PRD - Phase 3 now 100% complete
- Updated progress table: Phase 3 is now 100% complete
- Marked code_funcs.py as complete (commit a7a32b90)
- Updated remaining work section
- Added latest commit to commit history
2026-02-03 11:02:57 -06:00
ppanchigar a7a32b9092 fix: complete Phase 3 - replace remaining universal_json_load calls in code_funcs.py
- Line 498: Changed from universal_json_load to use _parser from FILL_BILL_TYPE tuple
- Line 856: Updated GROUPER_BREAKOUT call to unpack tuple and use grouper_parser
- Removed unused GROUPER_QUESTIONS variable (fields now in INSTRUCTION function for caching)
- All universal_json_load calls in code_funcs.py have been replaced
- Phase 3 is now 100% complete
2026-02-03 11:01:47 -06:00
ppanchigar 2e307347fd refactor: update investment_prompts.json to use JSON format instead of pipes
- Updated EFFECTIVE_DT field: Replaced all pipe format examples (|date|) with JSON dictionary format
  - Changed examples from 'return |3-1  , , 03|' to 'return "3-1  , , 03"'
  - Updated final answer format from 'ENCLOSED in |pipes|' to JSON dict: {"EFFECTIVE_DT": "date"}
- Updated PROVIDER_NAME field: Replaced pipe-separated format with JSON list format
  - Changed from 'separated by |' to JSON list: ["Provider A", "Provider B"]
  - Updated to return JSON dict: {"PROVIDER_NAME": [...]} or {"PROVIDER_NAME": "single"}
- All pipe references removed from investment_prompts.json
- Updated PRD to document this change in Phase 2 checklist
- JSON file validated and syntax confirmed correct
2026-02-03 10:53:58 -06:00
ppanchigar 9e3fe81fe5 docs: update PRD with actual implementation progress
- Updated progress table: Phase 3 is 95% complete, Phase 4 is 60% complete
- Marked all prompt_calls.py files as complete (saas, clover, bcbs_promise)
- Marked tin_npi_funcs.py, hybrid_smart_chunking_funcs.py, postprocessing_funcs.py, crosswalk_utils.py, dynamic_funcs.py as complete
- Noted 2 remaining universal_json_load calls in code_funcs.py (lines 498, 856)
- Documented aarete_derived.py dual-format support (intentional backward compatibility)
- Added comprehensive implementation status summary section
- Updated Phase 3 and Phase 4 checklists with actual completion status
- Added statistics: 26 files modified, ~350 lines net reduction, 20+ commits
2026-02-03 10:32:58 -06:00
Venkat df103579b7 updated postprocessing funcs 2026-02-03 15:06:41 +00:00
Venkat 0d9f9314e9 updated tin npi funcs and page funcs 2026-02-03 14:55:05 +00:00
Venkat 8399dbdf1f updated crosswalk reverse mapping 2026-02-03 14:16:56 +00:00
Venkat 18c094568b fixed clean provider info 2026-02-03 14:01:17 +00:00
Venkat 2aa68f75b9 black format 2026-02-03 13:41:09 +00:00
Katon Minhas e8e8f1ba5a Strip out dynamic postprocessing 2026-02-03 01:38:49 -05:00
Katon Minhas 03fda6013b Resolve split reimb dates 2026-02-03 01:24:58 -05:00
Katon Minhas ef70ddf3be Resolve Lesser of Check issue 2026-02-03 01:10:41 -05:00
Katon Minhas 4701f7039a Fix carveout code error 2026-02-03 00:34:53 -05:00