package at.medevit.elexis.cobasmira.model; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class CobasMiraErrorMessage { private static Logger logger = LoggerFactory.getLogger(CobasMiraErrorMessage.class); // 73 ernoLF int lineCode; int errorNumber; public CobasMiraErrorMessage(String input){ try { this.lineCode = Integer.parseInt(input.substring(0, 2)); this.errorNumber = Integer.parseInt(input.substring(3, 7)); logger.debug("CobasMira Error: " + getErrorDescription(errorNumber)); } catch (NumberFormatException | IndexOutOfBoundsException e) { logger.error("CobasMira - can't resolve error message", e); } } public String getErrorDescription(){ return CobasMiraErrorMessage.getErrorDescription(errorNumber); } /** * @param errorNumer * : Error Code Number * @return Error Text */ public static String getErrorDescription(int errorNumber){ switch (errorNumber) { case 1: return "PHOTOMETER OVERFLOW"; case 2: return "PHOTOMETEROFFSET TOO LOW"; case 3: return "PHOTOMETER OVERFLOW FIXED AGAIN"; case 4: return "PHOTOMETER TIMING INVALID"; case 5: return "PHOTOMETEROFFSET TOO HIGH"; case 6: return "PHOTOMETER NO RESPONSE"; case 7: return "PHOTOMETER NO INTERRUPT"; case 8: return "TIMEOUT CYCLIC MEASUREMENT"; case 9: return "TIMEOUT FILTER CHANGE"; case 10: return "TIMEOUT TO MEASUREMENT"; case 11: return "BACKGROUND OVERFLOW SAMPLE"; case 12: return "BACKGROUND UNDERFLOW SAMPLE"; case 13: return "BACKGROUND OVERFLOW REFERENCE"; case 14: return "BACKGROUND UNDERFLOW REFERENCE"; case 15: return "TRANSFER NOT INITIALIZED"; case 16: return "P-SAMPLE NOT INITIALIZED"; case 17: return "P-REAGENT NOT INITIALIZED"; case 18: return "ANALYZER NOT INITIALIZED"; case 19: return "FILTER NOT INITIIALIZED"; case 20: return "X-MOTOR INIT NOT POSSIBLE"; case 21: return "ANALYZER INIT NOT POSSIBLE"; case 22: return "FILTER INIT NOT POSSIBLE"; case 23: return "Y-MOTOR INIT NOT POSSIBLE"; case 24: return "P-SAMPLE INIT NOT POSSIBLE"; case 27: return "P-REAGENT INIT NOT POSSIBLE"; case 29: return "ANALYZER COVER OPEN"; case 30: return "TRANSFER AREA BLOCKED"; case 31: return "ANALYZER STEP ERROR"; case 32: return "FILTER STEP ERROR"; case 33: return "Y-MOTOR STEP ERROR"; case 34: return "P-SAMPLE STEP EROR"; case 35: return "Z-SAMPLE POSITION ERROR"; case 37: return "P-REAGENT STEP ERROR"; case 38: return "Z-REAGENT POSITION ERROR"; case 39: return "Z-BARCODE POSITION ERROR"; case 40: return "MOTOR-CONTROL I NO RESPONSE"; case 41: return "MOTOR-CONTROL II NO RESPONSE"; case 42: return "MOTOR-CONTROL II DATA ERROR"; case 46: return "ROM CHECK FAILED"; case 47: return "REFERENCE < LIMIT"; case 48: return "LEVEL DETECTION ERROR"; case 49: return "PRINTER MOTOR DEFECT"; case 50: return "BAD TEMPERATURES"; case 51: return "BAD ANALYZER TEMPERATURE"; case 52: return "BAD REAGENT TEMPERATURE"; case 53: return "ANALYZER TEMP. OUT OF RANGE"; case 54: return "REAGENT TEMP. OUT OF RANGE"; case 55: return "REAGENT/ANALYZER TEMPERATURE NOT WITHIN RANGE YET"; case 56: return "HOST INTERFACE NO RESPONSE"; case 57: return "HOST INTERFACE PROTOCOL ERROR"; case 58: return "SYSTEM BUSY"; case 59: return "COMMUNICATION-CONTROL NO RESPONSE"; case 60: return "INVALID SAMPLE BARCODE POS: ____"; case 61: return "DILUENT EMPTY - DIL: ____"; case 62: return "ISE ACTIVATOR EMPTY - POS: ____"; case 63: return "SAMPLE EMPTY - POS: ____"; case 64: return "CONTROL EMPTY - POS: ____"; case 65: return "PROGRAM ERROR: ____"; case 66: return "REAGENT EMPTY - TEST: ____"; case 67: return "ISE ELECTRODE: ____ OVERRANGE"; case 68: return "ISE A/D CONV.: ____ TIMEOUT"; case 69: return "INVALID SAMPLE POSITION: ____"; case 70: return "STANDARD EMPTY - POS: ____"; case 71: return "START REAG. 1 EMPTY - TEST"; case 72: return "START REAG. 1 EMPTY - TEST"; case 73: return "BLANK SOLUTION EMPTY - POS: ____"; case 74: return "MOTOR-CONTR II FUSE ERR: ____"; case 75: return "ADJUST-WASH ____ NOT POSSIBLE"; case 76: return "ADJUST-ANAL. ____ NOT POSSIBLE"; case 77: return "ADJUST-BARC. ____ NOT POSSIBLE"; case 80: return "(BELL)"; case 81: return "ISE INTERFACE NO RESPONSE"; case 82: return "ISE MODULE NO RESPONSE"; case 83: return "ISE MODULE BUSY"; case 84: return "ISE INTERFACE PARITY ERROR"; case 85: return "ISE RAM ERROR"; case 86: return "ISE LEAKAGE ERROR"; case 87: return "ISE CLEANER EMPTY"; case 88: return "ISE ETCHER EMPTY"; case 89: return "RESULT ERROR IN TEST RESULTS!"; case 90: return "LEAVE TEST RESULTS, PLEASE!"; case 91: return "INVALID BARCODE INPUT"; case 92: return "INCORRECT RATIO TEST-GROUP"; case 93: return "INCORRECT RATIO FORMULA"; case 94: return "WORKLIST COMPLETED"; case 95: return "MISSING RACK"; case 96: return "TIP CLEANER EMPTY"; case 97: return "NO WATER AVAILABLE"; case 98: return "TEST RESULTS OCCUPIED"; case 100: return "MEMORY CAPACITY OVERFLOW"; case 101: return "SYSTEM INITIALIZED"; case 102: return "TEST DOESN'T EXIST"; case 103: return "RATIO DOESN'T EXIST"; case 104: return "PROFILE DOESN'T EXIST"; case 105: return "SAMPLE NOT FOUND"; case 106: return "TEST NOT FOUND"; case 107: return "NO RACK FOUND"; case 108: return "TEST/RACK PROGRAMMING ERROR"; case 110: return "LOW CPU-BATTERY"; case 111: return "PRINTER BUSY"; case 112: return "PRIVILEGED ACTION"; case 113: return "TEST LOCKED"; case 114: return "TEST IN WORKLIST AND QUALITY"; case 115: return "RATIO IN WORKLIST"; case 116: return "ALL TESTS IN WORKLIST"; case 117: return "SYSTEM IN PROCESS"; case 118: return "SYSTEM CHECKS IN PROCESS"; case 119: return "WORKLIST NOT EMPTY"; case 121: return "TEST/DILUTION ALREADY ASSIGNED"; case 122: return "CONFIRM BY <ENTER>"; case 123: return "<ENTER> TO DELETE THE ALREADY PRINTED RESULTS"; case 125: return "ISE TESTS NOT ASSIGNABLE"; case 126: return "TEST IN WORKLIST"; case 127: return "TEST IN QUALITY"; case 128: return "PRINTER LEVER OPEN"; case 129: return "NO PRINTER PAPER"; case 130: return "SEGMENT INPUT EMPTY"; case 131: return "SEGMENT OUTPUT FULL"; case 132: return "CHANGER X-MOTOR TIMEOUT"; case 133: return "CHANGER Y-MOTOR TIMEOUT"; case 134: return "CHANGER Z-MOTOR TIMEOUT"; case 135: return "CHANGER X NOT IN POSITION"; case 136: return "CHANGER Y NOT IN POSITION"; case 137: return "CHANGER Z NOT IN POSITION"; case 138: return "CHANGER/COOLING-CONTROL NO RESPONSE"; case 139: return "CHANGER TIMING INVALID"; case 140: return "RACK TEMPERATURE TOO HIGH"; case 141: return "ROUTINE WORKLIST NOT COMPLETED"; case 142: return "STAT WORKLIST NOT COMPLETED"; case 143: return "INVALID INPUT"; case 144: return "MOTOR-CTRL II HARDWARE-ERROR"; case 145: return "MOTOR-CTRL II LIGHTB.-ERROR"; case 147: return "TOUCH ERROR"; case 148: return "ADJUST-RACKRD. NOT POSSIBLE"; default: return "UNKNOWN ERROR"; } } }