Provider Manual · Part XVI

Patient lists & patient outreach

Slice the panel into cohorts you can act on — ready-made preset lists, a custom criteria builder, hand-curated lists, and the columns that travel with them — then reach a whole cohort at once with tracked Communications campaigns.

8 sections~15 min read10 screenshots
XVI
Part XVI

Patient lists & patient outreach

Slice the panel into cohorts you can act on — ready-made preset lists, a custom criteria builder, hand-curated lists, and the columns that travel with them — then reach a whole cohort at once with tracked Communications campaigns.

16.1Open Patient List

Open the Patient List workspace

The Patient List workspace turns your whole panel into actionable cohorts — instead of opening charts one at a time, you slice the practice into groups like “diabetics overdue for an A1c” or “patients with no visit in 12+ months,” review them in a configurable table, and act on the whole group at once. It opens from the Patient List button in the top toolbar, just to the right of Chart and Schedule (route /dashboard/patient-lists).

  1. Open the workspace. Click Patient List in the top toolbar. It opens as its own tab in the workspace tab bar, with a left rail of lists and the selected list’s patient table filling the rest of the screen.
  2. Know the three kinds of list.
    • Preset smart lists — ready-made cohorts that ship with Hero EMR and recompute live (see Preset lists).
    • Custom smart searches — your own rule-based cohorts built in the condition builder; they also recompute live (see Custom search builder).
    • Manual curated lists — hand-picked sets of patients you add by name and that stay fixed until you edit them (see Manual & shared lists).
  3. Pick a list and work it. Choosing a list in the left rail loads its patients into the table; the header carries the row count and the list’s actions — Columns (shape the table), Snapshot (freeze a smart list into a manual one), Duplicate (make an editable copy), and Export (download to CSV). Click any patient row to open that chart.
Patient List workspace: a left rail of preset cohorts grouped by category, the selected Diabetics overdue for A1c preset with its patient table, and the Columns, Snapshot, Duplicate and Export actions in the header
The Patient List workspace — preset cohorts grouped by category on the left, the selected list’s patient table on the right, with Columns, Snapshot, Duplicate and Export in the header.
Who can open it: physicians always have the Patient List button. Staff need the Patient Lists permission, which is granted by default to Medical Assistant and Nurse profiles — other staff roles don’t see the button until an admin adds it (see Staff accounts & permissions).
16.2Preset lists

Start from a preset smart list

Hero EMR ships with 17 ready-made smart lists grouped into six categories in the left rail. Each one is a saved rule set that recomputes live against your panel every time you open it — a patient who gets their A1c drawn drops off the “overdue” list on its own — so the presets always reflect the current state of the practice.

Chronic disease & care gaps

  • Diabetics overdue for A1c — diabetic patients without a recent A1c result.
  • Uncontrolled hypertension — hypertensive patients above goal blood pressure.
  • Statin candidates not on a statin — patients who meet statin criteria but have no statin on their med list.

Care programs

  • APCM-eligible not enrolled — patients who qualify for APCM but aren’t yet enrolled.
  • APCM pending consent — enrolled patients still awaiting a signed consent.
  • RPM needs attention — remote-monitoring patients with a data or review gap.

Engagement & access

  • New patients (last 30 days) — patients registered in the last 30 days.
  • Encounter signed in last 30 days — patients with a completed or signed encounter in the last 30 days.
  • No visit in 12+ months — patients overdue for any contact.
  • Portal not activated — patients who’ve never signed in to the portal.
  • Prospective patients with no upcoming visit — prospects with nothing booked.

Medication safety

  • On controlled substances — patients with an active controlled-substance prescription.
  • Refills running low — patients whose medications are nearly out of refills.

Financial

  • Past-due balances — patients carrying an overdue balance.
  • Self-pay / uninsured — patients with no active insurance coverage.

Preventive screening

  • Women 50–74 mammogram due — eligible women without a recent mammogram.
  • Colorectal screening due 45–75 — patients in the screening window who are overdue.

