As is:

Visit is selected by the visitUuid sent in the EncounterTransaction. Within the visit, the encounter is filtered based on the following logic, in that order

Regular Consultation

  1. by encounterType
  2. by sessionTime
  3. by user and provider
  4. by location

Retrospective

  1. by encounterType
  2. by user and provider
  3. by date

Visit Document

  1. by encounterType
  2. by provider

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

To be: 

Objectives: 

  1. by encounterUuid if sent by the client.
  2. by encounterType
  3. by sessionTime (for retrospective entry, the client should send the date as 12:00)
  4. by provider if provider or on behalf of provider
  5. by user if not a provider

Note: Visit Document matching can be modelled as onBehalfOf and the time fixed to one specific time of a day as in retrospective