What Models should i try for this problem?
If I understand correctly, you currently try to predict the next code among 5500 possibilities. I think that's too many options to choose from, you can't expect a good performance with that.

Since the task is about predicting the 15 error codes I would represent the problem as a sequence labeling problem: the label at each step is either "nothing" (often represented as "_" in sequence labeling tasks) or one of the 15 error codes. The label would represent the most likely outcome for the next step, not for the current one. This way the system can use the history of the codes (regular features) without having to predict all of them, only the critical ones. Note that if several error codes can happen at the same time, you might have to select a single one as label (maybe they can be ranked by priority?).

As far as I know, the standard method for sequence labeling is Conditional Random Fields (CRF). In the traditional approach you would have to do some feature engineering: for example try to not give only the codes as features but also features such as how many times a code happened in the last N steps. I think the modern approach consists in training a RNN and using the vector representation as features for the CRF, but I might not be up to date with this.