Two header actions make the presets your own. Pin a preset you use often and it floats to the top of the rail as a favorite. Duplicate a preset to get an editable copy in the condition builder — the presets themselves are read-only, so duplicating is how you tweak a built-in cohort (loosen the A1c interval, add a payer filter) without disturbing the original.

Presets are a starting point, not a registry. Each one applies a clinically reasonable default (for example a recency window for “overdue”); when your practice’s definition differs, Duplicate the preset and adjust its conditions in the custom search builder.
16.3Custom search builder

Build a custom smart search

When no preset fits, build your own cohort. A smart search is a saved set of conditions that recomputes live — patients flow in and out as their data changes — so it behaves like a standing query rather than a fixed list.

  1. Start a new search. Click New listSmart search. The condition builder opens with an empty rule and a live N patients match count that updates as you add conditions.
  2. Choose how conditions combine. The match mode at the top sets the logic: Match ALL (AND — every condition must be true), Match ANY (OR — at least one is true), or Match NONE (NOT — exclude patients who match).
  3. Add conditions and groups. Condition adds a single rule (a field, an operator, and a value). Group nests a sub-set of conditions with its own ALL/ANY/NONE mode — you can nest up to two levels — so you can express things like “diabetic AND (no A1c in 6 months OR last A1c above 9).”
  4. Pick from the field catalog. Each condition draws from a 43-field catalog organized into ten categories — Demographics, Status & access, Insurance & financial, Visits & engagement, Problems & diagnoses, Medications, Labs & vitals, Care programs, and Preventive & history. Some fields take a parameterized code input — a lab condition asks for a LOINC code, a procedure for a CPT code, an immunization for a CVX code — so you target the exact test, service, or vaccine.
  5. Watch the count, then save. The N patients match banner tells you how big the cohort is before you commit. Name the search and save it; it joins your lists in the left rail and recomputes every time you open it.
Custom search builder with a Last completed visit / not in the last / 12 months condition and a live 129 patients match banner
The condition builder — a Last completed visit / not in the last / 12 months rule with the live 129 patients match count updating as you edit.
Build up from a broad rule. Start with the single condition that defines the cohort, watch the count, then narrow with Match ALL conditions or carve out exceptions with a Match NONE group — the live count keeps you honest about each rule’s effect.
16.4Manual & shared lists

Curate manual lists & share them

Not every cohort is a rule. A manual list is a hand-picked set of patients that stays exactly as you built it — useful for a recall batch, a study group, or any roster that doesn’t map cleanly to conditions.

  1. Create the list. Click New listManual list, name it, then use Add patients to search for and add patients one by one. They stay on the list until you remove them.
  2. Drop a selection in from any list. Check rows in any list (smart or manual) to reveal the bulk selection bar, then click Add to a list to drop the selected patients into a new or existing manual list. This is the fast way to skim a smart cohort and hand-pick the ones you actually want to work.
  3. Freeze a smart list with Snapshot. A smart list moves under you as data changes. Snapshot captures its current members into a brand-new manual list — a frozen point-in-time roster — without touching the live smart search it came from.
  4. Pin and share. Pin floats a list to the top of your rail. Share toggles a list between private and Shared with org — a shared list is visible to everyone with Patient Lists access, so it’s how a care team works one roster together. Lists you haven’t shared stay private to you.
Patient list with rows selected and the bulk action bar showing 14 selected, Add to a list, Send communication, and Clear
The bulk selection bar — check rows to get 14 selected, then Add to a list, Send communication (campaigns), or Clear.
A snapshot doesn’t keep itself current. Once frozen, a snapshot list won’t pick up patients who later meet the criteria or drop those who no longer do — re-snapshot the smart list when you need a fresh roster, or work the smart list directly to stay live.
16.5Columns & export

Shape the table columns & export

