DEV Community

Rostery Team
Rostery Team

Posted on

Designing a Medication Administration Record for NDIS Support: Fields, Dose Outcomes and the Checks That Matter (2026)

Originally based on our article eMAR vs paper MAR charts: why NDIS providers are switching on rostery.com.au. This version is rewritten for the people who build, configure or look after the system that holds the record.

A medication administration record looks like one of the simplest things in disability support software. It's a list of medicines, a grid of times and a place to sign. In practice it's one of the few records where a missing value can mean a person went without their epilepsy medication, or got a second dose of something they'd already had.

If you're the operations lead, systems person or developer who has to set one up for an NDIS provider, the hard part isn't the screen. It's deciding what the record has to hold, which values are allowed, what gets checked before a record can be saved, and what someone actually reads afterwards. This post walks through those decisions in order, using the rules that apply to registered NDIS providers in 2026 and the way we've built it in Rostery.

General information only, not clinical or legal advice. State and territory medicines laws, each participant's prescriber instructions and the provider's own medication policy always come first.

Start from what the record has to prove

Before any fields, it helps to know what an auditor will test. For providers registered for supports that include medication, the relevant standard is Management of Medication in the Core Module of the NDIS Practice Standards. Its outcome is written from the participant's side: "Each participant requiring medication is confident their provider administers, stores and monitors the effects of their medication and works to prevent errors or incidents."

The three quality indicators turn that into things you can check:

  • records clearly identify the medication and dosage each participant needs, including everything required to give it safely
  • workers understand the effects and side effects of the medication they give and know what to do if something goes wrong
  • medication is stored safely and securely, is easy to tell apart, and only workers who've been trained can get to it

Two of those are about people and cupboards, not software. The first is entirely about data. Read it again as a developer and it becomes a requirement: for any participant, at any time, you must be able to show what they take, how much, how, and what the worker needed to know to give it.

The Core Module is assessed at a certification audit. The Verification Module, used for lower-risk supports, has no medication standard. That matters when you're deciding how much rigour a small provider needs: if they administer medication as part of registered supports, they're in certification territory.

Layer one: the medication itself

The first table describes each medicine for each participant. It's entered once and changed only when the prescription changes. In Rostery the office records the medication's name, dose, frequency, route, form, prescriber, pharmacy, start and end dates, instructions, whether it's PRN (as needed), and its schedule: S2, S3, S4, S8 or unscheduled.

The schedule field earns its place. S8 medicines (controlled drugs such as many opioids) carry the strictest handling rules under state and territory law, and they drive two behaviours further down: a witness on every dose and a running balance. If the schedule isn't captured cleanly, neither of those rules can be enforced.

Two design notes from experience:

  • Treat a dose change as a new version, not an edit. When a prescriber halves a dose, the old row should end and a new one start. Otherwise last month's doses appear to have been given at this month's strength.
  • Keep the pharmacy chart as the source of truth. The record in your system is a copy. Every new participant, and every change, should be checked against the current pharmacy chart or prescription before it goes live. Rostery's eMAR can use AI to read the medication list from a PDF chart, which saves retyping, but a person still checks the result against the paper.

Three layers of an NDIS medication record: the medication entered once, each dose recorded against it with an outcome and signature, and the list, chart and reports the team reads

Layer two: each dose as an event

Every administration, or decision not to administer, is an event against a medication row. The most useful design decision here is to make the outcome a closed set rather than free text. Rostery uses five: given, refused, not available, held, and PRN not required.

Each has a different follow-up. A refusal might need a call to the prescriber. "Not available" usually means a pharmacy or stock problem. "Held" means someone decided not to give it, so you want to know who and why. "PRN not required" is a positive record that the as-needed medicine was considered and wasn't needed, which is very different from a blank.

Alongside the outcome, each dose record holds the dose actually given, the time, notes and, for PRN, a review of whether it worked. Every record needs the worker's typed signature. For S8 doses a witness is also required, and each one reduces a running balance, with the balance after every dose kept.

Here's a small sketch of the validation rules in Python. It's an illustration of the logic, not Rostery's code or a compliance tool.

from dataclasses import dataclass
from typing import Optional

OUTCOMES = {"given", "refused", "not_available", "held", "prn_not_required"}

@dataclass
class DoseEvent:
    medication_schedule: str      # "S2", "S3", "S4", "S8" or "unscheduled"
    is_prn: bool
    outcome: str
    worker_signature: str
    reason: Optional[str] = None
    witness_signature: Optional[str] = None
    prn_effect: Optional[str] = None

def problems(e: DoseEvent) -> list[str]:
    out = []
    if e.outcome not in OUTCOMES:
        out.append("outcome must be one of the fixed options")
    if not e.worker_signature.strip():
        out.append("every record needs the worker's signature")
    if e.outcome in {"refused", "not_available", "held"} and not e.reason:
        out.append("say why the dose wasn't given")
    if e.outcome == "prn_not_required" and not e.is_prn:
        out.append("'PRN not required' only applies to PRN medication")
    if e.medication_schedule == "S8" and e.outcome == "given" and not e.witness_signature:
        out.append("S8 doses need a witness")
    return out
Enter fullscreen mode Exit fullscreen mode

Run checks like these before a record can be saved, not in a report afterwards. A missing reason is easy to add at 8:05 am and close to impossible to reconstruct a fortnight later.

One more principle: never let a dose record be quietly overwritten. If a worker taps the wrong outcome, the fix should be a correcting entry that shows the original, who changed it and when. That's what turns the record into evidence rather than a tidy story.

