How a Community Pharmacy Can Speed Up Counseling Notes and Inventory Reorders With Claude Code
For pharmacy staff: clean up counseling notes and build reorder lists with Claude Code, with copy-paste prompts and a check script.
It was early evening at the pharmacy. After the rush of prescriptions died down, I looked at my counter and found about ten sticky notes and scraps of paper.
“This patient keeps forgetting her morning blood pressure pill.” “Patient on warfarin, talked about leafy greens and vitamin K, check again next visit.” Hurried counseling notes, scrawled between handing out medications. Writing these up cleanly into the patient record was my usual after-hours job.
The hard part was never the messy handwriting or the volume. It was that when I copy things over with a tired brain, I make mistakes. Once I started writing a note into the wrong patient’s record and caught it just in time. I noticed before anyone took the medication, thank goodness, but ever since that day I’ve thought: the more mindless the task, the more I want a machine to do the prep work first.
So I tried Claude Code. Let the AI clean up my scrawled notes and pull reorder candidates out of an inventory count. I do the final check myself. Since I split the work this way, my after-hours admin load has gotten a lot lighter. Today I’ll walk through exactly how I ask for it, in a form any pharmacist or tech can copy starting today.
Key takeaways
- Claude Code is a tool that tidies up “files made of text” using plain-English instructions. It’s a good fit for prep work: cleaning up counseling notes, organizing inventory sheets, and pulling out reorder candidates.
- Hand off only “formatting, sorting, and extracting.” Pharmaceutical judgment, interaction checks, and the final reorder quantity are always decided by the pharmacist.
- Never hand over personal information as-is. Decide up front: replace patient names with codes, and run it inside your own closed environment.
- I’ve included template prompts and a check script, so you can copy-paste them and just adjust to your own pharmacy’s format.
- In my experience, cleaning up notes and building the reorder list frees up 30 to 60 minutes of admin time a day.
Where the time leaks in a community pharmacy
First, let me be clear about who this is for. This article helps a setting like this:
- An insurance/community pharmacy filling 40 to 120 prescriptions a day, with 2 to 4 pharmacists
- Patient records and inventory split between pharmacists and pharmacy techs
- You have a dispensing/records system, but “writing up notes” and “tallying the count” are still done by hand
Lay out the pharmacy’s day as a workflow and you can see where the time leaks.
| Stage | Main task | Where rework creeps in |
|---|---|---|
| Intake and prescription review | Verify the script, query the prescriber | Jotting down what to log later |
| Filling and verification | Picking, double-check | Noticing a stock-out right before handoff |
| Dispensing and counseling | Talking with the patient, verbal confirmation | Stashing scrawled notes temporarily |
| Record entry | Copy notes into the patient record | Reading the handwriting, mixing up patients |
| Inventory and reorder | Stock count, deciding order quantities | Typos when copying into a spreadsheet, missed orders |
The two stages I’d bold are the last ones: “record entry” and “inventory and reorder.” In both, only part of the work needs real judgment. The rest is copying, formatting, and sorting, all mindless. That’s where Claude Code earns its keep.
If Claude Code itself is new to you, skim Getting started for non-engineers and the Claude Code getting started guide first, and the steps below will click much faster.
Use case 1: Turn scrawled counseling notes into a clean record draft
Scribble what you confirmed verbally as quick bullet points, then hand them to Claude Code to format into the shape of a patient record. Ask it to rearrange them into SOAP format (S = subjective/what the patient reports, O = objective findings, A = assessment, P = plan) and the write-up gets much faster.
The trick when asking: don’t hand over the patient’s name. At the note stage, use codes like “Patient A” and “Patient B.”
Here’s an example of the kind of note I want cleaned up.
Patient A, woman in her 60s
Amlodipine 5mg, continue
Often forgets morning dose, says mornings are hectic before work
Suggested a pill organizer -> check response next visit
Home BP, systolic around 140s
Here’s the template prompt to attach to that note. Just paste your own note below the ---START--- line and it runs.
You are an assistant helping with patient-record entry at a community pharmacy.
Format the hurried note below into a SOAP-format record draft.
Rules:
- Sort the content into the four headings S/O/A/P. If you can't decide, put the
item under A and append "(needs review)" at the end.
- Do not invent any information that isn't in the note. Do not add pharmaceutical
assessments or suggestions.
- If there is any personally identifying information (name, date of birth, phone
number), mask it as "[PII]".
- At the end, list up to 3 "points the pharmacist should verify" as bullets.
---START---
(paste the hurried note here)
The key is to spell out “do not invent any information that isn’t in the note.” Without that line, the AI helpfully tacks on generic statements like “a systolic target below 130 is preferable.” A patient record is a record of facts, so unrequested additions only get in the way.
A pharmacist then reads the draft, adds the pharmaceutical assessment in their own words, and copies it into the records system. Holding that line, “prep work by AI, judgment by a human,” is what matters.
Use case 2: Pull only the reorder candidates out of an inventory count
The painful part of inventory is staring at the count and eyeballing “which ones are running low.” Hand that to Claude Code and it’s fast.
Prepare the count as a CSV (inventory sheet). It contains no patient information at all, so there’s little to worry about with personal data, which makes it an easy subject to start with.
drug_name,strength,on_hand,avg_daily_use,reorder_point,manufacturer
Amlodipine ODT,5mg,180,22,150,Maker A
Loxoprofen tab,60mg,95,40,200,Maker B
Rebamipide tab,100mg,420,18,150,Maker C
Magnesium oxide tab,330mg,60,35,150,Maker D
Here’s the template prompt to attach to that CSV.
You are an assistant helping with inventory management at a community pharmacy.
Read the inventory CSV below and output the reorder candidates as a table.
Decision rules:
- Compute "days remaining" as on_hand / avg_daily_use, shown to one decimal place.
- Mark items where on_hand is below reorder_point as "REORDER", and items with
fewer than 5 days remaining as "URGENT".
- Sort by days remaining, shortest first.
- Do not compute a recommended order quantity. The final quantity is decided by
the pharmacist, so present decision material only.
Output only a table with the columns: drug_name / strength / days_remaining /
status / manufacturer.
Again I’m nailing down “do not compute a recommended order quantity.” Order quantities shift with lead time, minimum order units, promotions, and seasonal factors, so if you let the AI produce a number, you get a figure that “looks plausible but doesn’t fit the real floor” walking around on its own. The AI handles extraction and sorting only; the human decides. Keep that.
Use case 3: Machine-check the reorder list for gaps with a verification script
Finally, double-check the AI’s formatted reorder candidates with a program. Rely on the human eye alone and you’ll miss something on a busy day, every time.
The script below reads the count CSV and mechanically surfaces every item that has dropped below its reorder point. It runs if you have Node.js. You use it to cross-check against the AI’s output and confirm nothing slipped through.
// check-stock.mjs : mechanically extract items that need reordering from the count CSV
import { readFile } from "node:fs/promises";
const csv = await readFile("./stock.csv", "utf8");
const [header, ...rows] = csv.trim().split(/\r?\n/);
const cols = header.split(",");
const idx = (name) => cols.indexOf(name);
const iName = idx("drug_name");
const iStock = idx("on_hand");
const iUse = idx("avg_daily_use");
const iPoint = idx("reorder_point");
const alerts = [];
for (const line of rows) {
const c = line.split(",");
const name = c[iName];
const stock = Number(c[iStock]);
const use = Number(c[iUse]);
const point = Number(c[iPoint]);
// Don't silently skip rows with broken numbers; warn instead (the goal is catching typos)
if ([stock, use, point].some((n) => Number.isNaN(n))) {
alerts.push(`${name}: numbers are unreadable. Check the CSV.`);
continue;
}
const daysLeft = use > 0 ? (stock / use).toFixed(1) : "inf";
if (stock < point) {
const urgent = use > 0 && stock / use < 5 ? "[URGENT]" : "[REORDER]";
alerts.push(`${urgent} ${name}: on hand ${stock} / ${daysLeft} days left`);
}
}
if (alerts.length === 0) {
console.log("No items below their reorder point.");
} else {
console.log("Items to consider reordering:");
alerts.forEach((a) => console.log(" - " + a));
}
Save your count CSV as stock.csv in the same folder and run it like this.
node check-stock.mjs
The value of this script isn’t the speed of the math. It’s that it warns you about rows with broken numbers instead of silently skipping them. Typos where someone fat-fingers a digit on the on-hand count are common on the floor, and with this in place the machine catches the row where “12” became “1200.” Run it as a two-step safeguard: only put an item on the reorder list when the AI’s formatted result and this script’s output agree.
Once you want to grow the script into your own pharmacy’s format, Advanced prompt engineering and Productivity tips are good references.
What to delegate to AI, and what a human must always decide
Here’s the dividing line as a single table. Settle this up front and you won’t hesitate on the floor.
| Task | OK to delegate to Claude Code | A human (pharmacist) must decide |
|---|---|---|
| Counseling notes | Formatting, rearranging into SOAP | Pharmaceutical assessment, counseling plan |
| Interactions and co-meds | Listing items that might apply | Judging the interaction, whether to query the prescriber |
| Inventory sheet | Computing days remaining, extracting candidates | Order quantity, supplier, and timing |
| Document drafting | Drafting notices and postings | Final wording responsibility, whether to post it |
The rule of thumb when you’re unsure is simple. Anything where a mistake touches patient safety, a human does all of it. Only formatting, sorting, and extraction, the kind of thing where you’d catch a mistake just by glancing at the source data, goes to the AI. Hold that one line and the AI becomes a safe pair of hands for the grunt work.
Non-negotiable notes on privacy and security
A pharmacy is a stack of sensitive personal data. Here it’s better to err on the side of being too careful.
- Don’t hand over information that can identify a patient. Replace names, dates of birth, insurance IDs, and phone numbers with “Patient A” or “[PII]” at the note stage. A human restores the real name after formatting.
- Confirm how your input data is handled. For business use, choose a contract and settings where your input isn’t used to train the model. Before you experiment on your own, always check your organization’s policy and the terms of service. If you’re unsure, talk to your pharmacist-in-charge or whoever manages information before using it.
- Keep patient data out of the inventory CSV. The inventory sheet is unrelated to patients, which makes it easy to handle. Put another way: keeping record-related data and inventory data in separate files is itself an accident-prevention measure.
- Don’t wire the output straight into your records system. A human must always read the AI’s output before transcribing it. Don’t build an integration that writes automatically into the production system, at least not at first.
It’s also worth reading the official guidance once. In the US, the HHS HIPAA Privacy Rule is the baseline for how patient health information must be handled, and it’s the standard your AI workflow should respect.
What changed before and after, and a rough ROI
The numbers shift with the size of the pharmacy, so treat this as my rough, felt estimate.
- Writing up counseling notes: a 3-minute write-up per note becomes 1 minute when I’m just fixing up a formatted draft. At 20 notes a day, that’s about 40 minutes saved.
- Surfacing reorder candidates: the 20-minute visual check after the count becomes roughly 5 minutes with extraction plus the verification script. About 15 minutes saved.
- Together, roughly 30 to 60 minutes a day. At 20 working days a month, that pencils out to 10 to 20 hours of admin time freed up monthly.
What you do with the freed time is the real point. In my case I put it toward refining reorder accuracy and prepping to raise the quality of my counseling. Cutting admin wasn’t the win in itself; the win was that I had more time to spend on judgment.
For the rollout plan and how to spread it across the team, the “write your rules into a file and share them” approach I laid out in How to write a CLAUDE.md applies directly. Write your pharmacy’s format and prohibitions into a file and anyone who asks gets a draft of the same quality.
If you’re at the stage of wanting to set up operating rules across the whole pharmacy and start safely, including how personal data is handled, the fastest path is to design it together in training and consulting tailored to your floor. You can cover rolling it out to multiple stores and building staff-facing procedures all in one go.
FAQ
Q. Is it legally OK to put patient-record content into an AI? A. Avoid sending anything that can identify a patient to an outside service with the identifiers intact. If you run it so the AI formats a coded note and a human restores the real name, you never let personal data leave your hands. Confirm the final yes/no against your own policy and the terms of service.
Q. Can I connect it directly to my dispensing or records system? A. You can, but I recommend against it at first. Having a human verify the AI’s output before transcribing by hand causes the fewest accidents. Consider automating only once you’re comfortable and have a way to stop the process.
Q. Can a pharmacy tech who isn’t tech-savvy use it?
A. Yes. All you do is ask in plain English. The verification script only needs setting up once; after that you just run the node command.
Q. Won’t it give me the order quantities too? A. Technically it can, but I don’t recommend it. Order quantities involve lead time, minimum units, and seasonal factors, so keep it to presenting candidates and let the pharmacist decide the quantity.
What I actually found when I tried it
I tested it for a week with 20 notes from my own pharmacy and one inventory sheet. The one thing I wanted to confirm was: “does this get easier without causing accidents?”
Formatting the counseling notes was fairly accurate at sorting into SOAP. The instruction to push uncertain items into A and tag them “(needs review)” worked well, and the spots I needed to check became obvious at a glance. On the runs where I loosened the instruction, sure enough, generic additions crept in. I confirmed firsthand just how important that one “do not invent” line is.
For inventory, the verification script earned its place. When I cross-checked it against the reorder candidates the AI extracted, it found one digit typo. A row where the on-hand should have been “45” had been entered as “450,” and both the AI and the script had judged it “overstocked, no reorder needed.” The cause was a transcription error in the source data. More than the AI’s cleverness, a mechanism that doesn’t let a broken number slip past is what actually works on the floor, I thought again.
The conclusion: cleaning up notes and prepping reorder candidates are tasks I can hand off with confidence. Judgment by the human, grunt work by the AI. Hold that split and the admin side of a community pharmacy gets reliably lighter.
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.
About the Author
Masa
Engineer focused on practical Claude Code workflows. Runs claudecode-lab.com, a 10-language technical media site.
Related Posts
The Agency Permission Checklist Before Claude Code Edits a Client Site
A client-work permission checklist for safe AI-assisted edits on landing pages and websites.
Turn SaaS Support Bug Reports Into Repro Steps With Claude Code
A support-team workflow for converting vague tickets into safe, reproducible bug reports.
Turn Stale Obsidian Notes Into a Claude Code Brief in 10 Minutes
Obsidian notes that turn to mush when pasted? Sort them into facts, decisions, and unknowns so Claude Code can act on them right away.
Related Products
50 Battle-Tested Claude Code Prompt Templates
Copy, paste, ship. 50 production-ready prompts.
Use proven prompts for code review, refactoring, testing, documentation, debugging, architecture, and incident response.
The Complete Claude Code Setup & Configuration Guide
From install to team-ready workflow.
A practical guide to installation, CLAUDE.md, hooks, MCP servers, permissions, IDE setup, and CI/CD workflows.