Queues & Active Visits Dashboard

(aka Service Delivery Queues & Clinic Workflow Queue & Clinic Dashboard improvements)

Overview

Goal: A 'snapshot' of active visits and patient priority levels. Goal is to improve clinic workflows / service delivery queues, and team communication, starting with Outpatient clinic workflows. 

Key Artifacts

Meeting Minutes

2024-01-10

  • We will continue to have regular appointments + queues squad meetings on Wednesdays at 4pm EAT / 8am US Eastern Time.

  • PIH will work off of existing queues and appointments implementations. Things will likely change in backwards incompatible ways. PIH will try to make a v2 version while continuing to loop in Palladium about new design / implementation changes.

  • We will have asynchronous design discussions for queues and appointments on slack.



Discussion Items: 

Summary

App

Category

Description

Actionables / Follow up

Summary

App

Category

Description

Actionables / Follow up

Add Config to remove "Add New Service" "Add New Service Room" and "Queue Screen" buttons at top right

Queue

Functional Change

PIH has no use case for those buttons for now

Further discussion to spec out Queue Screen between Palladium and PIH

Add ability to add patient to queues without starting a visit

Queue

Functional Change

PIH will use O2 patient chart to start visits and needs ability to add patient with active visits to queues. "Add patient with appointment to queue" form asks for Date and Time of Visit. Change it to queue time?

  • Fix needed: Adding a patient to two different queues shouldn't result in starting two visits

  • Need a way to remove patient from queue

  • Open question: how to add a queue entry without starting a visit?



Do we need Location AND Service for queues?

Queue

Open Question





Remove hard-coded English labels, Priorities and Status for queues

Queue+Appointment

Refactoring

Have available Priorities and Statuses queried from the backend



Add ability to customize columns in queues table

Queue

Functional Change

PIH needs custom table columns for specific projects (like MCoE). Possible solution: Componentize each cell and add configuration to add them into the table













Add <PatientBanner> to "Add patient to queue" form

Queue

Functional Change

Not in UX Mockups, but useful to see who we are adding to queue



Add Config to have different status tabs for the queues table (Waiting for Admission/ Admitted / Waiting for Transfer)

Queue

Functional Change



Might need further design discussion

Remove Action button in <PatientBanner>

Appointment

Functional Change

See https://openmrs.atlassian.net/browse/O3-2686. This complicates our ability to keep using O2 patient chart. The actions also don't work correctly for now. 



Consolidate <Overlay> component

Queue+Appointment

Refactoring

Put <Overlay> into its own component in esm-framework for re-usability 



Consolidate <PatientSearch> component

Queue+Appointment

Refactoring





Consolidate Appointments Table implementation in Appointments App + Home App

Appointment

Refactoring

We have 2 different implementations of those 2 tables. While there are some differences, we can probably combine them



Consolidate Appointment Creation Forms in Appointment App and Patient Chart App

Appointment

Refactoring

We have 2 different implementations of those 2 forms. Some consideration: Do we need the Recurring Appointments feature?

  • Config to disable recurring appointments

  • Further Discussion for the mini calendar showing appointment counts.















State of this Project as of 2021-12-17

  • Extensive User Testing with multiple personas completed, with users and input from Ampath, PIH, Mekom

  • Design Handover completed

  • Palladium leading frontend app development; Ampath/Brown providing backend development

    • UX Lead & Point of Contact for design questions: 

    • PM/BA Lead: 

      • BA/requirements and acceptance input from: 

    • Dev Lead:

      • Devs:

  •  

    1.  

      1. Administrative

      2.  

        1. Agree on/identify where to put code

        2.  

          1. Likely use https://github.com/openmrs/openmrs-esm-patient-management

        3. Does everyone have Zeplin accounts and knows how to use Zeplin?

        4. Jira Ticket Creation

        5. Timelines

        6. How will we do Sprint Cycles/Planning

        7. Meeting Times: Standups/demos

    • Set technical scoping session date: _____

    …..............

  • NEXT TIME

  •  

    1.  

      1. Dev Workplan: Scope into parts/epics

      2.  

        1. Who will lead each epic? How many team members per epic? 

        2. Suggested Epics

        3.  

          1. Frontend 

    • Architecture and planning - “where things go”

    • Route

    • Pages

    • Slots - UI components

    1.  

      1.  

        1.  

          1. Queues

          2. Patient Chart Status Changer

          3. Enhanced Patient Search



    1. Backend

    2.  

      1. Patient Queue Queue API

      2. Metadata and concepts



Other Resources

Historical Community Documentation on Queues: