Ability for a doctor/provider to start an ad-hoc Tele-consultation with a patient from within Bahmni.

Objective

Ability for a doctor/provider to start an ad hoc Tele-consultation with a patient from within Bahmni.

Proposed solution

  • There will be a button to start ad-hoc tele-consultation in the appointment section in the ‘Patient Dashboard’ Screen. Since the ability is for a doctor, we think buttons can be added to this screen like below.
  • A meeting link is required for each patient. For this, we can directly use the patient uuid as meeting uuid since this is unique and this avoids duplicate meetings set for each patient.
  • On button click, a meeting would be launched.
  • This feature would be enabled with “allowAdHocConsultation” flag
  • An email will be sent to the patient after doctor starts/joins ad-hoc teleconsultation

Discussion Points

  • Having the functionality in the patient dashboard screen
  • Using patient uuid as a meeting id

Further enhancements

  • Ability to join meetings by the patient while the meeting is going on ( Thoughts ?)
  • Sending SMS notification ( planned)
1 Like

Thanks for posting this @vishalsarasani – and welcome to the Bahmni community :slight_smile:

Some thoughts from my side:

  1. I feel maybe we should rename the feature toggle from allowAdHocConsultation to allowAdhocTeleConsultation, so that it is more specific as to what it will enable.
  2. When you mentioned for patientLink that we will reuse patient-uuid, is the for generating the unique teleconsultation link? Can you share a sample of what the URL might look like? I guess it can have some side-effects. For instance not being able to start a second appointment (in case the first link got lost, had an error, etc). Or, someone can guess the URL and join it (zoom-bombing!).
  3. I feel its best to generate a unique telecon link from backend, and use that to avoid any chance of duplication, clashes, or security effect of being able to “guess” the URL, etc. This API could be exposed by the Appointment omod that handles Teleconsultation.
  4. I feel the label should be called: “Start TeleConsultation” (and picked from a properties file, so it can be translated into other languages).
  5. There should be some “privilege” associated with this button, so that only certain providers/users can see this button (even if the feature is enabled).
  6. There needs to be some Audit Log entry created in the system which indicates that an Adhoc Teleconsultation was triggered by Provider X for Patient Y (and another event when the teleconsult ends).
  7. Can an SMS also be configured along with email?
  8. Instead of the Appointments Widget, why not add this button to the Patient Context widget? After all this is actually a non-appointment action. Or does this actually “create” an Appointment in the system on click? If so, then it makes sense to keep the action in Appointments widget. Alternatively, we could introduce a Teleconsultation widget seperately, which could be added into the dashboard (and privilege controlled automatically), to decide who sees it or not. That way, that control can evolve in the future for other Telecon UI elements.
  9. For email - would it be a good idea to configure additional secondary emails (cc) (like specific hospital provider group, hospital admin group, caregiver’s email, etc). Is there a way to configure additional static email addresses which will always be sent the email (like a location head, or catchment area admin), so they are also notified, and appointments are tracked.
  10. To open the Clinical Dashboard the visit needs to be ACTIVE. For a patient whose visit is not yet active, how will the provider start an Adhoc Consultation (on click of which the visit becomes active)?

Adding to Gurpreet’s suggestions;

  1. The button should be called ‘Start Teleconsultation’ since the consultation is only being started through the button.

  2. Although an active visit is not needed for visiting the patient dashboard, it is needed to activate the consultation button so the doctor can complete the charting. You can consider creating a visit by just clicking on the start consultation button.

  • regarding meeting Id: I would prefer it to be human readable. otherwise, only way to join is to click the link. If someone is using jitsi mobile, (and not just launched on browser) - then either we have to send a deep link that can launch a specific app and start the app - or - we rely on them to type in - in such case the patient ID is a better option.
  • not too concerned about others joining. There will be some checks by doctor of course for verifying identity. We can also check if the meeting can have other auth (e.g. send an SMS to reg patient number - maybe for future). A practitioner can close the meeting if they want if some other person present …
  • I would check how can we not allow someone to join before schedule time or after the meeting has concluded by doctor … right now, thats not the case
  • As of now only mail is sent (and that too only to the patient) - I am assuming that notification is out of scope here - there’s fair bit of work to be done - SMS integration for example - and notifications of different types (Cancelled, rescheduled/ time changed, provider changed, addittional info shared - like keep your CBC report ready or send over the report ahead).
  • I prefer the button to be on the appointment widget itself - thats the usual place I would expect for the practitioner to look. We can better the UI - e.g only enable meetings that are due soon.

