Skip to content
Help

Search help

Search the help pages by title or section

Reports

Data feed for your own BI tool

Pull visits, charges, payments, episodes and appointments into your own business intelligence tool with an API key, without patient names or contact details.

If your clinic runs its own business intelligence or spreadsheet tool, it can pull NeatPractice's reporting data on a schedule through the data feed. The feed is read only: it never changes anything in NeatPractice.

What the feed holds#

Each dataset is one table. Rows carry record ids, dates, codes, statuses and amounts.

DatasetOne row per
visitsVisit, with its episode, discipline, provider, location, payer, date of service, times and status
chargesCharge, with its visit, procedure code, units, amount, expected allowed amount, payer and status
paymentsPayment, with its deposit, payer or patient, method, date received, amount and status
episodesEpisode of care, with its discipline, status, referral, start of care and discharge dates
appointmentsAppointment, with its type, location and times, and whether it was voided
appointment-patientsPatient on an appointment, with their attendance status
providers, locations, payers, disciplinesName tables to label the ids above

Instead of a patient's chart id, rows carry a patient key: the same patient has the same key in every dataset and every pull, so you can count and join patients, but the key is not used anywhere else in NeatPractice. The feed never holds patient names, birth dates, addresses, phone numbers, member ids, diagnoses or note text.

Set it up#

  1. In Setup, open Integrations and create an API key with the Read the reporting data feed scope.
  2. Give the key to your BI tool. It calls GET /reports/feed/<dataset> with the key.
  3. The first pull asks for everything (or passes updatedSince to start from a date). Each response holds up to 1,000 rows (up to 5,000 with limit) and a nextCursor; pass it back as cursor while hasMore is true.
  4. Keep the last nextCursor. The next pull passes it to get only what changed since. A record that changed again comes back with its new values, so keep the latest copy of each id.

Removed records stay in the feed with deleted set to true, so your copy can drop them. Voided visits and charges keep their rows with their voided status.

A member can also read the feed while signed in when their role has the Feed read permission under Reports and access to every location. Only Owner and Clinic Admin have it unless you add it to a role.

Who can see it#

  • Only a key with the reporting data feed scope, or a member with the Feed read permission and access to every location, can read the feed. The feed always covers the whole clinic.
  • Every pull is recorded: each patient behind the rows is logged in the PHI access log as an export, and the security audit log shows each read with the dataset and the number of rows.