Skip to content

Commit 606e7cb

Browse files
committed
MAINT-2596 Include additional fields in laterality failures
1 parent 4bc3fea commit 606e7cb

File tree

1 file changed

+22
-5
lines changed

1 file changed

+22
-5
lines changed

src/main/java/org/ihtsdo/rvf/core/service/MRCMValidationService.java

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.slf4j.Logger;
1818
import org.slf4j.LoggerFactory;
1919
import org.snomed.quality.validator.mrcm.*;
20-
import org.snomed.quality.validator.mrcm.model.ReferenceSetMember;
2120
import org.springframework.beans.factory.annotation.Autowired;
2221
import org.springframework.beans.factory.annotation.Value;
2322
import org.springframework.stereotype.Service;
@@ -42,6 +41,8 @@ public class MRCMValidationService {
4241

4342
private static final String EXT_ZIP = ".zip";
4443

44+
private static final String COMMA = ",";
45+
4546
@Autowired
4647
private WhitelistService whitelistService;
4748

@@ -264,13 +265,25 @@ private TestRunItem createTestRunItemWithFailures(Assertion mrcmAssertion, Conte
264265
List<FailureDetail> failedDetails = new ArrayList<>(firstNCount);
265266
if (LateralizableRefsetValidationService.ASSERTION_ID_MEMBERS_NEED_TO_BE_REMOVED_FROM_LATERALIZABLE_REFSET.equals(mrcmAssertion.getUuid().toString())) {
266267
for (int i = 0; i < firstNCount; i++) {
267-
ReferenceSetMember referenceSetMember = mrcmAssertion.getCurrentViolatedReferenceSetMembers().get(i);
268-
failedDetails.add(new FailureDetail(referenceSetMember.referencedComponentId(), String.format(mrcmAssertion.getDetails(), referenceSetMember.memberId()), null));
268+
LOGGER.info("Processing removal from laterality failure {}", i);
269+
ConceptResult conceptResult = mrcmAssertion.getCurrentViolatedConcepts().get(i);
270+
String conceptId = conceptResult.getId();
271+
String details = String.format(mrcmAssertion.getDetails(), conceptId, "removed from");
272+
String fsn = conceptResult.getFsn();
273+
String additionalFields = getAdditionalFields(conceptResult);
274+
LOGGER.info("conceptId: {} details: {} fsn: {} additionalFields: {}", conceptId, details, fsn, additionalFields);
275+
failedDetails.add(new FailureDetail(conceptId, details, fsn).setFullComponent(additionalFields));
269276
}
270277
} else if (LateralizableRefsetValidationService.ASSERTION_ID_CONCEPTS_NEED_TO_BE_ADDED_TO_LATERALIZABLE_REFSET.equals(mrcmAssertion.getUuid().toString())) {
271278
for (int i = 0; i < firstNCount; i++) {
272-
Long conceptId = mrcmAssertion.getCurrentViolatedConceptIds().get(i);
273-
failedDetails.add(new FailureDetail(conceptId.toString(), String.format(mrcmAssertion.getDetails(), conceptId), null));
279+
LOGGER.info("Processing addition to laterality failure {}", i);
280+
ConceptResult conceptResult = mrcmAssertion.getCurrentViolatedConcepts().get(i);
281+
String conceptId = conceptResult.getId();
282+
String details = String.format(mrcmAssertion.getDetails(), conceptId, "added to");
283+
String fsn = conceptResult.getFsn();
284+
String additionalFields = getAdditionalFields(conceptResult);
285+
LOGGER.info("conceptId: {} details: {} fsn: {} additionalFields: {}", conceptId, details, fsn, additionalFields);
286+
failedDetails.add(new FailureDetail(conceptId, details, fsn).setFullComponent(additionalFields));
274287
}
275288
} else {
276289
for (int i = 0; i < firstNCount; i++) {
@@ -282,4 +295,8 @@ private TestRunItem createTestRunItemWithFailures(Assertion mrcmAssertion, Conte
282295
testRunItem.setFirstNInstances(failedDetails);
283296
return testRunItem;
284297
}
298+
299+
private String getAdditionalFields(ConceptResult conceptResult) {
300+
return (conceptResult.isActive() ? "1" : "0") + COMMA + conceptResult.getModuleId() + COMMA + conceptResult.getDefinitionStatusId();
301+
}
285302
}

0 commit comments

Comments
 (0)