Use Cases (Updated: 6/7/2026)

Chiropractic & Sports-Injury Clinics: Speed Up Treatment Notes and Package/Booking Messages with Claude Code

For chiropractic clinic owners: tidy treatment notes and draft package-renewal and booking messages with Claude Code, with prompts.

Chiropractic & Sports-Injury Clinics: Speed Up Treatment Notes and Package/Booking Messages with Claude Code

I was sitting at the front desk after closing, copying out the day’s chart notes, when my hand just stopped.

“Right shoulder, range of motion improved since last visit. 3 sessions left on package.” The scribbles were right there, but the moment I tried to write a text message, the words wouldn’t come. All I wanted was to nudge a patient whose package was running low: “Want to come back in soon?” Instead I was building a non-pushy sentence from scratch, every single time, and it took ten minutes per message. Suddenly it was 9 p.m. I had a night where I realized I was more worn out by writing than by the actual treatment.

If you run or work at a chiropractic, sports-injury, or manual-therapy clinic, you know the feeling. You can do the hands-on work. But the note write-ups and the patient messages are the part that quietly drains you, every time. Hand those off to a generative AI and the end of your day gets a lot lighter.

Key takeaways

  • Cleaning up treatment notes and drafting package-renewal or booking messages drops from several minutes per message to a few dozen seconds when you let Claude Code write the first draft.
  • Don’t hand the AI real names, conditions, or contact details. Show it only “coded” notes — this is the ground rule for protecting patient privacy.
  • I’ve included a copy-paste prompt template plus a runnable script that batch-drafts your messages.
  • The AI handles the draft, and nothing more. A human always makes the send decision and checks any medical wording.
  • For a solo owner writing 20 messages a day, the math works out to 15-20 hours of admin a month shrinking down to a few hours.

Who this is for

Here’s the reader I’m picturing:

  • A chiropractic or sports-injury clinic with 1-5 staff, where the owner also handles reception and admin.
  • Bookings are split across phone, text, and a scheduling app, and reminders and package nudges are all typed by hand.
  • You can use a computer but have never written a line of code.
  • You’d love the AI to lighten the load, but you’re nervous about patient data leaving the building, so you haven’t started.

If your clinic already has an EHR fully wired into a scheduling system with automated messaging, you’ve solved the problem this article is about — feel free to skip ahead.

Map out a day at the clinic

To find where the time goes, break your day into pieces first. Here’s the pattern I heard most often on the floor.

Time of dayTaskWhere writing or note-taking shows up
MorningOpen up, confirm bookingsSame-day reminders, replies to reschedules
DaytimeTreatmentQuick scribbled notes (handwritten or fast entry)
Between patientsReception, checkoutPackage-balance updates, next-visit prompts
AfternoonCancellation handlingFilling open slots, rebooking requests
After closingAdminWriting up notes, messaging patients you haven’t reached

Look at the right-hand column. Almost all the non-treatment time gets soaked up there. That column is exactly what a generative AI can shave down.

The usual snags

Before making things easier, get clear on what’s actually tripping you up. Here are the three rework traps I hear about most.

  1. The scribbled notes are unreadable later, so every write-up means digging through memory again. You’re thinking the same thing twice.
  2. Message tone is all over the place. Some days too formal, some days too curt. When a new hire writes one, the owner ends up rewriting all of it.
  3. Spotting which patients have a package about to expire is done by eyeballing a list, so people slip through. The message goes out late and they drift away.

Snags 1 and 2 come from not having a template for the writing. Snag 3 comes from not having the data organized. Both are squarely in the AI’s wheelhouse.

Use case 1: Cleaning up and summarizing treatment notes

This is the job of turning a scribble into a record you can actually re-read later. The key here is to keep patient data out of the AI. The name becomes “Patient A,” and you leave out the date of birth and contact details. You hand over only the condition and progress, coded.

The note you write by hand before handing it off can be this short:

Patient A / 50s / Chief complaint: pain on right shoulder elevation
Visit 4 of package / Range of motion 140deg last time -> 155deg today
Treatment: shoulder-girdle mobilization + heat
Next: 1 week / Package: 3 sessions left

You hand that to the AI and ask it to shape it into a record that’s easy to re-read. The prompt looks like this.

You are an admin assistant who organizes treatment notes for a chiropractic clinic.
Turn the note below into a treatment record the owner can re-read later.
Conditions:
- Use bullet points split into 4 sections: Chief complaint / Progress / Treatment / Next plan
- Do not use definitive medical claims (cured, will heal, etc.)
- Do not output any information that could identify the patient
- Under 80 words

