AI Software for a Community Pharmacy: Patient Reminders and Delivery Rounds

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Software for a Community Pharmacy: Patient Reminders and Delivery Rounds.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Software for a Community Pharmacy: Patient Reminders and Delivery Rounds.

A community pharmacy can use AI software for pick-up reminders and delivery rounds by splitting the work: the AI drafts the reminder wording and plans routes from de-identified lists, while the pharmacy system sends every message and holds every patient detail. No name, address or medicine should reach an outside tool.

That split is the whole design. A chat assistant is excellent at wording and at ordering stops; it is not a place for a patient list. So the first job is to separate what the assistant needs to see (a template, a stop code, an area) from what it never needs (who the patient is and what they take). Everything below follows from that line.

Follow me on Instagram@sagnikteaches

The data line: what the assistant sees and what it never does

Draw this table once, put it in your procedures and make every member of staff read it:

Connect on LinkedInSagnik Bhattacharya
TaskAssistant seesStays in the pharmacy system
Reminder wordingA template with placeholders such as [first name], [collection date]Patient name, contact details, consent, the medicines
Sending remindersNothingThe system's own messaging does the sending
Delivery routeStop code, broad area, time window, access note without detailName, address, medicine, signature record
Missed-delivery follow-upA wording templateWho missed, why, and any contact
Performance reviewCounts and percentagesIndividual records

If your pharmacy system has built-in reminders and a messaging module, use it for sending. It already knows which patients agreed to be contacted and how, and it logs what was sent. Check the current features and terms with your system vendor; this tutorial does not assume any particular product has them. If it has no messaging at all, ask the vendor whether an approved add-on exists before looking for a separate tool, because a separate tool means a copy of patient contact data somewhere else.

Subscribe on YouTube@sagnikteaches

For which patient channel to automate first, see AI agents for pharmacies: phone, chat or refill requests first. This tutorial assumes you have decided on reminders and rounds.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Writing pick-up reminders that people act on

A reminder has one job: get the patient to collect, or to tell you they do not need it. The wording matters more than the technology. Good reminders are short, say who is writing, state the action and the deadline, and say nothing clinical.

Four principles for the wording

  1. No medicine names. "Your prescription is ready" is enough. Messages are seen on lock screens and by other people.
  2. One action. Collect by a date, or reply to arrange a delivery. Not three options.
  3. A hold date. "We can keep it until Friday 14th" makes people act; "it's ready" does not.
  4. An easy way out. "Reply STOP to stop these messages" or your system's equivalent.

Ask the assistant for variants, not a single text

A prompt that works, with placeholders only:

I run a community pharmacy. Write five short text reminders (under 300 characters each) that a prescription is ready to collect.
Rules: no medicine names, no clinical detail, one action only, include the hold date as [hold date], greet with [first name], sign off "[pharmacy name]". Include a line on how to stop messages: [opt-out wording].
Vary the tone across the five: neutral, friendly, brisk, one for patients who have missed a first reminder, one for a prescription that is a repeat.

Illustrative output for the "missed first reminder" variant:

Hi [first name], your prescription at [pharmacy name] is still waiting for you. We can hold it until [hold date]. Pop in, or reply to arrange a delivery. [opt-out wording]

What you would fix: check the length against your system's text limit, and that "pop in" fits your voice. Also read it as a stranger who picks up the phone: nothing in it says what the prescription is for.

Match the message to the case

Not every prescription needs the same text. A repeat the patient collects every month can have a light reminder. A new medicine may deserve a message that invites a conversation with the pharmacist, without naming it. A delivery patient needs a message about the delivery window instead. Build four templates and let your system trigger the right one:

  • Ready to collect: first reminder, at the time the order is ready.
  • Hold date approaching: second reminder, a few days before the hold ends.
  • Delivery scheduled: window and what to expect, no contents.
  • Delivery missed: what happens next and how to rebook.

Review all four every quarter, because wording that was clear in spring may mislead once your opening hours or your delivery days change.

Measuring whether reminders reduce uncollected prescriptions

Do not guess. Count uncollected items for four weeks before you change anything, then count again after. An illustration: a pharmacy dispensing about 1,200 items a month returns around 60 uncollected items to stock in a typical month, which is 5 percent. After a second reminder is introduced, it drops to 42, 3.5 percent. These figures are invented to show the sum, not benchmarks. The calculation is: uncollected items divided by items dispensed, month by month, with the reminder change as the only change.

The value of an uncollected item is rarely only the stock cost. It includes dispensing time, the patient who went without, and the follow-up call. Even so, treat a fall in uncollected items as a hint, not proof, unless you made only one change. If a holiday or a new delivery service arrived in the same month, you cannot tell which did it.

Delivery rounds from a de-identified list

Delivery planning is a puzzle, and assistants are good at puzzles given the right inputs. The trick is giving them the puzzle without the patients.

Turn the list into stop codes

From your pharmacy system, export or copy tomorrow's deliveries into a spreadsheet. Then strip the sheet down to these columns only: a stop code (D1, D2, D3), a broad area (for example "north estate", "high street flats", "village road"), a preferred time window, and a one-word note such as "ground floor", "stairs" or "key safe", where this carries no clinical meaning. Delete name, full address and anything about medicines. Keep the key that maps codes back to patients in your system, not in the sheet you share.

