fix check for whether there was a VHND and update tests

previously this wasn't properly accounting for the absence of a VHND
as the visit not happening. this also converts the vhnd mapping to
sets of dates for a future logic change to windows based on the date
of the vhnd