This is a question and maybe even a discussion item. I am working on a data pull, and may revisit reports, concerning people who were employees, left the organization, then return as contractors who must record time. We currently identify employees/contractors as a person_type (on srm_resources). We then report hours for projects based on this person type (Employee/Contractor).
Our question is, how do we identify someone as both, not simultaneously, but with independent start and term dates and person type. When we look at the interface for resources we see single entries which do not appear to differentiate a member based on a particular type with independent dates as a type.
We have tried this with a resource in our DEV environment. It just overrides the previous data entries. The issue for the reports/datasets that I am writing is cumulative and will cause data variants. Consider the following,
- Example: I have an employee where we track capitalization of hours for projects (not global). We report out these hours on a monthly basis and the report accurately accounts for capitalization of employee hours and contractor hours separately. Over time we have employees who leave and become contractors and vice versa (that is, contractors who become employees). Now our stakeholders would like to do an audit review of the data. As a result they ask us to go back in time and come forward with a full data set. Because we have made changes to employees/contractors the numbers no longer add up as they did previously (due to the changes in employee/contractors).
As you can see in the example, this could cause the report to come into question, this is despite that the hours are not incorrect. Rather, they are being globally bucketed differently because or person-type has changed with no date discrimination.
Back to my question, is there a way to keep the person, but also annotate the type by date so that data will remain accurate over time?