Skip to content

Commit 5226cbd

Browse files
committed
Filter out ignored Aidbox issue codes and refactor issue code extraction in validation operation
1 parent 2d83cb9 commit 5226cbd

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

backend/app/operations/validate.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ def official_format_to_aidbox(data: dict) -> dict:
7676
def aidbox_response_to_official_format(
7777
data: dict, file_info: dict, session_id: str, location: str
7878
) -> dict:
79+
aidbox_issue_codes_to_ignore = ["invalid-target-profile", "non-existent-resource"]
7980
issues = data.get("issue", [])
8081
if len(issues) == 1:
8182
if issues[0].get("diagnostics") == "all ok":
@@ -85,7 +86,11 @@ def aidbox_response_to_official_format(
8586
"validationTimes": {},
8687
}
8788

88-
issues = [format_issue(issue, location) for issue in issues]
89+
issues = [
90+
format_issue(issue, location)
91+
for issue in issues
92+
if get_aidbox_issue_code(issue) not in aidbox_issue_codes_to_ignore
93+
]
8994

9095
return {
9196
"outcomes": [{"fileInfo": file_info, "issues": issues}],
@@ -96,7 +101,7 @@ def aidbox_response_to_official_format(
96101

97102
def format_issue(aidbox_issue: dict, location: str) -> dict:
98103
logging.error("Aidbox issue: %s", aidbox_issue)
99-
code = aidbox_issue.get("details", {}).get("coding", [])[0].get("code", "")
104+
code = get_aidbox_issue_code(aidbox_issue)
100105
diagnostics = aidbox_issue.get("diagnostics", "")
101106
expressions = aidbox_issue.get("expression", [])
102107
message = f"{expressions[0]}: {diagnostics}" if len(expressions) > 0 else diagnostics
@@ -118,3 +123,11 @@ def format_issue(aidbox_issue: dict, location: str) -> dict:
118123
"ignorableError": False,
119124
"count": 0,
120125
}
126+
127+
128+
def get_aidbox_issue_code(aidbox_issue: dict) -> str:
129+
issue_coding = aidbox_issue.get("details", {}).get("coding", [])
130+
if len(issue_coding) == 0:
131+
return ""
132+
133+
return issue_coding[0].get("code", "")

0 commit comments

Comments
 (0)