001package org.hl7.fhir.r5.terminologies.validation; 002 003import java.util.ArrayList; 004import java.util.List; 005 006import org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity; 007import org.hl7.fhir.r5.model.OperationOutcome.OperationOutcomeIssueComponent; 008import org.hl7.fhir.r5.terminologies.utilities.TerminologyServiceErrorClass; 009import org.hl7.fhir.utilities.CommaSeparatedStringBuilder; 010 011public class ValidationProcessInfo { 012 private TerminologyServiceErrorClass err; 013 private List<OperationOutcomeIssueComponent> issues = new ArrayList<>(); 014 015 public ValidationProcessInfo() { 016 } 017 018 public ValidationProcessInfo(List<OperationOutcomeIssueComponent> issues) { 019 this.issues = issues; 020 } 021 public TerminologyServiceErrorClass getErr() { 022 return err; 023 } 024 public void setErr(TerminologyServiceErrorClass err) { 025 this.err = err; 026 } 027 028 public List<OperationOutcomeIssueComponent> getIssues() { 029 return issues; 030 } 031 public void addIssue(List<OperationOutcomeIssueComponent> issues) { 032 this.issues.addAll(issues); 033 034 } 035 public boolean hasErrors() { 036 for (OperationOutcomeIssueComponent issue : issues) { 037 if (issue.getSeverity() == IssueSeverity.FATAL || issue.getSeverity() == IssueSeverity.ERROR) { 038 return true; 039 } 040 } 041 return false; 042 } 043 public String summary() { 044 CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder("; "); 045 for (OperationOutcomeIssueComponent issue : issues) { 046 b.append(issue.getDetails().getText()); 047 } 048 return b.toString(); 049 } 050}