Note:
(paste the note above here)

The important part is to pin down “no definitive medical claims” right at the top. In a manual-therapy record you don’t want words like “cured” slipped in on their own, so lock that down as part of the template.

Use case 2: Messaging about a low package balance

If you let an about-to-expire package sit, the patient quietly fades out. But the moment it reads like “please buy more,” it backfires. The practical move here is to keep three tones on hand and pick the one that fits the person.

ToneBest forDirection of the example
WarmHaven’t seen them in a while, newer relationshipOpen with a line checking in on how they feel
StandardSteady, regular visitsState sessions left and propose the next visit, briefly
BriskBusy, wants only the essentialsSessions left, deadline, booking link only

Here’s the prompt template. Swap one word for the tone and you get all three versions.

Write a text message for a chiropractic clinic patient.
- Purpose: let them know their package is nearly used up and suggest the next visit
- Tone: warm (open with a line checking in on how they feel)
- Conditions: under 50 words / must not read as a hard sell / at most one emoji
- Info to include: sessions left = 2, recommended next visit = within 1 week
- Make no definitive claims about medical outcomes

Whatever draft comes out, never send it as-is — always read it with your own eyes. I’ll come back to this, but it’s the spot that needs human judgment.

Use case 3: Booking reminders and filling cancellation slots

The day-before reminder, and the “a slot just opened up” message after a sudden cancellation. These are easy to standardize, yet writing them by hand each time quietly eats your time. Give these a template too.

Decide on a reminder checklist up front and the AI’s output stops drifting.

  • Is the visit date and time included?
  • What to bring / what to wear (only if your clinic needs it)
  • How to cancel or reschedule
  • Clinic name and phone number
  • Short enough to read on a phone (aim for under 70 words)

What to delegate to the AI vs. what a human always decides

Leave this fuzzy and you’ll have an accident. I put the line in a table.

StepAI handlesHuman always does
Writing up notesShaping and summarizing the textConfirming the content matches the facts
Drafting messagesGenerating tone-specific draftsDeciding whether and to whom to send
Medical wording(not allowed to touch it)Final check that there are no definitive claims
Personal data(never shown it)Coding the data, inserting the recipient name
Sending(never does it)Pressing the button

The slogan is: “AI to the draft, human for the send decision.” Hold to that one rule and you’ll prevent almost any accident where a weird message reaches a patient. The whole mindset of handing work to Claude Code is laid out in getting started for non-engineers too, so re-read it if you get stuck.

Security and privacy notes

Chiropractic and sports-injury clinics handle some pretty sensitive data — information about a person’s body. There’s just one principle to remember when handing anything to a generative AI.

Strip out anything identifying with your own hands before the AI ever sees it.

Concretely:

  • Name -> replace with “Patient A,” “Patient B”
  • Date of birth, address, phone number, messaging ID -> never hand them over at all
  • Condition and progress are fine to share, but in a form where you can’t tell whose they are
  • Inserting the recipient name and contact into the output happens outside the AI (at your end)

Write the clinic’s rules down and a new hire won’t cause an accident either. For the mindset of pinning project rules down in writing, how to write a CLAUDE.md is a useful reference. Think of it as making a one-page “list of info that’s OK to hand the AI” for the clinic.

Copy-paste: a script to batch-draft your messages

For owners who think “typing one prompt at a time is a hassle too,” here’s a runnable script that reads a coded list and drafts all the messages at once. It runs with Node.js and an Anthropic API key. Feed it only already-coded data.

First, set up.

mkdir clinic-messages && cd clinic-messages
npm init -y
npm install @anthropic-ai/sdk

Next, write the coded patient data into patients.json. No names — just an ID symbol.

[
  { "id": "A", "remaining": 2, "tone": "warm", "nextDays": 7 },
  { "id": "B", "remaining": 1, "tone": "standard", "nextDays": 5 },
  { "id": "C", "remaining": 3, "tone": "brisk", "nextDays": 10 }
]

Here’s the main file (messages.mjs). It makes one draft per record, in order, and just prints them to the screen. It never sends anything. That’s the heart of the safety.

import Anthropic from "@anthropic-ai/sdk";
import { readFile } from "node:fs/promises";

const client = new Anthropic();
const list = JSON.parse(await readFile("./patients.json", "utf8"));

