add the ability to create a new visit and some simple validation