Updating the points discussed in call for each point above

  1. I feel maybe we should rename the feature toggle from allowAdHocConsultation to allowAdhocTeleConsultation , so that it is more specific as to what it will enable.

— Rename to allowAdhocTeleConsultation

  1. When you mentioned for patientLink that we will reuse patient-uuid, is the for generating the unique teleconsultation link? Can you share a sample of what the URL might look like? I guess it can have some side-effects. For instance not being able to start a second appointment (in case the first link got lost, had an error, etc). Or, someone can guess the URL and join it (zoom-bombing!).

— Create a new link every time a doctor/provider starts a tele-consultation. So that in future if we want to differentiate each tele-consultaion it will be useful.

  1. I feel its best to generate a unique telecon link from backend, and use that to avoid any chance of duplication, clashes, or security effect of being able to “guess” the URL, etc. This API could be exposed by the Appointment omod that handles Teleconsultation.

— As mentioned in above point an API which generates the link and send the email will be added

  1. I feel the label should be called: “Start TeleConsultation” (and picked from a properties file, so it can be translated into other languages).

— Add a new label in all locale files with appropriate translations.

  1. There should be some “privilege” associated with this button, so that only certain providers/users can see this button (even if the feature is enabled).

— For now we can enable the feature based on the flag, we can restrict based on priveleg later by creating a privilege.

  1. There needs to be some Audit Log entry created in the system which indicates that an Adhoc Teleconsultation was triggered by Provider X for Patient Y (and another event when the teleconsult ends).

— Add new event types TELE_CONSULTATION_STARTED and TELE_CONSULTATION_ENDED to track when a meeting is started and ended

  1. Can an SMS also be configured along with email?

— SMS feature is planned for future as currently we don’t have the SMS flow.

  1. Instead of the Appointments Widget, why not add this button to the Patient Context widget? After all this is actually a non-appointment action. Or does this actually “create” an Appointment in the system on click? If so, then it makes sense to keep the action in Appointments widget. Alternatively, we could introduce a Teleconsultation widget seperately, which could be added into the dashboard (and privilege controlled automatically), to decide who sees it or not. That way, that control can evolve in the future for other Telecon UI elements.

---- Add the button in the header to the right if “Print” button as we are not creating any appointment.

  1. For email - would it be a good idea to configure additional secondary emails (cc) (like specific hospital provider group, hospital admin group, caregiver’s email, etc). Is there a way to configure additional static email addresses which will always be sent the email (like a location head, or catchment area admin), so they are also notified, and appointments are tracked.

— Create a new openmrs config like openmrs.bahmni.ccemail to store the cc email addresses which can have comma separated email addresses and pick the cc emails.

  1. To open the Clinical Dashboard the visit needs to be ACTIVE. For a patient whose visit is not yet active, how will the provider start an Adhoc Consultation (on click of which the visit becomes active)?

— If there is no active visit then create a visit by just clicking on the start consultation button.

Other points:

— Show an info popup saying the an email will be sent to patient email and ccemails with the meeting link. Later we can provide option to add email list on the fly

@gsluthra @akhilmalhotra Please add/correct if I missed any points

Sounds good to me Vishal. If you can share some mockups and Task List/Story List with priorities, that will be helpful.

@gsluthra I have added a card and created sub tasks for that [BAH-1254] Ability for a doctor/provider to start an ad-hoc Tele-consultation with a patient from within Bahmni. - Bahmni - JIRA