@@ -76,6 +76,7 @@ def official_format_to_aidbox(data: dict) -> dict:
7676def 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
97102def 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