Search in sources :

Example 1 with ErrorCode

use of org.openehealth.ipf.commons.ihe.xds.core.responses.ErrorCode in project MobileAccessGateway by i4mi.

the class BaseResponseConverter method processErrorAsOutcome.

/**
 * XDS error response -> FHIR OperationOutcome
 * @param input
 * @return
 */
public OperationOutcome processErrorAsOutcome(Response input) {
    OperationOutcome outcome = new OperationOutcome();
    List<ErrorInfo> errors = input.getErrors();
    for (ErrorInfo info : errors) {
        OperationOutcomeIssueComponent issue = outcome.addIssue();
        Severity sevirity = info.getSeverity();
        if (sevirity.equals(Severity.ERROR))
            issue.setSeverity(OperationOutcome.IssueSeverity.ERROR);
        else if (sevirity.equals(Severity.WARNING))
            issue.setSeverity(OperationOutcome.IssueSeverity.WARNING);
        ErrorCode errorCode = info.getErrorCode();
        issue.setCode(IssueType.INVALID);
        // TODO map error codes
        // if (errorCode.equals(ErrorCode.REGISTRY_ERROR)) issue.setCode(IssueType.STRUCTURE);
        // else if (errorCode.equals(ErrorCode.REGISTRY_METADATA_ERROR)) issue.setCode(IssueType.STRUCTURE);
        // else
        issue.setDetails(new CodeableConcept().setText(info.getCodeContext()).addCoding(new Coding().setCode(errorCode.toString())));
        issue.setLocation(Collections.singletonList(new StringType(info.getLocation())));
    }
    return outcome;
}
Also used : OperationOutcomeIssueComponent(org.hl7.fhir.r4.model.OperationOutcome.OperationOutcomeIssueComponent) Coding(org.hl7.fhir.r4.model.Coding) StringType(org.hl7.fhir.r4.model.StringType) OperationOutcome(org.hl7.fhir.r4.model.OperationOutcome) ErrorInfo(org.openehealth.ipf.commons.ihe.xds.core.responses.ErrorInfo) Severity(org.openehealth.ipf.commons.ihe.xds.core.responses.Severity) ErrorCode(org.openehealth.ipf.commons.ihe.xds.core.responses.ErrorCode) CodeableConcept(org.hl7.fhir.r4.model.CodeableConcept)

Aggregations

CodeableConcept (org.hl7.fhir.r4.model.CodeableConcept)1 Coding (org.hl7.fhir.r4.model.Coding)1 OperationOutcome (org.hl7.fhir.r4.model.OperationOutcome)1 OperationOutcomeIssueComponent (org.hl7.fhir.r4.model.OperationOutcome.OperationOutcomeIssueComponent)1 StringType (org.hl7.fhir.r4.model.StringType)1 ErrorCode (org.openehealth.ipf.commons.ihe.xds.core.responses.ErrorCode)1 ErrorInfo (org.openehealth.ipf.commons.ihe.xds.core.responses.ErrorInfo)1 Severity (org.openehealth.ipf.commons.ihe.xds.core.responses.Severity)1