Use Cases

Who Sends You Patients? Building Referral-Source Analytics on the API

A practice’s best marketing channel is usually another dentist — or a happy patient. Yet most practices cannot rank their referrers, and most outbound specialist referrals vanish into a fax machine. The data to fix both has been sitting in the PMS all along.

CRMBridge Team · September 15, 2026 · 8 min read
Dr. Grant (Endo) Provider · From Smile Ortho Group Organization · From Jane S. (patient) Patient · word of mouth Your practice GET /GetReferrals Leaderboard

The most valuable marketing data a practice already owns

Ask a practice owner where new patients come from and you will get a shrug and a guess: “mostly Dr. Grant, I think? And Google?” The real answer is recorded, referral by referral, inside the practice management system — every time the front desk fills in the “referred by” field. It just never comes back out.

That is a strange blind spot, because referral relationships are the highest-leverage growth channel a practice has. A referring dentist who sends twelve patients a year is worth cultivating — a thank-you call, a faster report turnaround. One who quietly stopped referring in March is worth a visit. And the patient who has sent three friends deserves to be treated like the ambassador she is.

The GET /GetReferrals endpoint pulls this data out in a normalized shape, so you can build attribution once and run it against any connected practice.

The data model in one minute

Each referral record links a patient to a source, with three fields doing the analytical heavy lifting:

  • ReferralType — what kind of entity the source is: Provider, Organization, or Patient.
  • Direction — which way it flowed: From means someone sent this patient to the practice (inbound); To means the practice sent the patient out, typically to a specialist (outbound).
  • ReferralSourceId — a stable identifier per source, which makes it the right grouping key. The record also carries the source’s name, specialty, and contact details, so your report needs no second lookup.

One field deserves special attention: ReferralSourcePatientId. When the referrer is another patient, it carries their PatientId — which turns word-of-mouth from folklore into a graph you can traverse.

Query 1: the inbound leaderboard

Pull a quarter of inbound referrals and group by source. This is the report every practice owner asks for first:

GET https://api.crmbridge.ai/v1/GetReferrals
BusinessID / APIToken / LocationId headers

{
  "Direction": "From",
  "FromDate": "2026-06-01",
  "ToDate": "2026-08-31",
  "Take": 1000
}

Group the rows by ReferralSourceId, count, and rank. Because each row carries Specialty, you can also split the board by referrer type — endodontists versus general dentists versus organizations — and spot which relationships are actually producing.

The upgrade that makes this a retention tool: compare the current quarter against the previous one and flag sources whose count dropped to zero. A referrer going quiet is the earliest, cheapest churn signal a practice will ever get.

Query 2: closing the loop on outbound referrals

Flip the direction and you get the other half of the story — the patients the practice sent out to specialists:

{
  "Direction": "To",
  "FromDate": "2026-08-01",
  "ToDate": "2026-08-31"
}

Now reconcile each row against the appointment book. An outbound referral to an oral surgeon that is never followed by a completed appointment — anywhere in the record — is a patient who may have fallen through the cracks with an unresolved clinical need. Surfacing that list weekly is a genuine standard-of-care improvement, not just an analytics feature.

Practical note: referral completeness varies by practice and by PMS — the data is only as good as what the front desk records, and not every system tracks every direction. Treat an empty result as “not recorded here” rather than “no referrals happened,” and check TotalCount before drawing conclusions.

Query 3: the word-of-mouth graph

Filter to "ReferralType": "Patient" and follow ReferralSourcePatientId. Every row is an edge in a patient-to-patient graph: Jane referred Tom, Tom referred his wife. Rank patients by how many edges originate from them and you have found the practice’s true ambassadors — the people a referral thank-you program should actually reward, rather than whoever happens to mention it at checkout.

For ongoing dashboards, skip the re-pulls: record the highest LastModifiedTime you have seen and pass it as LastModifiedFrom on the next run. You get only what changed — the same incremental-sync pattern we recommend for every list endpoint.

From report to product

If you build patient-engagement, marketing-attribution, or practice-analytics software, referral data is a differentiator precisely because so few products surface it. The three queries above are an afternoon of work each against a normalized endpoint — and they answer questions a practice owner will pay attention to in a way no vanity dashboard ever earns.

The full field reference, filters, and worked examples are in the API documentation under Referrals.

Turn the referral field into a growth engine

One API for patients, appointments, ledgers — and now referrals — across 40+ dental and veterinary practice management systems.