Are you actually going to set a "fault" bit that will prevent the machine from being used until maintenance man does his job ?
What would happen if there was no-one available at that time ?
Would it not be better to set a bit that "calls" for maintenance after, say, 85 days, and then shut the machine down if that maintenance is not performed after, say, another 10 days.
And who is going to reset the fault bit that you carefully program to come on after xxx days ?
Do you see where I'm leading to with this...?
Also, does the machine run 24/7 ? A simple timer, or Ken's idea, will accrue time whether the machine is running or not. You might like to look at the "Retentive Timer" RTO, which you can enable only when the machine is running. if you had this timer time for one-hour (3600 seconds), you can use a counter to count hours (90 days is 2160 hours).
another edit : You might also need to consider that a machine might need maintenance if it has NOT been run for a period of time, prior to it being started up.