Create the assertion index first in order to create the event index. There is no complete correspondence between assertions and events.
PatientHistoryAssembly::MemberAssertionIndex
Positive assertions are things that actually happened, e.g. admits and discharges.
Negative assertions are things that negate a positive assertion, e.g. cancellations or mistakes.
AssertionCancellationSieve: pairs up positive assertions and negative ones and keeps what is leftover.
PatientVisitBuilder
When construct the visit_list, we drop all the discharges and so we have the admits first. Construct the list so the admits are first, and then all the rest of the assertions.
field asserted_at is when the assertion was reported, not necessarily when the event happened.