The patient table is yours to shape. The Columns manager lets each list show exactly the data points that matter for that cohort — contact details for a recall list, last-lab values for a chronic-disease list — plus custom worklist columns you fill in yourself, and Export turns the current view into a CSV for outside work.

  1. Open the Columns manager. Click Columns in the list header. The dialog shows your currently selected columns on top and an add-a-column catalog below, grouped into Demographics, Contact, Status, Insurance, Care team, Encounters, Problems, Medications, Labs, Programs, and Custom.
  2. Add, remove, and reorder. Add a column from the catalog, remove one you don’t need, and reorder with the up/down arrows — the table reflows immediately, and the layout is saved with the list.
  3. Add a parameterized column. Some columns take a parameter so they read a specific value — a Last A1c column, for example, is tied to the relevant LOINC codes and shows each patient’s most recent result with the custom label you give it. The same pattern surfaces a specific lab, vital, or program metric as its own column.
  4. Add a custom worklist column. The Custom group adds columns you fill in yourself rather than ones Hero computes:
    • Checkbox — a tick-box column for working a list (e.g. “Called,” “Reviewed,” “Scheduled”). Give it a label, Apply columns, and a checkbox appears on every row that you and your team click to mark patients done. Add several with different labels to track multiple steps.
    • My sticky note — a read-only column that surfaces your own private sticky note for each patient (the one from the chart), so you can scan your notes across the whole cohort.
  5. Export to CSV. Export downloads the current list — the rows you see, with the columns you’ve chosen (checkbox marks included) — as a CSV file for reporting, mail-merge, or registry work.
Columns dialog with a parameterized Last A1c column and a custom Called checkbox column in the Custom category, above the add-a-column catalog
The Columns dialog — a parameterized Last A1c and a custom Called checkbox column (category custom), above the add-a-column catalog.
Patient list table with a Called checkbox column on the right; several rows are ticked, marking those patients as done
The custom Called checkbox column on the table — tick a patient to mark them worked. On a shared or system list, everyone on the team sees the same ticks.
Who sees a checkbox’s ticks? A checkbox column follows the list it lives on. On a system (preset) list or a list you’ve Shared with org, the ticks are shared — the whole team works one set of marks together (great for dividing up a recall list). On a private list, the column and its ticks stay yours alone. Adding or relabeling a checkbox column on a system list changes it for the whole organization, so it needs Patient Lists manage permission (physicians always have it); anyone with access can tick the boxes.
Lists and exports carry PHI. A patient list — and any CSV you export from it — contains protected health information; handle exports per your practice’s HIPAA policy and don’t email or store them outside approved systems. Remember too that Sharing a list (see Manual & shared lists) exposes the whole cohort — and its worklist ticks — to everyone in your organization who has Patient Lists access.
16.6Communications campaigns

Reach a whole cohort with a campaign

Communications turns a patient list into outreach: one message sent to an entire cohort at once — a recall reminder, a flu-shot push, a balance notice — with delivery and engagement tracked per patient. It lives as a tab inside the Patient List workspace, so the cohort you just built is one click from a campaign.

ListsCommunications
  1. Find the Communications tab. Inside the Patient List workspace, switch to the Communications tab next to Lists. You can also launch a campaign from a cohort directly — select patients in any list and click Send communication in the bulk selection bar, which opens the composer pre-loaded with that audience.
  2. Choose how the message goes out. A campaign sends on one of three channels:
    • Portal message — a secure portal message, with an email fallback for patients who don’t have a portal account.
    • Email only — a plain email to the address on file.
    • SMS text — a text message, capped at 160 characters and 25 recipients per campaign.
Communications tab header reading Send a message to a group of patients and track engagement, with a New campaign button
The Communications tab — Send a message to a group of patients and track engagement, with a New campaign button.
Communications is admin-only. The Communications tab appears only for organization admins and users granted the communications permission. If you don’t see it, you can still build and share lists — ask an admin to run the outreach, or to grant the permission (see Staff accounts & permissions).
16.7Compose & send a campaign

Compose, preview, and send a campaign