Layer three: what the team actually reads

Raw events don't protect anyone unless someone looks at them. The question is what to show and where.

A common assumption is that an eMAR should fire missed-dose alerts at someone's phone. It's worth being honest about what Rostery does here, because people ask. It doesn't send missed-dose alerts, and it doesn't do barcode scanning. Instead, the medication chart in the app marks overdue doses for the worker on shift, and the office medication list shows each medicine's last outcome with seven-day counts. The Medication Usage and Medication Adherence reports show the pattern over time.

That's a design choice with a trade-off. Alerts are good at grabbing attention and bad at being ignored gracefully: a house with eight participants and a busy morning can produce enough noise that people stop reading them. Visible counts and a regular review put the job on a named person instead. Whichever approach your system takes, decide who looks, how often, and what they do next. Write that into the medication policy so it doesn't depend on one conscientious team leader.

PRN, behaviour and chemical restraint

PRN records need more care than scheduled doses, and the reason is regulatory as much as clinical.

Under the NDIS restrictive practices rules, chemical restraint is the use of a medication or chemical substance for the primary purpose of influencing a person's behaviour. It doesn't include medication a doctor prescribed to treat a diagnosed mental disorder, a physical illness or a physical condition. A PRN sedative given because someone is distressed and hitting out can fall on the restrictive side of that line.

So the PRN record should capture the reason it was given and its effect, and the reason list should make it obvious when the purpose is behavioural. Where a PRN is part of a behaviour support plan, the record should be checkable against that plan. If chemical restraint is used without authorisation or outside the plan, it's a reportable incident: within 5 business days, or 24 hours if the person was harmed. Our glossary has a short explainer on what counts as a restrictive practice.

When a dose record becomes incident evidence

A medication error isn't automatically a reportable incident to the NDIS Commission. It becomes one when it fits a reportable category, such as a death, a serious injury, or neglect, and those must be notified within 24 hours. Since 12 October 2026 new incidents go through the Commission's new portal.

Either way, the provider's incident management system should hold the error, and the dose record is the first thing anyone will ask for: what was charted, what was given, by whom, at what time. Design for that link. In Rostery, workers report incidents from the same app they chart medication in, and the office records in the incident register whether an incident is NDIS reportable and whether it has been reported. Rostery doesn't notify the Commission for you; that still happens in the Commission's portal. The incident reporting page sets out how the register works.

People data sits next to medication data

The second quality indicator is about worker knowledge, and that's a data problem too, just in a different table. For high intensity supports such as subcutaneous injections or enteral feeding, the Commission's high intensity support skills descriptors (version 3, November 2022) set out what workers need to know. They recommend reviewing competency each year and reassessing a worker who has been away from that support for more than three months. Those are recommendations rather than hard rules, but they're the benchmark auditors reach for.

At minimum, keep training and competency records per worker and per support, with dates, and make it easy to see who in a house is current before the roster is finalised.

Migrating off paper without losing a dose

The cutover is the riskiest week in the life of any medication record. A sequence that works:

  1. Reconcile every participant's list with the pharmacy chart before you enter anything.
  2. Enter the full detail, including PRN instructions and the reasons workers may need for a dose not given.
  3. Have each worker record a given dose, a refusal and a PRN dose while someone watches, on their own phone.
  4. Run paper and electronic side by side for a short, fixed period, comparing them at each handover.
  5. Remove the paper charts from the house on the agreed date, so nobody signs one and not the other.

How it's set up in Rostery

If you're weighing up software, here's the short version. The eMAR is part of Rostery on the Growth plan and above and is switched on in Settings. The medication chart in the Rostery carer app is on every plan. Workers record given or not given, the reason, the time and their initials on shift, and the office manages the full list and dose records on the web. The Medication Management (eMAR) page lists exactly what's included and what isn't.

Rostery Medication Management (eMAR): each dose signed for with its outcome, S8 doses witnessed with a running balance, PRN recorded with the reason, and usage and adherence reports
For a broader set of figures, the Report Hub holds the rest of Rostery's ready-made reports.

A weekly review routine

Software only helps if someone reads it. This is the routine we suggest for a team leader or house coordinator.

A 20-minute weekly medication review: refusals and holds, PRN doses, S8 balances, gaps on the chart, and changes to scripts

Pick the same day each week. Work through refusals and holds, then PRN use, then S8 counts, then any dose with no outcome at all, then new or ceased scripts. Write down what you followed up and with whom. Over a few months that note becomes the best evidence you have that the system is monitored, which is the word the Practice Standards outcome uses.

For the policy side, including training and storage, our guide to medication management compliance for NDIS providers goes further. If you'd prefer a shorter switch plan, we've also published a practical eMAR guide for small providers on our blog, and our dev.to post on audit evidence for each Practice Standard area shows where medication records sit in the wider audit file.

Sources: NDIS Quality and Safeguards Commission, NDIS Practice Standards and Quality Indicators (Core Module, Management of Medication; Verification Module); Reportable incidents and reportable incident timeframes; High intensity support skills descriptors, version 3 (November 2022); National Disability Insurance Scheme (Restrictive Practices and Behaviour Support) Rules 2018, s 6 (definition of chemical restraint). Rostery feature pages read 2 November 2026.

Written by the Rostery team in Sydney. Rostery makes rostering, care and billing software for NDIS and aged care providers.

Top comments (0)