Patient history - aavedula/how-to-notes GitHub Wiki

Back

Data flow into the system

  • ADTController
  • ADTIngestionService
  • ADTAssignmentWorker
  • ADTAssignmentService
  • AssertionGenerationWorker
  • AssertionGenerationService
  • PatientMatchingWorker
    • PatientMatchingService
    • PatientMergingService
  • PatientHistoryWorker

MemberHistoryContext

  • 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.