Because the assistant sees only areas, it cannot sequence by street. That is deliberate. You give it enough to group stops, and your driver or a mapping app does the street-level order.

A main worked example

Say a pharmacy has 16 deliveries tomorrow, one driver, a round that must be finished by 4 pm, and six stops with morning-only windows. The stripped list shows four areas: North estate (5 stops), High street flats (4 stops, two morning-only), Village road (4 stops, one morning-only), and the retirement court (3 stops, all morning-only). The prompt:

Plan one delivery round for a single driver leaving the pharmacy at 1:00 pm. Stops are given as codes with a broad area and time window. Group stops by area, put morning-only stops first, and suggest an area order that minimises backtracking, assuming the areas are in a rough ring around the pharmacy in this order: High street flats, retirement court, North estate, Village road.
Allow about 6 minutes per stop, plus 8 minutes for the drive out to the first area and for each move between areas. Tell me the estimated finish time and flag any stop that risks missing its window.
Do not invent addresses or distances. If something needs a map check, say so.

Look closely at the inputs: six stops are morning-only, yet the round leaves at 1 pm. No order can satisfy that, which is exactly why you test with the assistant. A sensible one flags that the six morning-only stops cannot be met on an afternoon round. The fix is a morning round for those stops, or a call to move their window. The assistant has found a scheduling clash in seconds, before a driver finds it on the road.

Rerun with a 9:30 am start for a first round of the six morning-only stops (the two on High street flats, the three at the retirement court, then the one on Village road), and an afternoon round for the other ten. Illustrative arithmetic: six stops at 6 minutes is 36 minutes, plus three drives at 8 minutes is 24, a total of 60 minutes, so the morning round finishes at about 10:30. The ten afternoon stops (two on High street flats, five on North estate, three on Village road) take 60 minutes, plus three drives at 8 minutes, so 84 minutes in all, finishing at about 2:25 pm from a 1 pm start and well inside the 4 pm limit. The assistant handles the sum, and you check it by hand once.

What to do with the answer: copy the area order and stop order into your delivery sheet, map the stops yourself or in a mapping app, and have the driver confirm the order is sensible. The assistant has no live traffic, no roadworks and no knowledge of the one-way system, so the output is a draft.

Where this breaks, and what to use instead

A chat assistant starts to struggle around 20 or more stops, with several drivers, or when you need real distances and live traffic. At that point a dedicated route-planning tool will do the arithmetic more reliably. Before you pay for one, check what data it needs, whether it can work from codes rather than names, and whether the vendor will sign a data agreement if you do give it addresses. The more patient information a tool needs, the more it has to earn the access.

Five delivery situations to plan for in advance

  1. Nobody home. Set the rule: how long the driver waits, whether a call is made, and what happens to the parcel. Have the assistant draft a missed-delivery text template, with no medicine detail, giving the next delivery slot.
  2. Medicines needing a cool chain. If an item needs fridge storage, flag it in the stop note as "cool" so the round puts it first or has a cool bag. Check your storage and transport procedures; this is a pharmacist's decision, not an assistant's.
  3. Controlled items and signatures. Anything requiring a signature or identity check should be marked as such in the plan, and the procedure for it stays in your standard operating procedures.
  4. Frail or vulnerable patients. A "check on arrival" flag goes in the code note, kept generic. Your team decides what the flag means.
  5. A driver off sick. Keep a ready prompt that rebuilds the plan with the round split between two people or moved to the next day, and a template message to patients about a changed delivery day.

Put these in a short written procedure. The tutorial on writing pharmacy SOPs with AI shows how to draft the document, which the pharmacist then owns and signs off.

Testing a reminder on three kinds of patient

Before any template goes live, read it as three different recipients. A busy working patient wants the date and nothing else. An older patient who is not used to texts wants to know the message is really from you, so name the pharmacy at the start, not only at the end. A carer collecting for someone else wants to know that they can collect on the patient's behalf, which you can cover with a short line such as "someone else can collect for you; please bring [what you require]". Fill in your own collection rules rather than guessing them.

A before and after shows the difference. The first draft an assistant gives you might read: "Dear patient, this is a reminder that your prescription is available for collection at your earliest convenience." It is stiff, has no deadline and no pharmacy name. After one round of edits: "Hi [first name], it's [pharmacy name]. Your prescription is ready, and we can hold it until [hold date]. Reply here if you would like it delivered instead." Same facts, one action, a date, and a human voice. Ask the assistant to rewrite the stiff version in plain words and you will usually land close to the second.

Briefing the team in ten minutes

Tools fail at the counter, not in the settings. A short script for a team meeting does more than a long policy:

  • Reminders are written once, by the pharmacist, and sent only by the pharmacy system.
  • Nobody pastes a patient name, address, date of birth or medicine into any outside tool, ever. If you are unsure, ask.
  • Delivery plans are built from the stop-code sheet only. Anyone who finds a name on it removes it and tells the pharmacist.
  • The driver checks each plan against the map and reports clashes.
  • If a patient asks whether AI is used, the answer is the one-line version on the delivery slip.

