Cookie preferences

Choose what we may use. Strictly necessary cookies keep you signed in and can't be turned off; everything else is your call and changes nothing about how the site works. You can change your mind any time from the footer.

For eClinicalWorks

A new primary care patient is worth a decade, not a visit.

Export collections from eClinicalWorks, upload the sources behind first visits, and rank channels on the patients who stay.

No API key Nothing to install in eClinicalWorksNothing to install No card requiredNo card

CloseRev reads an eClinicalWorks export of collected payments — the patient's phone or email, the amount and the date — and matches it against the searches, calls and bookings that produced the first visit. For primary care and other ongoing care, a patient's value is years of visits rather than the first appointment, so the report measures what each source added to the practice's panel over time. Collections with no traceable source are reported as Direct / Unknown.

Last checked against eClinicalWorks's own documentation on September 25, 2026.

The gap

New-patient appointments are counted every week. Which of those patients are still coming three years later, and where they came from, is not.

eClinicalWorks sees

What was sold, to whom, and for how much.

no shared row
Your ad account sees

The click, the keyword, the call, and what each one cost.

The file

What the export needs in it.

Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.

  1. Needed

    Patient phone or email

    On the patient record. It joins every later visit to the first one.

  2. Needed

    Amount collected

    Payments received from payers and patients together.

  3. Needed

    First visit date and visit type

    When the patient was first seen, and whether it was an office visit, urgent visit or virtual visit.

  4. Optional

    Location

    Which site, for practices with several. Local search behaves very differently between them.

Step by step

Getting the file out of eClinicalWorks.

Written for somebody with eClinicalWorks open in the next tab. Report names vary by edition, so each step says what to look for.

  1. Export collected payments by patient

    One row per payment with a contact detail, the amount and the date.

  2. Carry the first visit through

    Everything is grouped under the first visit, so the patient is credited to the source that first produced them.

  3. Export your lead sources

    Call tracking, online booking, local search, payer directories and referrals from other practices.

  4. Take two years at least

    Primary care value shows over years. A short window measures the first visit only.

  5. Upload both

    The join runs on the phone and the email, normalised, with results by visit type and location.

What comes back

The page eClinicalWorks cannot show you.

Revenue by channel, the count of sales behind each figure, and an honest bucket for the ones nobody could trace. Sample figures, from the worked example on the Medical Clinics page — not from a eClinicalWorks account.

Traced to a channel$269,10069% of $390,000
Sales matched90 of 134high confidence only
Average sale$2,930per paid sale
ChannelShareSalesRevenue
Google Ads41$148,200
Meta Ads33$81,900
Email marketing16$39,000
Direct / Unknown44$120,900

Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.

The argument

What changes when the patient and the ad share a row.

Primary care's unit is the panel, not the visit

A patient who chooses a primary care practice may come back several times a year for many years: annual checks, chronic care, the occasional acute visit.

Judged on the first appointment, every source looks similar, because a first visit is a first visit. Judged on the following two years, they separate.

Grouping collections under each patient's first visit and following them over a long window gives the number that matters: what each source added to the panel.

It also shows which sources produce patients who stay, which is a better guide to where to spend than cost per new-patient appointment.

The report shows the count of patients each figure rests on, because a small practice's two-year cohort can be small enough to mislead on its own.

Walk-in and urgent visits belong to local search, and are mostly untracked

Urgent and same-day visits are usually driven by proximity: somebody searches for care near them now and goes to the nearest option with a good rating.

Most of those patients call or walk in, so without a tracked number on the map listing they arrive with no source at all.

A distinct number on each location's listing turns that channel into a lead file, and a year later the practice knows what the listing produced.

It also shows how many urgent-visit patients became regular patients, which is often the most valuable thing an urgent-care line does for a practice.

Virtual visits bring patients from further away

A practice offering virtual visits can see patients who would never travel to its offices, and those patients arrive through different searches and different sources.

They often behave differently too: more one-off visits, fewer long relationships, sometimes a different payer mix.

Where the export marks the visit type, the report splits virtual-first patients from office-first patients, so each gets its own ranking.

Pooled together, a virtual channel that produces many single visits can look better or worse than it is, depending on which side of the average it sits.

Fee-for-service collections are not the whole of a patient's value

Where a practice takes part in value-based arrangements, some of the revenue a patient produces arrives as programme payments rather than as a fee per visit.

A report built only on visit collections undercounts the patients those programmes reward, and the undercount is not spread evenly across sources.

The report ranks on the collections in the file and says so. Where programme revenue can be attributed to a patient, adding it to the export makes the ranking complete.

Stating the basis matters here more than most places, because the same patient can be worth very different amounts depending on which revenue is counted.

It also changes what a source is worth. A channel that brings in patients with ongoing care needs can look ordinary on visit fees and very good once programme revenue is included, and the practice should know which view its budget is being set on.

Fair questions

“eClinicalWorks already does that.” Not quite.

They say

“eClinicalWorks already reports new patients.”

We say

It counts them. It has no record of what produced each one, and it cannot follow their value back to that source.

They say

“Our new-patient numbers are what we manage.”

We say

They measure first visits. In primary care, the years after the first visit are where the value is.

They say

“Most of our patients walk in.”

We say

Then a tracked number on each location's listing is the first change to make.

Questions

eClinicalWorks, specifically.

Something else? Ask us and a person answers.

No. It reads a file you exported, so your records, schedules and billing stay where they are.

eClinicalWorks and the other product names and logos on this page belong to their owners and are shown to identify the software a file comes from. CloseRev is not affiliated with or endorsed by them, and connects to none of them: it reads a file you export.

Start today

Two exports, and you will know.

Nothing to install in eClinicalWorks, no API key, and no need to have been tracking anything until now. Last year works as well as this month.