in our imperfect world & with our imperfect systems a sensible appproach would be to have a word with said person privately, suggest perhaps that today is not a good day for them to fly & step down sick / whatever, if they refuse / fight / whatever, then pull in the heavies etc but until then keep it private & still professional.
The rules applied in England are the same for pilots, train conductors, etc...
I am astonish to see such posts. Where we draw the line? What about making a gross mistake on the flight deck and do not report it, just keeping it private?
I do expect a professional to be such from the time he reports to duty till he goes back to his private life. If not happy with that better to chose a different profession.