I would suggest a more consistent naming for the enum items. "DISINFECT_USAGE_" rather than USAGE_INFO_ in the enum elements, and eliminating the "_DIS". This would be more specific since "USAGE" and "INFO" are redundant, and "DIS" can be confused with "dis-", the Latin prefix.
I think it makes sense for signal functions to be in the modes like it is now. It could be that the signal function is called from DD interface though.
Changing from U32 to S32. It is a relative ms timer (so wouldn't be negative), but I needed to initialize this to something less than zero so that alarm ranking logic will be forced to rank a brand new alarm (triggered 0 ms ago).