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:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user