We're doing something similar with calculated fields but to
trackcondition changes (prior condition, time in current condition, and
history of changes)history and change of a specific custom field(s)
(prior value, difference, date of change, and history of changes)