Every Friday morning I drop seven exports from my clinic's client software into one folder, click a single file, and by the time my coffee is poured every one of my 26 providers' clients is just a code: CLIENT_1, CLIENT_2. A scheduled task reads only that clean folder and hands me a dashboard: revenue, retention, who is overbooked, who is under, and the list of people who cancelled and never came back. My admin works that last list every Thursday and Friday with one phone script, and about a third of them rebook. This is the whole thing, one kit to unzip and a handful of plain questions.
You do not need to be technical, and you do not need any one practice-management system. This works from whatever you already export as a spreadsheet, whether that is a booking system, a CRM, or a plain point-of-sale report.
A private weekly dashboard. Revenue, retention, utilisation, cancelled-not-rebooked, built from your own exports, no matter which system you export from.
Every client turned into a code before any AI ever reads the file, checked twice: once by the script, once by your own eyes.
A recovery habit. The list of people who cancelled and never came back, with a script that gets a third of them back on the books.
Before you start
- A paid Claude plan. Pro works.
- The Claude desktop app (claude.ai/download), or ChatGPT Plus/Pro's desktop app if that is what you already use.
- A folder on your own computer, not inside Google Drive, iCloud, OneDrive or Dropbox. Patient and client files must never sync to the cloud.
- One week of exports from your client software, saved as CSV. If you are not sure it can do this, ask it: "how do I export my clients, appointments and revenue as a spreadsheet." Most systems can.
- The starter kit from this page. One zip: the folders, the redaction script, the dashboard, the instructions.
Step 1Make your decisions
Fill this in before you install anything. It becomes the config file the whole system reads from.
| Decision | Mine, so you can see the shape | Yours |
|---|---|---|
| Your business's name | Blueberry Therapy | |
| Whose hours to track as the owner | My name, as it appears in my client software | |
| Classes, groups or internal bookings to leave out of client counts | Group programs, staff meetings, admin blocks | |
| Anyone appearing under more than one spelling | "Dr. Jane Smith" and "Jane Smith," merged | |
| Do you sell online, and where | Shopify, for a small product line | |
| Your currency and timezone | CAD, America/Toronto |
Leave the goal lines (targets and red flags) at the kit's defaults for now. The first four weeks only measure, no targets, because a target borrowed from someone else's business is noise. In week four it proposes goals from your own averages, and you approve those before they go live.
Step 2Install the kit, ten minutes
- Download the starter kit (the button below) and unzip it.
- Move the folder to a plain local spot on your computer, for example
Documents\Clinic Scorecard. Not Google Drive, iCloud, OneDrive or Dropbox. - Open your AI assistant on that folder and paste Prompt 1.
The kit already holds the redaction script, the dashboard, the instructions and the templates. The install asks a few plain questions, fills in your answers, and proves the privacy layer on invented data before it finishes.
Where the kit is. The starter kit is one small zip file, clinic-scorecard-starter-kit.zip. On the web version of this guide a button sits right here to download it, beside the button that gave you this PDF. If someone sent you only the PDF, ask them for the zip or the link to the page.
You are helping me set up the Clinic Scorecard kit I just downloaded and unzipped into this folder. Read CLAUDE.md first, then follow it. STEP 1. Check where we are. If this folder's path contains "OneDrive", "Google Drive", "GoogleDrive", "My Drive", "Dropbox" or "iCloud", stop and tell me: raw client files must not sync to any cloud, and help me move the folder to a plain local spot first. STEP 2. Ask me these questions, one at a time, and update the config section of scorecard_data.json with my answers (keep everything else in the file exactly as it is): 1. My business's name. 2. Whose hours should this track as the owner (my name, as it appears in my client software). 3. Anything that shows up in my exports that is not an individual client: classes, group programs, meetings, admin blocks. 4. Anyone who appears under more than one spelling. 5. Do I sell online, and where, or "none." 6. My currency and my timezone. Then the "what matters to you" questions, same rhythm: what I am trying to make happen in my business over the next year (northStar), which three things matter most right now from more new clients, clients rebooking, filling providers' schedules, growing revenue, growing product sales, fewer no-shows, or protecting my own time (focusAreas), whether I want more, fewer, or steady hours seeing clients myself (ownerHoursDirection), and whether it is just me or a team (soloPractice). STEP 3. Check Python is installed: on Windows run "py --version" (fall back to "python --version"), on Mac run "python3 --version". If missing, walk me through installing it from python.org/downloads. On a Mac, also run chmod +x on "Redact This Week.command" so double-click works. STEP 4. Run the self-test, fake data only: create two invented sample rows in 1_Raw as a CSV (an obviously fake name, email and phone number, nothing real), run the redaction script, and confirm it prints CLEAN and that the fake identifying details do not appear anywhere in 2_Redacted. Then delete the fake files from 1_Raw and their outputs from 2_Redacted and keys. STEP 5. Report back: the full path of this folder, what you filled in, anything you could not answer, and the line "Your scorecard is installed. Next: your first real week whenever you have this week's exports ready." Then stop. Rules: never invent a value, write [to be filled] if I skip a question. Ask me question 1 now.
Step 3Your first real week, the eyes-on check
- This kit is not tuned to one system's exact column names, so this step matters more here than it would if it only had to work for one piece of software.
- Export one real week using the Export Checklist inside the kit, run the redaction, and open every file in
2_Redactedyourself before anything else happens, not just the one or two that look most like a client list. A real name is most likely to hide in the file that looks the least like one, a revenue report, a payroll export, anything with a column this kit has never seen. Every client should read as CLIENT_1, CLIENT_2, and so on. - Then your AI reads the files, works out what each one is, and shows you a table before it calculates a single number.
Look at every file in 2_Redacted. For each one, tell me what you believe it is (a visit or appointment list, a revenue report, a schedule report, a client retention summary, a list of clients with no future booking, or something else), which column you will use for each metric it can supply, and anything you are not sure about. Do not calculate anything yet. Wait for me to say yes, then save the confirmed mapping into scorecard_data.json under config.columnMap so you do not have to ask me again next week unless a new file shape shows up.
Step 4Run it every week
Once the mapping is confirmed, this is the whole routine: export, redact, ask, open the dashboard.
Run this week's scorecard from the files now in 2_Redacted, following the column mapping you already confirmed. Update scorecard_data.json, scorecard_data.js and the weekly report in 3_Output, then give me the one-line headline.
Step 5The recovery habit
The cancelled-not-rebooked list is the part of my own scorecard that pays for the whole build. Every Thursday and Friday my admin calls the clients on it, with one script: not "when would you like to book," but "I see you were in in the morning, would you like to book in in the morning again." About a third rebook who otherwise would not have.
Your AI only ever sees CLIENT_2, a last-visit date, and a provider, never a real name or number, because that is the whole point of the redaction step. Whoever makes the calls has to look up CLIENT_2's last-visit date in your actual client software to find out who that is and how to reach them. The script and the tally page below are what your AI can build. The lookup step is yours, in the system that already has the number.
From this week's cancelled-not-rebooked list in the scorecard (client codes, last-visit dates and providers, no names), write me a short phone script for calling these clients once I have looked each one up in my own client software, anchored to their last visit rather than asking an open-ended "when would you like to book." Then build me a small private page (one HTML file, no client names, just a tally) where whoever makes these calls can log how many they called, how many rebooked, and the reason given when someone says no. Do not include any client-identifying detail on the page itself.
What mine does for me now
- 26 providers, one dashboard. Revenue, retention and utilisation for every one of them, without me touching a spreadsheet.
- About a third back on the books. The recovery-call habit turns a list I used to ignore into found revenue every week.
- One line, before I open my email. The report tells me the best and worst metric and the size of the recovery list, so I know what today needs before I have opened anything else.
If you want me beside you while you build it, start with the free audit at The Bottom Line or write to me at kristen@blueberrytherapy.ca.