This is the way errors In the Tiani solution the errors for CDA documents was handled in the Tiani solution. This code is a part from the epSOS-Web and how it handled the errorCodes from the tiani solution. an object. The advantage with using Objects for this is that you can handle more then one exception which is the case for a CDA documents that can have many errors or partial errors. As its done now At the moment in the openNCP only one error is handled since its throwing an exception directly in the code. Another thing that was also contained in the object that tiani had was the actual exception offcourse(epsos-client-connector) these errors is not handled at all what I have seen. I can se the messages in the NCP-B log, but they aint sent over to the portal. Dont know if it is handled at all in the other parts in the openNCP.
Here is an example of how this is handled in the epSOS-Web.
Code Block |
---|
if (!rsp.getPartialErros().isEmpty()) { for (int i = 0; i < rsp.getPartialErros().size(); i++) { ErrorFeedback error = new ErrorFeedback(); error.setErrorCode(rsp.getPartialErros().get(i).getErrorCode()); error.setErrorMessage(rsp.getPartialErros().get(i).getCodeContext()); error.setSeverityType(rsp.getPartialErros().get(i).getSeverity()); errorList.add(error); } } |
...
Code Block |
---|
<RegistryResponse status="urn:ihe:iti:2007:ResponseStatusType:PartialSuccess" xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"> <RegistryErrorList> <a:RegistryError codeContext="Not valid CDA document" errorCode="4504" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error" xmlns:a="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0">ECDATransformationHandler.Error.toEpSOSPivot(4504 / Not valid CDA document)</a:RegistryError> <a:RegistryError codeContext="Code System not found [CodedElement [code=459099, codeSystemName=Nordisk Produktkod, oid(codeSystem)=1.2.752.129.2.1.5.1]]" errorCode="4501" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error" xmlns:a="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0">ECDATransformationHandler.Error.toEpSOSPivot(4501 / Code System not found [CodedElement [code=459099, codeSystemName=Nordisk Produktkod, oid(codeSystem)=1.2.752.129.2.1.5.1]])</a:RegistryError> <a:RegistryError codeContext="Code System not found [CodedElement [code=SUBST, codeSystemName=ActClass, oid(codeSystem)=2.16.840.1.113883.5.6]]" errorCode="4501" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error" xmlns:a="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0">ECDATransformationHandler.Error.toEpSOSPivot(4501 / Code System not found [CodedElement [code=SUBST, codeSystemName=ActClass, oid(codeSystem)=2.16.840.1.113883.5.6]])</a:RegistryError> <a:RegistryError codeContext="CodeSystem name doesn't match provided name [SubstanceAdminSubstitution != substanceAdminSubstitution]" errorCode="2508" severity="urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning" xmlns:a="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0">ECDATransformationHandler.Error.toEpSOSPivot(2508 / CodeSystem name doesn't match provided name [SubstanceAdminSubstitution != substanceAdminSubstitution])</a:RegistryError> </RegistryErrorList> </RegistryResponse> |
...