4844dcfd50
Collect TIN/NPI/Name page-by-page and run a second pass for IS_GROUP * configure first pass: no providers marked IS_GROUP. Allows simplification of prompt * Add group provider identification logic in second pass * group identification: don't take 20% of pages. Take first 3 and last 3 * Refine group provider identification logic to use pipes for JSON formatting and improve error handling * fix mypy error for `identify_group_provider` * Merge remote-tracking branch 'origin/main' into feature/tin-npi-prompt-formatting * Add "PROV_INFO_JSON" to investment column order * Refactor group provider identification to use signature page extraction and fix JSON format * move signature page extraction to `string_utils.py` and add unit tests for it * Update identify_group_provider to return provider name along with TIN and NPI in JSON format * Update identify_group_provider to always use group-provided name when available * move out GROUP_TIN_NPI_TEMPLATE to `investment_prompts.py` * Remove deprecated PROV_GROUP_TIN_CHECK and PROV_GROUP_NPI_CHECK prompts * Move out provider info fields from `one_to_one_funcs` to `tin_npi_funcs` * isort * remove debug print statements * Remove debug print statements from provider info functions * add note to regex_utils.py about where functions are used * Add page_key_sort function and corresponding tests for sorting page keys * Refactor identify_group_provider to sort pages and avoid duplicates in extracted sections * Remove debug print statements from identify_group_provider function * Merge remote-tracking branch 'origin/main' into feature/tin-npi-prompt-formatting * extract_signature_page function: prioritize Textract marker for signatures and fallback to keyword search * fix mypy error * Update test cases to reflect changes in signature extraction logic Approved-by: Katon Minhas