(This is an "Epic Story". Actual work should be done on sub-tickets.)
We need to add the idea of Visits to our data model. A 'visit' is a contiguous time period where encounters occur between patients and healthcare providers. (An 'encounter' in OpenMRS happens at a single point in time, and functions mostly as a grouper for observations and orders.)
See the Support for Visits (Design Page) for more detail.