Need Help Thinking Employee Status Through

Okay, so I need to be able to terminate employees and I guess make them inactive. In order to do this

1.) Create Static Entity (EmployeeStatus)

2.) Create Records (Terminated, Retired, Medical, etc)

3.) Create Foreign Key in Employee database.

4.) Create Drop Down Menu in Employee Details Screen to change status to (Terminated, Retired, Medical ) (This screen is where Human Resources can Update / Add / Edit Employee information)

5.) Create Logic that hides Employee Status change Drop Down Menu unless there's an ID assigned to that Employee Edit screen. (If there's no ID it'll create a new entry).

6.) Make Active Employee table filter ONLY active employees.

7.) Create new Webscreen (Terminated Employees) and make a table that shows only employees with the Terminated status assigned to their ID.


Are all employees in the database Active by default or would I need logic to make them active by default? For example when HR creates a new employee should I have the employee status menu automatically fill in Active in the drop down box as the default value? 

Am I on the right track for accomplishing this? Really need some help, but I am getting stumped by handling terminated employees and ensuring they're stored correctly. 


Steps 1-5 are fine.

In step 6, it's probably just wording.  There is no Active Employee table (entity).  Anyplace you want to show just active employees, you create an aggregate with a filter for the Active value in EmployeeStatus.

Similarly, in step 7, you are not making a table (entity) for this.  You create an aggregate with a filter for the Terminated value in EmployeeStatus.

Question - You can set the default value in the Employee entity in the EmployeeStatusID attribute.  Click on the dropdown and select Active (or something else if you want).

Hope this helps,


Thank you very much, Mr. Curt. The only limitation I have is this.

They need to know Termination Reason, Termination Date, Termination Comments (If any) if an employee is termed. How would I implement this with this solution you've given. Any ideas?

I'm so close to finishing out Terminations with this solution, I just need to be able to get Terms in there. 

I guess I can create a new Term Detail WebScreen, pull the employee ID and assign the values in that Employee Termination screen to that Employee ID? 


Just add those fields to the Employee entity.  I had already suggested the date in our previous thread as an option.  I would make them more generic.  StatusDate rather than TerminationDate.  If the status is Terminated then you know that StatusDate is the date of termination.  Same with Reason and Comments instead of TerminationReason and TerminationComments.  That's just how I would approach it but I don't know your specific business requirements so feel free to adjust what I suggested as needed.