Where to find Cohorts: In the left sidebar, click Patients > Cohorts.
Prerequisites: You need Patients in the system before creating cohorts.
Create a Cohort
1
Go to the Cohorts Page
Navigate to Patients > Cohorts.
2
Click New Cohort
Click the New Cohort button. Give it a name and optional description.
3
Add Filters
Use the filter builder to define which patients belong to this cohort. You can filter by location, provider, tags, marketing opt-in status, and many other patient attributes.
4
Save
Click Save. You can preview the matching patients before saving.
Build a Cohort from a Contact List
Instead of filters, you can build a cohort from a specific list of people you already have — for example, a list exported from another tool or collected at an event.1
Start a new cohort
On the Cohorts page, click New Cohort. On the prompt screen, click paste a contact list.
2
Add the contacts
In the Create Custom Cohort window, paste emails or phone numbers (one per line) into the box, or drop a
.csv/.txt file or click Upload .csv or .txt. The window shows how many contacts it detected as you go.3
Name and save
Give the cohort a name, then save. Decoda matches the contacts to existing patients and builds the cohort from the ones it finds.
Appointment Date Filters
Four filters in the Appointments category target patients by when their appointments fall:- Has Appointment Between — patients whose appointment is scheduled within a date range, past or future. Click Limit to specific services to count only certain services, and Limit to specific statuses to count only certain statuses. Use it to reach everyone coming in next week, or everyone booked for a particular service.
- Has No Appointment Between and Has Appointment Between are opposites while you leave both of them alone: every patient falls into one or the other for a given window. Narrow either one to specific services or statuses and that stops being true — see Which appointments count.
- Completed Appointment Between — patients who completed an appointment within a date range you set. Click Limit to specific services to limit it to certain services; otherwise it counts any appointment.
- Appointment Created Between — patients whose appointment was booked within a date range, regardless of when the visit itself is. Use this to target people who booked during a promotion, or to reach everyone whose appointment was created since your last blast.
- Has No Appointment Between — patients with no appointment in a date range. Pair it with either of the two filters above to find, for example, everyone who came in last spring but hasn’t booked this spring.
Which appointments count
Has Appointment Between and Has No Appointment Between count every appointment in the window except cancelled ones. A patient who booked and then cancelled does not count as having an appointment, so they fall into Has No Appointment Between instead. Unpaid online booking holds — where a patient picked a time online but never paid the booking fee — do count. To change that, click Limit to specific statuses on Has Appointment Between. It opens showing is not Cancelled, which is the rule it was already using. From there you can either name the statuses you want with is, or keep excluding statuses with is not — click the small is / is not button beside a status to switch it. Picking is Pending on its own is the quickest way to reach everyone who has an upcoming appointment but hasn’t confirmed it yet. Picking is not Cancelled, No Show reaches everyone still expected to come in. Once you narrow by status, the two filters stop covering everyone between them. Has No Appointment Between has no status setting — it always means “no appointment at all in the window, cancelled ones aside.” So a patient who no-showed in the window is left out of Has Appointment Between · is Pending and out of Has No Appointment Between as well. If you need everyone accounted for, leave the status setting alone.Time Since Last Appointment
The Time Since Last Appointment filter (in the Appointments category) targets patients by how long it has been since their last visit. Enter a number and choose the unit — days, weeks, months, or years — so you can think in whatever cadence fits, for example “at least 4 months.” Click For specific services to measure the time against one or more services only. This is useful for recall: to reach Botox patients about 4 months after their last Botox, set the filter to 4 months and limit it to Botox. A patient who came in for a facial last week still counts as due, because only their Botox visits are considered. Leave the services empty to measure against any appointment. Because the filter is relative to today, it re-checks every time the cohort runs — so a recurring recall blast automatically picks up whoever has newly crossed the threshold. You can switch the unit at any time; the number rounds to a whole value of whichever unit you pick, so a threshold like 45 days reads as about 2 months.Membership Filters
Three filters in the Billing category target patients by their membership plans. Each one lets you click Limit to specific memberships to narrow the results to certain plans; leave that empty to count any plan.- Membership Enrolled — patients who started a membership within a date range you set. What counts is the sign-up date, not where the membership stands today: someone who joined in March and cancelled in May still shows up for March. Use it to check how one month’s sign-ups are holding up.
- Membership Anniversary — the same sign-up date, but matched on the month and day only, ignoring the year. Someone who joined on August 12 lands in an August anniversary cohort every year after. Use it for anniversary offers. It gives you the same choices as the Birthday filter: is between a fixed month/day range, is in the next or is in the past a rolling number of days, or is today, is this week, is this month, is next month.
- Membership Status — patients whose membership is in a status you pick, such as Active, Cancelled, Frozen, or Delinquent. Narrowing it to a plan answers questions like “who cancelled the Gold plan,” which the status on its own can’t.
Sending anniversary offers every month
Is this month, is this week, and the rolling-day options recalculate every time the cohort runs, so the anniversary cohort is never out of date. Save it once and pair it with a repeating sequence so the offer goes out on its own:- Is this month with a Monthly sequence — one send at the start of each month to everyone with an anniversary that month.
- Is in the next 7 days with a Weekly sequence — a smaller, closer-to-the-date send.
Discount Filters
Three more filters in the Billing category find patients by the discounts attached to them:- Discount Type — the kind of discount, so you can separate, say, staff pricing from a seasonal promotion.
- Discount Template — a specific saved discount, for when you want the patients on one named offer.
- Has Discount For (Item) — patients whose discount applies to a particular service or product.
Birthday Filters
The Birthday filter (in the General category) targets patients by the month and day of their birthday, ignoring the year. It offers several ways to pick the window:- is between — a fixed month/day range you choose (for example, all June birthdays).
- is in the next / is in the past — a rolling number of days before or after today.
- is today, is this week, is this month, is next month — today’s date, or the current or upcoming calendar period.
Marketing Opt-In Filters
The SMS Marketing and Email Marketing opt-in filters each offer three choices:- Yes — patients who have explicitly opted in.
- No — patients who have explicitly opted out.
- Not Set — patients who have never made a choice either way.