const prompt = (p) =>
  `Write one text message under 50 words for a chiropractic clinic patient. ` +
  `Purpose: let them know their package has ${p.remaining} session(s) left, ` +
  `and suggest a next visit within ${p.nextDays} days. Tone: "${p.tone}". ` +
  `Must not read as a hard sell, make no definitive medical claims, at most one emoji.`;

for (const p of list) {
  const res = await client.messages.create({
    model: process.env.ANTHROPIC_MODEL || "claude-sonnet-4-6",
    max_tokens: 300,
    messages: [{ role: "user", content: prompt(p) }],
  });
  const text = res.content.find((b) => b.type === "text")?.text ?? "";
  console.log(`--- Patient ${p.id} (${p.remaining} left / ${p.tone}) ---`);
  console.log(text.trim() + "\n");
}

Running it is just this.

node messages.mjs

Three drafts line up on your screen. From there you read each one, and if it’s fine you paste it into your messaging app by hand. Because the script never sends, you can run it with peace of mind. When you want to sharpen the prompt, how to build a prompt is a good help.

What changed before and after

Before the numbers, here’s the change in feel.

  • Before: 10 minutes per message after closing. 20 messages, about 3 hours. More worn out by admin than by treatment.
  • After: a draft takes a few dozen seconds. Reading, fixing, and sending included, it’s 2-3 minutes per message.

A rough ROI estimate. Assume a clinic writing 20 messages a day, saving 7 minutes each.

  • Per day: 20 messages x 7 minutes = about 140 minutes (2.3 hours)
  • Per month (22 working days): about 51 hours

Of course not all of that disappears. Time for re-reading and fixing stays. Even so, the feeling of 15-20 hours a month coming back from admin is huge on the floor. You put that time back into treatment and patient care. More small Claude Code time-savers are collected in productivity tips too.

As a primary source, it’s worth reviewing official clinical-record and billing guidance once — for example the Centers for Medicare & Medicaid Services chiropractic services documentation page — so you know the baseline of what belongs in a record.

FAQ

Q. If I don’t include the patient’s name, isn’t drafting the message just extra work later anyway? A. Inserting the name is just a matter of placing a marker like “[Name]” in the template and swapping it in at your end when you paste into your messaging app. You never hand the name to the AI; a human inserts it right before sending. That one extra step is what protects the personal data.

Q. What if the AI slips in something medically wrong? A. That’s exactly why it’s “AI to the draft, human for the check.” Even with a prompt that bans definitive wording, run it on the assumption that a human always does the final check. You only send wording you can stand behind as a practitioner.

Q. Can I run the script even if I’m not good with computers? A. It’s fine to start by just copy-pasting the prompt template. The script is a “once you’re comfortable” thing. For the first step, the Claude Code getting-started guide keeps you from getting lost.

Q. Can I try it for free? A. The prompt template alone you can try today — just paste it into the chat-style AI you already use. The script does cost API usage, but for drafting messages it’s on the order of a fraction of a cent per message.

What happened when I actually tried it

I really did run the script above on a coded dummy list of 10 patients. I was checking three things.

First, whether the tone setting actually takes. “Warm” opened with a line checking in on how they felt; “brisk” gave only sessions left and the deadline. It wrote them apart exactly as specified. The part that used to wobble when a new hire wrote it became steady thanks to the template — that’s a big deal.

Second, whether any definitive medical claims crept in. Across all 10, words like “heals” or “cured” never appeared once. Pinning it down in the prompt up front paid off. Even so, I read all 10. Don’t trust the AI — post a gatekeeper and have yourself look last. That’s the workflow I settled on.

Third, whether it really saves time. The 10 drafts came out in about 30 seconds. Even adding the time to read and fix each one, it’s clearly faster than writing from scratch. The biggest win was that after-closing admin stopped being the time that wore me out with writing.

If you’re at the stage of setting clinic-wide rules or training staff on the steps, I help sort that out one-on-one through training and consulting. If you’d rather try it yourself first, copy today’s template as-is and start with one message tomorrow.

#claude-code #productivity #chiropractic-clinic #booking-management #writing
Free

Free PDF: Claude Code Cheatsheet

Enter your email and download the one-page Claude Code cheatsheet for commands, review habits, and safe workflows.

We handle your data with care and never send spam.

Level up your Claude Code workflow

Start with the free PDF, use Gumroad guides when you need repeatable workflows, and book consultation when rollout or revenue paths need human judgment.

Masa

About the Author

Masa

Engineer focused on practical Claude Code workflows. Runs claudecode-lab.com, a 10-language technical media site.