Skip to content

Commit

Permalink
fix requisition rule group to skip running rules if missed appointment
Browse files Browse the repository at this point in the history
  • Loading branch information
erikvw committed Apr 9, 2024
1 parent d0db2a3 commit f00e79c
Showing 1 changed file with 22 additions and 21 deletions.
43 changes: 22 additions & 21 deletions edc_metadata/metadata_rules/requisition/requisition_rule_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,25 +106,26 @@ def evaluate_rules(
metadata_objects = {}
for rule in cls._meta.options.get("rules"):
rule_results[str(rule)] = {}
for target_model, entry_status in rule.run(related_visit=related_visit).items():
rule_results[str(rule)].update({target_model: []})
for target_panel in rule.target_panels:
# only do something if target_panel is in
# visit.requisitions
if target_panel.name in [
r.panel.name for r in cls.requisitions_for_visit(related_visit)
]:
metadata_updater = cls.metadata_updater_cls(
related_visit=related_visit,
source_model=target_model,
source_panel=target_panel,
allow_create=allow_create,
)
metadata_obj = metadata_updater.get_and_update(
entry_status=entry_status
)
metadata_objects.update({target_panel: metadata_obj})
rule_results[str(rule)][target_model].append(
RuleResult(target_panel, entry_status)
)
if result := rule.run(related_visit=related_visit):
for target_model, entry_status in result.items():
rule_results[str(rule)].update({target_model: []})
for target_panel in rule.target_panels:
# only do something if target_panel is in
# visit.requisitions
if target_panel.name in [
r.panel.name for r in cls.requisitions_for_visit(related_visit)
]:
metadata_updater = cls.metadata_updater_cls(
related_visit=related_visit,
source_model=target_model,
source_panel=target_panel,
allow_create=allow_create,
)
metadata_obj = metadata_updater.get_and_update(
entry_status=entry_status
)
metadata_objects.update({target_panel: metadata_obj})
rule_results[str(rule)][target_model].append(
RuleResult(target_panel, entry_status)
)
return rule_results, metadata_objects

0 comments on commit f00e79c

Please sign in to comment.