We have done this kind of thing with a hidden field. Any time the primary field changes, a rule moves the current value of the hidden field to the visible history field and the new primary field's value to the hidden field.
Actually there is two project health field in project:
One of them above project summary tab on the left side. Depend on project settings you can change it. When you want to change you have to enter reason and deadline.
Other one is a field in project request type. Depend on your field dependencies configuration you can change this field. When you change it, it couldn't change other project health indicator which is described above.
IT Governance Professional & PPM Solution Architect