Click New campaign to open the composer. It walks you from naming the campaign through choosing a channel, writing the message, picking the audience, and reviewing exactly who will receive it before anything goes out.

  1. Name it and pick a channel. Give the campaign a Campaign name (for your tracking, not shown to patients), then choose the Channel — portal message with email fallback, email only, or SMS text.
  2. Write the message with placeholders. Fill the Subject and Body. Personalization placeholders are filled in per patient at send time — type them literally:
    • {{first_name}}, {{last_name}}, and {{full_name}} — the patient’s name.
    • {{org_name}} — your practice name.
    • {{portal_url}} — a link to the patient portal.
  3. Pick the audience and review the preview. Choose a Patient list as the audience, then read the recipient preview — it resolves the channel for each patient (for example a portal recipient with no account shown as email), and marks each one Deliverable Yes or No with the reason (such as No phone number on file). Patients who have opted out of SMS are excluded automatically.
  4. Mind the SMS limits. On the SMS channel a live 160-character counter tracks the body, and the 25-recipient cap auto-trims a larger audience — an amber alert tells you when the list has been limited so you can split a big cohort across runs.
  5. Add reminders to re-ping non-responders (optional). Reminders automatically follows up patients who haven’t responded — set the cadence (days between attempts), Max attempts, and the Reminder channel.
  6. Schedule for later (optional). Schedule sets a Send at date and time, interpreted in your clinic’s timezone, so a campaign can go out at a sensible hour instead of immediately.
  7. Save or send. Finish with Save draft to come back later, or Send now — or Schedule if you set a send time — to launch it.
Campaign composer with channel cards, Subject and Body fields, and a placeholder hint
The composer — pick a channel, write the Subject and Body, and use the personalization placeholders.
Audience preview table showing 14 total and 14 deliverable, with each patient's resolved channel as Portal or Email and Deliverable Yes
The audience preview — resolved channel per patient and a Deliverable Yes/No with reasons, here 14 of 14 deliverable.
SMS channel selected with a 160 of 160 character counter and an amber SMS limited to 25 recipients cap alert
On SMS, the 160/160 character counter and the amber SMS limited to 25 recipients cap alert.
Reminders cadence showing Day 3 and Day 7 with Max attempts and Reminder channel, and a Schedule Send at field with a clinic-timezone note
Reminders (cadence, Max attempts, Reminder channel) re-ping non-responders, and Schedule sets a Send at time in the clinic timezone.
Send now delivers real messages to live patients. Check the recipient preview first — confirm the channel resolution, the deliverable count, and the placeholder text in your Body. SMS opt-outs are re-checked at send time, so a patient who unsubscribes after you composed the campaign is still dropped before delivery.
16.8Track engagement

Track delivery and engagement

Once a campaign launches, its detail page becomes a live dashboard — you watch the rollups climb as messages send, open, and get answered, and you can drill into any single patient to see what happened on their channel.

  1. Read the stat cards. Six cards summarize the campaign at a glance: Total (recipients), Sent, Opened, Responded, Reminders sent, and Failed.
  2. Drill into the recipient table. Below the cards, one row per patient lists Patient, Channel, Status, Sent, Opened, Responded, Reminders, and Error — so a failed delivery shows both the patient and the reason it didn’t land.
  3. Know what counts as a response. What “responded” means depends on the campaign’s definition — either Opened or replied (any engagement counts) or Replied only (an actual answer is required). Email opens are detected by a tracking pixel; SMS and portal replies register as they arrive.
  4. Stop future reminders. Cancel campaign halts any scheduled reminders that haven’t fired yet. It does not unsend messages already delivered — once a message has gone out, it’s with the patient.
Engagement updates as it happens. The stat cards and recipient table refresh as opens and replies come in, so a campaign with reminders keeps reporting over days — revisit it to see the cumulative response before deciding whether a phone follow-up is needed.
Open tracking has limits. Email opens depend on the patient’s mail client loading the tracking pixel — clients that block images will under-report opens — so treat Opened as a floor, not an exact count, and lean on Responded for true engagement.

Need help? Email support@heroemr.com.