Deleting the fields DateOfFirstSession and DateCounsellinEnded makes sense. I am not sure I understand or follow the business rules but, using a query to determine the last appointment is a good idea. Using Booleans (Yes/No fields) to change the status of a given appointment is a good idea. You can incorporate various Boolean fields in your queries to avoid retrieving the entire table.