Merged in bugfix/dynamic-assignment-issue (pull request #408)

Bugfix/dynamic assignment issue

* Merged main into feature/proc-desc

* Uncomment test code

* Bugfix

* script optimisation for codes

* modified is empty function in string utils

* Remove test.py

* bug fix to handle list of proc_codes

* Merged main into bugfix/proc-code-lists

* changed any method to all method in list handling

* code mapping moved outside to run once

* Merge branch 'feature/daip2-97' into bugfix/proc-code-lists

* merge conflict fixed

* merge conflicts fixed

* incorporated latest changes from main

* Merged main into bugfix/proc-code-lists

* Move load all dataset to io_utils

* Fix list is_empty

* Updated poetry.lock

* Bugfix

* Docstring

* Docstrings

* Merge branch 'main' into bugfix/proc-code-lists

* Merge branch 'bugfix/proc-code-lists' into bugfix/dynamic-assignment-issue

* Update test for no default exhibit_level_answer_dict

* Merged main into bugfix/dynamic-assignment-issue


Approved-by: Alex Galarce
This commit is contained in:
Katon Minhas
2025-02-21 18:03:08 +00:00
parent 92029cdabe
commit b296cd187b
2 changed files with 13 additions and 11 deletions
@@ -51,7 +51,7 @@ def process_dynamic(results,
exhibit_level_fields,
dynamic_fields,
assign_na,
exhibit_level_answer_dict={}):
exhibit_level_answer_dict):
"""
Processes dynamic fields and updates exhibit-level or reimbursement-level field dictionaries.
@@ -67,6 +67,7 @@ def process_dynamic(results,
dict: Updated dictionary containing the dynamic field answers
"""
for field_name, answer in results.items():
if field_name in exhibit_level_fields.list_fields(): # Add exhibit-level only fields to dict
exhibit_level_answer_dict[field_name] = answer
@@ -117,21 +118,22 @@ def dynamic_and_exhibit_level(exhibit_text,
field_prompts=dynamic_fields.get_prompt_dict(),
filename=filename)
exhibit_level_answer_dict = process_dynamic(results=exhibit_header_results,
reimbursement_level_fields=reimbursement_level_fields,
exhibit_level_fields=exhibit_level_fields,
dynamic_fields=dynamic_fields,
assign_na=False)
reimbursement_level_fields=reimbursement_level_fields,
exhibit_level_fields=exhibit_level_fields,
dynamic_fields=dynamic_fields,
assign_na=False,
exhibit_level_answer_dict={})
# Prompt the remaining Dynamic + all Exhibit-Level prompts on the entire exhibit
exhibit_text_results = prompt_dynamic(text=exhibit_text,
field_prompts=dynamic_fields.get_prompt_dict() | exhibit_level_fields.get_prompt_dict(),
filename=filename)
exhibit_level_answer_dict= process_dynamic(results=exhibit_text_results,
reimbursement_level_fields=reimbursement_level_fields,
exhibit_level_fields=exhibit_level_fields,
dynamic_fields=dynamic_fields,
assign_na=True,
exhibit_level_answer_dict=exhibit_level_answer_dict)
reimbursement_level_fields=reimbursement_level_fields,
exhibit_level_fields=exhibit_level_fields,
dynamic_fields=dynamic_fields,
assign_na=True,
exhibit_level_answer_dict=exhibit_level_answer_dict)
exhibit_level_answer_dict['EXHIBIT_NAME'] = exhibit_header
# exhibit_level_answer_dict should have all exhibit-level fields answers (including the ones that were previously dynamic)
+1 -1
View File
@@ -11,7 +11,7 @@ class TestOneToN(unittest.TestCase):
dynamic_fields = MagicMock()
assign_na = False
exhibit_level_answer_dict = process_dynamic(results, reimbursement_level_fields, exhibit_level_fields, dynamic_fields, assign_na)
exhibit_level_answer_dict = process_dynamic(results, reimbursement_level_fields, exhibit_level_fields, dynamic_fields, assign_na, {})
# You can check the content of exhibit_level_answer_dict based on inputs.
self.assertEqual(exhibit_level_answer_dict, {"field1": "value1", "field2": "value2"})