The two-session AI training plan for pharmacists and counter staff expands this into practice exercises if you want more than a briefing.

A weekly look at missed deliveries

Once rounds run from codes, a weekly review is simple. Count deliveries planned, deliveries completed first time, and deliveries missed, each as a number with no names. Illustratively, across a week: 84 planned, 76 completed first time, 8 missed. That is a first-time completion rate of about 90 percent (76 divided by 84). Look at the 8 missed for patterns by area, window or day. If five of them were in the retirement court after 3 pm, the fix is a time-window change, not a better assistant. Give the assistant the counts and areas, not the people, and ask it for the likely patterns and what to try next week; then judge its suggestions against what you know of your patients.

Keep each week's numbers in a small table so you can see whether changes help. Resist adding a metric a week; three numbers are enough to run on.

One more case: the patient who never replies

Some patients ignore every message, and a stream of identical reminders does nothing for them. Look at your uncollected items for a month and note how many belong to the same repeat patients, counting by number rather than name. If a handful account for most of them, a text is the wrong tool; a quiet word from the pharmacist at the counter, or a call, is better. You can ask the assistant to draft a short, kind script for that call, with placeholders and no clinical content: who is calling, that the prescription is ready, how long it can be held, and whether delivery would help. Keep the call log in your pharmacy system, not in the assistant.

Seasonal peaks deserve their own check as well. Before a holiday week, ask the assistant to draft a notice with the changed opening hours and last delivery day, send it through the system, and plan the extra round the day before, using the same stop-code sheet. Planning ahead for the busiest days is where a repeatable prompt saves the most, because the last-minute rebuild is the job nobody enjoys.

Three pharmacy decisions that software never makes

Three decisions never go to software: whether a prescription may be handed out, whether a patient needs to speak to the pharmacist before collection, and what to do when something looks wrong at the door. AI helps you arrange when and where; it does not decide who and whether. The tutorial on which pharmacy tasks should never be handed to AI goes through the boundary in detail.

It also helps to keep patients in the loop about how you work. A line on your website and delivery slip is enough: reminders come from the pharmacy's own system, routes are planned with software that sees no names or medicines, and any questions go to the pharmacist.

Counting the weekly time saved

An honest tally has three lines. Time spent writing reminder wording: one-off, perhaps an hour including testing. Time spent planning rounds: say it falls from 30 minutes to 10 each day, on a six-day week that is about two hours. Time spent checking and correcting: add back 20 percent of that. The net is roughly an hour and a half a week, an illustration to replace with your own timings. Compare it with the cost of any paid tool. If the net saving is under an hour a week, the plan is probably not worth adding a new vendor for; the free or already-owned assistant is enough.

The same structure applies elsewhere in the building. The tutorial on shortening phone queues uses the same data line for calls, and the review of dispensing software with real AI helps you work out which of these jobs your existing system could do for you.

A two-week start for a pharmacy owner

  1. Days 1 to 2: write the data-line table into your procedures, and ask your system vendor what messaging it offers and how it logs messages.
  2. Days 3 to 4: generate and edit the four message templates, then load them into the system.
  3. Days 5 to 7: record a baseline: uncollected items and time spent on rounds.
  4. Week 2: plan each day's round from a stripped stop-code sheet, with the driver checking each plan, and note every clash or error the assistant produced.

If you would rather map this against your own system with someone, that is what my AI implementation consultation covers. Everything above can be done without it.

Questions pharmacy owners ask about reminders and rounds

Can I paste my delivery list into ChatGPT?

Not with names, addresses or medicines on it. Replace each row with a stop code, a rough area and a time window, and keep the key that links codes to patients in your pharmacy system. The assistant then plans the order from the codes alone, and you map them back yourself.

Should the AI send the reminders?

No. Let it write and test the wording, then send through your pharmacy system's own messaging, which already holds the patient's contact details and consent. Keeping the sending inside the system keeps patient data out of a separate tool.

What should a pick-up reminder say about the medicine?

As little as possible. Say that a prescription is ready and when it will be held until, not what it is. A text can be seen on a locked phone, read by a family member or sent to a number that has changed, so keep clinical detail for the conversation at the counter.

How often should I remind a patient?

A sensible starting point is one reminder shortly after the order is ready and one before the hold period ends. Check what your own system, contract and patient preferences allow, and offer a simple way to opt out of messages.

Do I need a route-planning product, or will a chat assistant do?

For a round of up to about twenty stops, an assistant ordering stop codes by area, plus a map check by the driver, is often enough. Beyond that, or with live traffic and time slots, a dedicated route tool does the arithmetic more reliably.

Further reads

Sources: no vendor prices or product features are quoted; check your own pharmacy system's messaging features, consent records and terms with its vendor.

Want reminders and delivery rounds mapped to your system?

On a 1:1 call we can check what your pharmacy system already sends, decide where an assistant helps without seeing patient data, and write the rules for your team.

Book a 1:1 call with me