Merged in feature/black-and-isort (pull request #717)

Feature/black and isort

* black and isort constants

* black and isort codes

* black and isort crosswalks

* black and isort investment

* black and isort prompts

* isort testbed

* isort tracking

* black and isort utils

* poetry and black tests


Approved-by: Katon Minhas
This commit is contained in:
Alex Galarce
2025-09-30 20:56:02 +00:00
parent ae4eda6f25
commit 674add9a3e
43 changed files with 841 additions and 515 deletions
+22 -13
View File
@@ -2,7 +2,6 @@ import os
import re
import pandas as pd
import src.config as config
import src.prompts.prompt_templates as prompt_templates
import src.utils.llm_utils as llm_utils
@@ -11,6 +10,7 @@ from constants.constants import Constants
from constants.delimiters import Delimiter
from src.prompts.fieldset import FieldSet
def clean_service(service, constants: Constants) -> str:
"""
Cleans the service string by removing unnecessary terms and formatting it for further processing.
@@ -448,11 +448,21 @@ def fill_grouper_cd_desc(answer_dict, constants: Constants):
grouper_cd = eval(grouper_cd) if "[" in grouper_cd else grouper_cd
for code in grouper_cd:
code_without_severity = int(code.split("-")[0]) # Remove severity level if present
if grouper_type == "APR-DRG" and (code_without_severity in constants.GROUPER_APR_DRG_MAPPING):
grouper_descs.append(constants.GROUPER_APR_DRG_MAPPING[code_without_severity])
elif grouper_type == "MS-DRG" and (code_without_severity in constants.GROUPER_MS_DRG_MAPPING):
grouper_descs.append(constants.GROUPER_MS_DRG_MAPPING[code_without_severity])
code_without_severity = int(
code.split("-")[0]
) # Remove severity level if present
if grouper_type == "APR-DRG" and (
code_without_severity in constants.GROUPER_APR_DRG_MAPPING
):
grouper_descs.append(
constants.GROUPER_APR_DRG_MAPPING[code_without_severity]
)
elif grouper_type == "MS-DRG" and (
code_without_severity in constants.GROUPER_MS_DRG_MAPPING
):
grouper_descs.append(
constants.GROUPER_MS_DRG_MAPPING[code_without_severity]
)
if grouper_descs:
answer_dict["GROUPER_CD_DESC"] = "|".join(list(set(grouper_descs)))
@@ -656,7 +666,8 @@ def code_breakout(merged_results: pd.DataFrame, constants: Constants):
# Fill in GROUPER_CD_DESC based on GROUPER_TYPE and GROUPER_CD
answer_dicts_with_code = [
fill_grouper_cd_desc(answer_dict, constants) for answer_dict in answer_dicts_with_code
fill_grouper_cd_desc(answer_dict, constants)
for answer_dict in answer_dicts_with_code
]
return pd.DataFrame(answer_dicts_with_code)
@@ -679,15 +690,14 @@ def grouper_breakout(results_with_code: pd.DataFrame):
file_path=config.FIELD_JSON_PATH, field_type="grouper_breakout"
).print_prompt_dict()
for answer_dict in answer_dicts_with_code:
if (
string_utils.is_empty(answer_dict.get("GROUPER_TYPE"))
and not string_utils.is_empty(answer_dict.get("GROUPER_CD"))
):
if string_utils.is_empty(
answer_dict.get("GROUPER_TYPE")
) and not string_utils.is_empty(answer_dict.get("GROUPER_CD")):
# run groper breakout prompt
grouper_breakout_prompt = prompt_templates.GROUPER_BREAKOUT(
answer_dict.get("SERVICE_TERM", ""),
answer_dict.get("REIMB_TERM", ""),
GROUPER_QUESTIONS
GROUPER_QUESTIONS,
)
claude_answer_raw = llm_utils.invoke_claude(
grouper_breakout_prompt, "sonnet_latest", ""
@@ -701,4 +711,3 @@ def grouper_breakout(results_with_code: pd.DataFrame):
final_answer_dicts.append(answer_dict)
return pd.DataFrame(final_answer_dicts)