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