Calculate period start and end date
The simplest solution normalizes a period:

SELECT NORMALIZE Employee, Status, PERIOD(date,date+1) AS pd
FROM mytable
ORDER BY Employee, pd


NORMALIZE is a very unknown syntax, it combines overlapping periods, you just need to create a one day period out of the date column. As this results in a period you get a slightly different output, the end date is +1 compared to the expected result.

To fix this you can split the period back into seperate columns:

SELECT Employee, Status, Begin(pd), 
   Last(pd) -- last included date, i.e. expected EndDT
FROM
 (
   SELECT NORMALIZE Employee, Status, PERIOD(date,date+1) AS pd
   FROM myTable
 ) AS dt
ORDER BY 1,pd


Getting this Some time in the history is more complicated, would need additional calculations, you should check if you really need it.

Another more classical solution calculates groups of rows with  consecutive values:

SELECT Employee, Status, Min(date), Max(date)
FROM
 (
   SELECT Employee, Status, date, 
   -- this is the tricky part, the differnce between a monotonous sequence (row_number) 
   -- and another monotonous sequence with gaps (date)
   -- is constant when there's no gap
      date - Row_Number() 
             Over (PARTITION BY Employee, Status
                   ORDER BY date) AS grp
   FROM vt
 ) AS dt
GROUP BY Employee, Status, grp
ORDER BY 3


Both solution will result in an extra row when you add 

20171120   001          At work
...
001           At work       20171115                      20171116
001           At work       20171120                      20171120


If you want to combine with the previous row

001           At work       20171115                      20171120


it's also a bit more complicated...