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
- by encounterType
- by sessionTime
- by user and provider
- by location
Retrospective
- by encounterType
- by user and provider
- by date
Visit Document
- by encounterType
- by provider
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
To be: if we mandate that all bahmni users are providers
- by encounterType
- by sessionTime (for retrospective entry, the client should send the date as 12:00)
- by provider
To be: if we want to support non providers as bahmni users
- by encounterType
- by sessionTime (for retrospective entry, the client should send the date as 12:00)
- by provider if provider or on behalf of provider
- 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