Patient Lists (Manual, Criteria-based, Automatic)
Jira Epic
Designs
Add Patient to Patient List – From within patient chart https://zpl.io/V4NlvzN
Patient Lists - Section - https://zpl.io/aBzNqWe
System List - Lost to Follow-Up (example) https://zpl.io/Vk1nE7q
My List - https://zpl.io/VDgn4o3
Patient List within Patient Chart - https://zpl.io/2ZMzkBX
Requirements
2 Different Workflows
There are 2 main different workflows involved in the topic of Patient Lists:
1) Assigning a Patient to a List
2) Creating a List / Finding Patients who meet a Criteria
1) Manual: Assign a Patient to a List: "I need to ensure a specific patient gets added to a cue"
Manual: Manual Cohort Management (add patients one at a time)
Who: Clinician, Nurse, Outreach Worker, Clerical staff
Why: I need to add a patient to a list, so that I or someone else remembers to follow up with them for a specific reason (e.g. adding them to a "potential research study participants" list, or "patients I want to remember to follow-up with after they leave the clinic").
How: Patients are MANUALLY added. This needs to be easy for the clinical end-user to do within their workflow, either while seeing the patient (while in the patient chart), or after seeing them (search for the patient and then perform the action). Then the patient is automatically added to a list based on this action.
2) Query-based? Criteria?
(TODO)
Create and edit existing cohorts (can also manually add and subtract). Ways of writing and running queries to find patients that meet criteria (could be via reporting framework; currently using cohort builder)
3) Automatic: Find Patients Who Meet a Criteria: "I need to see a backlog of patients I'm not thinking about individually"
Automatic: automated updating of those sets of patients (update the list automatically after the query was initially created)
Who: Clinician, Nurse, Outreach Worker, Clerical Staff. (Other personas that will use this (but are not the main focus) are an M&E Team member who needs to make a report, and members like a research assistant. These personas are generally not involved in patient care.)
Why: I need to see a backlog/cue of people waiting for something, or to quickly find patients relevant to a workflow I'm doing.
How: Patients are AUTOMATICALLY added.
System Lists: These are common lists that we'd like to provide by default. I may want to filter System Lists in specific ways; e.g. I may want to see their last appointment date in their list, or their Vital Signs today. Specific examples:
I need to see Active Visits list (i.e. "Patients in the Waiting Area") and their visit start time, so that I can see how many people are waiting, so that I can prioritize people who have been waiting the longest, and so that it's easier for me to find and click the name of the patient I have to see next, instead of typing in their full name or unique identifier to bring up their chart. I may also want to see the Vital Signs in this list as recorded by the nurse, so that I can prioritize seeing patients with more serious/concerning vital sign results.
I want to see my recent patient searches so that I can find and click patients more easily than having to remember and type out their full name
I want to see the patients my specialty team is assigned to seeing today so that I don't miss any patients who we are supposed to see (e.g. patients referred to the Oncology Service)
I want to see the patients scheduled to come to the clinic today, so that I can see how many people are likely to come in (i.e. is it going to be a hectic day?)
I need to see all the patients who have missed an appointment so I can follow up with them in the community (this is a MAJOR pain point for HIV Outreach Workers, Maternity Care support workers & Community Health Workers) - more detail on Outreach Worker user stories here: https://docs.google.com/document/d/1_m7oGdlS07X1M0bztaL1GZX6Q7_8RY7dg3Omo5Jft7U/edit
Custom Lists: I want to be able to configure the columns/detail I see about the patients. (Becomes important later with manually created lists - e.g. I may want to see lab results, like the Viral Load beside each patient name)
These are lists someone would create themselves. This helps them find particular patients who might be at high-risk for something, or find patients who may be eligible for a particular study or program. e.g. "I need a list of all women over 50 years old who live within MyTown, so that we can contact them and offer them a Cervical Cancer Screening appointment."
Technical Work/Specs Devs should know about
AMPATH & @Bett Kipchumba have been working hard on a FHIR-based approach to modelling patient lists. More detail here: https://talk.openmrs.org/t/patient-list-for-openmrs-updating-cohort-data-model/31828